Previous Module
Hash Race Challenge

🎭 Prove You Know Without Revealing Anything

Discover the cryptographic magic powering privacy coins and ZK-rollups

🔐 Zero-Knowledge Proofs

How do you prove you know something without revealing what you know? Zero-knowledge proofs solve this paradox, enabling privacy-preserving verification on blockchains.

💡 The Privacy Problem

Traditional verification requires revealing your secret:

🔓
Passwords
Server stores your password (breach = exposed)
💳
KYC Documents
Share full passport/ID to prove age
💰
Bank Balances
Reveal exact amount to prove solvency
🔗
Public Blockchains
Every transaction visible forever

🎮 Interactive: Traditional vs Zero-Knowledge

See the difference between revealing secrets and proving knowledge

🔓
Traditional Proof
Proving you know the password
Scenario: Prove you know the password
Alice needs to prove she knows her password to log in
Step 1: AliceProver
Types password: MySecret123!
⬇️
Step 2: ServerVerifier
Receives: MySecret123!

🎯 Three Properties of Zero-Knowledge Proofs

1. Completeness
If statement is true, honest prover can convince honest verifier
🛡️
2. Soundness
If statement is false, no cheating prover can convince verifier (except with negligible probability)
🔐
3. Zero-Knowledge
Verifier learns NOTHING except that statement is true (no information about the secret)

🚀 Why ZK Proofs Matter for Blockchain

💸
Private Transactions
Zcash: Prove transaction valid without revealing amount/sender/receiver
Scalability
zkSync: Verify 1000s of transactions with single proof
🆔
Identity
Prove you're over 18 without revealing birthdate
🏦
Proof of Solvency
Exchange proves it has reserves without revealing holdings