Succinct non-interactive arguments of knowledge, polynomial commitments, and cryptographic arithmetization
Executive Takeaway (TL;DR)
ZK-SNARKs and ZK-STARKs allow a prover to convince a verifier that a computational statement is true without revealing witness inputs or requiring re-execution of the underlying operations.
Zero-Knowledge Proof (ZKP)
A cryptographic primitive enabling one party (prover) to prove possession of a valid witness for a specific computation without disclosing any information beyond statement validity.
Constituent Invariants:
✓Completeness: If the statement is true and prover honest, the verifier accepts with probability 1.
✓Soundness: If the statement is false, a cheating prover cannot convince the verifier except with negligible probability (2^-128).
✓Zero-Knowledge: The verifier learns nothing beyond statement truth.
1. Arithmetization: Transforming Code into Math
To prove arbitrary execution, high-level code is converted into arithmetic circuits (R1CS, Plonkish, or AIR). The prover then proves that polynomial constraints hold across all evaluation points using cryptographic commitment schemes (KZG or FRI).
Invariant CheckpointVerify Mathematical Invariant
What is the primary architectural trade-off of STARKs compared to traditional SNARKs (such as Groth16)?