Examining 5 Ethereum Virtual Machines (EVMs) Up Close

Written by mkaufmann | Published 2023/10/16
Tech Story Tags: ethereum-virtual-machine | zero-knowledge-rollups | zkevm | eos-evm | polygon-zkevm | zksyncera | linea-zkevm | scroll-evm

TLDRThe Ethereum Virtual Machine (EVM) is the core of Ethereum, enabling smart contracts and decentralized applications. This article explores five EVM variants: EOS EVM, Polygon zkEVM, zkSync Era, Scroll, and Linea. EOS EVM brings Ethereum compatibility to EOS, while Polygon zkEVM enhances Ethereum's performance with zero-knowledge proofs. zkSync Era is a Layer 2 scaling solution, Scroll optimizes ZK-Rollup, and Linea offers an EVM-equivalent platform with lower transaction costs. Understanding these EVM variants is crucial for blockchain developers and enthusiasts, as they shape the future of blockchain technology.via the TL;DR App

The Ethereum Virtual Machine (EVM) is crucial to the whole Ethereum system. Think of it as a virtual computer, unlike your regular laptop. Instead, it's distributed across tons of computers in the Ethereum network. This setup makes it super tough for anyone to control or mess with.


Now, why does it matter so much? Well, the EVM is like the heart of Ethereum. It's where all the action happens. It runs these things called "smart contracts." They're like self-operating bits of code that can do all sorts of stuff, from simple tasks to running entire decentralized apps (DApps). The EVM ensures they run properly, without any middlemen, and in a way, everyone in the network agrees.


So, when you send a transaction that involves a smart contract on Ethereum, the EVM kicks into action. It processes and runs the code in that contract. And believe me, these contracts can be pretty complex. But no matter what, the EVM makes sure they run securely and in the same way on all the computers in the network.


Now, here's the cool part. The EVM uses Ether (ETH), Ethereum's cryptocurrency, to pay for the computing power it needs. So, when you run a smart contract, you're paying for its computer resources. This helps keep things fair and discourages spam and bad behavior.


Here we are going to explore five different EVMs. This detailed look at EVMs promises to deliver essential insights into the heart of this ground-breaking technology, whether you're a blockchain enthusiast, developer, or just curious about the evolution of Ethereum. This is not a list in any particular order, but rather a summary of five separate EVM protocols.

Disclosure: The author acknowledges a vested interest in the organization(s) highlighted in this story. However, the views expressed within are delivered impartially and without bias.

EOS EVM

EOS EVM (EOS Ethereum Virtual Machine) is a significant development within the EOSIO blockchain ecosystem, designed to bring Ethereum compatibility to the EOS platform.


EOS EVM bridges the gap between these platforms by implementing an Ethereum Virtual Machine within the EOSIO ecosystem. This means that developers can deploy and execute Ethereum-compatible smart contracts on EOSIO-based blockchains, expanding the capabilities of EOS.


One of the core components of EOS EVM is the Ethereum Virtual Machine itself. The Ethereum Virtual Machine is a runtime environment where smart contracts are executed. It's a crucial part of the Ethereum network, processing transactions and running decentralized applications. By incorporating EVM into EOSIO, developers can leverage the vast Ethereum developer community and the multitude of existing Ethereum DApps and tools.


Due to this, developers can deploy Ethereum-based smart contracts on EOSIO blockchains, benefiting from the scalability and performance improvements inherent in EOSIO technology. This can be especially appealing for developers who want to take advantage of EOSIO's fast transaction speeds and low fees while still being able to use their Ethereum-based code.


EOS EVM also supports Ethereum's native programming languages, such as Solidity, and integrates with Ethereum development tools like Truffle and Remix. This minimizes the learning curve for Ethereum developers looking to migrate or build on EOSIO, as they can continue to use their familiar tools and languages.


Another noteworthy feature of EOS EVM is its ability to interact seamlessly with other EOSIO-based assets and applications. This means that tokens, NFTs (Non-Fungible Tokens), and other assets created within the EOS ecosystem can be used in conjunction with Ethereum-compatible smart contracts, offering a wide range of possibilities for decentralized applications.


