Skip to content

Recap and conclusions

If you made it here and your proof passed, congratulations! In this notebook we have introduce PLONK by means of a step by step reconstruction of the main ideas in the original paper. We have taken some liberties regarding the exact details as in the original paper for simplicity of exposition. However we have tried to stay as faithful as possible to the main ideas, while sometimes sacrificing efficiency optimization for clarity of explanation. For instance, throughout this tutorial, we deliberately used a simplified gate constraint formula to maintain focus on PLONK's core concepts. In practice, PLONK circuits require the full constraint formula:

qL(x)a(x)+qR(x)b(x)+qM(x)(a(x)b(x))+qC(x)+qO(x)c(x)=0

The additional terms serve crucial roles: qC(x) enables constant assignments (e.g., setting a wire to a fixed value like 5) and qO(x) provides output constraints for final results. These extensions allow PLONK to express arbitrary arithmetic circuits efficiently, while our tutorial's simplified version demonstrated the fundamental polynomial constraint checking mechanism that makes PLONK's succinct verification possible.

𝒫𝔩𝔬𝔫𝒦 Tutorial by zkSecurity