zero knowledge proofs

A cryptographic protocol where a prover convinces a verifier that a statement is true while revealing nothing beyond the truth of the statement itself.

properties

  • completeness: an honest prover convinces an honest verifier
  • soundness: a dishonest prover fails to convince (except with negligible probability)
  • zero knowledge: the verifier learns only that the statement is true

constructions

  • ZK-SNARKs (Succinct Non-interactive Arguments of Knowledge): short proofs, fast verification, require trusted setup. Used in Zcash, rollups
  • ZK-STARKs (Scalable Transparent Arguments of Knowledge): transparent setup (no trusted ceremony), quantum-resistant, larger proofs. StarkWare
  • Groth16: efficient SNARK construction, widely deployed
  • PLONK: universal and updatable trusted setup, flexible circuit design
  • Bulletproofs: short proofs without trusted setup, used in Monero

applications

  • privacy: shielded transactions, private smart contracts
  • scalability: validity rollups (ZK-rollups) compress thousands of transactions into one proof
  • identity: proving attributes (age, membership) without revealing the underlying data
  • cyber: zero knowledge proofs enable private knowledge graph queries and verifiable computation

foundations

Rooted in complexity theory (interactive proof systems, IP = PSPACE). Related to encryption as a branch of cryptography. Circuits compiled by specialized compilers.