public-coin interactive proofs, collapsed by a hash
Fiat-Shamir — the bridge that turns an interactive protocol into a single signed transaction.
A 1986 technique due to Fiat and Shamir that converts any public-coin interactive proof into a non-interactive one by replacing each verifier challenge with the hash of the transcript so far. Challenges become deterministic, verifiable, and recomputable from the proof bytes — no live verifier dialogue required.
~3–5 rounds of PLONK interaction collapsed into one proof, with every challenge hashed under Poseidon2 over $F_r$, soundness in the random oracle model. The on-chain verifier re-derives the same challenges from the proof bytes and checks the same algebraic identity the interactive verifier would have checked.
the shape — the interactivity collapse
Same prover messages. Different source of challenges.
A public-coin interactive proof is a sequence of rounds: the prover sends a message, the verifier draws a uniformly-random challenge, the prover sends the next message. Fiat-Shamir keeps the prover-side messages exactly the same and replaces the verifier with a hash function — each challenge is the hash of every message seen so far.
Each challenge is sampled fresh on the verifier side. The proof requires a live channel back to the prover.
Prover messages are identical. The challenge source becomes a hash of the transcript — recomputable by anyone holding the proof bytes.
The collapse is one-sided: nothing about the prover's algorithm changes. The verifier's randomness is replaced by determinism. Under the random oracle model, no efficient prover can tell the difference — and the proof is now a single static byte string.
the transcript, step-through
A four-round PLONK transcript, message by message.
The hash is doing one job over and over: it absorbs the next prover message and emits the next challenge. Step through a representative PLONK transcript to see what's absorbed at each round and which challenge comes out.
Every challenge depends on every prior message. A prover that tampers with a single prior message changes every downstream challenge — and the proof no longer verifies. That is the entire soundness intuition.
parameters
Concrete numbers.
Four fields fix the transform in this deployment. Two are protocol-level (hash, security model); two are deployment-level (round count, domain tag).
wiring — prover, verifier, domain separation
One hash, two sides of the wire, same digests.
The transform is symmetric in a precise way: the prover and the verifier run the same Poseidon2 calls on the same accumulated transcript. The verifier never samples anything random — and that determinism is exactly what makes on-chain verification possible.
Cool/blue for the prover (off-chain); amber for the verifier (on-chain, the one side the chain pays for); neutral for the per-circuit domain-separation column. The red callout is the operational caveat: a missing absorb is the single most common source of Fiat-Shamir-related soundness bugs in deployed systems.
security
A heuristic that holds. A degradation that's bounded.
Two assumptions, two horizons — and unusually, both cards are green. Fiat-Shamir inherits the underlying hash's posture: well-studied soundness in the ROM today, a bounded Grover loss tomorrow. The system around it falls long before the transform itself does.
Sound in the random oracle model.
The Don, Fehr, Majenz, Schaffner (2019) analysis covers multi-round protocols of the PLONK family under Fiat-Shamir-with-aborts. Soundness loss is polynomial in the number of rounds and the prover's query budget — tight enough for production deployment at the chosen round counts.
- ROM is a heuristic, not a standard-model proof — specific Fiat-Shamir instantiations have been broken when the hash exposed algebraic structure to the prover.
- Poseidon2 has no published attacks of that kind, but its cryptanalysis is younger than SHA-256's.
- Soundness reduction is tight enough for production deployment at the chosen round counts.
Inherits the hash's PQ stance, with reduced margin.
Grover's algorithm gives a quantum prover a $\sqrt{N}$ advantage in searching for a transcript whose challenges align favorably. The Don et al. analysis quantifies the loss; in practice the underlying SNARK breaks for other reasons long before Fiat-Shamir does.
- The PQ degradation is bounded and well-studied — not a collapse, just a reduced margin.
- In practice the underlying SNARK falls under Shor on BLS12-381 long before Fiat-Shamir becomes the bottleneck.
- Hash-based commitments would push Fiat-Shamir back to the front of the PQ analysis — but require a different SNARK family entirely.
fiat-shamir vs bcs vs interactive
Three ways to collapse an interactive proof — and the baseline that doesn't.
Fiat-Shamir is the textbook collapse: it trades a standard-model soundness proof for the ROM and produces a non-interactive proof. BCS extends the same idea to interactive oracle proofs and pays in transcript size. Interactive is the baseline — and the one a smart-contract verifier cannot adopt.
Fiat-Shamir
- Applies to
- public-coin interactive proofs
- Collapses
- 3–5 rounds of PLONK-family protocols
- Security model
- random oracle model (ROM)
- Representative deployment
- pairing-based SNARKs · PLONK, Groth16, Bulletproofs
BCS / IOP-Fiat-Shamir
- Applies to
- interactive oracle proofs (IOPs)
- Collapses
- many more rounds · e.g. FRI's $\log^2(n)$ rounds
- Security model
- ROM · oracle messages committed via a Merkle root
- Representative deployment
- hash-based SNARKs · FRI, STARKs
Interactive (no collapse)
- Applies to
- any interactive proof
- Collapses
- nothing — every round is a live exchange
- Security model
- standard model · no ROM needed if the underlying protocol is sound
- Representative deployment
- classical zero-knowledge literature · impractical on-chain
Fiat-Shamir trades a standard-model soundness proof for the ROM and gets a non-interactive proof in return. BCS extends the same idea to IOPs and pays in transcript size. Interactive is the baseline neither the PLONK-on-Stellar verifier nor any deployed registry contract can adopt — the contract has no channel back to the prover.
references
Primary literature.
Four sources. The original Fiat–Shamir paper, the modern multi-round security analysis, the PLONK paper that consumes the transform, and the Poseidon2 paper for the hash instance.
- How to Prove Yourself: Practical Solutions to Identification and Signature Problems. CRYPTO '86, 186–194.
- Security of the Fiat-Shamir Transformation in the Quantum Random-Oracle Model. CRYPTO 2019.
- PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge. IACR ePrint 2019/953.
- Poseidon2: A Faster Version of the Poseidon Hash Function. IACR ePrint 2023/323.