In this article we are going to take a deep dive into what zkEVMs are, why do we need them, what are Rollups and zk Rollups and how they enable Ethereum to scale.
What Is zkEVM?
Zero-Knowledge Ethereum Virtual Machine, is a cryptographic protocol that allows for secure and private transactions and computations on the Ethereum blockchain by utilizing zero-knowledge proofs. It enables verifiable computations without revealing the underlying data or operations, enhancing privacy and scalability in the Ethereum ecosystem.
zkEVM, Meaning? Well let's start from the Problem -
Ethereum, one of the pioneering blockchain platforms, has faced a significant challenge known as the blockchain trilemma.
This trilemma refers to the balance that needs to be maintained among decentralization, security, and scalability within the blockchain network. While Ethereum has achieved remarkable success in decentralization and security, scalability has been a persistent issue. As the network grows and adoption increases, transaction speed and cost become limiting factors.
To overcome these limitations and achieve scalability without compromising on security and decentralization, solutions like zkEVM (Zero-Knowledge Ethereum Virtual Machine) have been introduced.
Why do we need zkEVMs: What problem does it solve?
The blockchain trilemma posits that a blockchain system can only achieve two out of three key attributes: decentralization, security, and scalability. Ethereum, aiming for decentralization and security, faces scalability challenges. The current Ethereum network processes a limited number of transactions per second, resulting in high fees and slower confirmation times. This hampers its ability to serve a larger user base and a wider range of applications, including complex smart contracts and decentralized applications (dApps).
Imagine a decentralized application (dApp) like a decentralized exchange (DEX) on Ethereum. During peak usage, the network may experience congestion, causing delays and increased transaction fees. Users may find it costly and inconvenient to trade due to high fees and slower transaction times. This is where the need for a solution like zkEVM arises, to enhance scalability and improve the user experience.
Solution : So now we know that the problem that we want to solve is scalability, And that’s where Rollups come in. Rollups like “Optimistic” & “Zero Knowledge” help us to achieve exactly what we want, lets see how in the next section.
What are Ethereum Rollups and how do they solve the scaling issue?
Rollups are Layer 2 scaling solutions designed to enhance Ethereum's scalability. They aggregate multiple transactions into a single batch and submit them to the Ethereum mainnet, reducing the on-chain load. This batching significantly improves transaction throughput and reduces gas fees. Rollups maintain the security of Ethereum by anchoring their data on the Ethereum mainnet.
In a Rollup, instead of directly recording every transaction on the Ethereum mainnet, a Rollup operator batches, say, 100 transactions into a single 'rollup block.' This block is then submitted to the Ethereum mainnet as a single transaction, resulting in substantial cost and time savings.
Types of Rollups
There are two main types of Rollups:
Optimistic Rollups: These rely on a trust-but-verify approach where transactions are processed off-chain, and only a summary is submitted to the Ethereum mainnet. The mainnet can be used to challenge any fraudulent activities.
zk-Rollups: These use zero-knowledge proofs to validate and submit transactions on the Ethereum mainnet, providing a higher level of privacy and security.
For instance, in an optimistic rollup, the operator processes transactions off-chain and provides a summary of these transactions to the Ethereum mainnet. Users can challenge the summary if they suspect any fraudulent activity, thus ensuring security.
For the scope of this blog, we will focus on zk Rollups.
What is ZK (Zero-Knowledge)?
Zero-knowledge proofs (ZKPs) are a cryptographic tool that enable a party, called the prover, to demonstrate knowledge or validity of a particular statement without revealing the actual content or details of the statement to a verifier. This concept was first introduced by researchers in the 1980s and has found significant applications in the field of cryptography and blockchain technology.
In the context of zk Rollups, a scaling solution for blockchains, zero-knowledge proofs are employed to address the trade-off between scalability and transparency. When it comes to blockchain transactions, preserving privacy and confidentiality is vital. However, traditional blockchains, while secure and transparent, can be slow and inefficient as they require all nodes to process and validate every transaction.
How Do zKs Work?
Zero-knowledge proofs enable a prover to prove to a verifier that a specific statement is true without revealing any additional information. In zk Rollups, this means proving that the transactions in a batch are valid without revealing the transactions themselves. This enhances privacy and reduces the on-chain data load.
Here's an example of how zk Rollups use zero-knowledge proofs to address these concerns:
Imagine Alice wants to transfer 10 units of a cryptocurrency to Bob using a blockchain with zk Rollups. Instead of broadcasting the entire transaction details to the blockchain, which would expose sensitive information like wallet addresses and transaction amounts, Alice generates a zero-knowledge proof that asserts the validity of her transaction.
This proof verifies that Alice has the required funds, the transaction follows the rules of the blockchain, and the resulting state of the system after the transaction is valid. However, it does not reveal the specific details of the transaction.
Alice then publishes this zero-knowledge proof to the blockchain, and the network validators (verifiers) can efficiently and quickly verify the proof to confirm the legitimacy of the transaction without knowing the transaction's details. This process significantly reduces the computational load on the blockchain while preserving privacy and maintaining security.
How Do zkEVMs Work?
zkEVM, or Zero-Knowledge Ethereum Virtual Machine, integrates the power of zero-knowledge proofs with the Ethereum Virtual Machine (EVM). It allows developers to create and run smart contracts in a more efficient and scalable manner. zkEVM combines the features of zk Rollups with the Ethereum network, enabling the execution of smart contracts with enhanced privacy and cost-effectiveness.
Consider a complex smart contract that involves multiple parties and sensitive data. By utilizing zkEVM, the smart contract can be executed privately, and only a proof of its validity is submitted to the Ethereum mainnet, ensuring privacy while still benefiting from the security and scalability enhancements.
Some of the implementations of zkEVM to try building on are
Zero knowledge technology is here to stay and the improvements it brings to Ethereum's scaling problem are very promising, a great resource to follow up on the learnings after this article can be this Ethereum Org’s Documentation resource from Ethereum Organisation.