Suyash Bagad
Cryptography Engineer
nonymous
ero-knowledge
ransactions
fficient
ommunication
with
nonymous
ero-knowledge
ransactions
fficient
ommunication
with
Sent to Bob offline
Encryption key
Decryption key
\(\texttt{Input}\)
\(\texttt{Output}\)
\(\texttt{SHA3 }(\text{Keccak})\)
\(\text{SHA-}3(\hspace{2cm}) = \Big(\hspace{4.8cm}\Big)\)
\(\texttt{b27ensk=wh}\)
\(\texttt{b654e400924d2d43b0b49b6beb52cd96}\)
\(\texttt{c983e26536eb455f80e2ab7fe07827a8}\)
\(\texttt{2bd0650eae8e3e9bda13c067f08da778}\)
\(\texttt{9624f52e63757ce0db5da6940c0c74e1}\)
\(\texttt{tbsowsn293nsj}\)
\(\texttt{089f29913f16c3cea73116b3445d2244}\)
\(\texttt{97fea922c4c501f1cd965cfd921c1a4d}\)
\(\texttt{92528721816}\)
\(f_1\)
\(f_2\)
\(f_3\)
\(f_4\)
\(f_5\)
\(f_6\)
\(f_7\)
\(f_8\)
\(H(f_1)\)
\(H(f_2)\)
\(H(f_3)\)
\(H(f_4)\)
\(H(f_5)\)
\(H(f_6)\)
\(H(f_7)\)
\(H(f_8)\)
\(H(f_1)\)
\(H(f_2)\)
\(H(f_3)\)
\(H(f_4)\)
\(H(f_5)\)
\(H(f_6)\)
\(H(f_7)\)
\(H(f_8)\)
\(H'(H(f_1), H(f_2))\)
\(H'(H(f_3), H(f_4))\)
\(H'(H(f_5), H(f_6))\)
\(H'(H(f_7), H(f_8))\)
\(h^1_1\)
\(h^1_2\)
\(h^1_3\)
\(h^1_4\)
\(h^2_1\)
\(h^2_2\)
\(h^3_1\)
\(H'(h^1_1, h^1_2)\)
\(H'(h^1_3, h^1_4)\)
\(H'(h^2_1, h^2_2)\)
\(H(f_1)\)
\(H(f_2)\)
\(H(f_3)\)
\(H(f_4)\)
\(H(f_5)\)
\(H(f_6)\)
\(H(f_7)\)
\(H(f_8)\)
\(h^1_1\)
\(h^1_2\)
\(h^1_3\)
\(h^1_4\)
\(h^2_1\)
\(h^2_2\)
\(h^3_1\)
\(H(f_1)\)
\(H(f_2)\)
\(H(f_3)\)
\(H(f_4)\)
\(H(f_5)\)
\(H(f_6)\)
\(H(f_7)\)
\(H(f_8)\)
\(h^1_1\)
\(h^1_2\)
\(h^1_3\)
\(h^1_4\)
\(h^2_1\)
\(h^2_2\)
\(h^3_1\)
\(H(f_1)\)
\(H(f_2)\)
\(H(f_3)\)
\(H(f_4)\)
\(H(f_5)\)
\(H(f_6)\)
\(H(f_7)\)
\(H(f_8)\)
\(h^1_1\)
\(h^1_2\)
\(h^1_3\)
\(h^1_4\)
\(h^2_1\)
\(h^2_2\)
\(h^3_1\)
\(\mathbb{C}(\mathcal{A}_1)\)
\(\mathbb{C}(\mathcal{A}_2)\)
\(\mathbb{C}(\mathcal{V}_1)\)
\(\mathbb{C}(\mathcal{V}_2)\)
\(D\)
New data root: \(D_{\text{new}}\)
\(\mathfrak{C}(\mathcal{A}_1)\)
\(\mathfrak{C}(\mathcal{A}_2)\)
\(\mathfrak{C}(\mathcal{V}_1)\)
\(\mathfrak{C}(\mathcal{V}_2)\)
\(D\)
New data root: \(D_{\text{new}}\)
\(S\)
\(h_1\)
\(h_2\)
\(D_{\text{new}} \stackrel{?}{=} H\left(h_2, H(S, h_1)\right)\)
\(A\)
\(F\)
\(N\)
\(\phi\)
\(A\)
\(F\)
\(N\)
\(\phi\)
\(\mathbb{N}(\mathcal{V}) = \textsf{hash}\left( \mathbb{C}(\mathcal{V})_x, \ \text{idx} \right) \in \mathbb{F}_q, \ q \approx 2^{254}\)
20
Bob
Alice
Open account
\(\texttt{bob}\)
\(\texttt{alice}\)
8
2
10
10
0.5
1.5
18
2
10
Shield
Rollup Contract
Account UTXO
Value UTXO
Private sends
\(\text{zkETH}=8.5\)
\(\text{zkDAI}=18\)
\(\text{zkETH}=1.5\)
\(\text{zkDAI}=2\)
Withdraw
\(0\)
1.5
10
10
18
1
Alice
Bob
Alice
10
2
2
2
2
2
Alice
10
2
0
2
2
2
2
8
0
6
0
4
0
Total wait time: \(2\) hours
Alice
10
2
0
2
2
2
2
8
0
6
0
4
0
Value
Asset id
Owner
Secret
\(a \ \in \ \mathbb{Z}_2^{32}\)
\(A \ \in \ \mathbb{G}_1\)
\(v \ \in \ \mathbb{F}_q\)
\(s \ \in \ \mathbb{F}_q\)
By Suyash Bagad
High-level summary of how Aztec works.