Polygon zkEVM

Polygon zkEVM is a Layer 2 (L2) scaling solution designed to enhance the Ethereum network's performance by leveraging zero-knowledge (ZK) proofs. The protocol aims to maintain compatibility with Ethereum while using ZK technology.


Polygon zkEVM uses the Proof-of-Efficiency (PoE) that focuses on creating batches of transactions. To understand how it works, let's break it down into two key steps involving different participants: the Sequencer and the Aggregator.


Step 1: The Sequencer

In the first step of this process, we have the Sequencer. Think of them as the initiators of the batch creation. They play a crucial role by collecting various transactions or activities from users within the blockchain network. These transactions involve anything from simple payments to more complex smart contract interactions.


The Sequencer's job is to organize these activities meaningfully and efficiently. They ensure that transactions are sequenced correctly, which is essential for the smooth functioning of the blockchain.


Step 2: The Aggregator

Let's move on to the second party involved – the Aggregator. Once the Sequencer has organized the transactions, it's the Aggregator's turn to step in. Their role is to take the sequenced activities and bundle them into batches.


This batching process is significant for optimizing the blockchain's performance. By grouping transactions, the Aggregator reduces the overall workload on the network and enhances its efficiency.


What's neat about zkEVM is that it allows you to deploy your applications on the Ethereum Virtual Machine without changing your existing code. So, if you've already got smart contracts or dapps set up on Ethereum, you can transition them to zkEVM without starting from scratch. This saves a lot of time and effort for developers.


In terms of security, Polygon zkEVM inherits some of the strong security features from Ethereum and adds another layer of protection. ZK proofs are used to ensure transactions are valid and keep user funds safe. Plus, it ensures that the data stored on the blockchain can't be tampered with or corrupted.


zkSync Era

zkSync is a layer-2 scaling solution specifically designed to address the scalability and cost-related challenges faced by the Ethereum network, rather than seeking to replace the Ethereum Virtual Machine (EVM), zkSync functions in tandem with it, offering a complementary approach to enhancing the overall Ethereum ecosystem.


One of the fundamental ways zkSync contributes to Ethereum's scalability is by offloading transactions from the Ethereum mainnet. When users intend to interact with smart contracts or initiate transactions using zkSync, they divert these actions to the zkSync network instead of overloading the Ethereum mainnet. This approach ensures that these transactions are processed off-chain, relieving the EVM of high gas fees and slow confirmation times.


Crucially, zkSync employs Zero-Knowledge Proofs, a cryptographic technique, to verify the validity of transactions and smart contract executions without disclosing sensitive details on the Ethereum mainnet. Periodically, zkSync aggregates transactions and submits a concise proof to the Ethereum network, certifying the legitimacy of the transactions conducted on zkSync. This mechanism bolsters security and maintains decentralization by anchoring zkSync's state securely within the Ethereum ecosystem.


Developers can continue to write and deploy smart contracts on the EVM just as they would conventionally, without needing to adapt their workflows. Users can interact with these contracts using zkSync, leveraging its enhanced performance and cost-efficiency. This interoperability ensures that decentralized applications (DApps) can operate as usual while reaping the advantages zkSync brings to the table, thus preserving the user experience while improving the overall efficiency of the Ethereum network.


Scroll

Scroll is a zk-rollup project to become an EVM-compatible zkEVM. One of the protocol's main technologies is polynomial commitment, specifically the KZG polynomial commitment method, to streamline the generation of zero-knowledge proofs.


This method improves the effectiveness of the ZK-Rollup procedure while decreasing the amount of computing power required. Additionally, Scroll explores hardware acceleration options, including GPU, FPGA, and ASIC, to further optimize the generation of zero-knowledge proofs.


Scroll's infrastructure comprises key components that enable its ZK-Rollup network. The Scroll Node plays a central role in managing the transaction lifecycle. Three specific roles within the Scroll Node are crucial for its operation.


The Sequencer processes incoming transactions, grouping and executing them to compose blocks. The Coordinator detects new block creation, receives execution traces from the Sequencer, and selects a Roller from the specialized Roller Network for generating zero-knowledge proofs (ZKPs).


