What is a Zero Knowledge Proof?

Prove it. Without showing it.

Imagine you've found Waldo in a Where's Waldo book. Your friend doesn't believe you. How do you prove it without pointing to him — because the moment you do, the game is over for everyone else?

You could take a large piece of cardboard, cut a small hole over Waldo's exact position, and show your friend through the hole. They see Waldo. You've proven you know — without revealing where on the page he is.

That's the core idea behind a zero-knowledge proof.

The formal version

A zero-knowledge proof is a method where one party — the prover — convinces another party — the verifier — that a statement is true, without revealing why it's true or what they know.

The prover knows a secret. The verifier learns nothing about the secret. But the verifier walks away convinced.

💡
ZK proofs answer the question: "Can I prove I know something, without telling you what I know?" The answer, mathematically, is yes.
ZKP Basics

A real example

You want to log into a website. Normally you send your password — the server checks it, stores it (hopefully hashed), and trusts you.

With a ZK proof, you never send the password at all. You send a proof that you know the password. The server verifies the proof. You're in.

The password never left your device. There's nothing to steal on the server side. The proof is worthless to anyone who intercepts it.

Why this is a big deal

Before ZK proofs, privacy and verifiability were in constant tension. You could have one or the other:

  • Verifiable — share everything, let anyone check
  • Private — share nothing, trust me blindly

ZK proofs break that tradeoff. You get both. Something can be verifiable and private at the same time.

This unlocks use cases that simply weren't possible before: proving your age without showing your ID, proving your account balance without revealing the amount, proving a computation ran correctly without revealing the inputs.

What ZK proofs are not

They're not encryption. Encryption hides data in transit. ZK proofs convince someone of a fact without revealing the underlying data — those are different jobs.

They're also not magic. ZK proofs are mathematical constructions that take real compute to generate. The prover does heavy work. The verifier does very little. That asymmetry is intentional — and it's what makes ZK proofs useful at scale.

💡
Generating a proof is expensive. Verifying one is cheap. This is the property that makes ZK proofs so powerful for blockchains — thousands of transactions, one small proof, verified instantly.

Answer the quiz correctly to continue →

Quiz · Multiple Choice1 / 3

What makes a zero-knowledge proof different from simply encrypting your data?