Introduction to Zero Knowledge
What is Zero Knowledge?
Zero Knowledge refers to a cryptographic concept where one party (the prover) can prove to another party (the verifier) that they know a value or that a statement is true, without revealing any information beyond the validity of the statement itself.
This seemingly paradoxical capability has profound implications for privacy, security, and trust in digital systems.
The Three Properties
A zero-knowledge proof must satisfy three fundamental properties:
-
Completeness: If the statement is true, an honest verifier will be convinced by an honest prover.
-
Soundness: If the statement is false, no cheating prover can convince the honest verifier that it is true (except with negligible probability).
-
Zero-Knowledge: If the statement is true, the verifier learns nothing other than the fact that the statement is true.
A Simple Analogy: The Cave
Imagine a circular cave with a single entrance and a magic door blocking the path inside. The door can only be opened with a secret word.
Entrance
|
v
+------+------+
| |
| [DOOR] |
| |
+------+------+
^
|
Exit
Alice claims she knows the secret word. Bob wants to verify this without learning the word itself.
- Bob waits outside while Alice enters the cave
- Alice chooses a path (left or right) randomly
- Bob enters and calls out which path Alice should exit from
- If Alice knows the secret word, she can always comply by opening the door if needed
- If Alice doesn't know the word, she can only succeed by chance (50%)
- Repeating this multiple times makes cheating statistically impossible
This demonstrates zero knowledge: Bob becomes convinced Alice knows the secret, but never learns what it is.
Why Does Zero Knowledge Matter?
Zero-knowledge proofs enable:
- Privacy: Prove you have sufficient funds without revealing your balance
- Authentication: Prove your identity without transmitting passwords
- Scalability: Verify computations without re-executing them
- Compliance: Prove regulatory compliance without exposing sensitive data
Zero Knowledge on Kusama
The Kusama network provides an ideal environment for building and deploying zero-knowledge applications:
- Low-Cost Verification: BN254 pairing precompiles cost 88x less than Ethereum (~$0.017 vs $10+)
- Rust-Optimized: PolkaVM enables efficient Rust-based cryptographic operations
- Asset Hub Integration: Native support for private asset transfers on Kusama's system parachain
- Developer-Friendly: EVM-compatible tooling with Substrate interoperability
This wiki focuses on practical ZK development for the Kusama ecosystem, including:
- Building shielded pools for private transfers
- Implementing ZK identity and credentials
- Deploying privacy-preserving DeFi applications
- Leveraging Kusama's precompiles for efficient proof verification
History and Development
| Year | Milestone |
|---|---|
| 1985 | Goldwasser, Micali, and Rackoff introduce ZK proofs |
| 1986 | Fiat-Shamir heuristic creates non-interactive proofs |
| 2012 | Groth-Sahai proofs enable practical applications |
| 2016 | Zcash launches with zk-SNARKs |
| 2020s | zk-Rollups scale Ethereum |
| 2025+ | ZK applications deploy on Kusama Asset Hub |
Getting Started
This wiki covers the fundamental concepts, mathematical foundations, and practical applications of zero-knowledge technology, with a focus on building for the Kusama network. Whether you're a developer, researcher, or curious learner, you'll find resources to deepen your understanding.
About This Wiki
Much of the technical content, code examples, and practical implementations in this wiki are derived from the Kusama Shield privacy project. Kusama Shield is building a Shielded pool on Kusama Asset Hub, and their work has been instrumental in demonstrating the feasibility of zero-knowledge applications on Kusama.
Key contributions from Kusama Shield:
- PoseidonPolkaVM: Rust-optimized Poseidon hashing for PolkaVM
- Shielded pool contract architecture
- Circom circuit implementations
- Client-side proof generation with Groth16 and Halo2
- Gas benchmarks and feasibility analysis
Visit kusamashield.codeberg.page to learn more about their privacy-preserving transfer system.
Quick Navigation
- New to ZK? Start with Core Concepts
- Building on Kusama? Jump to Kusama ZK Development
- Want to deploy? See the Deployment Guide
- Seeking funding? Check Grants and Funding
Community
Join the Kusama ZK community on Matrix:
- ZK Bounty Matrix Group - Discuss the Zero Knowledge and Advanced Cryptography bounty program, RFPs, and funding opportunities
- Kusama Privacy Chat - General discussion about privacy technology and shielded pool development on Kusama
Next: Core Concepts