Skip to content

How to 𝒫𝔩𝔬𝔫𝒦Zero-Knowledge Proof Protocol

Interactive tutorial exploring the mathematical foundations of 𝒫𝔩𝔬𝔫𝒦

PLONK Protocol

About This Tutorial ​

This interactive tutorial walks you through the 𝒫𝔩𝔬𝔫𝒦 zero-knowledge proof protocol, providing both theoretical understanding and practical implementation. You'll learn:

  • Circuit Constraints: How to encode computational problems
  • Polynomial Commitments: Using KZG commitments for efficiency
  • Schwartz-Zippel: Probabilistic polynomial equality testing
  • Permutation Arguments: Handling copy constraints elegantly
  • Fiat-Shamir: Making the protocol non-interactive

Each section builds progressively, with exercises to reinforce learning and Sage code examples you can run locally.

Getting Started ​

  1. Introduction - Start here for an overview
  2. Download the Notebook - Interactive Sage version
  3. Follow Along - Implement solutions as you read

Credits ​

Authors: MartΓ­n Ochoa and David Wong, zkSecurity

Acknowledgements: Thanks to Jorge Cuellar, Katat Choi and Jaehun Kim for their valuable feedback to this tutorial.

Have feedback? Contact us at plonk@zksecurity.xyz

𝒫𝔩𝔬𝔫𝒦 Tutorial by zkSecurity