Prove you know a secret.
Never reveal the secret.
Zero-knowledge proofs are one of the most beautiful ideas in cryptography: a way to convince someone a statement is true while telling them nothing about why it's true. This course builds the idea from the ground up — every primitive first, every concept playable — designed as a weekly ritual: one chapter a week, about 15 minutes each.
🗺️ The Course Map
You'll climb from clock arithmetic all the way to proving your age without revealing your birthdate. Chapters build on each other — finish the checkpoints to earn XP, badges and levels.
📅 The 15-Minute Weekly Program
Eight sessions, one per week. Each chapter follows the same rhythm so it fits in a coffee break: read the concepts (~6 min), play the interactive widget until it clicks (~6 min), then clear the checkpoint quiz (~3 min). Everything else — XP, badges, levels — is saved automatically between sessions.
🎖️ Badge Shelf
Sixteen badges to collect. Some are earned by finishing chapters; a few hidden ones require doing something clever inside the interactive widgets…
🧭 What you'll be able to do
- Explain the three properties of a ZK proof — completeness, soundness, zero-knowledge — and why each one is non-negotiable.
- Wield the primitives underneath ZK: modular arithmetic, hash functions, one-wayness and commitment schemes.
- Play both roles of an interactive proof as the graph 3-coloring protocol runs round by round — and catch a cheating prover.
- Run a real Schnorr Σ-protocol with live big-number math, then turn it into a non-interactive signature with Fiat–Shamir.
- Understand how modern zk-SNARKs turn arbitrary programs into arithmetic circuits, and what "knowledge" means there.
- Build selective disclosure flows: prove
age ≥ 18,country ∈ EUorbalance ≥ Xwhile everything else stays hidden.
localStorage, which is oddly on-theme.