What is the Ethereum Virtual Machine (EVM)?

When Vitalik Buterin built Ethereum, he wanted to push the boundaries of blockchain technology. Bitcoin inspired him, but he felt the tech should do more than just process transactions. As a result, he built the Ethereum blockchain network. Ethereum has all the features of Bitcoin. It can process peer-to-peer transactions and store them in an immutable and decentralized way. It can also do certain things that Bitcoin can’t. For example, it can run smart contracts.

So how does a blockchain run a smart contract? In Ethereum's case, the answer is the Ethereum Virtual Machine (EVM). The EVM forms the backbone of how the Ethereum network operates. In this article, we discuss what EVM is, how it works, and its benefits and use cases. But before we dive deep, let's have a quick recap on smart contracts.

TL;DR

  • Vitalik Buterin created Ethereum to pioneer the introduction of smart contracts. These self-executing contracts run on the Ethereum Virtual Machine (EVM).

  • EVM is a software that allows smart contracts to be run and be deployed on the Ethereum network.

  • EVM processes transactions in two states: world state (account balances and smart contracts) and machine state (executing transaction steps).

  • Smart contracts are written in Solidity and compiled into bytecode. The EVM executes them. Gas fees help to provide security and limit resource abuse.

  • The EVM’s impact is seen in cases like ERC-20 tokens, decentralized exchanges, NFTs, DeFi lending, and DAOs.

What are smart contracts?

Smart contracts are computer programs or applications that run autonomously on a blockchain network. They consist of data codes developers deploy to carry out specific instructions. Users don’t control smart contracts as they run as programmed.

The Ethereum network is the first blockchain to implement smart contracts. As a result, millions of smart contracts are coded and deployed on the Ethereum blockchain today. The EVM played a vital role in achieving that feat.

What is the Ethereum Virtual Machine (EVM)?

The EVM is built into the heart of its protocol. As its name suggests, the EVM is a virtual machine or digital software that powers the Ethereum network. Virtual machine software can execute programs, store data, connect to networks, and perform other computational tasks. It’s also responsible for the code execution and deployment of smart contracts.

How it works

Since Ethereum processes more than just peer-to-peer value transactions, it requires an intricate computation system. So, instead of calling the network a distributed ledger, Ethereum developers refer to it as an "unbounded state machine". And that's a basic description of how the EVM works. The Ethereum network therefore comprises two states: a world state and a machine state.

EVM

World state

The world state is where Ethereum stores its account balances and smart contracts. Similar to the Bitcoin ledger, it’s decentralized, immutable, and accessible to everyone online. The EVM updates this layer every time it completes a transaction. That means everyone with a block explorer can view the Ethereum blockchain and see the same data in real-time.

Machine state

The machine state is where the EVM carries out the step-by-step processing of transactions. It’s also popularly referred to as Ethereum's sandbox for developers. The Ethereum network processes two types of transactions. The first type is the "message call" — when one account transfers ETH tokens to another. In this scenario, the EVM moves the ETH tokens from one wallet address into another. Which then updates the transaction on the world state. The sender is charged gas fees for the computations completed in sending the transaction.

The second type of transaction is called ¨contract creation¨. It refers to when a developer wants to execute a smart contract onto Ethereum. In this scenario, the sender supplies gas fees and inputs a ¨smart contract bytecode¨.

Solidity programming language

The most widely used computer language for creating Ethereum smart contracts is Solidity. Like Javascript, it’s a high-level language suitable for humans, but machines don’t understand it. Therefore, once developers write a smart contract in Solidity, they must translate it into machine language or bytecodes using an Ethereum Virtual Machine compiler, like solc.

Smart contract execution

As the EVM executes the code, the gas supply reduces according to the gas cost of the computations executed. If at any point the gas supply is reduced to zero before the transaction is complete, the EVM immediately halts. It abandons the transaction and doesn’t change the world state. The network is unaffected, but the sender's ETH balance goes down to pay for the computations used to execute the code to the halting point. However, if the execution completes successfully, the EVM updates the world state to match the machine state version.

