A Visual Tour of PLONK
Suyash Bagad
Equations to Arithmetic Circuits
Equation
I claim that I know the solutions and they are
How do I prove that I know the solutions without revealing them? A zero-knowledge proof!
Translate the equation to a circuit
Equations to Arithmetic Circuits
\(x\)
\(\ast\)
\(\ast\)
\(-23\)
\(\ast\)
\(\ast\)
\(142\)
\(+\)
\(+\)
\(120\)
\(0\)
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(a_2\)
\(a_1\)
\(a_0\)
\(c_3\)
\(c_5\)
\(c_4\)
\(c_6\)
\(c_7\)
\(c_8\)
\(a_9\)
\(a_3\)
\(a_5\)
\(a_4\)
\(a_6\)
\(a_7\)
\(a_8\)
\(b_8\)
\(b_7\)
\(b_4\)
\(b_6\)
\(b_5\)
\(b_3\)
Equations to Arithmetic Circuits
\(x\)
\(\ast\)
\(\ast\)
\(-23\)
\(\ast\)
\(\ast\)
\(142\)
\(+\)
\(+\)
\(120\)
\(0\)
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(a_2\)
\(a_1\)
\(a_0\)
\(c_3\)
\(c_5\)
\(c_4\)
\(c_6\)
\(c_7\)
\(c_8\)
\(a_9\)
\(a_3\)
\(a_5\)
\(a_4\)
\(a_6\)
\(a_7\)
\(a_8\)
\(b_8\)
\(b_7\)
\(b_4\)
\(b_6\)
\(b_5\)
\(b_3\)
For \(i\)-th gate where \(i \in \{0, 1, \dots, 9\}\), we can write
Equations to Arithmetic Circuits
\(x\)
\(\ast\)
\(\ast\)
\(-23\)
\(\ast\)
\(\ast\)
\(142\)
\(+\)
\(+\)
\(120\)
\(0\)
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(a_2\)
\(a_1\)
\(a_0\)
\(c_3\)
\(c_5\)
\(c_4\)
\(c_6\)
\(c_7\)
\(c_8\)
\(a_9\)
\(a_3\)
\(a_5\)
\(a_4\)
\(a_6\)
\(a_7\)
\(a_8\)
\(b_8\)
\(b_7\)
\(b_4\)
\(b_6\)
\(b_5\)
\(b_3\)
A constant-gate for \(i = 0,\) set \(Q_{L_i} = 1, \ Q_{C_i} = -142\)
Equations to Arithmetic Circuits
\(x\)
\(\ast\)
\(\ast\)
\(-23\)
\(\ast\)
\(\ast\)
\(142\)
\(+\)
\(+\)
\(120\)
\(0\)
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(a_2\)
\(a_1\)
\(a_0\)
\(c_3\)
\(c_5\)
\(c_4\)
\(c_6\)
\(c_7\)
\(c_8\)
\(a_9\)
\(a_3\)
\(a_5\)
\(a_4\)
\(a_6\)
\(a_7\)
\(a_8\)
\(b_8\)
\(b_7\)
\(b_4\)
\(b_6\)
\(b_5\)
\(b_3\)
A multiplication-gate for \(i =5,\) set \(Q_{O_i} = -1, \ Q_{M_i} = 1\)
Equations to Arithmetic Circuits
\(x\)
\(\ast\)
\(\ast\)
\(-23\)
\(\ast\)
\(\ast\)
\(142\)
\(+\)
\(+\)
\(120\)
\(0\)
\(1\)
\(2\)
\(3\)
\(4\)
\(5\)
\(6\)
\(7\)
\(8\)
\(9\)
\(a_2\)
\(a_1\)
\(a_0\)
\(c_3\)
\(c_5\)
\(c_4\)
\(c_6\)
\(c_7\)
\(c_8\)
\(a_9\)
\(a_3\)
\(a_5\)
\(a_4\)
\(a_6\)
\(a_7\)
\(a_8\)
\(b_8\)
\(b_7\)
\(b_4\)
\(b_6\)
\(b_5\)
\(b_3\)
An addition-gate for \(i = 8\)
Towards Polynomials
\(Q_L\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
\(\cdot \ b\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
\(\cdot \ b\)
\(Q_O\)
\(\cdot \ c\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
\(\cdot \ b\)
\(Q_O\)
\(\cdot \ c\)
\(Q_M \cdot ab\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
\(\cdot \ b\)
\(Q_O\)
\(\cdot \ c\)
\(Q_M \cdot ab\)
\(Q_C\)
\(+\)
\(+\)
\(+\)
\(+\)
\(=\)
\(0\)
Towards Polynomials
\(Q_L\)
\(\cdot \ a\)
\(Q_R\)
\(\cdot \ b\)
\(Q_O\)
\(\cdot \ c\)
\(Q_M \cdot ab\)
\(Q_C\)
\(+\)
\(+\)
\(+\)
\(+\)
\(=\)
\(0\)
Selector polynomials
Wire polynomials
Polynomial Representation
\(Q_C(X)\)
Proof of Knowledge
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
Coke from Bottle
Coke from Can
Victor
Peter
\(x\)
\(V\)
\(P\)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7415055/curly_brackets.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7415055/curly_brackets.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7415055/curly_brackets.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
Coke from Can
Victor
Peter
Guess?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462453/left_bubble.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462454/right_bubble.png)
Bottle!
Proof of Knowledge
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
Coke from Bottle
Coke from Can
Victor
Peter
Try again!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462453/left_bubble.png)
Proof of Knowledge
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462440/glass.png)
Coke from Bottle
Victor
Peter
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462454/right_bubble.png)
Can!
If \(P\) actually knows the taste, \( \Pr[ \langle P,V \rangle(x) = 1 ]\) = 1
If \(P\)'s claim is wrong, \( \Pr[ \langle P,V \rangle(x) = 1 ] = \left(\frac{1}{2}\right)^2 \)
\(\implies\) Completeness!
\(\implies\) Soundness!
Proof of Knowledge
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740839/boys_transparent_mirror.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462453/left_bubble.png)
Reveal!
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7495348/tick-mark-png-hd-open-2000.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7495348/tick-mark-png-hd-open-2000.png)
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740839/boys_transparent_mirror.png)
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740839/boys_transparent_mirror.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462453/left_bubble.png)
Reveal!
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7740830/hat.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7495348/tick-mark-png-hd-open-2000.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7495348/tick-mark-png-hd-open-2000.png)
Zero Knowledge Proofs
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7462431/boys_transparent.png)
On repeating the experiment a number of times,
- If the prover is honest, verifier accepts!
- If the prover is cheating, verifier will catch it!
- No information about 3-colouring is revealed!
\(\text{Completeness,}\)
\(\text{Soundness,}\)
\(\text{Zero-Knowledge!}\)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1332362/images/7741681/gartner.jpg)
Promise of ZKPs
A Visual Tour of PLONK
By Suyash Bagad
A Visual Tour of PLONK
A deep dive in understanding PLONK through an example - the state-of-the-art zkSNARK proof system by Aztec Protocol.
- 79