Welcome to Hands-On ZK Proofs, a practical guide to designing and implementing real-world zero-knowledge proof systems, with a particular focus on ZK-SNARKs.
Rather than diving deeply into the mathematical foundations, this website adopts a hands-on, systems-oriented approach to show how zero-knowledge techniques can be applied to concrete software and blockchain use cases.
This tutorial is intended for:
It is accompanied by a companion library, zk-toolbox, which provides a high-level developer interface for generating and verifying the proofs presented here.
You will first find an introduction to Zero-Knowledge Proofs, and more specifically to ZK-SNARKs.
Then, we progressively dive into the design of several practical proof constructions implemented in zk-toolbox.
For each proof construction, we explain: