Pulsars
0 %
Log inSign up

Proving Without Revealing

The paradox: convincing without showing

Imagine having to prove to a friend that you know the password to a safe, without ever saying it and without opening the safe in front of them. Absurd? Yet this is exactly what a zero-knowledge proof achieves.

The paradox

A zero-knowledge proof is a protocol between two parties:

  • the prover (often called Peggy), who claims to know a secret;
  • the verifier (often called Victor), who wants to be convinced.

At the end of the exchange, Victor is certain that Peggy knows the secret… but he has learned nothing about the secret itself. He could not repeat it, nor prove it to anyone else.

It is counterintuitive: you prove that you know, without showing what you know.

The three fundamental properties

A protocol deserves the name zero-knowledge proof only if it satisfies three conditions.

Property English name What it guarantees
Completeness completeness If the statement is true, an honest prover always ends up convincing the verifier.
Soundness soundness If the statement is false, a cheater convinces only with a negligible probability.
Zero-knowledge zero-knowledge The verifier learns nothing other than the validity of the statement.

Completeness

This is the "normal" sense: the proof must work when everyone is honest and the secret is genuinely known. Without this property, the protocol would be useless.

Soundness

This is the protection against cheating. An impostor who does not know the secret must not be able to fool the verifier — except by a stroke of luck whose probability tends toward zero as the protocol is repeated.

Zero-knowledge

This is the most subtle property, and the one that gives the concept its name. Even a curious or dishonest verifier can extract nothing about the secret. Formally, we say that everything the verifier observes during the exchange, they could have simulated on their own, without ever talking to the prover.

        STATEMENT : "Je connais le secret S"

  Peggy (prouveur)  <----- echange ----->  Victor (verifieur)
   connait S                                ne connait pas S

  Apres le protocole :
    Victor est CONVAINCU  ...  mais n'a rien appris de S

Why it is useful

In a digital world, we constantly have to prove things: "I am indeed the holder of this account", "I am over 18", "I have the funds". Usually, proving amounts to showing: you give your password, your date of birth, your bank statement. So you disclose more than necessary.

Zero-knowledge proofs invert this logic: you convince without exposing. It is a major tool for protecting privacy.

In summary

  • A zero-knowledge proof makes it possible to prove that you know a secret without revealing it.
  • It relies on three properties: completeness (the honest party convinces), soundness (the cheater almost always fails), zero-knowledge (the verifier learns nothing other than the validity).
  • The benefit: convincing without exposing, a pillar of digital privacy.