Alice wants to prove: Intuitive approach: Show all computations of each cases in every βNot succinct
1. Lagrange Interpolation
Lagrange Interpolation : For with and , there is a unique polynomial of degree less than such that
β In general case, takes via Divide & Conqure + FFT
Letβs make Interpolated polynomials of each variables:
In , we can use the case of . (β via FFT)
We can make each polynomials :
Now, what we gotta prove is :
2. Schwartz-Zippel Lemma
is a non-zero polynomial with total degree over finite field . If are i.i.d. randomly selected from , then
Therefore, it suffices to select random and check : By the way, we donβt want interactions between the prover and verifier. So, the prover gotta give the value with polynomials at once, but the prover may modify the equation which can hold the value even if it is not the identical equation.
The verifier can convince when the prover make the value with the hash of the polynomials. β The probability of cheating with hash value is negligible : Fiat-Shamir heuristic
3. Polynomial Commitment Schemes (PCS)
- Commit: (binding and hiding, so that the verifier cannot know the exact and prover cannot change the )
- Prove: Generate proof such that
- Verify: Verify given .
4. Adding ZK
Adding random points to interpolate on, or adding random multiples of works in PLONKish. It depends on which SNARK system to use.