Zero-Knowledge Proofs (ZKP)
Proving the truth without revealing the data. Sahyadri uses ZKPs to achieve privacy, scalability, and quantum resistance simultaneously.
What is a Zero-Knowledge Proof?
A Zero-Knowledge Proof allows one party (the prover) to convince another party (the verifier) that a statement is true, without revealing any information beyond the validity of the statement itself.
In simple terms: You can prove you know a secret without actually telling anyone what the secret is.
Why Sahyadri Uses ZKPs?
Traditional blockchains force users to reveal everything — balances, sender, receiver, and amounts — to the entire network. This creates severe privacy and scalability issues.
Sahyadri integrates ZKPs at the protocol level to solve three fundamental problems simultaneously:
- Privacy: Transactions can be verified without exposing sender, receiver, or amount.
- Scalability: Instead of verifying every transaction, the network verifies a single proof that proves thousands of transactions are valid.
- Quantum Resistance: Sahyadri's ZK system relies on hash functions and polynomials, not elliptic curves, making it inherently resistant to quantum attacks.
ZKP in Sahyadri Architecture
Sahyadri does not use a single ZKP system. Instead, it combines two complementary proof systems — Plonky3 and STARK — to create a layered verification architecture.
User Transaction
Private data stays local
Plonky3 Circuit
Generates recursive proof
STARK Proof
Final on-chain verification
How Dilithium3 Reduces Signature Size with ZKPs
One of the biggest challenges in post-quantum cryptography is the massive size of keys and signatures. CRYSTALS-Dilithium3 provides extreme security, but at a cost:
| Component | Raw Size | With ZKP Compression |
|---|---|---|
| Public Key | 1,952 Bytes | ~48 Bytes (Proof of possession) |
| Private Key | 4,000 Bytes | Never exposed (Zero-Knowledge) |
| Signature | 3,293 Bytes | ~128 Bytes (Proof of validity) |
Instead of sending the full 3,293-byte Dilithium signature on-chain, Sahyadri generates a Plonky3 proof that proves the signature is valid. The verifier only checks the proof — the actual signature never appears on the blockchain.
Plonky3: The Recursive Engine
Plonky3 is a high-performance recursive proof system built in Rust. In Sahyadri, it serves as the inner proof layer.
- Recursive Proofs: Plonky3 can prove the correctness of other proofs. This means thousands of transaction proofs can be compressed into a single proof.
- Fast Proving: Optimized for modern CPU architectures, Plonky3 generates proofs in milliseconds for simple operations.
- Small Proof Size: Individual Plonky3 proofs are extremely compact, making them ideal for the inner verification layer.
STARK: The Final Layer
STARK (Scalable Transparent Arguments of Knowledge) serves as the outer proof layer — the one that actually gets submitted to the Sahyadri blockchain.
- Transparency: No trusted setup required. Anyone can verify the proof using only public parameters.
- Quantum Security: STARKs rely only on hash functions (like SHA-256 or Poseidon), which are believed to be quantum-resistant.
- Scalability: A single STARK proof can verify an unlimited number of Plonky3 proofs, enabling massive throughput.
The Complete Flow
Transaction Created
User creates a transaction locally. Private data (amount, receiver) never leaves the device.
Dilithium3 Signing
The transaction is signed using the user's Dilithium3 private key, producing a 3,293-byte signature.
Plonky3 Proof Generation
Instead of sending the raw signature, a Plonky3 circuit proves that the Dilithium3 signature is valid. Output: a tiny recursive proof.
STARK Aggregation
Thousands of Plonky3 proofs are aggregated into a single STARK proof. This is the only thing submitted to the network.
On-Chain Verification
Nodes verify only the STARK proof. The raw transactions, signatures, and private data are never exposed on-chain.
Size Comparison
| Metric | Traditional Blockchain | Sahyadri with ZKP |
|---|---|---|
| Signature on-chain | 64 - 3,293 Bytes | 0 Bytes (hidden by proof) |
| Proof Size | N/A | ~128 Bytes per tx |
| Private Data Exposed | Yes | No (zero-knowledge) |
| Quantum Resistant | No | Yes (Dilithium3 + STARK) |
| Verification Time | O(n) per transaction | O(1) for batched proof |
Use Cases in Sahyadri
- Private Transactions: Prove a transfer is valid without revealing sender, receiver, or amount.
- DID Verification: Prove you own a decentralized identity without revealing the private key.
- Verifiable Credentials: Prove a credential is valid (e.g., age > 18) without revealing the actual data.
- Private Voting: Prove you are eligible to vote without revealing your identity or vote choice.
- Supply Chain: Prove a product passed quality checks without revealing proprietary manufacturing data.
Summary
Sahyadri's ZKP architecture is not an afterthought — it is a fundamental part of the protocol. By combining Dilithium3 signatures with Plonky3 recursive proofs and STARK aggregation, Sahyadri achieves what most blockchains cannot:
Post-quantum security, transaction privacy, and massive scalability — all at the same time, without compromise.