The Rise of Parallel EVM: How High-Performance Layer 1 Breaks Through Ethereum's Performance Bottleneck

robot
Abstract generation in progress

EVM: The core component of Ethereum

The EVM is the core of Ethereum, responsible for running smart contracts and processing transactions. It is a computing engine that provides an abstraction for computation and storage, similar to the Java Virtual Machine. The EVM executes its own bytecode instruction set, which is typically compiled from Solidity.

The EVM is a quasi-Turing complete state machine. "Quasi" is because all execution steps consume a finite amount of resources, Gas, which prevents possible infinite loops from causing the entire platform to halt.

The EVM does not have scheduling capabilities; the execution module of Ethereum retrieves transactions from the block, and the EVM is responsible for executing them sequentially. The execution process modifies the latest world state, and after a transaction is executed, the state is accumulated to reach the latest world state after the block is completed. The execution of the next block strictly depends on the world state after the execution of the previous block, so the linear execution process of Ethereum's transactions is difficult to optimize for parallel execution.

The Ethereum protocol stipulates that transactions are executed in order. While sequential execution ensures that transactions and smart contracts can be executed in a deterministic order, guaranteeing security, it can lead to network congestion and delays under high load conditions. This is also the reason why Ethereum has performance bottlenecks and needs Layer 2 scaling.

Parallel EVM: The Heart Surgery of High-Performance Layer 1

The Path of Parallelism for High-Performance Layer 1

Most high-performance Layer 1s design their own optimization solutions based on the inability of Ethereum to handle parallel processing, mainly focusing on two aspects: virtual machines and parallel execution.

Virtual Machine

The EVM is designed as a 256-bit virtual machine, aimed at facilitating the handling of Ethereum's hash algorithms. However, the computers running the EVM need to map the 256-bit bytes to local architectures to execute smart contracts, making the entire system inefficient. Therefore, high-performance Layer 1 solutions more commonly adopt virtual machines based on WASM, eBPF bytecode, or Move bytecode, rather than the EVM.

WASM is a small, fast-loading, portable bytecode format based on a sandbox security mechanism. Developers can write smart contracts in various programming languages, then compile them into WASM bytecode and execute them. Many blockchain projects have adopted WASM as a standard, and Ethereum will also integrate WASM in the future.

eBPF originates from BPF and provides a richer instruction set, allowing for dynamic intervention in the operating system kernel without modifying the source code. Smart contracts executed on certain blockchains may be compiled into eBPF-based bytecode and run.

Move is a new programming language for smart contracts that emphasizes flexibility, security, and verifiability. Move aims to address security issues in assets and transactions, allowing assets and transactions to be strictly defined and controlled. Some blockchains write smart contracts using their own customized versions of Move.

Parallel EVM: High-Performance Layer 1's Heart Transplant

Parallel Execution

Parallel execution in blockchain means processing unrelated transactions simultaneously. The main challenge in achieving parallel execution is determining which transactions are unrelated and which are independent. Most high-performance Layer 1s rely on two approaches: state access methods and optimistic parallel models.

The state access method needs to know in advance which part of the blockchain state each transaction can access, in order to analyze which transactions are independent. Some blockchain programs ( smart contracts ) are stateless and require the use of accounts to access or maintain state. Transactions must specify which accounts will be accessed, so that the transaction processing runtime can schedule non-overlapping transactions to be executed in parallel, while ensuring data consistency.

The optimistic parallel model assumes that all transactions are independent, only retrospectively validating this assumption and making adjustments as necessary. Some blockchains use a block software transactional memory approach to apply optimistic parallel execution. Transactions are first set up in a certain order and then split to execute simultaneously across different processing threads. The system tracks the memory locations of changes for each transaction and checks all transaction results after each round of processing. If it is found that a transaction touches the memory location of an earlier transaction's change, its result is erased and re-run.

Parallel EVM: The Heart Surgery of High-Performance Layer 1

Parallel EVM

The parallel EVM was proposed as early as 2021, referring to an EVM that supports the simultaneous processing of multiple transactions, aimed at improving the performance and efficiency of the existing EVM. By the end of 2023, the industry mentioned the parallel EVM again, sparking a wave of EVM-compatible Layer 1s adopting parallel execution technology.

A reasonable parallel EVM definition includes three categories:

  1. The parallel execution upgrade of EVM-compatible Layer 1 without adopting parallel execution technology.
  2. EVM compatible Layer 1 that adopts parallel execution technology
  3. EVM-compatible solutions of non-EVM-compatible Layer 1 that adopt parallel execution technology

Parallel EVM: High-performance Layer 1's Heart Replacement

Some emerging Layer 1 projects adopt an optimistic parallel model that allows transactions to be executed in parallel within a block to improve efficiency. They begin executing new transactions before the previous step is completed, tracking inputs/outputs and re-executing inconsistent transactions. Static code analyzers can predict dependencies, avoid invalid parallelism, and revert to a simple mode when uncertain.

Parallel EVM: The Heart Surgery of High-Performance Layer 1

Other projects run EVM as smart contracts to achieve EVM compatibility. This solution seamlessly converts EVM opcodes into the opcodes of specific virtual machines, allowing Solidity projects to leverage the performance and security advantages of other virtual machines without needing to modify the code.

Parallel EVM: High-Performance Layer 1's Heart Surgery

Summary

The parallel technology of blockchain is a topic that has been repeatedly discussed. Currently, it mainly involves the transformation and imitation of optimistic execution models, lacking substantial breakthroughs. In the future, more emerging Layer 1 projects may join the competition for parallel EVM, and some older Layer 1s will also implement EVM parallel upgrades or EVM compatibility solutions.

In addition to high-performance EVM, the blockchain field may also see diverse technological narratives such as WASM, SVM, and Move VM, promoting the diversified development of the entire ecosystem.

Parallel EVM: The Heart Surgery of High-Performance Layer 1

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • 6
  • Share
Comment
0/400
PumpBeforeRugvip
· 23h ago
New public chain hype again
View OriginalReply0
RamenDeFiSurvivorvip
· 07-12 07:44
Parallelism in this area is really taking off Layer 1.
View OriginalReply0
consensus_whisperervip
· 07-12 07:43
Trying out new technology is indeed appealing.
View OriginalReply0
MoonBoi42vip
· 07-12 07:42
Write more code, bro.
View OriginalReply0
SleepyArbCatvip
· 07-12 07:40
The gas fees are high, I’m too lazy to deploy it, meow.
View OriginalReply0
WalletDivorcervip
· 07-12 07:38
An EVM old miner watching the excitement.
View OriginalReply0
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)