zk-SNARK
A type of zero-knowledge proof that is small and fast to verify.
A zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) is a specific type of zero-knowledge proof designed to be small in size and fast to verify, letting one party prove a statement is true without revealing the underlying information, and without back-and-forth interaction.
zk-SNARKs are used in some privacy-focused cryptocurrencies and in certain zero-knowledge rollup designs to efficiently prove a batch of transactions was processed correctly. See Kaavon's "zk-STARK" glossary definition for an alternative construction that avoids zk-SNARK's typical trusted-setup requirement, at the cost of larger proof sizes.
Examples
- A zero-knowledge rollup might use zk-SNARKs to prove a batch of transactions was processed correctly.
- zk-SNARKs let a verifier confirm a statement is true without learning the underlying private data.
Related research
Layer 2 Scaling and Trade-offs
Read the full guide
Homomorphic Encryption
Read the Homomorphic Encryption glossary definition
ZK Rollup
Read the ZK Rollup glossary definition
Validium
Read the Validium glossary definition
zkEVM
Read the zkEVM glossary definition
Groth16
Read the Groth16 glossary definition
Recursive Proof (Proof Aggregation)
Read the Recursive Proof (Proof Aggregation) glossary definition
ZKsync
Read the ZKsync research page