Try   HackMD

State of ZK Proof Systems

State of ZK Proof Systems

The seeds for general-compute in zero-knowledge have been planted over the decades of the 90s and 00s under the academic umbrella of the interactive proofs research generally and PCP specifically. But these noble seeds lacked sufficient conditions to grow: prohibitive proof size and prover/verifier time.

This began to change since early 2010s with innovations in cryptographic primitives and arithmetization of sufficiently-generic computations. More breakthroughs followed and shoots began sprouting out, leading to the first non-trivial implementation of a zkSNARK proof system in 2016: Groth16.

More, more, and more shoots sprouted in years to follow, but not without hitting fundamental obstacles: (a) the tooling still too close to the metal for the average developer to build zkDapps, or the average system developer to build large systems with baked-in ZK, and (b) inefficiency and rigidity of R1CS arithmetization imposed a ceiling on what can practically be built in terms of size and performance.

More innovation followed. PLONK (2019) brought flexibility and universal updatable trusted setup for zkSNARKs. Meanwhile, older ideas began to be realized in live hash-based SNARK production systems. The 2021-22 years witnessesed an increase in large zkS{N,T}AR systems being developed, chief among which are zkRollups tethered to Ethereum. There has also being many advances in primitives such as lookups, commitments schemes, and incrementally verifiable computations (IVC).

  • TODO:

    • key developments in 2023-2024:
      • Blaz, Basefold, STIR, Arc2
      • WHIR "serves as a direct replacement for protocols like FRI, STIR, BaseFold, and others"
      • Binary fields (binius)
      • Rediscovery of gkr+sumcheck
      • Folding iterations
      • Learnings of flexibility<>complexity in arithmetizations