In 1989, a group of MIT researchers unveiled the concept known as zero knowledge proofs (ZK). These proofs enable individuals to assert knowledge of something without disclosing the specifics or methodology.
ZK was initially researched by MIT for privacy applications, however the team uncovered the ability to verify thousands, even millions, of transactions with a solitary proof without revealing any transaction details. This ability eliminated the necessity of recording these transactions on a blockchain and opened the opportunity for computational efficiency and higher scalability.
What is Zero-Knowledge Proof?
Zero-knowledge proofs offer a cryptographically secure method to validate knowledge of specific information or data without disclosing the content itself. In simplified terms, these proof systems involve two key roles: a “prover” who generates a proof based on a system’s inputs, and a “verifier” who can confirm the authenticity of the prover’s computation without knowledge of the inputs or recomputation.
In blockchain applications, zero-knowledge proofs are predominantly employed in two areas: privacy enhancements (examples include Worldcoin, Zcash) and the optimization of Ethereum scalability through off-chain computation verification (examples include Polygon’s zero-knowledge rollups, Starknet, and zkSync).
To comprehend the cryptographic advancements over the past decade, it is essential to examine how they have facilitated the feasibility, speed, censorship resistance, and decentralization of various applications. These progressions result from a combination of improved algorithms and hardware, which have reduced the cost and computational intensity associated with generating and verifying proofs.
In many ways, these advancements parallel the democratization of technologies like digital cameras, initially characterized by high costs and inefficiencies before evolving into cheaper and faster alternatives. Advancements in zero-knowledge algorithms are offering alternatives to generating proof computations in centralized contexts and servers.
Proof configurations entail circuits that control the computation of sets of polynomials representing programs. These circuits become more intricate as efforts are made to accommodate larger volumes of data represented by these polynomials. Ideally, the range of potential prover outputs should be extensive to minimize the chances of brute-force computational attacks by provers (referred to as collision resistance).
ZK can be integrated for different purposes. Below are the key concepts listed:
A Deep Dive into zkSNARK
zkSNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), introduced in 2011, are pivotal to these advancements. zkSNARKs have made it feasible to efficiently scale the number of gated polynomials, unlocking the potential for greater speed and more intricate applications for zero-knowledge proofs.
The “SNARK” in zkSNARK stands for “Succinct Non-Interactive Arguments of Knowledge,” with the terms “succinct” and “non-interactive” being particularly crucial in the context of Web3. A zkSNARK proof is remarkably compact, comprising only a few hundred bytes. This compactness allows verifiers to swiftly validate the accuracy of a proof. Nevertheless, it’s important to note that generating the proof itself can be time-consuming, as we’ll discuss shortly. The non-interactive aspect is equally significant, as it obviates the need for verifiers to engage in back-and-forth exchanges with provers. In the context of blockchain, such interactions would be laborious and challenging to architect.
Notably, when zkSNARKs were initially introduced, their application in privacy-enhancing blockchains or transaction scaling was not explicitly mentioned. The original paper suggested use-cases involving third-party efficient computations on extensive datasets without requiring the download or compilation of the dataset. Although conceptually related to privacy and scalability use-cases, it took some time for the blockchain community to realize the potential of zkSNARKs in the realm of cryptocurrencies.
Use Cases of zkSNARK
1. Zcash — Privacy in Cryptocurrency
The influence of the zk-SNARK paper is palpable in the world of blockchain and cryptocurrencies. A prime example is Zcash, a cryptocurrency rooted in Bitcoin’s technology but with an emphasis on privacy. Launched in 2016, Zcash employs zk-SNARKs to safeguard both public and private addresses, offering enhanced security measures. Unlike Bitcoin, where transactions are transparent, Zcash introduces a unique concept known as commitments or transaction outputs. To utilize these commitments, users generate two nullifiers or keys. One of these nullifiers remains confidential with the sender (prover), while the other is publicly accessible for verification purposes (verifier). This innovative approach mitigates issues such as double spending and enforces criteria like minimum balance, all while preserving user privacy.
2. Usage in Enterprises and Healthcare
The application of zk-SNARKs extends beyond cryptocurrencies into enterprises and healthcare. An illustrative case is the “MediLedger Project,” a supply chain solution that leverages blockchain technology to ensure secure transactions. Employing zk-SNARKs, this system establishes a “Confidential Chain of Custody.” It facilitates decentralized yet secure verification of the origins of pharmaceuticals and the transfer of ownership among various stakeholders. This approach significantly reduces the risk of counterfeit drugs with duplicate serial numbers infiltrating the supply chain.
3. Identity Verification
Zero-knowledge proofs also find relevance in identity verification: Organizations utilize platforms like the Sovrin Network to create digital signatures representing users’ personal information. Public Key Infrastructure (PKI) acts as the verifier, matching public keys to confirm the authenticity of the digital identity. This application enhances security in digital interactions, ensuring that users’ digital copies correspond accurately to their real-world identities.
4. Secure Voting Systems
The zk-SNARK algorithm can be used to boost the security of voting systems during elections. This approach allows countries to validate voters’ identities through cryptographic keys without disclosing their actual identities. By using zk-SNARKs, electoral authorities can safeguard the integrity of the voting process and prevent ballot leaks, thus upholding the confidentiality of voter identities.
5. Sidechain Verification
Zero-knowledge systems play a pivotal role in sidechain verification. As sidechains are linked to each block in the primary blockchain, zero-knowledge proofs serve as lightweight clients. Users can employ zk-SNARK projects to verify cross-chain transactions within a sidechain. This application enhances interoperability and security in blockchain ecosystems, enabling users to confirm transactions across interconnected chains without revealing sensitive data.
6. Confidential Audit Reports
In the context of financial transactions, blockchain-based firms like “Horizon Labs” leverage the zero-knowledge proof system to secure sensitive financial information. Through the use of zk-SNARK technology, such as zkAudit, these firms enable auditors to share audit reports without exposing the identities of involved parties. This approach enhances the privacy and confidentiality of financial audits while maintaining the integrity of the auditing process.
Example of our Ceras Portfolio: Polygon zkEVM
Polygon zkEVM, functions as a virtual machine is designed to mimic the Ethereum Virtual Machine (EVM). It accomplishes this by reproducing all existing EVM opcodes, enabling the seamless deployment of pre-existing Ethereum smart contracts. Zero-knowledge Rollups (ZK-Rollups) are a pivotal part of this solution, running the Ethereum Mainnet and enhancing Ethereum’s scalability and transaction throughput.
To validate off-chain computations, Polygon zkEVM leverages verifiable zero-knowledge proofs as validity proofs. While these Layer 2 zero-knowledge proofs involve intricate polynomial computations to ensure transaction validation and finality, they are remarkably efficient and quick to verify.
In its role as a state machine, zkEVM manages state changes originating from Layer 2 transactions submitted by users. It subsequently generates validity proofs, confirming the correctness of the off-chain state change computations.
Despite the complexity of this innovative design approach, the primary goal is to minimize friction for users and developers utilizing this solution. It requires the recreation of all EVM opcodes to enable the transparent deployment of existing Ethereum smart contracts.
Benefits of Polygon zkEVM
- EVM-equivalence: zkEVM maintains compatibility with Ethereum’s EVM, ensuring developers can deploy existing smart contracts.
- Ethereum security: It inherits Ethereum’s security, safeguarding user assets.
- ZKP-powered scalability: zkEVM significantly enhances scalability through the use of zero-knowledge proofs.
Developers can seamlessly deploy their existing smart contracts on zkEVM, while users can deposit assets from Ethereum and engage in off-chain transactions. These transactions are grouped into batches, each with a zero-knowledge proof validating its legitimacy. This robust approach ensures the security of user funds, maintaining Ethereum’s level of security.
Performance aside, zkEVMs must persuade users of their superiority as the primary gateway to Ethereum and, by extension, the optimal choice for blockchain adoption. Furthermore, establishing the safety and reliability of zkEVMs necessitates real-world adoption.
This is why development teams are racing to make zkEVMs accessible to the general public and find product-market fit. Decentralized applications like Lens are already building upon Polygon Labs’ zkEVM. Notably, payment giant Visa, with its substantial throughput capacity, is collaborating with StarkWare, pioneers of the widely-utilized STARK protocol, to develop a settlement platform.
Written By: Sarah Abuagela
Additional Sources: a16zcrypto, Binance Research, Forbes, Polygon zkEVM Portal.