Zero-Knowledge Proofs: Unpacking the Privacy and Scalability Revolution in Blockchain
Zero-knowledge proofs are a cryptographic technique that allows one party to prove a statement is true without revealing any information beyond the truth itself. This technology has become crucial for achieving both privacy and scalability on blockchains.
The two main families of zero-knowledge proofs used in blockchain are zk-SNARKs and zk-STARKs. Zk-SNARKs require an initial trusted setup ceremony, which involves generating a set of structured reference strings that can be used by both provers and verifiers. This process is necessary for ensuring the security of the proof system but also introduces a potential risk of 'toxic waste' if the random values used to generate these strings are not properly destroyed.
Zk-STARKs, on the other hand, do not require trusted setup and produce larger proofs compared to zk-SNARKs. They rely on publicly verifiable randomness for generating reference strings, eliminating the toxic waste problem entirely. However, this comes at the cost of larger proof sizes and longer verification times.
The most significant practical application of zero-knowledge proofs in blockchain today is ZK rollups. These allow Ethereum layer 2 networks to process thousands of transactions for the cost of a single proof verification on layer 1, reducing gas costs by up to 90 percent or more.