Skip to content

Back to the catalog

Zippel: A Language, Compiler, Runtime, and Analyzer for ZK Proof Systems
eprint.iacr.orgpaper

Zippel: A Language, Compiler, Runtime, and Analyzer for ZK Proof Systems

Zippel is a language, compiler, runtime and analyzer for writing zero-knowledge proof systems in syntax close to the pseudocode in cryptography papers. Its type system and runtime remove vulnerability classes by construction, for example by synchronizing transcripts automatically and applying the Fiat–Shamir transform correctly. Its static analyses check completeness and soundness from the protocol description alone. The authors implemented 35 proof systems, including Sumcheck, Schnorr, KZG, Groth16, Bulletproofs, Hyrax, Spartan, Dory, HyperPlonk, DeKART and Pari. They report performance competitive with hand-written multi-core implementations.

TL;DR Zippel is a ZK proof-system DSL whose type system, runtime and static analyses prevent Fiat–Shamir and transcript bugs and check soundness and completeness automatically.

Organisations named here

  • DeKART
  • Dory
  • HyperPlonk
  • Hyrax
  • KZG
  • Pari
  • Schnorr
  • Spartan
  • Sumcheck

Technologies named here

  • Rust
  • Groth16
  • Bulletproofs
  • Zippel

Techniques named here

  • Automatic synchronization of protocol transcripts
  • Correct automatic application of the Fiat–Shamir transform
  • Special soundness analysis
  • Fiat–Shamir transform