Zcash 宣稱它擁有最好的匿名性。為了達成這個目的,它使用 zk- SNARKs,一種零知識證明的技術。在過去,已經有很多關於如何實 作 zk-SNARKs 的研究。Zcash 公司最後選用 Pinocchio Protocol 來實 現它。然而 zk-SNARKs 本身太過複雜,使得對於剛接觸的人很難了 解。因此在這篇論文裡,我們重新研讀 zk-SNARKs,並參照 Zcash 官 網的方法更完整的介紹,把不足的部分也補上。在這個過程中我們也 提出了潛在改良,儘管需要一些代價。我們同時也介紹了 Zcash 的架 構,用新的方式敘述 Decentralized Anonymous Payment Scheme,並 把其中重要的實作給解釋清楚。
Zcash company claims that it has the best anonymous among all the cryptocurrencies. It adopts the zk-SNARKs, a kind of zero-knowledge technology. The implementation of zk-SNARKs has been extensively studied before. Zcash company adopts the Pinocchio Protocol to imple- ment zk-SNARKs. However, zk-SNARKs is so complicated such that it is hard to comprehend for people studying first time. In this the- sis, we study zk-SNARKs again and refer to Zcash website. Moreover, we explain zk-SNARKs more details and make up a deficiency. In this process, we also propose potential improvement although it needs some sacrifices. At the same time, we present the structure of Zcash and and describe Decentralized Anonymous Payment Scheme in a new way. And exhaustively illustrate the important implementations in reality.