Suyash Bagad
Cryptography Engineer
A walkthrough of the circuits in Aztec 2.0
\(\pi = \bigg\{\underbrace{[a]_1, [b]_1, [c]_1, [z]_1, [t_0]_1, [t_1]_1, [t_2]_1, [W_{\mathfrak{z}}]_1, [W_{\mathfrak{z\omega}}]_1}_{\mathbb{G}_1^{2w + 3}}, \ \underbrace{\bar{a}, \bar{b}, \bar{c}, \bar{z}_{\omega}, \bar{s}_{\sigma_1}, \bar{s}_{\sigma_2}}_{\mathbb{F}_p^{2w}} \bigg\}\)
\(W_{\mathfrak{z}}(x) \cdot (x - \mathfrak{z}) = F_1(x) - F_1(\mathfrak{z})\)
\(W_{\mathfrak{z\omega}}(x) \cdot (x - \mathfrak{z}\omega) = F_2(x) - F_2(\mathfrak{z}\omega)\)
\(W_{\mathfrak{z}}(x) \cdot (x - \mathfrak{z}) + u \cdot (W_{\mathfrak{z\omega}}(x) \cdot (x - \mathfrak{z}\omega))= F_1(x) - F_1(\mathfrak{z}) + u \cdot (F_2(x) - F_2(\mathfrak{z}\omega))\)
\(\pi = \bigg\{\underbrace{[a]_1, [b]_1, [c]_1, [z]_1, [t_0]_1, [t_1]_1, [t_2]_1, [W_{\mathfrak{z}}]_1, [W_{\mathfrak{z\omega}}]_1}_{\mathbb{G}_1^{2w + 3}}, \ \underbrace{\bar{a}, \bar{b}, \bar{c}, \bar{z}_{\omega}, \bar{s}_{\sigma_1}, \bar{s}_{\sigma_2}}_{\mathbb{F}_p^{2w}} \bigg\}\)
\(W_{\mathfrak{z}}(x) \cdot (x - \mathfrak{z}) = F_1(x) - F_1(\mathfrak{z})\)
\(W_{\mathfrak{z\omega}}(x) \cdot (x - \mathfrak{z}\omega) = F_2(x) - F_2(\mathfrak{z}\omega)\)
\(W_{\mathfrak{z}}(x) \cdot (x - \mathfrak{z}) + u \cdot (W_{\mathfrak{z\omega}}(x) \cdot (x - \mathfrak{z}\omega))= F_1(x) - F_1(\mathfrak{z}) + u \cdot (F_2(x) - F_2(\mathfrak{z}\omega))\)
\(\underbrace{\left(W_{\mathfrak{z}}(x) + uW_{\mathfrak{z\omega}}(x)\right)}_{P_0} \cdot x = \underbrace{\left(\mathfrak{z}W_{\mathfrak{z}}(x) + u\mathfrak{z}\omega W_{\mathfrak{z\omega}}(x)) + F(x) - E\right)}_{P_1}\)
\(P_0 \cdot x \stackrel{?}{=} P_1\)
\(P_0^{(i)} \cdot x \stackrel{?}{=} P_1^{(i)} \quad \forall i \in [n]\)
\(\left(P_0^{(1)} + qP_0^{(2)} + \dots + q^{n-1}P_0^{(n)}\right) \cdot x \stackrel{?}{=} \left(P_1^{(1)} + qP_1^{(2)} \dots + q^{n-1}P_1^{(n)}\right)\)
\(\big(\underbrace{\pi_1, \pi_2, \dots, \pi_{m_r}}_{`\text{real' inner proofs}}, \ \underbrace{\pi_{m_r+1}, \dots, \pi_{M_r}}_{\text{inner padding proofs}}, \ \underbrace{\pi_{M_r+1}, \dots, \pi_{N_r}}_{\text{outer padding proofs}} \big) \in |\pi_{\text{plonk}}|^{N_r}\)
\(\pi_i : \left([a]_1, [b]_1, \dots, \bar{s}_{\sigma_1}\right), \left(\text{id}, v_{\text{pi}}, v_{\text{po}}, a, \mathfrak{C}_1, \mathfrak{C}_2, \mathfrak{N}_1, \mathfrak{N}_1, \mathcal{A}^{in}, \mathcal{A}^{out}, D_{\pi}, f \right)\)
\(\mathfrak{C}^{(1)}_1\)
\(\mathfrak{C}^{(1)}_2\)
\(\mathfrak{C}^{(2)}_1\)
\(\mathfrak{C}^{(2)}_2\)
new data root \(D_{\text{new}}\)
\(\mathfrak{C}^{(1)}_1\)
\(\mathfrak{C}^{(1)}_2\)
\(\mathfrak{C}^{(2)}_1\)
\(\mathfrak{C}^{(2)}_2\)
\(D\)
\(S\)
\(h_1\)
\(h_2\)
\(D_{\text{new}} \stackrel{?}{=} H\left(h_2, H(S, h_1)\right)\)
\(\phi\)
\(N_{\text{old}}^{(i)} \stackrel{?}{=} H\left(0, \mathfrak{N}_1^{(i)}, \ \text{HP}_{\text{null}}^{(i)}\right)\)
\(\mathfrak{N}^{(i)}_1\)
Then,
\(N_{\text{new}}^{(i)} \stackrel{?}{=} H\left(1, \mathfrak{N}^{(i)}_1, \ \text{HP}_{\text{null}}^{(i)}\right)\)
\(D^{(i)}_{\pi}\)
\(R \stackrel{?}{=} H\left(D^{(i)}_{\pi}, \text{idx}_{\text{root}}, \ \text{HP}_{\text{root}}^{(i)}\right) \ \forall i \in [m_r]\)
\(\left\{ \text{id}, N_r, D_{\text{old}}, D_{\text{new}}, N_{\text{old}}, N_{\text{new}}, R, f_0, f_1, f_2, f_3 \right\} \)
\(\Pi_{r,1}\)
\(\pi_{1} \ \ \pi_2 \ \ \pi_3 \ \ \pi_4 \ \ \pi_5 \ \ \pi_6 \ \ \pi_7 \ \ \pi_8\)
\(\Pi_{r,2}\)
\(\pi_{1} \ \ \pi_2 \ \ \pi_3 \ \ \pi_4 \ \ \pi_5 \ \ \pi_6 \ \ \pi_7 \ \ \pi_8\)
\(\Pi_{r,4}\)
\(\pi_{1} \ \ \pi_2 \ \ \pi_3 \ \ \pi_4 \ \ \pi_5 \ \ \pi_6 \ \ \pi_7 \ \ \pi_8\)
\(\Pi_{\text{root}}\)
\(\Pi_{r,3}\)
\(\pi_{1} \ \ \pi_2 \ \ \pi_3 \ \ \pi_4 \ \ \pi_5 \ \ \pi_6 \ \ \pi_7 \ \ \pi_8\)
\(D^{(i)}_{\text{old}} = D_{\text{old}}, \ N^{(i)}_{\text{old}} = N_{\text{old}}, \ R^{(i)}_{\text{old}} = R_{\text{old}}\)
\(D_{\text{new}} = D^{(i)}_{\text{old}}, \ N_{\text{new}} = N_{\text{old}}\big|_{i = \text{last real tx rollup}}\)
By Suyash Bagad
A very short presentation explaining how circuits in Aztec are structured.