Ethereum gas fees

As we can see from the above, gas fees play a crucial role in processing transactions on the Ethereum blockchain. When Ethereum used the Proof of Work (PoW) consensus mechanism, processing a transaction required hardware and electricity, and miners required incentives to carry out their tasks. In the case of processing ETH token transfers, gas fees vary depending on the congestion of the pool.

When executing smart contracts, gas fees take on a different role. At the point of execution, Smart Contract bytecodes are broken down into smaller pieces called ¨opcodes¨. Opcodes are short for Operational Codes and are the instructions the EVM uses to perform computations. Each opcode is assigned a gas fee — the more complex the opcode, the higher the cost. This step is essential in keeping the Ethereum blockchain secure from malicious attacks. For example, if a user deploys a DDos attack, the EVM will continue executing the smart contract in the machine state. It’ll charge gas fees for every computation, and when the sender runs out of gas, it’ll abandon the transaction.

What are the benefits of EVM?

As described above, the EVM prevents malicious activities from attacking the network. Therefore, it enables the execution of smart contracts and other automated services in a secure and trustworthy platform.

The Ethereum network is the largest crypto ecosystem at the time of writing. What's more, it's considered the gold standard for decentralized application (DApp) creation and smart contract deployment. Many other blockchains have created side chains that allow Ethereum developers to transfer their applications without changing the code.

EVM is also decentralized, meaning anyone can create a smart contract on Ethereum without permission. It also enables developers to build and deploy decentralized services and applications, recently gaining massive popularity.

EVM use cases

With the Ethereum Virtual Machine executing smart contracts, many new inventions have hit the blockchain space. Here are the top five EVM use cases:

ERC-20 tokens

ERC-20 tokens are generated by smart contracts using predefined data structures. The data structure is responsible for giving the token a name, distributing it, and keeping track of it. In 2017, when initial coin offerings (ICOs) were popular, many new cryptocurrencies were launched using the ERC-20 tokens. Today, the best use of ERC-20 tokens is for stablecoins, like USDT.

Decentralized Exchanges (DEXs)

Decentralized exchanges (DEXs) allow users to buy, sell or trade crypto by deploying smart contracts. Exchanges such as Uniswap and SushiSwap also use automated market makers (AMMs) applications, allowing users to tap into the liquidity pools of tokens without third-party interference.

NFTs

Non-fungible tokens (NFTs) are digital artifacts stored on the blockchain. They authenticate ownership and can’t be copied. Blockchain enthusiasts use smart contracts to create and mint NFT collections. Some of the most expensive NFT collections include the Bored Ape Yacht Club (BAYC) and Cryptopunks. Owners can transfer or trade their NFTs on marketplaces such as OpenSea.

DeFi lending

Decentralized finance (DeFi) Lending refers to platforms that allow users to lend or borrow cryptocurrencies without using a third party. Smart contracts govern the borrowing and lending protocols. Loans are issued immediately to borrowers, and lenders sometimes receive interest daily.

Decentralized Autonomous Organizations

A decentralized autonomous organization (DAO) is a communal entity that lacks a central authority. In DAOs, individual members collectively make governing decisions regarding the project. The rules of a DAO are established by core community members and implemented through smart contracts.

EVM limitations

The EVM has two significant limitations. Firstly, it requires users to have foreknowledge of Solidity and coding skills. Many people need help coding, making it difficult for new users to create and interact with smart contracts.

Its second limitation is that gas fees can become very expensive when creating a smart contract or deploying an Ethereum network application.

Which cryptocurrencies are EVM compatible?

EVM-compatible blockchains are a simple solution to solving the expensive gas fee problem. Developers have borrowed certain parts of the Ethereum network and created DApps that enable users to quickly and easily move assets between any EVM network. Many of the most popular blockchains in use today follow this EVM-compatible approach, mainly:

The future of EVM

