Confidential Token on Algorand

Are there any implementation of confidential token on Algorand. I remember there was some kind of protocol update to bring confidentiality, is there any paper around that?

Thanks, looking for something like this - Protocol Overview | Solana Program Library Docs

I think it would be good to add a confidential feature to any transaction, where either the source, destination wallets or the transaction amount - or all three - are concealed unless both parties agree to reveal the details to an inquiry. Is that something that could be done with a smart contract somehow?

On algorand everything must be public. All transactions assets and amounts are the info that goes to the hash of the block and must be public.

You can encrypt the data using EC and store this data to the blockchain, but long term security of storage on blockchain is breakable… (Imagine timeframe 1000 years and tech development in last 50 years)

Check this for example: beaker-arc34-boxes/encryption.test.ts at master · scholtz/beaker-arc34-boxes · GitHub

But I heard probably at Decipher that Silvio is doing something on the privacy layer for algorand… Perhaps it is something with non public side chains, ZKP, or something i dont know…

Corporations usually do not want to have all their trades to be visible.

But I am in favor of total transparency as this will lead to more clean environment… You can for example track all stolen algos to the offramps and there is possibility to get it back if the offramps will lock them on time.

Right now everything is indeed public.

BLS op-codes are proposed in the PR: AVM: EC math by jannotti · Pull Request #4924 · algorand/go-algorand · GitHub
They may be used to implement SNARK verification, which in turn may allow to implement confidential transactions.

A core tenet and advantage of blockchain tech is that every tx is public and immutable – is it not?

no, it is not generic. monero has everything hidden … you cannot even track who sent you the assets… thats why it is used by money launderers and drug dealers… hopefully there will not be bridge to algorand

you may encrypt data and put it on algorand as well even now… as the sample arc34 implementation above… you can write data for grant requests to the blockchain, and make them public with revealing the encryption key.

if you have use case to proof existance of event in time, you can hash the event and put the hash to the note field on algorand… this way with the original data you can also proof that the event has occured (for example timestamping of docs for notaries)… and the doc is not public

there are many ways to do privacy…

btw i dont believe that with snark verification it can be done that the transactions will be private… you can check the identity with it, but the amount of usdc you receive on the account will stay visible… right?

The narrative that if you don’t show the transaction graph, you must be a terrorist is dangerous and needs to be addressed. This is being used to promote CBDCs in an attempt to eliminate cash and gain complete control over financial transactions for everyone. We need to be cautious about the potential for abuse, as history has shown us that this level of control can be easily exploited to control people’s actions and choices.

Financial privacy is an important aspect that we must consider. In fact, a financial system without privacy can’t possibly work well if you think about it. When we shop, we don’t shout the items we put in a cart through a megaphone, so why should it be any different when we use blockchains? If we tell everyone how much we have in the wallet, we’re very vulnerable to theft through a physical attack. Therefore, privacy is a necessary safeguard. The extent of privacy required can be debated, but we should agree on a few things. First, our primary objective is not to facilitate money laundering, but to protect individuals from physical attacks. Second, surrendering complete control to central bank digital currencies (CBDCs) risks impinging on the freedom of future generations. We have a duty to create systems that serve them, and giving up control would be imprudent. It would be naive to believe that we have reached a point in history where leaders no longer exploit those under their command. People often forget that actions of today will be a part of history. Thus, if we give up our financial control to CBDCs, what follows is almost certainly a totalitarian overreach. Privacy and control is a prerequisite for financial freedom.

1 Like

Totally agree.

Privacy is the most important thing to safeguard.


I prefer open system. Bitcoin is also open and works well. Privacy might be ensured by account generation where you do not tell anybody that it is your account.

I would like to have this semi privacy much more than scams, drug dealers, thieves and terrorists using the same protocol.

Bitcoin is a speculative asset at the moment. Most users don’t buy anything with it. In a transparent system, as soon as you transact with someone, they’ll see your balance and know you have your private key with you when you signed. As a consequence, it’s quite possible that such a transparent system at scale would result in more terror than a private system. It would also open the world to all kinds of labeling based on your balance. There’s a good reason why our current financial systems are fairly private - I can’t tell your transactions nor can you tell mine. I’m not saying there’s no value in a transparent ledger, I just can’t see it ever work well as a financial system. Bitcoin kind of solves this issue with layers on top like Lightning where privacy is much higher than on the base layer.