Polynomial commitment scheme
A polynomial commitment scheme (PCS) allows a prover to commit to a polynomial (of degree at most ) and later prove evaluations for any point queried by a verifier, without revealing itself. Polynomial commitments are the key bridge between arithmetization and proof systems: they allow a SNARK to efficiently check that a prover’s claimed polynomial satisfies the required constraints.
Syntax
A polynomial commitment scheme is a tuple of efficient algorithms :
- produces a structured (or transparent) reference string for polynomials of degree .
- commits to a polynomial , producing commitment and auxiliary data (kept by the prover).
- produces an opening proof for the claim .
- verifies the claim against commitment .
Properties
Correctness
For all polynomials , all , and :
Evaluation binding
For all efficient : it is infeasible to produce such that both and .
Hiding (optional)
The commitment reveals no information about beyond its degree and any opened evaluations.
Variations
KZG (Kate-Zaverucha-Goldberg)
The KZG scheme commits to as in a bilinear group, where is a secret known only during trusted setup. An opening proof for is the single group element (the “quotient polynomial” evaluated at ). Verification checks using the pairing.
- Proof size: (one group element)
- Verification time: (two pairings)
- Setup: Trusted; requires a structured reference string
- Security: -Strong Diffie-Hellman assumption in a bilinear group
- Reference: KZG10
Used in: Plonk, Marlin, KZG-based zkRollups, Ethereum EIP-4844.
FRI (Fast Reed-Solomon IOP of Proximity)
FRI is a transparent (no trusted setup) polynomial commitment that works by repeatedly halving the degree of a Reed-Solomon codeword via a random folding step. It is the core component of STARKs.
- Proof size:
- Verification time:
- Setup: Transparent (public-coin; only a hash function needed)
- Security: Collision-resistant hash functions; post-quantum secure
- Reference: BBHR18
Inner Product Argument (IPA / Bulletproofs)
A transparent polynomial commitment based on Pedersen commitments and a recursive inner-product argument. No trusted setup; no pairings needed.
- Proof size:
- Verification time: (linear, but no pairing)
- Setup: Transparent
- Security: Discrete logarithm assumption
Other results
- KZG is the polynomial commitment underlying most practical pairing-based SNARKs (Groth16, Plonk, Marlin) — KZG10, Gro16
- FRI-based polynomial commitments give the only known transparent SNARKs with sublinear proof size — BBHR18
- Any polynomial commitment with proof size implies the existence of a succinct NIZK for NP — standard
- Multi-point and batched opening protocols (e.g., FK20) allow proving many evaluations simultaneously with constant overhead — standard
- Polynomial commitments are equivalent to vector commitments with position-binding under certain reductions — standard