Author: Riyue Xiaochu Source: medium
Parallel EVM has become a new hot word recently. We know that improving TPS has been a tireless pursuit in the past few years. Layer2 represented by Rollup technology has been launched one after another. And parallel EVM can expand TPS to the million level, and its value is no less than l2.
In contrast, parallel EVM is still in its early stages. Compared with Layer2 back then, Parallel EVM has recently attracted attention from capital, such as Movement Labs, which just received 38 million in financing in April this year.
Some people may ask, with the current active users on the chain, is it necessary to continuously improve TPS? The answer is: It is very necessary. Only with the continuous improvement of infrastructure can we ensure that technological innovation on the application side can take place. Improving the performance of public chains, just like humans have always pursued faster CPU/GPU hardware, or faster Internet speeds, seems to be engraved in human genes. Imagine how the mobile Internet revolution could have occurred in the 2G era of text messaging. In the blockchain industry, whenever TPS is increased to a certain level, new application innovations are likely to emerge. In terms of improving TPS, we have made many efforts, some of which were successful and some failed. For example, we have tried to increase the block size, which led to the BCH and BSV at the BTC fork, adopted a new consensus mechanism, reduced the block time, etc., but it was probably gradually matured and landed in the previous cycle. In the last cycle, the Rollup public chains dominated by the four kings were landed one after another. This cycle may be the improvement and landing of parallel EVM. What is parallel execution?
Speaking of parallelism, there must be serialism. Serialism is to proceed in order, one by one. Regarding the difference between serialism and parallelism, let's give a simple example. Suppose you want to travel to Huangshan now, and there is only one ticket gate working at the entrance. All people can pass through one by one, and take turns to check tickets. This is serialism. And during holidays, because there are many people, the scenic spot directly opens 10 ticket gates, so tourists will be arranged in 10 different places, and the passing efficiency has increased 10 times, this is called parallelism. Our computers can work in parallel, so our blockchain can be parallel in theory.
Most of the public chains currently dominated by ETH are serialism. Although parallelism has great benefits, it is also very difficult to achieve in the blockchain world. For example, address A now has an ETH transfer to address B, because the transfer processing takes a certain amount of time. During the processing time, if address A does something evil, it can process an ETH transfer to address C in parallel. Then both B and C will receive an ETH. Therefore, parallel processing is not as simple as it seems. The industry has proposed three execution mechanisms to solve the conflict problem of parallel execution: message passing mechanism, shared memory mechanism and strict state access list mechanism. Of course, parallel execution is not that unfamiliar. Solana, Aptos and Sui created in Move language are all executed in parallel. Their TPS can easily exceed 10,000. However, they are not EVM-compatible and have their own virtual machines. The whole world is like a split. The purpose of parallel EVM is to be both EVM-compatible and parallel.
There are two directions for parallel EVM
The first is to make the current public chain that is executed in parallel compatible with EVM.
For example, Neon is an EVM simulator on the Solana network. It can convert Ethereum transactions sent by the dApp front end into Solana transactions through proxy, and then execute them in the simulator to modify the state on the chain.
The second is to add the function of parallel execution in the EVM system.
For the second type, it can be divided into two subcategories. The first subcategory is to use the virtual machine of the existing public chain that is executed in parallel.There are three types of mature applications that have been realized, namely Solana, Aptos/Sui of the Move language, and the UXTO model of Bitcoin. For example, Movement Lab is a virtual machine that references move, executes transactions on it, and then settles on Ethereum. It's a bit like the reverse operation of Neon.
Lumio aims to be the first VM abstraction, and will support any VM, including SVM,parallel EVM, MoveVM, and plans to support other ecosystems such as ton andBitcoin. Allow developers to deploy using any virtual machine on any chain.
Monad belongs to the second subcategory, which writes its own parallel execution logic. Monad introduces two mechanisms for the Ethereum virtual machine: one is superscalar pipeline technology,and the other is an improved optimistic parallel mechanism. The superscalar pipeline technology parallelizes the execution stage of transactions. The current performance reaches 10,000 TPS.
Movement Lab
Move is a secure and reliable programming language designed by Facebook for smart contracts, emphasizing ownership and security. Assets in Move are represented as resources. Due to Move's powerful ownership model and clear resource capabilities, Move simplifies the development of secure smart contracts for common blockchain tasks (such as asset transfer ownership, minting and destruction).
Sui and Aptos chose to develop an independent public chain based on Move. The problem is that this is a brand new language for EVM developers. Movement Lab introduces the Move execution environment to Ethereum Layer2, has an EVM ecosystem, and has the advantages of the Move language.
Movement Lab's flagship products are the M1 and M2 networks, as well as a set of powerful tools to support them. The M2 mainnet will be launched and will be the first Layer 2 solution on Ethereum based on the Move language. It will support multiple Move implementations, including Sui Move and Aptos Move, as well as our embedded EVM interpreter MEVM. This will enable developers from various ecosystems, including Sui, Aptos, and EVM-based platforms, to take advantage of the benefits of our L2 solution.
One of the key features of M2 is its EVM parallelization capability. By leveraging the Move language and Sui's parallelization model, we can achieve high throughput and low latency for EVM transactions. This is achieved through object-centric storage and the ability to execute transactions in parallel. The EVM parallelization approach involves converting EVM bytecode into Move bytecode, which is then executed in parallel. This conversion process preserves the semantics of the original EVM code while enabling it to take advantage of the parallelization provided by the Move language and Sui execution model.
To promote the development and adoption of the Movement Lab network, the team is also developing the Movement SDK, Movement CLI, Fractal, and Hyperlane messaging infrastructure. These tools will provide developers with the resources they need to easily build and deploy applications on the platform. Full EVM compatibility is achieved, so it only takes 10 minutes to deploy Uniswap or any smart contract on the platform
From the perspective of the hottest modules now, Movement Lab belongs to the execution layer, based on the excellent performance and security of MoveVm. Anyone can start any startup Layer2, You can choose Arbitrum Orbit, OP Stack, Polygon CDK to use Celestia, EigenLayer and NEAR as DA, and then use Movement Lab's VM for execution and connect to the shared sorter.