Arithmetization
Arithmetization
The structure of zk:
The goal of arithmetizations is reduce the computation to single polynomial identity.
Two common arithmetizations
R1CS -> QAP
R1CS (rank 1 constraint system) is equivalent to QAP (Quadratic arithmetic program). The circom is complied to R1CS.
Any computation expressed in the R1CS system we want to check its correctness using a single polynomial identity.
An R1CS is a conjunction of constraints, each of the form:
(a DOT x) * (b DOT x) = (c DOT x)
R1CS -> QAP:
Many problems in Symbolic Computation and cryptography can be expressed as the task of computing some polynomials.
In computational complexity theory, arithmetic circuits are the standard model for computing polynomials. - wikepedia
The details of R1CS can be seen in the two following post. Highly recommend the first post begin with the introduction of arithmetic circuit and constraint system, and then dive into the R1CS from shallow to deep.
- Rank-1 Constraint System with Application to Bulletproofs
- Quadratic Arithmetic Programs: from Zero to Hero | by Vitalik Buterin | Medium
AIR
AIR (Algebraic intermediate representation) --pre-processing--> PAIR --verifier's randomness--> RAP
RAP is the arithmetization method used by PLONK