1

Can using "Confidential Addresses" be an alternative to zk-SNARKs to provide an acceptable privacy for a user?

And when we talk about "Confidential Transactions", does it mean we are using "Confidential Addresses"?

And if "Confidential Addresses" are enough for user privacy, why do we need to use zk-SNARKS? Are their missions different?

1

A lot of these terms end up being confusing and a little non descriptive. In the "elements project" nomenclature a confidential address is an encoding of a P2PKH key which includes the necessary information to make a confidential transaction, one which uses range proofs to blind the monetary units. There's nothing confidential about the address itself, it's functionally just a public key as normal.


Objectively range proofs used in this way aren't enough to provide significant privacy in an overall system, and come at a very large size and computational cost to verify. They can potentially increase privacy, and increase the utility of other technologies such as CoinJoin, but they are not a solution in of themselves.

By hiding the values in transactions they can obscure some of the uses of privacy-violating technology such as exchange front running where transactions on the network reveal potentially market moving behavior. They can also improve the usability of transactions which mix unlike outputs together such as CoinJoin, where you no longer need to be as careful about making sure sizes are the same to obscure information leakage.

It has been demonstrated in the ZCash network that any situation where a user is able to choose between cheap, and private, they will opt for the cheapest possible option no matter what. For systems like zk-SNARKS and range proofs this dramatically reduces the effectiveness of the system overall, as there's less obscurity in which to hide. Range proofs also have this properly, regrettably, unless the choice to use them is removed.

In short, it's very difficult to determine if these technologies have a use in the real world.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.