zk-SNARKs: Succinct Non-Interactive Arguments
Understand the Groth16 setup, proof generation, and verification.
What Is a zk-SNARK?
A zk-SNARK (Zero-Knowledge Succinct Non-interactive ARgument of Knowledge) is a proof that: (1) is zero-knowledge, (2) is succinct (tiny proof, fast verification regardless of computation size), (3) is non-interactive (single proof string).
Motivation
Sigma protocols work for simple statements (discrete log knowledge). For complex computations — "I ran this function correctly on private inputs" — we need a general-purpose proof system. SNARKs prove arbitrary computations in O(1) verification time.
All lessons in this course
- ZKP Intuition: The Ali Baba Cave
- Sigma Protocols & Schnorr Identification
- zk-SNARKs: Succinct Non-Interactive Arguments
- ZKP Applications: ZK Rollups & Privacy Coins