Succinct argument
A succinct non-interactive argument of knowledge (SNARK) is a proof system in which a prover can convince a verifier that a statement is true using a single short message, where the proof is short relative to the witness size and verification is fast. The “knowledge” variant (SNARK) additionally requires that the prover must “know” a witness — formalized via an extractor. A STARK (Scalable Transparent ARgument of Knowledge) is a SNARK variant that requires no trusted setup, is secure in the random oracle model, and is plausibly post-quantum.
Syntax
A succinct argument system for a relation is a tuple of efficient algorithms :
- takes a security parameter and a circuit (or a bound on circuit size for universal schemes) and produces a common reference string . For transparent systems, is public-coin (no trapdoor).
- takes the CRS, instance , and witness with , and produces a proof .
- verifies the proof.
Properties
Completeness
For all and all :
Knowledge soundness
For all efficient there exists a polynomial-time extractor such that: if , run on coins , outputs with , then outputs with , except with negligible probability — Gro16. Knowledge soundness is strictly stronger than plain soundness (which only requires the prover cannot convince the verifier of a false statement).
Succinctness
The proof size and verifier runtime are — sublinear in the witness and circuit size.
Zero-knowledge (optional)
A zk-SNARK additionally satisfies zero-knowledge: there exists a simulator that produces proofs indistinguishable from real proofs without knowing the witness.
Security game
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{ks}}_{\calA,\calE_\calA}(\secpar)$}
\begin{algorithmic}
\State $\crs \gets \Setup(1^\secpar, C)$
\State $r \getsr \bits^{*}$; $(x, \pi) \gets \calA(\crs; r)$
\State $w \gets \calE_{\calA}(\crs, r)$
\Comment{$\calE_\calA$ gets $\calA$'s input and coins}
\If{$\Vrfy(\crs, x, \pi) = 1$ and $(x, w) \notin \calR$}
\Return $1$
\Comment{$\calA$ wins: valid proof but extractor failed}
\EndIf
\Return $0$
\end{algorithmic}
\end{algorithm}
A succinct argument is knowledge-sound if for all efficient there exists a polynomial-time extractor such that is negligible.
Variations
zk-SNARK
A SNARK with zero-knowledge. The verifier learns nothing about the witness beyond the validity of the statement. Groth16 is the canonical pairing-based zk-SNARK with constant proof size (3 group elements) and millisecond verification — Gro16.
STARK
A Scalable Transparent ARgument of Knowledge achieves succinctness without any trusted setup: the algorithm is public-coin (the CRS is just a random oracle / hash function). Security is proven in the ROM — BCS16; the same compiler is sound in the quantum ROM when the IOP is round-by-round sound — CMS19 — so STARKs are plausibly post-quantum. Proof size is for a computation of size , larger than pairing-based SNARKs but still sublinear — BBHR18a.
The core component of STARKs is the FRI (Fast Reed-Solomon IOP of Proximity) protocol, an interactive oracle proof of proximity to Reed-Solomon codes — BBHR18b. Combined with Merkle-tree commitments, FRI yields a transparent (list) polynomial commitment scheme — KPV22.
Universal/updatable SNARKs
Systems like Plonk and Marlin use a single universal trusted setup for all circuits up to size , rather than a per-circuit setup. Plonk uses PLONKish arithmetization and KZG polynomial commitments (KZG10) — GWC19.
Recursive SNARKs
Incrementally verifiable computation (IVC) for a step function and an initial state lets a prover holding only compute a proof for in time independent of , such that the verifier accepts honest proofs of , proof size and verification time are independent of , and for every polynomial no efficient prover makes the verifier accept with , except with negligible probability — Val08. A recursive SNARK proves that earlier proofs verify. Extraction cost grows polynomially with each level of nesting, so such composition is proved sound only to constant depth; a depth reduction then gives IVC for any fixed polynomial bound on the number of steps — BCCT13.
Interactive succinct arguments
An interactive argument system for whose total communication is for statements whose verification takes time , with soundness against efficient provers and no common reference string — Kil92.
SNARGs for P
A publicly verifiable non-interactive argument in the CRS model for deterministic computations, with no knowledge extractor. For a polynomial , a statement is a pair of a deterministic Turing machine and an input, true when accepts within steps. outputs ; and proofs have size , and runs in time . Soundness is adaptive: for all efficient , the probability that outputs with although does not accept within steps is negligible. CJJ21 construct one from LWE with a common random string (LWE with polynomial ratio ⇒ SNARG for P). The bound on verification time is what makes the notion non-trivial: a verifier allowed steps runs itself and needs no proof — standard.
Batch arguments for NP
A batch argument (BARG) for is a non-interactive argument in the CRS model for statements , true when every has a witness with , for a Boolean circuit . A proof has size and runs in polynomial time. Soundness is non-adaptive: for every false statement , some having no witness, fixed before is sampled, every efficient prover makes accept with negligible probability — CJJ21. Without the size bound the witnesses form a proof — standard. CJJ21 construct one from LWE (LWE with polynomial ratio ⇒ BARG for NP).
Other results
- CRHF ⇒ STARK
- The Fiat–Shamir transform removes interaction from a public-coin protocol but keeps its communication, so in the random oracle model it yields succinct arguments only from succinct protocols: Merkle-committed PCPs (CS proofs) — Mic00; public-coin IOPs with state-restoration soundness — BCS16
- Many SNARKs (e.g. Plonk, Marlin) compile a polynomial IOP, obtained from an arithmetization, with a polynomial commitment scheme — CHM+20
- Bilinear pairing ⇒ zk-SNARK: Groth16 is knowledge-sound in the generic bilinear group model — Gro16; in the algebraic group model its knowledge soundness reduces to a -type discrete-logarithm assumption — FKL18
- No fully-black-box reduction from Falsifiable assumption to SNARK
Participates in
Builds on Succinct argument
Produces Succinct argument
- Bilinear pairing ⇒ zk-SNARK (via zk-SNARK)
- CRHF ⇒ Succinct arguments for NP (Kilian) (via Interactive succinct arguments)
- CRHF ⇒ STARK (via STARK)
- Extractable PCS ⇒ SNARK
- LWE with polynomial ratio ⇒ BARG for NP (via Batch arguments for NP)
- LWE with polynomial ratio ⇒ SNARG for P (via SNARGs for P)
- ROM ⇒ SNARK (Micali’s CS proofs)
- SNARK ⇒ Recursive SNARKs (via Recursive SNARKs)
Barriers