A Review of zk-SNARKs
Abstract
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 Pinocchio protocol. We then go over financial security applications like Zcash and Tornado Cash, and zk-Rollup applications like zkEVM 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.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.