Crypto glossary

Zero-knowledge proof (ZK proof)

Definition

A zero-knowledge proof is a cryptographic method that lets one party prove a statement is true without revealing the underlying data behind it.

With a zero-knowledge proof, a prover convinces a verifier that a claim holds, for example that a set of transactions was executed correctly or that a user is over 18, without disclosing the transaction details or the user's date of birth. Checking the proof is fast even when the original computation was large.

In crypto, ZK proofs serve two main purposes. For privacy, Zcash uses zk-SNARKs to hide senders, recipients and amounts. For scalability, ZK rollups such as zkSync, Starknet, Scroll and Linea generate a proof that thousands of transactions are valid, and Ethereum only has to verify that proof.

Generating proofs is computationally expensive and the cryptography is complex, so bugs in circuits or provers are a real risk. The main proof families, zk-SNARKs and zk-STARKs, differ in proof size, speed and whether they need a trusted setup.

Example

A ZK rollup can bundle 5,000 transfers, compute a single validity proof and have an Ethereum smart contract verify it in one transaction instead of re-executing all 5,000.

Related terms

Latest articles on Zero-knowledge proof