Last month, we announced Optimistic Ethernet Square on the history of the most important upgrade. Recently, we migrated Optimistic Kovan to a true one-click deployment and increased stability. The mainnet will keep up in less than three weeks.
This article is about our belief that EVM equivalence-fully compliant with the Ethereum Virtual Machine specification-will become the next common standard in the L2 field.
A brief history of Optimistic dispute agreements
First, let’s review the contemporary Rollup path we have taken.
Dawn of Rollup
Optimistic’s L2 is all about controversy. If you think that Ethereum is an all-powerful, decentralized court, then the core point of L2 scalability is: “Don’t go to the court to cash the check-if the check is returned, go chant.”
In fact, the scalability research of the past 6 years can be boiled down to one thing: what kind of “refusal checks” can be enforced. First, only a group of pre-agreed participants can trade with each other (state channel). Then, anyone can trade, but it can also be censored (plasma). In the end, we also solved the review problem (rollup).
Before Rollup, we already knew how to run smart contracts on all these models-it just didn’t make much sense. Who wants to run Uniswap only between a few friends , or in a way that can be censored for a week? Rollup promises to provide a real Ethereum- style L2 experience.
Of course, just “promising” a real Ethereum-style L2 experience cannot really be realized. For Unipig, the first L2 AMM ever, we must recreate Uniswap with custom code compatible with Rollup dispute contracts, not the EVM itself.
This is feasible due to the relatively simple design of Uniswap, but when the basic Solidity variables can no longer be used, this is not a good sign. For non-developers; Uniswap is currently one of the simplest DeFi smart contracts, which does not mean that Uniswap needs to be completely modified to achieve “Rollup compatibility”.
So far, Ethereum has exceeded the exit speed. An exponentially growing ecosystem simply cannot be rebuilt around non-EVM interfaces. Therefore, the responsibility of L2 is to ensure that the difference between the L1 court system and the EVM is minimal in addition to providing the “raw” scale. This forced Rollup to become a pioneer in two aspects at the same time:
- Build a scalable, production-ready Rollup infrastructure.
- Solve the prestigious EVM-in-EVM problem.
The Turing completeness of Ethereum means that we know it can be done, but in the course of our research, we learned that in order to introduce Ethereum into L2 within a reasonable time frame, something needs to be sacrificed.
This sacrifice is called EVM “compatibility.”
The reason is simple: as long as the Ethereum application can be reasonably ported to Rollup to run-no matter how this is done behind the scenes-we can capture the speed of Ethereum’s withdrawal.
At first, this compromise was successful. In 2020, we are racing to launch OVM because users have fled Ethereum and turned to other L1 competitors, which gave up security and value under the guise of “cheap fees.”
But the exit speed generated by the network effect of Ethereum has many forms. Our surge in usage highlights another component of L1-Ethereum, which is lacking in other L1 and L2: infrastructure. In the past 6 years, Ethereum’s global community has allowed it to grow from a simple prototype to more:
- Thousands of development tools have been deeply integrated into the EVM.
- Multi-billion dollar companies have emerged just to serve and improve node software.
- Ethereum itself is getting faster and faster.
The wave of network effects in Ethereum will only get bigger and bigger. Since everything is open source, one might think that these huge victories also apply to Ethereum’s L2.
But not so much.
EVM compatibility is not the same as EVM equivalence. Just being satisfied with compatibility means that you have to modify or even completely re-implement the underlying code that the Ethereum support infrastructure relies on. If L2 wants to surf in the wave of Ethereum’s infrastructure network effects, they must become the equivalent of EVM.
With the development of Optimistic Ethereum, we have found that more and more Ethereum tools continue to find themselves unusable. This is due to our old EVM compatibility design concept.
We know we can do better. In order to truly support the public, what we need is not only something compatible with the EVM contract, but something fundamentally equivalent to the EVM itself.
EVM equivalence is how we bridge the gap between the infrastructure network effect of Ethereum L1 and the execution environment of Ethereum L2.
EVM equivalence: riding the wave of Ethereum adoption
What is EVM equivalence?
In short: EVM equivalence is in full compliance with the Ethereum Yellow Paper, the official definition of the protocol. By definition, L1 Ethereum software must comply with this specification.
This means-to the deepest point-the existing Ethereum stack will now also be integrated with the L2 system. Every debugger. Every tool chain. The realization of each node. We believe that any EVM experience provided by any L2 must meet this standard-any deficiency is unacceptable.
Why is EVM equivalence good?
OVM v1 introduces a containerized system on top of Geth’s EVM, helping to avoid lengthy re-implementation of the entire EVM on L1.
This combination achieved some early victories, but since EVM itself does not support containerization, it is not free. With the development of Optimistic Ethereum, the power of equivalence that cannot be ignored cannot be ignored:
- Projects like Solidity, Vyper, and Hardhat are all developing their OVM version of development tools,
- As each line of code changes, it becomes more and more difficult to adopt experimental implementations like Erigon. This tells us that we always need to invest a lot of effort to integrate future client implementations.
- Compared with the existing super-optimized version, re-implementing certain parts of the EVM will bring gas overhead. This makes us realize that to minimize the cost of gas, we must adopt the EVM equivalent design concept.
It’s time to find a better way.
How do we achieve EVM equivalent?
Fortunately, we found a better way than re-implementing EVM tediously in EVM.
Separate block generation and execution
In practice, we do need to make some changes to Ethereum L2-ify: especially how blocks are generated. On L1, nodes use a proof-of-work consensus mechanism to determine blocks; on L2, batch transactions are sent to the “parent chain” (L1 Ethereum) through batch applications. If an L2 uses its own proof of work, then it will be an L1! So at this level, “equivalence” is simply nonsense.
A core model of blockchain modularization is to separate consensus from execution-that is, to use different processes to determine and execute the next block. We can borrow this model and use it in L2. Basically, we only need to define a function that accepts L1 blocks, performs Rollup processing on them, and then outputs L2 blocks-the format is exactly the same as the L1 block. Since then, the execution of L2 can be defined as equivalent to L1.
ETH 2 merge API
So, what is the current status of consensus/execution modularity among existing L1 client implementations? It is about to be standardized in all Ethereum implementations.
It turns out that ETH2 merger requires exactly the same abstraction as EVM equivalence Rollup: the beacon chain provides exactly the same “parent chain” role as L1 to Rollup. This makes it very simple to use the L1 client in L2.
Well, we have discussed why equivalence opens the door to powerful, modular abstractions and very simple client implementations. But how do we perform this on the chain? First, the power of modularity lies in its flexibility-as long as the solution is equivalent to the EVM, we can use it. This means that improvements in fraud proofs, and even zero-knowledge proofs of EVM equivalence (when they become feasible), can be simply put into the existing off-chain stack.
However, in the short term, we need some feasible measures today-we have found this. One solution is to achieve a perfect EVM equivalent implementation in Solidity, but EVM is a complex tool containing many VM instructions, so this is an important task. In addition, future updates to the EVM must also be re-implemented in Solidity.
Our solution: instead of implementing EVM in Solidity, we implement a VM with a smaller and simpler instruction set, and run EVM in this VM during the fraud proof period. To do this, we must simply compile an existing EVM interpreter, such as geth, to run in a simpler VM.
We allow Geth itself to operate in a controversial environment. Since Geth is EVM equivalent, so is the environment. This allows us to bypass the re-implementation of EVM on the chain and enable the system to adapt to future upgrades to EVM.
If Ethereum is to realize its Rollup-centric future, then Rollup must be Ethereum-centric.
This is what equivalence provides.
This modular, Geth-centric design is more than just an elegant implementation for us to use-it is a big step towards the commoditization of fraud prevention infrastructure. Today, safely designing and launching a Rollup requires an in-depth understanding of L2 controversies and how they work with node software. This severely limits innovation-imagine a world where every web developer must be an expert in IP networking, system management, and microchip manufacturing.
Rollup in the future will be very simple and does not require L2 experts to deploy. This means that L2 will no longer compete on how or whether to provide security, but on the content that provides security. This includes:
- Performance, stability and uptime
- Network effects, ecosystem specialization and communities
- MEV prevention and sequencing tools
In short, this means that Rollup of EVM equivalence competes in decentralization. This is a huge victory for the democratization of the entire ecosystem, and an important step in making our entire industry more vulnerable and resistant to censorship.
This also means that our team can finally focus on our core competitiveness-the most important part-to build the world’s fastest, most reliable and safest L2 Geth.
The yoke of Ethereum compatibility has been lifted.
The power of EVM equivalence comes down to standardization.
In a multi-chain world, “write once, deploy anywhere” becomes critical.
Having many “compatible” chains (each chain is slightly different) can lead to fragmentation: from the need for a single EVM expert team to handle a single code base, to the need to form an EVM expert team for each code base on each chain.
Web3 is all about harmonization and open source standards, and equivalence provides a path for the EVM that is about to become a standard to avoid repeating past mistakes.
Even with the development of this standard, our approach to fraud proof means that L2 can be coordinated effortlessly. L1 and L2 go hand in hand and move forward together.
This benefit is two-way—almost all Ethereum EIPs can be adopted on L2, and Rollup becomes an exciting and innovative real-time testing environment. Imagine a Rollup between the incentive test network and the main network, verifying new transaction types, pre-compilation and EOF, and testing for unforeseen results before they are upgraded to L1.
One of the biggest obstacles to DeFi is that testing everything you want cannot replace DeFi’s live environment. You can’t “recreate” DeFi on the test network, so when you want to test changes, it always “tests in production”.
EVM equivalence allows us to test EIP in a real-time environment and make safer, long-term improvements to the entire Ethereum environment without the need for “cross-hard forks.”
L2 has long promised a future of multi-chain Ethereum, with vibrant cities reaching the forefront of this new cyberspace. Although we can expect these chains to be diverse and rich, EVM equivalence introduces a new connection to Ethereum—not just as a settlement layer, but at the deepest level of its composition.
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/what-is-evm-equivalence-what-does-it-do/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.