Archivecryptography
Zero-Knowledge Proofs: Prove Without Revealing
A proof of a statement reveals nothing but its truth. The engineering question is what the statement costs to prove.
- Published
- Reading time
- 1 min read
A zero-knowledge proof lets a prover convince a verifier that a statement is true without revealing why. Formally: completeness (true statements verify), soundness (false statements do not), and zero knowledge (the verifier learns nothing beyond truth).
The families
- Interactive proofs: multiple challenge-response rounds; needs interaction or Fiat-Shamir to become non-interactive.
- zk-SNARKs: short proofs, fast verification, requires a trusted setup in many constructions.
- zk-STARKs: transparent setup, larger proofs, hash-based assumptions.
- Bulletproofs: no trusted setup, logarithmic proof size, expensive verification.
What you actually specify
A circuit or constraint system: x such that f(x, w) = 1, where w is the witness. The cost of proving is dominated by circuit size, which is why "prove you are over 18" is cheap and "prove a general computation" is not.
Takeaway: ZK is a tool for verifiable computation, not anonymity by itself. Decide the statement and the trust assumptions before comparing proof systems.