A zk-SNARK is a protocol that lets one party, the prover, prove to another party, the verifier, that a statement about some privately-held information is true without revealing the information itself. This paper describes technical foundations, current applications, and some novel applications of zk-SNARKs. Regarding technical foundations, we go over the Quadratic Arithmetic Program reduction and the Pinnochio protocol. We then go over financial security applications like Z-cash and Tornado Cash, and zk-Rollup applications like zk-EVM and Darkforest. We propose novel zk-SNARK protocols for private auctions and decentralized card games on the blockchain, providing code for the proposed applications. We conclude by touching on promising zk-SNARK innovations, such as zk-STARKs.
翻译:zk-SNARK是一个协议,让一方,即证明人,向另一方,即核查人证明,关于某些私人持有信息的声明是真实的,而没有透露信息本身。本文描述了Zk-SNARKs的技术基础、当前应用程序和一些新应用。关于技术基础,我们翻阅了夸拉蒂亚理学方案削减和Pinnochio协议。我们接着翻阅了Z-现金和“龙卷风”现金等金融安全应用程序,以及zk-Rollup应用程序,如zk-EVM和DarkForest等。我们提出了关于私人拍卖和块条上分散式纸牌游戏的新型Zk-SNARK协议,为拟议应用程序提供了代码。我们最后我们谈了Zk-SNARKs创新,如zk-STARKs。