Blockchain is moving towards mainstream adoption. But it is limited because of the inherent architecture, where privacy and scalability are a concern. The increasing demand for throughput by dApps, and DeFi protocols, forced the web3 ecosystem to look for better alternatives. The exploration led back to the 1980s, when Goldwasser, Micali, and Rackoff developed an idea for zero-knowledge proofs.
In this month’s newsletter, we will try to give you a non-mathematical understanding of ZK technology.
What are zero-knowledge proofs?
Zero-knowledge proofs ensure verification of an argument without revealing the underlying information. With the help of cryptography, valid proof is generated for verification.
In this challenge, you have to find Waldo from the snapshot of a big crowd. Tom has an algorithm to find Waldo. Jerry wants to buy that algorithm.
Before buying, Jerry wants to ensure that the algorithm works. Without revealing any information, Tom has to prove that his algorithm works.
Tom takes cardboard with a small hole and places it over Waldo, proving that his algorithm works.
Here, Tom(Prover) has demonstrated the validity of his algorithm to Jerry(Verifier) without revealing the algorithm. In other words, Jerry verified the algorithm with zero knowledge about it.
A zero-knowledge proof is valid when it satisfies these properties:
- Completeness: The verifier can be eventually convinced if the statement is true
- Soundness: The verifier is not confident about the truth if the prover is dishonest
- Zero-knowledge: The verifier ascertains the statement’s truth without any statement details.
Classification of ZK proofs
Based on the method of communicating the proof, ZK proofs are classified as follows:
- Interactive: A series of communication is required until the verifier is convinced about the validity of the proof. Both the verifier and the prover must be online during the verification process.
- Non-Interactive: The prover can generate a one-time proof for verification. This nullifies the need for the prover to be online during the verification process.
How is zero-knowledge being used to solidify blockchain space?
Zero-knowledge is being as a scaling tool for blockchains. Ethereum is one of the most popular choice for building dApps. But it is limited due to the low throughput and high gas fees. ZK comes to rescue with the help of ZK rollups and ZKPs for enhanced throughput along with security.
ZK-SNARKs (Zero-Knowledge Succinct Non-interactive Argument of Knowledge)
A ZK-SNARK is constructed using three core algorithms:
- Key generator: Curating parameters for generating a key pair. A public/ private key pair is generated. The private part of the key is destroyed. The public part is used to create a proving and a verification key for a program
- Prover: The prover takes the proving key, the given public input, and a private witness to generate proof and satisfies the context of the program.
- Verifier: The verification key, public input, and the provided proof is used to determine the truth of the proof based on the correctness of the program.
ZK-SNARK can be understood as a certificate of validity generated using cryptography having a size < 1 kb
Zk-SNARKs require a trusted party for the initial ZK proof system setup. The setups give room to potential vulnerabilities for exploitation. StarkWare technologies later addressed this problem in 2018 with the introduction of ZK-STARKs.
ZK-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge)
ZK-STARKs build upon the shortcomings of ZK-SNARKs. It does not require any trusted setup for the verification process. It uses publicly verifiable randomness to generate a verifiable computation system.
Bulletproofs are short, interactive zero-knowledge proofs. Like ZK-STARKs, bulletproofs do not require a trusted setup.
Source: Matter Labs
Developed for layer 2, ZK-Rollups bundle up multiple transfers into one transaction. Cryptographic proof of that transaction is generated in the form of ZK-SNARKs or ZK-STARKs.
ZK-Rollups stores the account and balance data on-chain with the help of Merkle trees. The remaining data is stored and computed off-chain, reducing the storage size required on-chain.
Projects using zero-knowledge technology
Polygon’s $1 Billion treasury allocation towards ZK technology is the next phase of Polygon’s development. As a part of the phase, Polygon recently acquired “Mir”, a ZK-focused startup, for $400 Million.
Given below are some projects utilizing ZK technology:
ZK-SNARK was used at a broad scale by ZCash. It was used to enhance the privacy of transactions in the blockchain ecosystem. The encrypted transactions were still able to fit into the consensus of the network with the help of ZK-SNARK proofs.
Monero($XMR) is a cryptocurrency focused on maintaining confidentiality within transactions without sacrificing the speed of transactions.
ZKCross is a cross-chain layer 2 solution. It tracks and synchronizes the global state changes across different blockchains. The reliability of the omnipresent layer is provided by the multichain rollups done with the help of ZK-SNARK proofs.
Aztec is a layer 2 privacy network providing bank-grade privacy on open financial networks on Ethereum. They are working on “ZK2 Rollup” for reducing the gas costs of private transactions on the mainnet.
Mystiko is a base layer web3 protocol leveraging ZK2 technology to enable interoperability, scalability, and privacy to layer 1s and layer 2s.
Real-world applications of zero-knowledge proofs
ZKP caters to the confidentiality requirements of programs dealing with sensitive information.
ZKPs enable censorship-resistant voting. Voters can cast votes without revealing their identity.
ZKPs provides end-to-end trust without exposing the underlying data. This creates a private channel for messaging.
Zero-knowledge proofs provide an additional layer of anonymity to blockchain technologies, with the need for privacy on the rise. We can achieve a higher degree of decentralization without compromising on security. Zero-knowledge proofs will play an essential role in easing cross-chain verification and unlocking liquidity across chains.
Disclaimer: This article is a summary of the writer’s opinions and research. Digital assets are a volatile asset class and readers should be aware of the potential risks of investing in blockchain projects. This is not investment advice & we will not accept liability for any loss or damage that may arise directly or indirectly from any such investments.