@@ -17,54 +17,74 @@ The protocol begins with the prover computing commitments to the secret values \
1717V_i \gets \operatorname{Com}(v_i, {\widetilde{v}\_ i}) = v\_ i \cdot B + {\widetilde{v}\_ i} \cdot {\widetilde{B}}
1818\\ ] where each \\ (\widetilde{v}\_ i\\ ) is sampled randomly.
1919
20- The prover then [ builds constraints] ( #building-constraints ) , allocating necessary multiplication gates on the fly,
21- generating challenge values bound to the commitments \\ (V_i\\ ), filling in weights \\ (\mathbf{W}\_ L,\mathbf{W}\_ R,\mathbf{W}\_ O,\mathbf{W}\_ V\\ ), and assigning values to the left, right and output wires
22- of the multiplication gates (\\ (\mathbf{a}\_ {L}, \mathbf{a}\_ {R}, \mathbf{a}\_ {O}\\ )).
20+ The prover then [ builds constraints] ( #building-constraints ) in two phases.
2321
24- Once all multiplication wires are assigned, the prover commits to them via vector Pedersen commitments:
22+ In the first phase, the prover allocates necessary multiplication gates on the fly, fills in weights \\ (\mathbf{W}\_ L',\mathbf{W}\_ R',\mathbf{W}\_ O',\mathbf{W}\_ V'\\ ), and assigns values to the left, right and output wires
23+ of the multiplication gates (\\ (\mathbf{a}\_ L', \mathbf{a}\_ R', \mathbf{a}\_ O'\\ )) without using the challenge values.
24+
25+ Once \\ (n'\\ ) multiplication gates are assigned, the prover commits to them via vector Pedersen commitments:
2526
2627\\ [
2728\begin{aligned}
28- \tilde{a} \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
29- \tilde{o} \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
30- A_I &\gets \widetilde{B} \cdot \tilde{a} + \langle \mathbf{G} , \mathbf{a}\_ L \rangle + \langle \mathbf{H}, \mathbf{a}\_ R \rangle \\\\
31- A_O &\gets \widetilde{B} \cdot \tilde{o} + \langle \mathbf{G} , \mathbf{a}\_ O \rangle \\\\
29+ \tilde{a}' \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
30+ \tilde{o}' \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
31+ A_I' &\gets \widetilde{B} \cdot \tilde{a}' + \langle \mathbf{G}' , \mathbf{a}\_ L' \rangle + \langle \mathbf{H}' , \mathbf{a}\_ R' \rangle \\\\
32+ A_O' &\gets \widetilde{B} \cdot \tilde{o}' + \langle \mathbf{G}' , \mathbf{a}\_ O' \rangle \\\\
3233\end{aligned}
3334\\ ]
3435
35- The prover also computes blinding factors \\ (\mathbf{s}\_ L, \mathbf{s}\_ R\\ )
36+ The prover also computes blinding factors \\ (\mathbf{s}\_ L' , \mathbf{s}\_ R' \\ )
3637for the left and right multiplication values and commits to them:
3738
3839\\ [
3940\begin{aligned}
40- \mathbf{s}\_ {L} \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n} \\\\
41- \mathbf{s}\_ {R} \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n} \\\\
42- \tilde{s} \\ ; &{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
43- S &\gets \widetilde{B} \cdot \tilde{s} + \langle \mathbf{G} , \mathbf{s}\_ L \rangle + \langle \mathbf{H}, \mathbf{s}\_ R \rangle
41+ \mathbf{s}\_ L' \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n'} \\\\
42+ \mathbf{s}\_ R' \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n'} \\\\
43+ \tilde{s}' \\ ; &{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
44+ S' &\gets \widetilde{B} \cdot \tilde{s}' + \langle \mathbf{G}', \mathbf{s}\_ L' \rangle + \langle \mathbf{H}', \mathbf{s}\_ R' \rangle
45+ \end{aligned}
46+ \\ ]
47+
48+ The prover adds \\ (A_I'\\ ), \\ (A_O'\\ ) and \\ (S'\\ ) to the protocol transcript.
49+
50+ In the second phase, the prover is allowed to use challenge values when allocating multiplication gates (\\ (\mathbf{a}\_ {L}'', \mathbf{a}\_ {R}'', \mathbf{a}\_ {O}''\\ )) and computing weights \\ (\mathbf{W}\_ L'',\mathbf{W}\_ R'',\mathbf{W}\_ O'',\mathbf{W}\_ V''\\ ).
51+
52+ When additional \\ (n''\\ ) multiplication gates are assigned, the prover commits to them via vector Pedersen commitments, along with the corresponding blinding factors \\ (\mathbf{s}\_ L'', \mathbf{s}\_ R''\\ ):
53+
54+ \\ [
55+ \begin{aligned}
56+ \tilde{a}'' \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
57+ \tilde{o}'' \\ ;&{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
58+ A_I'' &\gets \widetilde{B} \cdot \tilde{a}'' + \langle \mathbf{G}'' , \mathbf{a}\_ L'' \rangle + \langle \mathbf{H}'', \mathbf{a}\_ R'' \rangle \\\\
59+ A_O'' &\gets \widetilde{B} \cdot \tilde{o}'' + \langle \mathbf{G}'' , \mathbf{a}\_ O'' \rangle \\\\
60+ \mathbf{s}\_ L'' \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n''} \\\\
61+ \mathbf{s}\_ R'' \\ ; &{\xleftarrow{\\ $}}\\ ; {\mathbb Z\_ p}^{n''} \\\\
62+ \tilde{s}'' \\ ; &{\xleftarrow{\\ $}}\\ ; \mathbb Z\_ p \\\\
63+ S'' &\gets \widetilde{B} \cdot \tilde{s}'' + \langle \mathbf{G}'' , \mathbf{s}\_ L'' \rangle + \langle \mathbf{H}'', \mathbf{s}\_ R'' \rangle
4464\end{aligned}
4565\\ ]
4666
47- The prover adds \\ (A_I\\ ), \\ (A_O\\ ) and \\ (S\\ ) to the protocol transcript
67+ The prover adds \\ (A_I'' \\ ), \\ (A_O'' \\ ) and \\ (S'' \\ ) to the protocol transcript
4868and obtains challenge scalars \\ (y,z \in {\mathbb Z\_ p}\\ ) from the transcript.
4969
5070The prover then flattens the constraints using \\ (q\\ ) powers of challenge \\ (z\\ ):
5171
5272\\ [
5373\begin{aligned}
54- \mathbf{w}\_ L &\gets z \mathbf{z}^q \cdot \mathbf{W}\_ L, \\\\
55- \mathbf{w}\_ R &\gets z \mathbf{z}^q \cdot \mathbf{W}\_ R, \\\\
56- \mathbf{w}\_ O &\gets z \mathbf{z}^q \cdot \mathbf{W}\_ O, \\\\
57- \mathbf{w}\_ V &\gets z \mathbf{z}^q \cdot \mathbf{W}\_ V,
74+ \mathbf{w}\_ L &\gets z \mathbf{z}^q \cdot ( \mathbf{W}\_ L' || \mathbf{W} \_ L'') , \\\\
75+ \mathbf{w}\_ R &\gets z \mathbf{z}^q \cdot ( \mathbf{W}\_ R' || \mathbf{W} \_ R'') , \\\\
76+ \mathbf{w}\_ O &\gets z \mathbf{z}^q \cdot ( \mathbf{W}\_ O' || \mathbf{W} \_ O'') , \\\\
77+ \mathbf{w}\_ V &\gets z \mathbf{z}^q \cdot ( \mathbf{W}\_ V' || \mathbf{W} \_ V'') ,
5878\end{aligned}
5979\\ ]
60- where each of \\ (\mathbf{w}\_ L, \mathbf{w}\_ R, \mathbf{w}\_ O\\ ) has length \\ (n\\ ) and \\ (\mathbf{w}\_ V\\ ) has length \\ (m\\ ).
80+ where each of \\ (\mathbf{w}\_ L, \mathbf{w}\_ R, \mathbf{w}\_ O\\ ) has length \\ (n = n' + n'' \\ ) and \\ (\mathbf{w}\_ V\\ ) has length \\ (m\\ ).
6181
6282The prover then constructs the blinded polynomials and their inner product:
6383
6484\\ [
6585\begin{aligned}
66- {\mathbf{l}}(x) &\gets \mathbf{a}\_ L \ cdot x + \mathbf{s}\_ L \ cdot x^3 + \mathbf{y}^{-n} \circ \mathbf{w}\_ R \cdot x + \mathbf{a}\_ O \cdot x^2 \\\\
67- {\mathbf{r}}(x) &\gets \mathbf{y}^n \circ \mathbf{a}\_ R \ cdot x + \mathbf{y}^n \circ \mathbf{s}\_ R \cdot x^3 + \mathbf{w}\_ L \cdot x - \mathbf{y}^n + \mathbf{w}\_ O \\\\
86+ {\mathbf{l}}(x) &\gets ( \mathbf{a}\_ L' || \mathbf{a} \_ L'') \ cdot x + ( \mathbf{s}\_ L' || \mathbf{s} \_ L'') \ cdot x^3 + \mathbf{y}^{-n} \circ \mathbf{w}\_ R \cdot x + ( \mathbf{a}\_ O' || \mathbf{a} \_ O'') \cdot x^2 \\\\
87+ {\mathbf{r}}(x) &\gets \mathbf{y}^n \circ ( \mathbf{a}\_ R' || \mathbf{a} \_ R'') \ cdot x + \mathbf{y}^n \circ ( \mathbf{s}\_ R' || \mathbf{s} \_ R'') \cdot x^3 + \mathbf{w}\_ L \cdot x - \mathbf{y}^n + \mathbf{w}\_ O \\\\
6888 t(x) &\gets {\langle {\mathbf{l}}(x), {\mathbf{r}}(x) \rangle}
6989\end{aligned}
7090\\ ]
@@ -80,16 +100,16 @@ The prover generates blinding factors for terms \\(t\_1, t\_3, t\_4, t\_5, t\_6\
80100\\ ]
81101
82102The prover adds \\ (T_1, T_3, T_4, T_5, T_6\\ ) to the protocol transcript
83- and obtains a challenge scalar \\ (x \in {\mathbb Z\_ p}\\ ) from the transcript.
103+ and obtains the challenge scalars \\ (u, x \in {\mathbb Z\_ p}\\ ) from the transcript.
84104
85- Using the concrete value \\ (x\\ ), the prover computes
105+ Using the concrete values \\ (u, x\\ ), the prover computes
86106the synthetic blinding factors \\ ({\tilde{t}}(x)\\ ) and \\ (\tilde{e}\\ ):
87107
88108\\ [
89109\begin{aligned}
90110 \tilde{t}\_ 2 &\gets \langle \mathbf{w}\_ V, \tilde{\mathbf{v}} \rangle \\\\
91111 {\tilde{t}}(x) &\gets \sum\_ {i = 1}^{6} x^i \tilde{t}\_ {i} \\\\
92- {\tilde{e}} &\gets \tilde{a} \ cdot x + \tilde{o} \ cdot x^2 + \tilde{s} \cdot x^3 \\\\
112+ {\tilde{e}} &\gets ( \tilde{a}' + u \tilde{a}'') \ cdot x + ( \tilde{o}' + u \tilde{o}'') \ cdot x^2 + ( \tilde{s}' + u \tilde{s}'') \cdot x^3 \\\\
93113\end{aligned}
94114\\ ]
95115
@@ -104,34 +124,43 @@ The prover evaluates polynomials \\(\mathbf{l}(x), \mathbf{r}(x)\\) and
104124
105125\\ [
106126\begin{aligned}
107- n^{+} &= 2^{\lceil \log_2 n \rceil} \\\\
108- \mathbf{l}^{+} &= \mathbf{l}(x) \hspace{0.1cm} || \hspace{0.1cm} \mathbf{0} \\\\
109- \mathbf{r}^{+} &= \mathbf{r}(x) \hspace{0.1cm} || \hspace{0.1cm} [ -y^n,...,-y^{n^{+}-1}]
127+ n^{+} &\gets 2^{\lceil \log_2 n \rceil} \\\\
128+ \mathbf{l}^{+} &\gets \mathbf{l}(x) \hspace{0.1cm} || \hspace{0.1cm} \mathbf{0} \\\\
129+ \mathbf{r}^{+} &\gets \mathbf{r}(x) \hspace{0.1cm} || \hspace{0.1cm} [ -y^n,...,-y^{n^{+}-1}]
130+ \end{aligned}
131+ \\ ]
132+
133+ The prover transmutes generators using challenges \\ (y\\ ) and \\ (u\\ ):
134+
135+ \\ [
136+ \begin{aligned}
137+ \hat{\mathbf{G}} &\gets \mathbf{G}' || (u \cdot \mathbf{G}'') \\\\
138+ \hat{\mathbf{H}} &\gets \mathbf{y}^{-n} \circ \big( \mathbf{H}' || (u \cdot \mathbf{H}'') \big) \\\\
110139\end{aligned}
111140\\ ]
112141
113142The prover also takes a larger slice of the generators \\ (\mathbf{G}, \mathbf{H}\\ ):
114143
115144\\ [
116145\begin{aligned}
117- \mathbf{G}^{+} &= \ mathbf{G} \hspace{0.1cm} || \hspace{0.1cm} [ G_n,...,G_ {n^{+}-1}] \\\\
118- {\mathbf{H}' }^{+} &= \ mathbf{H}' \hspace{0.1cm} || \hspace{0.1cm} \Big( [ y^n ,...,y^{n^{+}-1} ] \circ [ H_n,..., H_ {n^{+}-1}] \Big) \\\\
146+ \hat{\ mathbf{G}} ^{+} &\gets \hat{\ mathbf{G}} \hspace{0.1cm} || \hspace{0.1cm} u \cdot [ G_n,...,G_ {n^{+}-1}] \\\\
147+ \hat {\mathbf{H}}^{+} &\gets \hat{\ mathbf{H}} \hspace{0.1cm} || \hspace{0.1cm} u \cdot [ y^{-n} H_n ,..., y^{-( n^{+}-1)} H_ {n^{+}-1}] \\\\
119148\end{aligned}
120149\\ ]
121150
122151Finally, the prover performs the [ inner product argument] ( ../inner_product_proof/index.html ) to prove the relation:
123152\\ [
124153\operatorname{PK}\left\\ {
125- (\mathbf{G}^{+}, {\mathbf{H}' }^{+} \in {\mathbb G}^{n^{+}}, P', Q \in {\mathbb G}; \mathbf{l}^{+}, \mathbf{r}^{+} \in {\mathbb Z\_ p}^{n^{+}})
126- : P' = {\langle \mathbf{l}^{+}, \mathbf{G}^{+} \rangle} + {\langle \mathbf{r}^{+}, {\mathbf{H}' }^{+} \rangle} + {\langle \mathbf{l}^{+}, \mathbf{r}^{+} \rangle} Q
154+ (\hat{\ mathbf{G}} ^{+}, \hat {\mathbf{H}}^{+} \in {\mathbb G}^{n^{+}}, P', Q \in {\mathbb G}; \mathbf{l}^{+}, \mathbf{r}^{+} \in {\mathbb Z\_ p}^{n^{+}})
155+ : P' = {\langle \mathbf{l}^{+}, \hat{\ mathbf{G}} ^{+} \rangle} + {\langle \mathbf{r}^{+}, \hat {\mathbf{H}}^{+} \rangle} + {\langle \mathbf{l}^{+}, \mathbf{r}^{+} \rangle} Q
127156\right\\ }
128- \\ ] where \\ ({\mathbf{H}'}^{+} = {\mathbf{y}}^{-n^{+}} \circ \mathbf{H}^{+} \\ ).
157+ \\ ]
129158
130159The result of the inner product proof is a list of \\ (2k\\ ) points and \\ (2\\ ) scalars, where \\ (k = \lceil \log_2(n) \rceil\\ ): \\ (\\ {L\_ k, R\_ k, \\ dots, L\_ 1, R\_ 1, a, b\\ }\\ ).
131160
132- The complete proof consists of \\ (13 +2k\\ ) 32-byte elements:
161+ The complete proof consists of \\ (16 +2k\\ ) 32-byte elements:
133162\\ [
134- \\ {A\_ I, A\_ O, S, T\_ 1, T\_ 3, T\_ 4, T\_ 5, T\_ 6, t(x), {\tilde{t}}(x), \tilde{e}, L\_ k, R\_ k, \\ dots, L\_ 1, R\_ 1, a, b\\ }
163+ \\ {A\_ I' , A\_ O' , S', A \_ I'', A \_ O'', S'' , T\_ 1, T\_ 3, T\_ 4, T\_ 5, T\_ 6, t(x), {\tilde{t}}(x), \tilde{e}, L\_ k, R\_ k, \\ dots, L\_ 1, R\_ 1, a, b\\ }
135164\\ ]
136165
137166
@@ -140,21 +169,28 @@ Verifier’s algorithm
140169--------------------
141170
142171The input to the verifier is the aggregated proof, which contains the \\ (m\\ ) value commitments \\ (V_ {(j)}\\ ),
143- and \\ (32 \cdot (13 + 2 k)\\ ) bytes of the proof data where \\ (k = \lceil \log_2(n) \rceil\\ ) and \\ (n\\ ) is a number of [ multiplication gates] ( #multiplication-gates ) :
172+ and \\ (32 \cdot (16 + 2 k)\\ ) bytes of the proof data where \\ (k = \lceil \log_2(n) \rceil\\ ) and \\ (n\\ ) is a number of [ multiplication gates] ( #multiplication-gates ) :
144173
145174\\ [
146- \\ {A\_ I, A\_ O, S, T\_ 1, T\_ 3, T\_ 4, T\_ 5, T\_ 6, t(x), {\tilde{t}}(x), \tilde{e}, L\_ k, R\_ k, \\ dots, L\_ 1, R\_ 1, a, b\\ }
175+ \\ {A\_ I' , A\_ O' , S', A \_ I'', A \_ O'', S'' , T\_ 1, T\_ 3, T\_ 4, T\_ 5, T\_ 6, t(x), {\tilde{t}}(x), \tilde{e}, L\_ k, R\_ k, \\ dots, L\_ 1, R\_ 1, a, b\\ }
147176\\ ]
148177
149178The verifier starts by adding all value commitments \\ (V_i\\ ) to the protocol transcript.
150179
151- The verifier then [ builds constraints] ( #building-constraints ) , allocating necessary multiplication gates on the fly and
152- generating challenge values bound to the commitments \\ (V_i\\ ).
180+ The verifier then [ builds constraints] ( #building-constraints ) in two phases.
153181
154- The verifier uses the Fiat-Shamir transform to obtain challenges by adding the appropriate data sequentially to the protocol transcript:
182+ In the first phase, the verifier allocates \\ (n' \\ ) multiplication gates and the first set of constraints without using challenges.
155183
156- 1 . \\ (A_I, A_O, S\\ ) are added to obtain challenge scalars \\ (y,z \in {\mathbb Z\_ p}\\ ),
157- 2 . \\ (T_1, T_3, T_4, T_5, T_6\\ ) are added to obtain a challenge \\ (x \in {\mathbb Z\_ p}\\ ),
184+ Then, the verifier uses the Fiat-Shamir transform to generate challenges required by the gadgets
185+ by adding the intermediate commitments \\ (A_I', A_O', S'\\ ) to the protocol transcript.
186+
187+ In the second phase, the verifier allocates additional \\ (n''\\ ) multiplication gates and the second set of constraints,
188+ providing necessary challenges to the gadgets that form the constraint system.
189+
190+ The verifier obtains more challenges by adding the appropriate data sequentially to the protocol transcript:
191+
192+ 1 . \\ (A_I'', A_O'', S''\\ ) are added to obtain challenge scalars \\ (y,z \in {\mathbb Z\_ p}\\ ),
193+ 2 . \\ (T_1, T_3, T_4, T_5, T_6\\ ) are added to obtain a challenge scalars \\ (u,x \in {\mathbb Z\_ p}\\ ),
1581943 . \\ (t(x), {\tilde{t}}(x), \tilde{e}\\ ) are added to obtain a challenge \\ (w \in {\mathbb Z\_ p}\\ ).
159195
160196The verifier flattens constraints:
@@ -175,10 +211,10 @@ by taking a larger slice of the generators \\(\mathbf{G},\mathbf{H}\\) and more
175211
176212\\ [
177213\begin{aligned}
178- n^{+} &= 2^{\lceil \log_2 n \rceil} \\\\
179- \mathbf{G}^{+} &= \mathbf{G} \hspace{0.1cm} || \hspace{0.1cm} [ G_n,...,G_ {n^{+}-1}] \\\\
180- \mathbf{H}^{+} &= \mathbf{H} \hspace{0.1cm} || \hspace{0.1cm} [ H_n,...,H_ {n^{+}-1}] \\\\
181- \mathbf{y}^{n^{+}} &= \mathbf{y}^n \hspace{0.1cm} || \hspace{0.1cm} [ y^n,...,y^{n^{+}-1}] \\\\
214+ n^{+} &\gets 2^{\lceil \log_2 n \rceil} \\\\
215+ \mathbf{G}^{+} &\gets \mathbf{G} \hspace{0.1cm} || \hspace{0.1cm} [ G_n,...,G_ {n^{+}-1}] \\\\
216+ \mathbf{H}^{+} &\gets \mathbf{H} \hspace{0.1cm} || \hspace{0.1cm} [ H_n,...,H_ {n^{+}-1}] \\\\
217+ \mathbf{y}^{n^{+}} &\gets \mathbf{y}^n \hspace{0.1cm} || \hspace{0.1cm} [ y^n,...,y^{n^{+}-1}] \\\\
182218\end{aligned}
183219\\ ]
184220
@@ -209,26 +245,29 @@ If we rewrite the check as a comparison with the identity point, we get:
209245** Second** , verify the inner product argument for the vectors \\ (\mathbf{l}(x), \mathbf{r}(x)\\ ) that form the \\ (t(x)\\ ) (see [ inner-product protocol] ( ../inner_product_proof/index.html#verification-equation ) )
210246
211247\\ [
212- P' \overset ? = {\langle a \cdot \mathbf{s}, \mathbf{G}^{+} \rangle} + {\langle {\mathbf{y}^{-n^{+}}} \circ (b /{\mathbf{s}}), \mathbf{H}^{+} \rangle} + abQ - \sum\_ {j=1}^{k} \left( L\_ {j} u\_ {j}^{2} + u\_ {j}^{-2} R\_ {j} \right).
248+ P' \overset ? = {\langle a \cdot \mathbf{s}, \hat{\mathbf{G}}^{+} \rangle} + {\langle b/\mathbf{s}, \hat{\mathbf{H}}^{+} \rangle} + abQ - \sum\_ {j=1}^{k} \left( L\_ {j} u\_ {j}^{2} + u\_ {j}^{-2} R\_ {j} \right),
249+ \\ ]
250+ where
251+ \\ [
252+ \begin{aligned}
253+ \hat{\mathbf{G}}^{+} &= \mathbf{G}' \hspace{0.1cm} || \hspace{0.1cm} u \cdot \mathbf{G}'' \hspace{0.1cm} || \hspace{0.1cm} u \cdot [ G_n,...,G_ {n^{+}-1}] \\\\
254+ \hat{\mathbf{H}}^{+} &= \mathbf{y}^{-n^{+}} \circ \big( \mathbf{H}' \hspace{0.1cm} || \hspace{0.1cm} u \cdot \mathbf{H}'' \hspace{0.1cm} || \hspace{0.1cm} u \cdot [ H_n,...,H_ {n^{+}-1}] \big) \\\\
255+ \end{aligned}
213256\\ ]
214257
215258Rewriting as a comparison with the identity point and expanding \\ (Q = wB\\ ) and \\ (P' = P^{+} + t(x) wB\\ ) as [ needed for transition to the inner-product protocol] ( ../notes/index.html#inner-product-proof ) :
216259
217260\\ [
218- 0 \overset ? = P^{+} + t(x) wB - {\langle a \cdot \mathbf{s}, \mathbf{G}^{+} \rangle} - {\langle \mathbf{y}^{-n^{+}} \circ (b /\mathbf{s}) , \mathbf{H}^{+} \rangle} - abwB + \sum\_ {j=1}^{k} \left( L\_ {j} u\_ {j}^{2} + u\_ {j}^{-2} R\_ {j} \right),
261+ 0 \overset ? = P^{+} + t(x) wB - {\langle a \cdot \mathbf{s}, \hat{\ mathbf{G}} ^{+} \rangle} - {\langle b /\mathbf{s}, \hat{\ mathbf{H} }^{+} \rangle} - abwB + \sum\_ {j=1}^{k} \left( L\_ {j} u\_ {j}^{2} + u\_ {j}^{-2} R\_ {j} \right),
219262\\ ]
220263where the [ definition] ( #proving-that-mathbflx-mathbfrx-are-correct ) of \\ (P^{+}\\ ) is:
221264
222265\\ [
223266\begin{aligned}
224- P^{+} = -{\widetilde{e}} {\widetilde{B}} + x \cdot A_I + x^2 \cdot A_O - \langle \mathbf{1}, \mathbf{H}^{+} \rangle + W_L \cdot x + W_R \cdot x + W_O + x^3 \cdot S
225- \end{aligned}
226- \\ ]
227- \\ [
228- \begin{aligned}
229- W_L &= \langle \mathbf{y}^{-n} \circ \mathbf{w}\_ L, \mathbf{H} \rangle \\\\
230- W_R &= \langle \mathbf{y}^{-n} \circ \mathbf{w}\_ R, \mathbf{G} \rangle \\\\
231- W_O &= \langle \mathbf{y}^{-n} \circ \mathbf{w}\_ O, \mathbf{H} \rangle \\\\
267+ P^{+} = &-{\widetilde{e}} {\widetilde{B}} + x \cdot (A_I' + u \cdot A_I'') + x^2 \cdot (A_O' + u \cdot A_O'') \\\\
268+ &-\langle \mathbf{1}, \mathbf{H}' \rangle - u \cdot \langle \mathbf{1}, {\mathbf{H}''} \rangle - u \cdot [ H_n,...,H_ {n^{+}-1}] \\\\
269+ &+x \cdot \langle \mathbf{w}\_ L, \hat{\mathbf{H}} \rangle + x \cdot \langle \mathbf{w}\_ R, \hat{\mathbf{G}} \rangle + \langle \mathbf{w}\_ O, \hat{\mathbf{H}} \rangle +
270+ x^3 \cdot (S' + u \cdot S'')
232271\end{aligned}
233272\\ ]
234273
@@ -239,15 +278,22 @@ Finally, verifier groups all scalars by each point and performs a single multisc
239278
240279\\ [
241280\begin{aligned}
242- 0 \quad \stackrel{?}{=} & \quad x \cdot A\_ I \\\\
243- + & \quad x^2 \cdot A\_ O \\\\
244- + & \quad x^3 \cdot S \\\\
245- + & \quad \langle r x^2 \mathbf{w}\_ V, \mathbf{V} \rangle \\\\
246- + & \quad \sum\_ {i = 1,3,4,5,6} r x^i T\_ {i} \\\\
247- + & \quad \Big(w \big(t(x) - ab\big) + r \big(x^2 (w\_ c + \delta(y,z)) - t(x)\big) \Big) \cdot B \\\\
248- + & \quad (-{\widetilde{e}} - r{\tilde{t}}(x)) \cdot \widetilde{B} \\\\
249- + & \quad {\langle \big( x \mathbf{y}^{-n} \circ \mathbf{w}\_ R \big) || \mathbf{0} - a\mathbf{s}, \mathbf{G}^{+} \rangle}\\\\
250- + & \quad {\langle -\mathbf{1} + \mathbf{y}^{-n^{+}} \circ \big( (x \mathbf{w}\_ L + \mathbf{w}\_ O) || \mathbf{0} - (b /{\mathbf{s}}) \big), \mathbf{H}^{+} \rangle}\\\\
281+ 0 \quad \stackrel{?}{=} & \quad x \cdot A\_ I' \\\\
282+ + & \quad x^2 \cdot A\_ O' \\\\
283+ + & \quad x^3 \cdot S' \\\\
284+ + & \quad u \cdot x \cdot A\_ I'' \\\\
285+ + & \quad u \cdot x^2 \cdot A\_ O'' \\\\
286+ + & \quad u \cdot x^3 \cdot S'' \\\\
287+ + & \quad \langle r \cdot x^2 \cdot \mathbf{w}\_ V, \mathbf{V} \rangle \\\\
288+ + & \quad \sum\_ {i = 1,3,4,5,6} r \cdot x^i \cdot T\_ {i} \\\\
289+ + & \quad \Big(w \cdot \big(t(x) - a \cdot b\big) + r \cdot \big(x^2 \cdot (w\_ c + \delta(y,z)) - t(x)\big) \Big) \cdot B \\\\
290+ + & \quad (-{\widetilde{e}} - r \cdot {\tilde{t}}(x)) \cdot \widetilde{B} \\\\
291+ + & \quad {\langle x \cdot \mathbf{y}^{-n^{+}}\_ {[ 0: n '] } \circ \mathbf{w}\_ R' - a \cdot \mathbf{s}\_ {[ 0: n '] }, \mathbf{G}^{+}\_ {[ 0: n '] } \rangle}\\\\
292+ + & \quad {\langle u \cdot \big( x \cdot \mathbf{y}^{-n^{+}}\_ {[ n': n ] } \circ \mathbf{w}\_ R'' - a \cdot \mathbf{s}\_ {[ n': n ] } \big), \mathbf{G}^{+}\_ {[ n': n ] } \rangle}\\\\
293+ + & \quad {\langle -u \cdot a \cdot \mathbf{s}\_ {[ n: n ^{+}] }, \mathbf{G}^{+}\_ {[ n: n ^{+}] } \rangle}\\\\
294+ + & \quad {\langle -\mathbf{1} + \mathbf{y}^{-n^{+}}\_ {[ 0: n '] } \circ (x \mathbf{w}\_ L' + \mathbf{w}\_ O' - b /\mathbf{s}\_ {[ 0: n '] } ), \mathbf{H}^{+}\_ {[ 0: n '] } \rangle}\\\\
295+ + & \quad {\langle u \cdot \big(-\mathbf{1} + \mathbf{y}^{-n^{+}}\_ {[ n': n ] } \circ (x \mathbf{w}\_ L'' + \mathbf{w}\_ O'' - b /\mathbf{s}\_ {[ n': n ] } ) \big), \mathbf{H}^{+}\_ {[ n': n ] } \rangle}\\\\
296+ + & \quad {\langle u \cdot \big(-\mathbf{1} + \mathbf{y}^{-n^{+}}\_ {[ n: n ^{+}] } \circ ( -b /\mathbf{s}\_ {[ n: n ^{+}] } ) \big), \mathbf{H}^{+}\_ {[ n: n ^{+}] } \rangle}\\\\
251297 + & \quad {\langle [ u_ {1}^2, \dots, u_ {k}^2 ] , [ L_1, \dots, L_ {k}] \rangle}\\\\
252298 + & \quad {\langle [ u_ {1}^{-2}, \dots, u_ {k}^{-2} ] , [ R_1, \dots, R_ {k}] \rangle}
253299\end{aligned}
0 commit comments