3
$\begingroup$

I read the zcash paper recently. But I have been puzzled by a question. How did the authors prove that the coin commitment appears as a leaf of a Merkle tree with root rt? Apparently, the authors provided authentication paths for a commitment. But how to provide them in a private way?

$\endgroup$

1 Answer 1

2
$\begingroup$

Unfortunately, an in depth answer for me would be too long and is actually the scope of the Zerocash paper itself, which I recommend you re-read thoroughly.

A high-level answer: Instead of providing the authentication path, which would leak the position of the coin commitment in the tree and break anonymity, Zerocash gives a zero-knowledge proof of knowledge (ZKPoK) of such a valid authentication path. (In fact, the ZKPoK argues much more than just the validity of the path.)

The ZKPoK is instantiated so that it is succinct and efficient-to-verify via the techniques and implementation of [BCTV13], which is in turn based on the Pinocchio zk-SNARK from [PGHR13e].

References

[BCTV13] Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture; by Eli Ben-Sasson and Alessandro Chiesa and Eran Tromer and Madars Virza; in Cryptology ePrint Archive, Report 2013/879; 2013; https://eprint.iacr.org/2013/879

[PGHR13e] Pinocchio: Nearly Practical Verifiable Computation; by Bryan Parno and Craig Gentry and Jon Howell and Mariana Raykova; in Cryptology ePrint Archive, Paper 2013/279; 2013; https://eprint.iacr.org/2013/279

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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