fflonk
- fflonk central idea: reduce opening many polys to one using the FFT ideneity
- Cheaply opening a poly at points
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