Cryptography & Protocols

Zero-Knowledge Proofs: Proving You Know a Secret Without Revealing It

May 29, 2026 9 min read Haven Team

Suppose you need to prove you are over 18 without showing your birthdate, or that you know a password without sending it, or that a financial statement balances without exposing the numbers. Zero-knowledge proofs make all three possible: they let you convince a skeptic that something is true while leaking nothing beyond that single fact.


The concept dates to a 1985 paper by Shafi Goldwasser, Silvio Micali, and Charles Rackoff — work so foundational that two of the authors later won the Turing Award. Their question sounds almost philosophical: how much knowledge must change hands to prove a statement is true? Their answer was startling: for many statements, the answer is none beyond the truth of the statement itself.

The Cave That Explains Everything

The standard intuition comes from a 1990 paper by Jean-Jacques Quisquater and colleagues, "How to Explain Zero-Knowledge Protocols to Your Children." Picture a ring-shaped cave with a magic door at the back that only opens with a secret word. The cave forks into two paths, A and B, that meet at the door.

Peggy (the prover) wants to convince Victor (the verifier) she knows the word, without saying it. Peggy walks into the cave and picks a path at random. Victor, who stayed outside, then shouts which path he wants her to come out of. If Peggy truly knows the word, she can always comply — opening the door if she needs to switch sides. If she does not know it, she only had a 50% chance of guessing the right starting path.

Run it once and a cheater gets lucky half the time. Run it twenty times and the odds of a fraud passing every round drop below one in a million. Crucially, Victor never learns the word — he just watches Peggy emerge from the side he named, over and over.

The Three Properties

Every zero-knowledge proof must satisfy three properties. They are worth stating precisely, because each one is doing real work:

The simulator trick

Zero-knowledge is proven by showing a "simulator" can produce a transcript indistinguishable from a real proof — without ever knowing the secret. If a fake transcript is indistinguishable from a real one, the real one couldn't have leaked the secret. That argument is the conceptual heart of the whole field.

From Interactive to Non-Interactive

The cave protocol is interactive: it needs back-and-forth challenges. That is impractical when you want to publish a single proof anyone can check later, like in a blockchain transaction.

The Fiat–Shamir heuristic (1986) removes the interaction. Instead of waiting for the verifier to send a random challenge, the prover generates the challenge themselves by hashing the protocol transcript so far. Because a good hash function is unpredictable, the prover cannot rig the challenge in their favor. The result is a non-interactive proof — a self-contained string that any verifier can check independently.

A closely related building block is the Schnorr protocol, an elegant three-message proof that you know the discrete logarithm of a public value — i.e., that you hold the private key matching a public key. Apply Fiat–Shamir to a Schnorr proof and you get the Schnorr signature scheme, which underpins modern signatures including Bitcoin's Taproot upgrade.

SNARKs vs STARKs

Modern zero-knowledge systems aim to prove arbitrary computations succinctly — that you ran a program correctly, with a proof far smaller than re-running the program. Two families dominate:

Property zk-SNARKs zk-STARKs
Proof size Very small (constant) Larger (logarithmic)
Trusted setup Usually required None
Post-quantum Often not Yes (hash-based)
Verification speed Very fast Fast

zk-SNARKs (Succinct Non-interactive ARguments of Knowledge) produce tiny proofs that verify in milliseconds, but many variants need a trusted setup — a one-time ceremony that generates public parameters. If the secret randomness from that ceremony ("toxic waste") is not destroyed, someone could forge proofs. Multi-party "powers of tau" ceremonies mitigate this by requiring all participants to collude.

zk-STARKs (Scalable Transparent ARguments of Knowledge) eliminate the trusted setup entirely and rely only on hash functions, which makes them plausibly quantum-resistant. The trade-off is larger proof sizes.

Where They're Actually Used

Zero-knowledge proofs left the theory journals and entered production over the last decade:

The privacy promise is precise: not "trust me," and not "here is all my data so you can check." Instead — "here is mathematical proof of exactly the one fact you need, and nothing else."

The Limits

Zero-knowledge proofs are not magic. Proof generation can be computationally expensive, sometimes seconds or minutes for complex statements. The soundness guarantee is probabilistic — astronomically strong, but not literally absolute. SNARK trusted setups are a genuine risk that must be handled with care. And a proof only certifies what the statement says: a flawed statement, correctly proven, is still flawed.

Still, few cryptographic ideas have moved from "elegant theory" to "deployed infrastructure" as decisively. As digital identity and privacy-preserving verification grow, the ability to prove a fact while revealing nothing else is becoming one of the most valuable tools in the box. For the complementary problem — computing on data you still cannot read — see our piece on homomorphic encryption.

Try Haven free for 15 days

Encrypted email and chat in one app. No credit card required.

Get Started →