Zero-knowledge proofs
In short: A zero-knowledge proof convinces someone that a statement is true without revealing more than exactly that. For example you prove you know a password or are over 18 without disclosing it.
In more detail: The prover and the verifier exchange messages. In the end the verifier is convinced but learns nothing about the secret. Classic picture: the cave with two entrances and a secret door.
In Depth
- Properties: Completeness (true statements are accepted), soundness (false ones are rejected with high probability), zero-knowledge.
- Non-interactive: With the Fiat-Shamir technique a single message suffices (SNARKs, STARKs).
- Use: Privacy in cryptocurrencies, proofs of age or identity, authentication without sending a password, scaling blockchains (rollups).
- zk-SNARK: Short proofs, often trusted setup. zk-STARK: transparent, larger proofs.
- Limits: Computing effort when proving, complex implementation.
See also: Elliptic curves and digital signatures, Post-quantum cryptography