ZK-Learning MOOC课程笔记
overview

Polynomial equality testing with KZG
If the c o m f = c o m g com_f = com_g comf=comg, the verifier can tell if f = g f=g f=g on its own???
but

Important proof gadgets for univariates

The vanishing polynomial

ZeroTest

Product check



- Use the ZeroTest
- Proof size: two commits, five evals (can be batched).
- Verifier time: O(logk)
- Prover time:O(klogk)
For rational functions

Permutation check








PLONK widely used in practice

PLONK: a poly-IOP for a general circuit




Step 2: proving validity of T



- Proving (2): every gate is evaluated correctly

- S(X) is a selector
- Pre-processing: create the commitment of S(X), it is independent to any input.


- Proving (3): the wiring is correct

- The W is independent of the inputs
- Prescribed pumutation check


The SNARK can easily be made into a zk-SNARK
Main challenge: reduce prover time

A generalization: plonkish arithmetization
Plonk for circuits with gates other than + and × on rows (custom gates)

More columns on the table