Skip to content
What ZK Proofs Are
step 1/5

Reading — step 1 of 5

Read

~1 min readWhat ZK Solves

What ZK Proofs Are

A zero-knowledge proof is a way for a Prover to convince a Verifier of a statement WITHOUT revealing why.

Examples:

  • "I know the password" — without sending the password.
  • "This account has > $1000" — without revealing the actual balance.
  • "I am 18+ years old" — without showing your date of birth.
  • "This vote is valid" — without revealing the choice.

Three properties:

  1. Completeness: if the statement is true, an honest prover convinces an honest verifier.
  2. Soundness: if the statement is false, no prover can convince the verifier (except with negligible probability).
  3. Zero-knowledge: the verifier learns nothing beyond the truth of the statement.

The classic intuition: Ali Baba's cave. Two paths to a magic door; Peggy claims to know the magic word. Victor stays at the entrance. Peggy enters, randomly picks a side. Victor shouts which side to come out. If Peggy doesn't know the magic word, she can only emerge from the side she entered. After 20 random rounds: 1-in-2^20 chance she got lucky every time. Convincing without revealing the word.

Today's ZK landscape:

  • Sigma protocols (Schnorr, etc.): interactive, simple, foundational.
  • Fiat-Shamir transform: makes them non-interactive.
  • SNARKs (zk-SNARKs, Groth16, PLONK): succinct non-interactive arguments. Tiny proofs, fast verification, but trusted setup.
  • STARKs: transparent (no trusted setup), bigger proofs, post-quantum-friendly.
  • Bulletproofs: range proofs for confidential transactions.

Used in: Zcash (private cryptocurrency), Tornado Cash (mixer), zkRollups (Ethereum scaling), private credentials, identity systems.

Building ZK is heavy math. Our goal: understand sigma protocols + Fiat-Shamir, see how SNARKs scale up.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…