The Relayer oversees network monitoring and verifies the submission of roll-up blocks and validation proofs on Ethereum. It also manages deposit and withdrawal events in the bridge contract, facilitating seamless fund transfers between networks.


The Roller Network specializes in generating ZKPs, a fundamental aspect of Scroll's ZK-Rollup solution. Its use of advanced hardware acceleration technologies like GPUs, FPGAs, and ASICs, and optimizing ZKP generation for improved network performance is what sets it apart.


Rollers receive execution trace data from the Scroll Node's Coordinator and convert it into circuit witnesses to create ZKPs, demonstrating the validity of specific transaction blocks. These ZKPs are aggregated into a single block proof to enhance scalability and ensure the entire block's integrity.


The Rollup and Bridge Contracts facilitate data and fund transfers between Scroll and Ethereum. The Rollup Contract stores state roots summarizing Scroll's network state and block data from the Sequencer. It verifies validation proofs from Rollers, maintaining network integrity. The Bridge Contract manages asset transfers between the two networks, continuously monitored by the Relayer, ensuring smooth asset movement.


Looking ahead, Scroll aims to be fully decentralized, including decentralizing the sequencer and roller roles. While the project is currently in the pre-alpha testnet phase, it has a roadmap that includes an alpha testnet stage before the mainnet launch. The ultimate goal is to provide a ZK-Rollup solution that achieves the highest level of EVM compatibility and contributes to the scalability and decentralization of the Ethereum ecosystem.

Linea

Linea is a zero-knowledge Ethereum Virtual Machine (zkEVM) built by ConsenSys. Since Linea is EVM-equivalent, it's like a copy of Ethereum's mainnet but with some exciting advantages. The protocol provides developers a familiar space to create and deploy smart contracts, same as how they would work on the Ethereum network.


In other words, Linea gives developers the freedom to build and experiment, all while enjoying the security and features of the Ethereum ecosystem.


Linea is classified as a Type 2 zkEVM chain, following the classification coined by Ethereum's founder, Vitalik Buterin. This classification tells us that Linea closely resembles Ethereum in terms of its functionality and capabilities. It's like a sibling of Ethereum, sharing many of the same characteristics.


One of Linea's main benefits is reducing transaction costs while increasing throughput. As a result, Linea provides a more economical and efficient platform for executing and processing smart contracts and transactions than Ethereum's mainnet. Similar to Ethereum, but without the overhead and high petrol prices.


Because Linea is a fully EVM equivalent zkEVM, it's compatible with almost all Ethereum DApps (decentralized applications). This means that developers and protocols can seamlessly migrate their code from Ethereum to Linea without needing to rewrite or audit everything all over again.


It is also simple for developers to re-deploy their code from Linea to Ethereum or any other blockchain compatible with the Ethereum Virtual Machine (EVM). Linea was created with adaptability in mind.


Looking forward

Understanding the Ethereum Virtual Machine is beneficial for developers within the Ethereum ecosystem. The EVM serves as the bedrock upon which Ethereum's smart contracts and decentralized applications (DApps) are built.


Regardless of the specific EVM-compatible solution being used, developers should strive for a profound comprehension of how the EVM operates. This knowledge is the cornerstone for creating and deploying smart contracts effectively, ensuring their functionality and security.


There is great value in being an active member of useful online communities, discussions, and social media groups. Engaging with the blockchain community keeps you informed about the latest developments in EVM and EVM-compatible technologies. It also provides opportunities for learning from peers, sharing knowledge, and networking, fostering growth and adaptability in a constantly evolving blockchain landscape.


The blockchain world is a constantly evolving labyrinth, and adaptability, combined with a commitment to staying informed, is the compass that guides developers and users alike.


By staying informed about Ethereum's evolution, exploring scaling and cryptographic solutions, ensuring security and compatibility, seeking interoperability opportunities, and actively participating in the community, you can confidently navigate the dynamic crypto realm and make judicious decisions for your projects.


Written by mkaufmann | Tech geek and Linux user 🐧
Published by HackerNoon on 2023/10/16