Building upon the basic foundation of Bitcoin, Vitalik Buterin's vision is to create a decentralized supercomputer that's accessible to all virtually. The Ethereum Virtual Machine has had a huge role in making that vision a reality. Since its conception, the EVM has had several upgrades and continues to evolve and improve.

The Dencun upgrade introduced EIP-4844, which brought proto-danksharding to Ethereum. This significantly reduces gas fees by allowing the network to process Layer-2 transaction data more efficiently. Proto-danksharding is underpinned by a new data type called blobs, which are removed from the blockchain rather than being permanently stored. Meanwhile, EIP-4788 — also part of the Dencun upgrade — helped to enhance interoperability by enabling EVM to access the state of the Beacon Chain directly. This is essential for protocols such as liquid staking and cross-chain interactions. The Dencun upgrade was completed in March 2024.

Looking ahead, Ethereum's roadmap emphasizes scalability through rollups, with zero-knowledge EVMs (zkEVMs) playing a crucial role. zkEVMs enable efficient off-chain transaction processing while maintaining compatibility with Ethereum, improving scalability.

The final word

The Ethereum Virtual Machine is part of the Ethereum network's foundational infrastructure. It's essential to allowing smart contracts to run on the blockchain, with the software responsible for performing multiple computational tasks. Beyond its operational importance, the EVM protects the network by helping prevent attacks, supporting a secure, resilient, and decentralized platform for developers to build upon.

Curios to learn more about the evolving Ethereum network? Check out our guide to the Blast Layer-2 that offers native yield, and read up on Curve Finance, the stablecoin decentralized exchange built on Ethereum.

FAQs

The Ethereum Virtual Machine (EVM) is a virtual software platform that powers the Ethereum blockchain, enabling it to execute and deploy smart contracts.

It’s important because it lets Ethereum do more complicated transactions than simple peer-to-peer value transfers. This makes it a useful platform for decentralized applications (DApps) and other automated services.

The EVM processes transactions through two states: the world state and the machine state. The world state records account balances and smart contracts, while the machine state handles the step-by-step execution of transactions.

The EVM may move tokens between accounts or run smart contract bytecodes, depending on the type of transaction. Gas fees determine the cost and completion of these calculations.

The EVM's key areas include creating ERC-20 tokens, decentralized exchanges like Uniswap, minting and trading NFTs, DeFi lending platforms, and community-governed Decentralized Autonomous Organizations (DAOs).

The EVM has two main limitations: complexity and high gas fees. Project owners creating smart contracts need to understand Solidity, the Ethereum programming language. Gas fees can also be very expensive, especially during network congestion or when deploying complex applications.

免责声明
本文章可能包含不适用于您所在地区的产品相关内容。本文仅致力于提供一般性信息,不对其中的任何事实错误或遗漏负责任。本文仅代表作者个人观点,不代表欧易的观点。 本文无意提供以下任何建议,包括但不限于:(i) 投资建议或投资推荐;(ii) 购买、出售或持有数字资产的要约或招揽;或 (iii) 财务、会计、法律或税务建议。 持有的数字资产 (包括稳定币和 NFTs) 涉及高风险,可能会大幅波动,甚至变得毫无价值。您应根据自己的财务状况仔细考虑交易或持有数字资产是否适合您。有关您具体情况的问题,请咨询您的法律/税务/投资专业人士。本文中出现的信息 (包括市场数据和统计信息,如果有) 仅供一般参考之用。尽管我们在准备这些数据和图表时已采取了所有合理的谨慎措施,但对于此处表达的任何事实错误或遗漏,我们不承担任何责任。欧易 Web3 功能,包括欧易 Web3 钱包和欧易 NFT 市场都受 www.okx.com 单独的服务条款约束。
© 2024 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:“本文版权所有 © 2024 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如“文章名称,[作者姓名 (如适用)],© 2024 OKX”。不允许对本文进行衍生作品或其他用途。
展开
相关推荐
查看更多
查看更多