EVM Explained – What is Ethereum Virtual Machine? How Does It Work? - The EVM’s physical instantiation can’t be described in the same way that one might point to a cloud or an ocean wave, but it does exist as one single entity maintained by thousands of connected computers running an Ethereum client.

    What is the Ethereum Virtual Machine?

    The Ethereum Virtual Machine is essentially off-chain, a collection of networks of computers that run parallel to the Ethereum blockchain network. The virtual machine system is independent and interacts with data usually through consensus protocols without going through the main chain, connecting to the Ethereum main chain through smartcontracts. There are many virtual machine systems that interact with the Ethereum Blockchain. Virtual machines must adopt a smart contract to interact according to a set of Ethereum rules and validate the information put on the chain with the protocol, which is a shortened hash of SHA-3-256.

    Each Ethereum node in the network runs an EVM and executes the same instructions. EVM has been programmed in C++, Go, Haskell, Java, Python, Ruby, Rust and WebAssembly (currently in development).

    The Ethereum network is a continuously operating blockchain that always exists in a single, uninterrupted and immutable state of this special state machine. That is the environment in which all Ethereum accounts and smart contracts live. At any given block in the chain, Ethereum has one and only one ‘standard’ state, and the EVM is what defines the rules for calculating a new valid state from block to block.

    How does EVM work?

    We often think of Bitcoin as a distributed ledger that enables a decentralized currency using the underlying tools of cryptography. Cryptocurrencies act like a ‘normal’ currency due to rules that govern what we can and cannot do to modify the ledger. For example, a Bitcoin address cannot spend more Bitcoins than previously received Bitcoins. These rules underlie all transactions on Bitcoin and many other blockchains.

    While Ethereum has its own cryptocurrency (Ether) that follows almost exactly the same visual rules, it also allows for a much more powerful function: smart contracts. For this more complex feature, a more complex analogy is required. Instead of a distributed ledger, Ethereum is a distributed machine state. The state of Ethereum is a large data structure containing not only all accounts and balances, but also a machine state, which can change from block to block according to a predefined set of rules. and can execute arbitrary machine code. The specific rules of changing state from one block to another are determined by the EVM.

    EVM acts like a mathematical function: Given an input, it produces a definite output. It is therefore useful to more formally describe Ethereum as having a state transition function:

    Given a valid old state (S) and a new set of valid transactions (T), the Ethereum state transition function Y (S, T) produces a new valid output state S’.


    In the definition of Ethereum, state is a giant data structure called a modified Merkle Patricia Trie that keeps all accounts linked using hash functions and can be reduced to a single hash. The unique root is stored on the blockchain.


    Transactions are cryptographically signed instructions from accounts. There are two types of transactions: transactions that lead to message calls and transactions that lead to contract creation. Contract creation results in the creation of a new contract account containing the compiled smart contract bytecode. Whenever another account makes a message call to that contract, it executes its bytecode.


    The EVM executes as a stacker with a depth of 1024 items. Each entry is a 256-bit word, chosen for maximum compatibility with the SHA-3-256 hash scheme. During execution, the EVM maintains a temporary memory (like a word-addressed byte array), which does not persist between transactions.

    However, the contract does contain the Merkle Patricia triple storage (as a word-addressable word array), associated with the account in question and part of the global state.

    The compiled smart contract bytecode executes as some EVM opc, performing standard stack operations like XOR, AND, ADD, SUB, etc. EVM also implements several blockchain-specific stack operations, such as ADDRESS, BALANCE, SHA3, BLOCKHASH, and more.


    All EVM implementations must comply with the specification described in the Ethereum Yellowpaper. During Ethereum’s 6-year history, EVM has undergone several modifications and there are several implementations of EVM in different programming languages.


    EVM (Ethereum Virtual Machine) is a virtual machine system that supports running to validate the state of the Ethereum blockchain network, it belongs to layer1 that allows interaction and authentication of data without going through the main chain. At the same time, it is possible to interact with the main chain through smartcontracts to overwrite the data on the block and validate the data on the blocks through the minified hash function. 

    This article is not a solicitation for investment. is not responsible for your investment decisions.This article is not a solicitation for investment. is not responsible for your investment decisions.

    Join our community to update news and discuss this article: 

    Most Popular

    Related Posts