fflonk

Reduce opening many polys at to opening one poly at many points, then can use BDFG.

fflonk central idea: reduce opening many polys to one using the FFT ideneity

polys
First attempt: Only open the sum - . Prove that . Problem: Doesn't constrain individually - for any will also verify Solution: Use "FFT equation in reverse direction":
To commit to send

Assume . To open open at : i.e. give two independent constraints on !

  • Similar construction can open polys at any
  • Important: poly-iop based snarks work fine with a PCS that only open 'th powers.

Cheaply opening a poly at points

Notation: Given poly with commitment , , suppose for .

  • Define poly of degree with for .
  • Define . Then we have
  • Let .Prover sends .
  • From [KZG]: Verifier can now check

    This requires and verifier scalar muls!

In[BDFG] we trade these scalar mults for an extra group element in the proof:

  • Verifier chooses random and sends to prover.
  • Define the polynomial
  • If evals are correct, should be zero at
  • Verifer can compute with only two scalar muls:
  • Prover and verifier can now use KZG to check