Succinct state-restoration-sound IOP ⇒ STARK (BCS transform)
Statement
Let be a public-coin -round succinct interactive oracle proof with state-restoration knowledge soundness for the universal relation , with queries into prover oracles of length and state-restoration knowledge error against provers performing state restorations. The BCS transform — Merkle-commit each prover oracle with the random oracle , derive the verifier’s randomness in each round by hashing that round’s root together with the statement in the first round and with the previous round’s randomness afterwards, and send the roots with the queried symbols and their authentication paths — is a transparent succinct non-interactive argument of knowledge for in the random-oracle model, with no setup beyond the oracle. Its soundness is tightly characterized by the IOP’s state-restoration soundness: against provers making oracle queries, its knowledge error is plus the probability of a collision among the oracle’s answers — BCS16. The transform preserves the IOP’s honest-verifier zero knowledge, and applied to known IOPs it gives unconditional zero-knowledge proofs in the random-oracle model with quasilinear prover and polylogarithmic verifier — BCS16. BCS16 also prove tight upper and lower bounds on state-restoration soundness in terms of the IOP’s soundness and round complexity, and present the compiler as a generalization of Fiat–Shamir for public-coin interactive proofs and of Micali’s CS proofs for PCPs — BCS16.
Sketch
The prover Merkle-commits to each oracle with , sets and , and outputs the roots, the queried symbols and their authentication paths; the verifier recomputes the , checks the paths, and runs on the answers. A cheating prover’s oracle queries determine the oracles it committed to, and each query of on a fresh root is a state restoration of the IOP verifier — BCS16.
Notes
- The proof consists of Merkle roots and symbols with authentication paths of hashes each, bits for -bit hashes and alphabet ; the prover runs the IOP prover and hashes, and the verifier runs the IOP verifier and hashes — standard.
- The one-round case, a PCP, is Micali’s construction: ROM ⇒ SNARK (CS proofs) — Mic00.
- The transform of an IOP with round-by-round soundness is sound in the quantum random-oracle model — CMS19.
- For a -move public-coin protocol and oracle queries, the generic soundness loss of Fiat–Shamir is approximately , which the -fold sequential repetition of a -protocol attains — AFK22.