The Ethereum Virtual Machine (EVM) has been operational since Ethereum’s launch in 2015. With nearly a decade of active use and testing, it has become the most widely adopted blockchain runtime environment and the driver of demand for seamless RPC node access.
With growing adoption, the challenge of scaling it becomes increasingly urgent. Parallelizing EVM executions is one of the approaches getting more popular lately.
TL;DR: Parallel execution is the process of running many transactions simultaneously. This could address the biggest pain points of EVM-compatible chains: limited transaction capacity and high gas fees.
So, how can EVM networks implement parallel execution, and what does this mean for users and developers? Let’s explore.
What is EVM in blockchain?
The EVM, or Ethereum Virtual Machine, is like a CPU of the Ethereum network. It is a software-based execution environment that processes smart contract operations and transactions.
EVM is implemented as a code within every Ethereum node that runs client software like Geth or Nethermind.
What is an EVM-compatible blockchain?
Ethereum’s execution engine is not inherently tied to its consensus mechanism or architecture. Any blockchain can copy or implement it.
The list of blockchains integrating an EVM includes:
- Other layer-1 networks: BNB Chain, Avalanche, TRON, Cronos;
- Most Ethereum Layer-2 chains and rollups: Polygon, Arbitrum, Base, OP Mainnet, ZKsync Era, Scroll, Linea, etc;
- Various application-specific chains, or AppChains.
This makes it easier for these blockchains to connect with Ethereum and other EVM-based chains and achieve compatibility with Solidity or Viper smart contracts, dApps, and tools.
How the Ethereum Virtual Machine (EVM) works
When nodes receive a transaction or a smart contract call, the EVM:
- interprets it as bytecode and executes;
- computes and updates the state changes based on the execution;
- Integrates with the consensus layer to validate state transitions across the network.
State, also called world state, here is the current status of the system, including any recordable information like account balances or smart contract data.
Source: Ethereum EVM illustrated
The EVM ensures that the same code produces the same result on all nodes, which is critical for maintaining trust and consensus.
The main limitation of EVM: Sequential execution
EVM-based blockchains are bound to operate in a serial fashion – each transaction is executed one after another in a strict order.
This is to maintain reliability and consistency in state updates across the network. However, sequential processing limits the number of transactions the network can handle per second (TPS).
Source: Ethereum EVM illustrated
As a result, the network faces congestion, higher gas fees, and slower confirmations when demand grows.
Parallelizing this process is one way to solve the issue.
N.B.: Check out our in-depth guide on the Pectra upgrade to Ethereum to learn about other optimizations in EVM that are coming to the ecosystem.
What are Parallel EVMs
Parallel EVM is a concept and method that some blockchains implement to solve one of the most fundamental bottlenecks in Ethereum Virtual Machine scaling – sequential execution of transactions.
A Parallel EVM offers a more performant pipeline for executing blockchain operations by taking multiple transactions and computing them in parallel.
Enabling parallelization often involves other optimizations:
- Storage: Optimizations to handle multiple simultaneous state updates without causing conflicts and overburdening nodes with data;
- Consensus: The consensus mechanism might be adjusted to keep up with more performant execution.
This is to ensure parallelizing doesn’t create new bottlenecks.
Benefits of Parallel EVMs
For blockchain users and developers, the advantages of adopting Parallel EVMs include:
- Higher throughput: More transactions processed per second and lower gas fees;
- Efficient resource usage: Taking full advantage of modern hardware, capable of running several threads in parallel;
- Improved user experience: Supporting a growing number of users and applications on the blockchain.
At the same time, Parallel EVMs are fully compatible with any smart contract built for Ethereum and all the tooling used.
EVM vs Parallel EVM
Here's a comparison of the transaction processing capabilities of Ethereum as a sequential EVM and Monad, one of the examples of parallel EVM.
Metric | Sequential EVM | Parallel EVM |
---|---|---|
Transactions per Second (TPS) | ~15 TPS | ~10,000 TPS |
Block Time | 15 seconds | 1 second |
Finality | 13 minutes | 1 second |
Parallel EVM systems can potentially outperform traditional EVMs like Ethereum by several orders of magnitude.
How Parallel EVMs work
Many Parallel EVMs being developed today use Optimistic Parallel Execution, also known as Optimistic Concurrency Control (OCC).
Here’s how the process works:
- Pooling: A set of transactions is placed into a pool, ready to be processed;
- Execution: Multiple executors pull transactions from the pool and process them in parallel, recording accessed and modified state variables;
- Ordering: The transactions are reordered into their original submission order;
- Conflict verification: The system ensures that each transaction's inputs have not changed due to earlier committed results;
- Re-execution (if needed): If a conflict is detected (a state dependency has changed), the conflicting transaction is returned to the pool for reprocessing;
- Block inclusion: Once all transactions are verified and properly ordered, they are added to the final block.
This ensures the final state is still correct, as if the transactions were processed sequentially, but with much higher throughput thanks to parallel processing.
Another variation of this engine is Block-STM (Software Transactional Memory), developed by Aptos Labs. It builds on the principles of OCC but detects and resolves conflicts during execution instead of resolving them afterward.
Parallel execution in SVM vs EVM
Solana already implements a parallel execution engine in its Solana Virtual Machine (SVM) using dependency graphs. It ensures that only transactions that don’t conflict can be processed in parallel.
To do that, all transactions must include all the state they will access for the system to see which transactions don’t overlap. This requires developers to define state dependencies for each transaction, which is a more complicated experience.
Parallel EVM vs sharding: What’s the difference
Parallelization and sharding are often compared because both aim to solve the same problem: more transactions processed simultaneously.
However, they approach this differently:
- Sharding: Splits the blockchain state into multiple shards to allow for parallel processing. Each shard operates independently up to some point but periodically syncs with others.
- Parallelization: Processes transactions in parallel within the same state.
One critical trade-off of sharding, in this case, is probable delays in shard-to-shard communication. This potentially affects some applications requiring real-time interactions.
Examples and top use cases of Parallel EVMs
Parallel EVMs open up new possibilities for applications that benefit from faster transaction processing and reduced latency. Some examples are:
- DeFi (e.g. on-chain order-book exchanges),
- Social media apps,
- Web3 gaming,
- AI applications.
It also expands the types of applications that could actually be built on blockchain and how modular blockhains can adapt EVM to scale.
Below are a few notable examples of Parallel EVM implementations.
Monad
Monad is an L1 blockchain using Optimistic Concurrency Control (OCC).
Source: Monad
The network’s whole architecture is built around optimizing the parallel processing:
- Monad BFT: The consensus layer, designed to reduce the time and number of communication steps needed to finalize blocks and minimize latency;
- Asynchronous execution: Execution tasks are not blocked by others to boost the amount of transaction execution possible per block;
- Monad DB: A novel database system optimized for the Merkle Patricia Trie (MPT) schema and fine-tuned for faster access and updates.
This is intended to achieve over 10,000 TPS with 1-second block times after the network’s mainnet launch in 2025.
Sei v2
Sei is a Layer-1 blockchain designed for high-performance DeFi applications. Sei v2, in mainnet beta as of December 2024, specifically brings optimistic parallelization and full EVM compatibility.
The network integrates parallel EVM execution with its SeiDB, an optimized database. Sei replaces Ethereum’s Merkle Patricia Trees (MPT) with memory-mapped IAVL trees to achieve a tremendous reduction in state storage size for faster state sync and quicker commit times.
MegaETH
MegaETH, currently in the private testnet phase, is an Ethereum Layer-2 solution focused on node specialization to reduce latency. Consensus is outsourced to L1, and data availability is handled by EigenDA, allowing MegaETH to optimize its sequencer for parallelization.
With block times as low as 10 milliseconds, MegaETH is designed for near-instant interaction between blockchain applications, rivaling Solana's performance
These blockchains strive to maintain compatibility with Ethereum's environment, making it easy for developers to migrate their existing applications with very little effort. (e.g. Developers will only need to change the Ethereum RPC to Monad's RPC URL in their application's configuration).
Summing up
Any blockchain that builds with EVM compatibility in mind can tap into Ethereum's ecosystem, including its time-tested tools, smart contracts, and supportive developer community.
Parallel EVMs offer massive speed up to this process. It makes execution more performant, by squeezing more work into the same amount of time. This may ultimately allow a single blockchain to serve more users.
Although still in the early stages, parallel EVMs have the potential to solve scaling challenges and foster adoption.
For developers and projects looking to stay ahead, reliable infrastructure is key. With GetBlock RPC nodes, you gain instant, high-speed access to a wide range of blockchain networks, including Ethereum, Solana, Bitcoin, and 50 more. Create a free account and try now—code smarter and scale faster with GetBlock.