Appendix C: Field equations cheat sheet

A quick reference for the core equations in zero-knowledge proof systems.

Schwartz-Zippel lemma

For a non-zero polynomial of total degree over a field :

Consequence: Random evaluation catches cheating with probability .

Multilinear extensions

Lagrange basis polynomial

For :

Property: and for .

Multilinear extension formula

For :

Equality polynomial

Property: if , else (on hypercube).

Sum-check protocol

Dimensions: Vector size ; protocol runs rounds.

The claim

Prove:

Round polynomial

Prover sends:

Verifier checks

  • Round 1:
  • Round :
  • Final: query oracle at to check

Soundness

where is the number of variables and is the maximum individual degree. (More precisely: where is the degree in variable .)

Vanishing polynomials

Over roots of unity

For domain where :

Property: for all , and for .

Over boolean hypercube

For proving a polynomial vanishes on , use the univariate identity:

applied variable by variable in multilinear settings.

R1CS and QAP

R1CS constraint

Dimensions: Matrices are ; witness is ; result is .

For witness vector :

where is entry-wise multiplication.

QAP polynomial identity

Define polynomials by interpolating constraint matrices.

The constraint system is satisfied iff:

where is the vanishing polynomial.

KZG polynomial commitments

Dimensions: Polynomial degree ; SRS size elements.

Structured reference string (SRS)

Secret ; public:

Commitment

For :

Evaluation proof

To prove : (Prover knows ; Verifier knows , , )

  1. Compute quotient:
  2. Proof:

Verification (pairing check)

Equivalently:

FRI folding

Split polynomial

For :

  • : even coefficients
  • : odd coefficients

Folding with challenge

Property:

Consistency check

At query point (where is its conjugate on the same coset), verify:

This uses: and .

AIR (Algebraic Intermediate Representation)

Trace polynomials

For a trace matrix with registers and timesteps, interpolate each column over domain :

Transition constraints

For a constraint "register 0 at next step equals of current registers":

The shift accesses "next row" values. Define constraint polynomial:

Quotient check

Valid trace iff vanishes on transition domain :

is a polynomial (not rational function).

Boundary constraints

Pin inputs/outputs. For :

must be a polynomial.

PLONK

Gate equation

on domain .

Permutation grand product

Accumulator satisfies:

Property: The product telescopes, so iff all copy constraints hold.

Quotient check

All constraints satisfied iff there exists with:

Groth16

Public input combination

Given public inputs where :

where are verification key elements.

Verification equation

Given proof :

Verification cost: One MSM (size ) + 3-4 pairings, independent of circuit size.

Proof size

3 group elements: 128 bytes over BN254 (32 + 64 + 32 for , , ).

Lookup arguments

Plookup identity

For lookups and table , let .

Property: Equality holds iff .

LogUp identity

For lookups into table with multiplicities :

Property: Equality holds iff each and counts occurrences correctly.

Soundness: By Schwartz-Zippel, equality holds with probability over random .

Advantage: No sorting required; additive structure enables multi-table batching.

GKR protocol

Dimensions: Layer has gates; layer (inputs) has gates; .

Layer reduction

For layered circuit with values at layer :

Sum-check reduction

A claim about reduces via sum-check to claims about and for random .

Soundness: Compound over layers, each with sum-check rounds.

Inner product argument (IPA)

The claim

Prove for committed .

Folding step

Given challenge :

Property:

where and .

Proof size

group elements after rounds.

Nova folding

Relaxed R1CS

Standard R1CS:

Relaxed R1CS with scalar and error :

A satisfying instance has and .

Folding two instances

Given instances and , with challenge :

where is the "cross-term" computed by the prover.

Property: If both inputs satisfy relaxed R1CS, so does the folded instance.

Fiat-Shamir transform

Challenge derivation

Security requirement

The hash must include:

  • The public statement
  • All previous commitments
  • All previous challenges

Complexity summary

SystemProof SizeVerificationProverSetup
Groth16Per-circuit
PLONK+KZGUniversal
STARK/FRITransparent
BulletproofsTransparent
Sum-check IPNone

Field sizes (common choices)

FieldSizeSecurityUse Case
BN254 scalar~100 bitsEthereum, Groth16, PLONK
BLS12-381 scalar~128 bitsZcash, many SNARKs
Goldilocks~100 bits*Plonky2, fast arithmetic
Baby Bear~100 bits*RISC Zero
KoalaBear~100 bits*Lean Ethereum (Whirlaway)
Mersenne-31~100 bits*Circle STARKs, Airbender

*Small fields require extension fields for cryptographic security; base field security refers to the overall system design.

Quick reference

Proving a sum over hypercube: Sum-check protocol

Encoding data as polynomial: Multilinear extension (hypercube) or Lagrange interpolation (roots of unity)

Binding prover to polynomial: KZG (trusted setup, constant size), FRI (transparent, log² size), IPA (no pairings, log size)

Checking polynomial identity on a domain: Quotient by for roots of unity

Checking table membership: Lookup argument (Plookup with sorting, LogUp without)

Verifying circuit layer-by-layer: GKR protocol with sum-check at each layer

Incremental computation: Nova folding (amortize SNARK cost across steps)

Eliminating interaction: Fiat-Shamir with complete transcript hashing