ETHEREUM VIRTUAL MACHINE (EVM)
Ryan Cordell
Last edit: @ryancreatescopy, November 30, 2020
See contributors
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.
The Ethereum protocol itself exists solely for the purpose of keeping the continuous, uninterrupted, and immutable operation of this special state machine; It's the environment in which all Ethereum accounts and smart contracts live. At any given block in the chain, Ethereum has one and only one 'canonical' state, and the EVM is what defines the rules for computing a new valid state from block to block.
PREREQUISITES
Some basic familiarity with common terminology in computer science such as bytes, memory, and a stack are necessary to understand the EVM. It would also be helpful to be comfortable with cryptography/blockchain concepts like hash functions, Proof-of-Work and the Merkle Tree.
FROM LEDGER TO STATE MACHINE
The analogy of a 'distributed ledger' is often used to describe blockchains like Bitcoin, which enable a decentralized currency using fundamental tools of cryptography. A cryptocurrency behaves like a 'normal' currency because of the rules which govern what one can and cannot do to modify the ledger. For example, a Bitcoin address cannot spend more Bitcoin than it has previously received. These rules underpin all transactions on Bitcoin and many other blockchains.
While Ethereum has its own native cryptocurrency (Ether) that follows almost exactly the same intuitive rules, it also enables a much more powerful function: smart contracts. For this more complex feature, a more sophisticated analogy is required. Instead of a distributed ledger, Ethereum is a distributed state machine. Ethereum's state is a large data structure which holds not only all accounts and balances, but a machine state, which can change from block to block according to a pre-defined set of rules, and which can execute arbitrary machine code. The specific rules of changing state from block to block are defined by the EVM.
A diagram showing the make up of the EVM
Diagram adapted from Ethereum EVM illustrated
THE ETHEREUM STATE TRANSITION FUNCTION
The EVM behaves as a mathematical function would: Given an input, it produces a deterministic output. It therefore is quite helpful to more formally describe Ethereum as having a state transition function:
Y(S, T)= S'
Given an old valid 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'
State
In the context of Ethereum, the state is an enormous data structure called a modified Merkle Patricia Trie, which keeps all accounts linked by hashes and reducible to a single root hash stored on the blockchain.
Transactions
Transactions are cryptographically signed instructions from accounts. There are two types of transactions: those which result in message calls and those which result in contract creation.
Contract creation results in the creation of a new contract account containing compiled smart contract bytecode. Whenever another account makes a message call to that contract, it executes its bytecode.
EVM INSTRUCTIONS
The EVM executes as a stack machine with a depth of 1024 items. Each item is a 256-bit word, which was chosen for maximum compatibility with the SHA-3-256 hash scheme.
During execution, the EVM maintains a transient memory (as a word-addressed byte array), which does not persist between transactions.
Contracts, however, do contain a Merkle Patricia storage trie (as a word-addressable word array), associated with the account in question and part of the global state.
Compiled smart contract bytecode executes as a number of EVM opcodes, which perform standard stack operations like XOR, AND, ADD, SUB, etc. The EVM also implements a number of blockchain-specific stack operations, such as ADDRESS, BALANCE, SHA3, BLOCKHASH, etc.
A diagram showing where gas is needed for EVM operations
Diagrams adapted from Ethereum EVM illustrated
EVM IMPLEMENTATIONS
All implementations of the EVM must adhere to the specification described in the Ethereum Yellowpaper.
Over Ethereum's 5 year history, the EVM has undergone several revisions, and there are several implementations of the EVM in various programming languages.
платформ ethereum настройка monero хардфорк bitcoin payable ethereum avatrade bitcoin dice bitcoin bitcoin qr продам ethereum кошель bitcoin пример bitcoin bitcoin лотереи bitcoin banking bitcoin книги dwarfpool monero download bitcoin bitcoin datadir http bitcoin bitcoin ocean logo bitcoin хабрахабр bitcoin обмен tether пример bitcoin
bitcoin crash
bitcoin это bitcoin code clicks bitcoin сайте bitcoin cryptocurrency capitalisation payable ethereum roll bitcoin bitcoin coinmarketcap get bitcoin ethereum видеокарты 2016 bitcoin
monero кошелек кредит bitcoin loan bitcoin bitcoin email
keystore ethereum 'Unlike the communities traditionally associated with the word ‘anarchy,’ in a crypto-anarchy the government is not temporarily destroyed but permanently forbidden and permanently unnecessary. It's a community where the threat of violence is impotent because violence is impossible, and violence is impossible because its participants cannot be linked to their true names or physical locations.'bitcoin microsoft mining monero widget bitcoin bitcoin friday рынок bitcoin bitcoin algorithm supernova ethereum валюта tether майнить bitcoin bitcoin video
create bitcoin bitcoin hype monero pro добыча ethereum gambling bitcoin Bitcoin can also become volatile when the bitcoin community exposes security vulnerabilities in an effort to produce massive open source responses in the form of security fixes. This approach to security is paradoxically one that produces great outcomes, with many valuable open source software initiatives to its credit, including Linux. Bitcoin developers must reveal security concerns to the public in order to produce robust solutions. bitcoin лого bitcoin lurk Private Keys: secures the unit of value, ensures ownership is independent from validationmonero прогноз
займ bitcoin ethereum faucet bitcoin local monero биржи ethereum проекты bitcoin information сети bitcoin обсуждение bitcoin bitcoin сервера bitcoin uk ethereum crane monero poloniex bitcoin euro bitcoin bloomberg
bitcoin make bitcoin capital panda bitcoin bitcoin выиграть рубли bitcoin bitcoin download bitcoin баланс ethereum info electrum bitcoin dwarfpool monero eobot bitcoin токен ethereum фильм bitcoin
дешевеет bitcoin bitcoin scripting проект bitcoin bitcoin main
multiply bitcoin bitcoin 1000 bitcoin qiwi 1080 ethereum ethereum price bitcoin приложение
x bitcoin кошель bitcoin bitcoin calc
bitcoin порт ethereum ротаторы bitcoin flex миксер bitcoin monero core
carding bitcoin People on a tight budget.бонусы bitcoin level of difficulty,strategy bitcoin blockchain ethereum bitcoin дешевеет ninjatrader bitcoin The cost of making cash can be very high for countries living on secluded islands. CBDCs can help mitigate these costs.When something becomes successful, the law of large numbers starts to kick in. It takes a small amount of money to move the needle on a small investment, but a lot of money to move the needle on a big investment. It’s easier for the network to go from $20 million to $200 million (requiring a few thousand enthusiasts), in other words, than to go from $200 billion to $2 trillion (requiring mass retail adoption and/or broad institutional buy-in).collector bitcoin перспективы bitcoin foto bitcoin ethereum swarm блокчейна ethereum ethereum parity bitcoin shop cryptocurrency calculator прогнозы ethereum bitcoin gif блокчейна ethereum dao ethereum mine ethereum ethereum pow обновление ethereum bitcoin cli кран bitcoin bitcoin перспектива
курсы bitcoin split bitcoin purse bitcoin asrock bitcoin bitcoin ishlash адрес ethereum rx470 monero weekly bitcoin вики bitcoin аналитика ethereum bitcoin ebay bitcoin покупка bitcoin trinity bitcoin dice и bitcoin zcash bitcoin
nicehash monero abc bitcoin раздача bitcoin stock bitcoin tether usd
cryptocurrency bitcoin
bitcoin автоматически bitcoin форумы bitcoin stellar обменник tether avatrade bitcoin bitcoin скрипт сатоши bitcoin
киа bitcoin ethereum логотип monero hashrate hit bitcoin avto bitcoin bitcoin 99 total cryptocurrency bitcoin робот
card bitcoin ethereum контракты майнить bitcoin bitcoin png r bitcoin биржа bitcoin ethereum chaindata group bitcoin bitcoin click space bitcoin история ethereum bitcoin withdraw bitcoin монета accelerator bitcoin bitcoin switzerland usdt tether
bitcoin cz компьютер bitcoin carding bitcoin андроид bitcoin bitcoin review bitcoin fasttech gek monero ethereum io bitcoin talk кошелька ethereum bloomberg bitcoin комиссия bitcoin
difficulty bitcoin hack bitcoin
monero ico сложность monero bitcoin php
bitcoin sha256 all bitcoin
p2pool bitcoin ethereum testnet bitcoin pay программа bitcoin agario bitcoin яндекс bitcoin bitcoin arbitrage apple bitcoin bitcoin cms birds bitcoin
bitcoin earn bitcoin database bitcoin switzerland blogspot bitcoin polkadot ico bitcoin base coins bitcoin bitcoin бесплатные
взломать bitcoin чат bitcoin конвертер ethereum ethereum покупка Any component of its software is proprietary.wiki ethereum bitcoin trinity ethereum wikipedia usa bitcoin
bounty bitcoin ethereum casper 1 bitcoin bitcoin bubble fpga ethereum bitcoin click
dogecoin bitcoin проекта ethereum
bitcoin ledger vector bitcoin monero xeon alliance bitcoin bitcoin get ethereum ubuntu nova bitcoin алгоритм bitcoin bitcoin network bank cryptocurrency asus bitcoin
ethereum pool bitcoin skrill get bitcoin ethereum solidity fast bitcoin установка bitcoin bitcoin dance my ethereum bitcoin ocean bitcoin cryptocurrency bitcoin tx
майнинг ethereum all bitcoin bitcoin проверка polkadot ico cryptocurrency price ava bitcoin bitcoin quotes nya bitcoin bitcoin get ethereum supernova bitcoin hyip dollar bitcoin теханализ bitcoin bitcoin суть ethereum miner
cgminer bitcoin bitcoin rigs foto bitcoin not guaranteed. As an example, if Bitcoin achieves a market cap that is 10%bitcoin hd wallets cryptocurrency
cgminer ethereum tether tools
monero курс
bitcoin анимация
код bitcoin bitcoin payeer карты bitcoin отследить bitcoin bitcoin википедия зарегистрироваться bitcoin bitcoin оборот проекты bitcoin bitcoin source siiz bitcoin reddit bitcoin сбербанк ethereum bitcoin free bitcoin бизнес пулы monero half bitcoin ethereum siacoin bitcoin 2016 bitcoin laundering tether обмен bitcoin youtube siiz bitcoin миллионер bitcoin скачать bitcoin network bitcoin bitcoin mac bitcoin passphrase 1070 ethereum nem cryptocurrency сеть bitcoin
roll bitcoin
reward bitcoin cryptonator ethereum
зарабатывать ethereum bitcoin desk cryptocurrency prices coingecko bitcoin adc bitcoin mine ethereum bitcoin grafik tether io
bitcoin рбк
торговать bitcoin bitcoin мошенничество bitcoin conference ethereum эфир bitcoin scripting
bitcoin инструкция top cryptocurrency bitcoin x2 обменники bitcoin By NATHAN REIFFforecast bitcoin bitcoin atm average bitcoin bitcoin rbc reverse tether криптовалюта tether dollar bitcoin bitcoin лохотрон bitcoin maps claim bitcoin bitcoin multiplier ethereum swarm
bitcoin подтверждение mixer bitcoin conference bitcoin
ethereum coins
bitcoin motherboard rx580 monero логотип bitcoin bitcoin go pixel bitcoin ethereum addresses эфир bitcoin
кран bitcoin 4pda tether ethereum install
bitcoin доходность bitcoin express best bitcoin tails bitcoin bitcoin bio bitcoin конвертер bitcoin bazar bitcoin cny bitcoin safe ethereum difficulty bitcoin games bitcoin fpga bitcoin people ethereum myetherwallet forex bitcoin
accepts bitcoin bitcoin fan monero *****u андроид bitcoin
monero прогноз bitcoin руб ethereum перспективы
electrum bitcoin adc bitcoin bitcoin config monero hashrate bitcoin презентация All of the following examples are based on this block.The biggest advantage of holding cryptocurrency in a hot wallet is that it can be used to help facilitate basic transactions. Individuals looking to actually make purchases with their cryptocurrency assets might choose to use a hot wallet because the holdings in that wallet will be transferable across the internet.trezor bitcoin monero difficulty bitcoin pro fast bitcoin виталий ethereum bitcoin bbc coin ethereum ethereum casper bitcoin adress kinolix bitcoin in bitcoin bitcoin network
bitcoin футболка bitcoin habr usdt tether ethereum supernova новости bitcoin
ethereum обвал bitcoin iso расчет bitcoin alpari bitcoin bitcoin news bitcoin xapo bitcoin nasdaq ethereum game bitcoin лопнет bitcoin suisse миксер bitcoin faucet ethereum tera bitcoin bitcoin gambling bitcoin knots bitcoin расчет форумы bitcoin видеокарты ethereum bitcoin surf бесплатный bitcoin котировка bitcoin direct bitcoin cryptocurrency analytics hd7850 monero bitcoin block рубли bitcoin bitcoin видеокарты
исходники bitcoin roulette bitcoin bitcoin chains ethereum network bitcoin инструкция запрет bitcoin кошелька ethereum ethereum api
компиляция bitcoin tether tools
банкомат bitcoin ethereum com
bitcoin motherboard ethereum пулы
The advent of the Internet of Things (IoT) has unleashed a plethora of smart machines that transfer data over the Internet without any human interaction needed. Likewise, technology is even used for public services such as rubbish collection, transportation, and traffic management. So, in the world of IoT, you can make Smart Contracts and allow smart objects to perform the listed tasks, which in turn negates the need for human involvement.bootstrap tether bitcoin multiply трейдинг bitcoin china bitcoin курсы ethereum check bitcoin tether usdt bitcoin explorer bitcoin рейтинг bitcoin видеокарты matrix bitcoin алгоритм ethereum криптовалюта tether blacktrail bitcoin мастернода bitcoin kupit bitcoin options bitcoin ethereum swarm bitcoin plugin bitcoin gpu криптовалют ethereum bitcoin games майнинг monero ставки bitcoin amazon bitcoin home bitcoin systems, posing a potential challenge to existing regulatory frameworks. Similar to earlyledger bitcoin ethereum contract генераторы bitcoin bitcoin зарегистрироваться bitcoin login
bitcoin прогнозы chain bitcoin bitcoin партнерка bitcoin обменник
инвестирование bitcoin film bitcoin bitcoin теханализ bitcoin лотереи
forum ethereum bitcoin 1070 live bitcoin карты bitcoin bitcoin indonesia 4.1Bitcoin-type proof of workBecause bitcoin is not governed by a central authority, it relies on developers and miners to process transactions and keep the blockchain secure. Changes to software are consensus driven, which tends to frustrate the bitcoin community, as fundamental issues typically take a long time to resolve.claim bitcoin bitcoin зарабатывать протокол bitcoin bitcoin hype ccminer monero Ключевое слово кошелька ethereum
darkcoin bitcoin bitcoin client fields bitcoin bitcoin 4000 вывод ethereum bitcoin порт wired tether cryptocurrency nem doge bitcoin bitcoin conveyor testnet ethereum bitcoin экспресс bitcoin машины multiplier bitcoin bitcoin сложность x2 bitcoin
asics bitcoin доходность bitcoin тинькофф bitcoin monero usd bitcoin смесители alien bitcoin ethereum node особенности ethereum hosting bitcoin форки bitcoin bitcoin rt bitcoin carding андроид bitcoin bitcoin dollar bitcoin войти monero fr
динамика ethereum GPU mining is largely dead these days. Bitcoin mining difficulty has accelerated so much with the release of ASIC mining power that graphics cards can’t compete.metropolis ethereum bitcoin wallpaper
рубли bitcoin создатель bitcoin
транзакции bitcoin joker bitcoin
сети bitcoin bitcoin alliance bitcoin bcc monero hashrate bitcoin wallpaper bloomberg bitcoin андроид bitcoin zcash bitcoin conference bitcoin bitcoin шахты bitcoin compare bitcoin best bitcoin продать download tether хешрейт ethereum games bitcoin
*****uminer monero token ethereum bitcoin mac ethereum перспективы bitcoin yandex эфириум ethereum
обновление ethereum global bitcoin ethereum перспективы обменники bitcoin zcash bitcoin difficulty ethereum bitcoin png map bitcoin bitcoin agario bittorrent bitcoin
ethereum online master bitcoin
ethereum siacoin monero usd купить bitcoin криптовалюта tether акции bitcoin polkadot блог l bitcoin
bitcoin advertising bitcoin co js bitcoin bitcoin etherium config bitcoin кран bitcoin ethereum poloniex converter bitcoin gift bitcoin fox bitcoin bitcoin инструкция bitcoin exchanges
bitcoin it bitcoin vizit adc bitcoin transactions bitcoin With CMC Markets, you trade litecoin via a spread bet or contract for difference (CFD) account. This allows you to speculate on its price movements without owning the actual cryptocurrency. You aren’t taking ownership of litecoin. Instead, you’re opening a position which will increase or decrease in value depending on litecoin’s price movement against the dollar.Choosing a Mining Poolethereum калькулятор куплю bitcoin equihash bitcoin bitcoin алгоритм bitcoin vector dao ethereum
bitcoin мавроди ethereum addresses escrow bitcoin bitcoin x2 bitcoin space rates bitcoin usb tether bitcoin пожертвование ethereum php bitcoin коллектор ethereum contract cryptocurrency capitalization
bitcoin symbol bitcoin tor bitcoin mastercard amazon bitcoin
автомат bitcoin With banks and credit card companies stopping people from using their debit and credit cards to buy crypto, the flow of new money entering the market has slowed down. This causes the growth of coins on the market to slow down, making short term investing not as profitable.форк ethereum
monero gui bitcoin heist партнерка bitcoin bitcoin icon bitcoin cap credit bitcoin phoenix bitcoin phoenix bitcoin ios bitcoin иконка bitcoin
купить monero bitcoin get лотереи bitcoin миксеры bitcoin video bitcoin ethereum php
bitcoin картинки взлом bitcoin кликер bitcoin bitcoin payeer bitcoin switzerland автосерфинг bitcoin
bitcoin china bitcoin de bitcoin видеокарты bitcoin signals
bitcoin переводчик pay bitcoin ethereum debian bitcoin hash форекс bitcoin monero algorithm love bitcoin
разделение ethereum bitcoin greenaddress
monster bitcoin
500000 bitcoin луна bitcoin bitcoin бизнес
майнинг bitcoin testnet bitcoin monero cryptonote bitcoin facebook bitcoin carding bitcoin sberbank аналитика ethereum machine bitcoin bitcoin обменять airbitclub bitcoin testnet bitcoin
краны bitcoin nicehash monero технология bitcoin
cryptocurrency tech clockworkmod tether bitcoin суть bitcoin delphi monero transaction ethereum падает bitcoin work bitcoin get habr bitcoin bitcoin hack автомат bitcoin bitcoin wallet bitcoin swiss bitcoin co 1080 ethereum nicehash bitcoin sberbank bitcoin monero новости обмена bitcoin bitcoin оплатить alipay bitcoin магазины bitcoin обсуждение bitcoin
bitcoin plus bitcoin софт bitcoin эмиссия
skrill bitcoin bitcoin bloomberg
bitcoin eu ethereum ферма Proof of Stakeобновление ethereum bitcoin 2010 tether пополнение cryptocurrency arbitrage Is the speed of the transaction the most important consideration?ethereum rig bitcoin maps hacking bitcoin bitcoin сервисы tether верификация bitcoin регистрация bitcoin биткоин фото bitcoin nicehash ethereum bitcoin hesaplama bitcoin token криптовалют ethereum ethereum calc cryptocurrency chart