@@ -51,7 +51,7 @@ This is called the linearization trick. The polynomial $f$ is called the _linear
51
51
## Setup
52
52
53
53
There's a one time setup phase to compute some values common to any execution and proof of the particular circuit. Precisely, the following commitments are computed and published.
54
- $$ [ q_L]_1 , [ q_R ]_1 , [ q_M ]_1 , [ q_O ]_1 , [ q_C ]_1 , [ S_{\sigma 1 } ]_1 , [ S_{\sigma_2 } ]_1 , [ S_{\sigma 3 } ]_1 $$
54
+ $$ [ q_L ]_1 , [ q_R ]_1 , [ q_M ]_1 , [ q_O ]_1 , [ q_C ]_1 , [ S_{ \sigma 1 } ]_1 , [ S_{ \sigma 2 } ]_1 , [ S_{ \sigma 3 } ]_1 $$
55
55
56
56
## Proving algorithm
57
57
@@ -64,7 +64,7 @@ The prover computes the trace matrix $T$ as described in the first sections. Tha
64
64
### Round 1
65
65
66
66
Add to the transcript the following:
67
- $$ [S_{\sigma_1 } ]_1, [S_{\sigma_2 } ]_1, [S_{\sigma_3 } ]_1, [q_L ]_1, [q_R ]_1, [q_M ]_1, [q_O ]_1, [q_C ]_1 $$
67
+ $$ [ S_{\sigma 1 } ]_1, [ S_ { \sigma 2 } ]_1, [ S { \sigma 3 } ]_1, [ q_L ]_1, [ q_R ]_1, [ q_M ]_1, [ q_O ]_1, [ q_C ]_1 $$
68
68
69
69
Compute polynomials $a',b',c'$ as the interpolation polynomials of the columns of $T$ at the domain $H$.
70
70
Sample random $b_1, b_2, b_3, b_4, b_5, b_6$
@@ -85,12 +85,12 @@ Sample $\beta, \gamma$ from the transcript.
85
85
Let $z_0 = 1$ and define recursively for $0\leq k < N$.
86
86
87
87
$$
88
- z_{k+ 1} = z_k \frac{(a_k + \beta\omega^k + \gamma)(b_k + \beta\omega^k k_1 + \gamma)(c_k + \beta\omega^k k_2 + \gamma)}{(a_k + \beta S_{\sigma1 } (\omega^k ) + \gamma)(b_k + \beta S_{\sigma2 } (\omega^k) + \gamma)(c_k + \beta S_{\sigma3 } (\omega^k) + \gamma)}
88
+ z_{k + 1} = z_k \frac{(a_k + \beta \omega^k + \gamma) (b_k + \beta \omega^k k_1 + \gamma)(c_k + \beta \omega^k k_2 + \gamma)}{(a_k + \beta S_{ \sigma 1 } (\omega^k ) + \gamma) (b_k + \beta S_{ \sigma 2 } (\omega^k) + \gamma)(c_k + \beta S_{ \sigma 3 } (\omega^k) + \gamma)}
89
89
$$
90
90
91
91
Compute the polynomial $z'$ as the interpolation polynomial at the domain $H$ of the values $(z_0, \dots, z_ { N - 1 })$.
92
92
93
- Sample random values $b_7, b_8, b_9$ and let $z = (b_7X ^2 + b_8X + b_9 )Z_H + z'$.
93
+ Sample random values $b_7, b_8, b_9$ and let $z = (b_7 X ^2 + b_8 X + b_9 )Z_H + z'$.
94
94
95
95
Compute $[ z] _ 1$ and add it to the transcript.
96
96
105
105
$$
106
106
\begin{aligned}
107
107
p_1 &= aq_L + bq_R + abq_M + cq_O + q_C + pi \\
108
- p_2 &= (a + \beta X + \gamma)(b + \beta k_1 X + \gamma)(c + \beta k_2 X + \gamma)z - (a + \beta S_{\sigma1 } + \gamma)(b + \beta S_{\sigma2 } + \gamma)(c + \beta S_{\sigma3 } + \gamma)z(\omega X)\\
108
+ p_2 &= (a + \beta X + \gamma)(b + \beta k_1 X + \gamma)(c + \beta k_2 X + \gamma)z - (a + \beta S_{ \sigma 1 } + \gamma)(b + \beta S_{ \sigma 2 } + \gamma)(c + \beta S_{ \sigma 3 } + \gamma)z(\omega X)\\
109
109
p_3 &= (z - 1)L_1
110
110
\end{aligned}
111
111
$$
139
139
$$
140
140
\begin{aligned}
141
141
\hat p_{nc1} &= \bar aq_L + \bar bq_R + \bar a\bar bq_M + \bar cq_O + q_C \\
142
- \hat p_{nc2} &=(\bar a + \beta\zeta + \gamma)(\bar b + \beta k_1\zeta + \gamma)(\bar c + \beta k_2 \zeta + \gamma)z - (\bar a + \beta \bar s_{\sigma 1} + \gamma)(\bar b + \beta \bar s_{\sigma 2} + \gamma)\beta \bar z_\omega S_{\sigma 3} \\
142
+ \hat p_{nc2} &=(\bar a + \beta\zeta + \gamma)(\bar b + \beta k_1\zeta + \gamma)(\bar c + \beta k_2 \zeta + \gamma)z - (\bar a + \beta \bar s_{ \sigma 1 } + \gamma)(\bar b + \beta \bar s_{ \sigma 2 } + \gamma)\beta \bar z_\omega S_{ \sigma 3 } \\
143
143
\hat p_{nc3} &= L_1(\zeta) z
144
144
\end{aligned}
145
145
$$
@@ -149,7 +149,7 @@ Define
149
149
$$
150
150
\begin{aligned}
151
151
p_{nc} &= p_{nc1} + \alpha p_{nc2} + \alpha^2 p_{nc3} \\
152
- t_{\text{partial}} &= t_{lo} + \zeta^{N+ 2}t_{mid} + \zeta^{2(N+2 )}t_{hi}
152
+ t_{\text{partial}} &= t_{lo} + \zeta^{ N + 2}t_{mid} + \zeta^{ 2 ( N + 2 )}t_{hi}
153
153
\end{aligned}
154
154
$$
155
155
@@ -165,14 +165,14 @@ Compute $\bar p_{nc} := p_{nc}(\zeta)$ and $\bar t = t(\zeta)$.
165
165
### Proof
166
166
167
167
The proof is:
168
- $$ [a]_1, [b]_1 , [c]_1, [z]_1, [t_{lo} ]_1, [t_{mid} ]_1, [t_{hi} ]_1, \bar{a}, \bar{b}, \bar{c}, \bar{s_{\sigma 1}}, \bar{s_{\sigma 2}}, \bar{z_\omega}, \pi_{\mathrm{batch}}, \pi_{\mathrm{single}}, \bar p_{nc}, \bar t $$
168
+ $$ [a]_1, [b]_1 , [c]_1, [z]_1, [t_{lo} ]_1, [t_{mid} ]_1, [t_{hi} ]_1, \bar{a}, \bar{b}, \bar{c}, \bar{s_{ \sigma 1 }}, \bar{s_{ \sigma 2 }}, \bar{z_\omega}, \pi_{\mathrm{batch}}, \pi_{\mathrm{single}}, \bar p_{nc}, \bar t $$
169
169
170
170
## Verification algorithm
171
171
172
172
### Transcript initialization
173
173
174
174
The first step is to initialize the transcript in the same way the prover did, adding to it the following elements.
175
- $$ [S_{\sigma 1} ]_1, [S_{\sigma 2} ]_1, [S_{\sigma 3}]_1, [q_L]_1, [q_R]_1, [q_M]_1, [q_O]_1, [q_C]_1 $$
175
+ $$ [ S_{ \sigma 1 } ]_1, [ S_{ \sigma 2 } ]_1, [ S_{ \sigma 3 }]_1, [ q_L ]_1, [ q_R ]_1, [ q_M ]_1, [ q_O ]_1, [ q_C ]_1 $$
176
176
177
177
### Extraction of values and commitments
178
178
@@ -184,7 +184,7 @@ Firstly, the verifier needs to compute all the challenges. For that, he follows
184
184
- Sample two challenges $\beta, \gamma$.
185
185
- Add $[ z] _ 1$ to the transcript.
186
186
- Sample a challenge $\alpha$.
187
- - Add $[ t_ {lo}] _ 1, [ t_ {mid}] _ 1, [ t_ {hi}] _ 1$ to the transcript.
187
+ - Add $[ t_ {lo} ] _ 1, [ t_ {mid} ] _ 1, [ t_ {hi} ] _ 1$ to the transcript.
188
188
- Sample a challenge $\zeta$.
189
189
- Add $\bar a, \bar b, \bar c, \bar s_ {\sigma 1}, \bar s_ {\sigma 2}, \bar z_ \omega$ to the transcript.
190
190
- Sample a challenge $\upsilon$.
0 commit comments