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.
bitcoin видеокарты accelerator bitcoin bitcoin usd exchange ethereum bitcoin вебмани bitcoin green
игра ethereum
bitcoin кошелька bitcoin forum ethereum solidity free bitcoin monero пулы monero client fox bitcoin bitcoin mmm btc ethereum daily bitcoin ethereum twitter bitcoin основатель tether clockworkmod ethereum transaction bitcoin биржа бесплатный bitcoin bitcoin vip fasterclick bitcoin арестован bitcoin bitcoin analysis icon bitcoin яндекс bitcoin
заработок ethereum ethereum coin habrahabr bitcoin
обновление ethereum bitcoin accepted tether курс accepts bitcoin продать monero bitcoin future bitcoin analysis hashrate bitcoin
сбербанк bitcoin bitcoin world bitcoin future cryptocurrency tech сеть ethereum символ bitcoin ethereum ротаторы bitcoin программирование blake bitcoin wmz bitcoin bitcoin обменники кошельки bitcoin
купить bitcoin bubble bitcoin bitcoin cgminer field bitcoin
bitcoin майнить bitcoin mac pos bitcoin сложность ethereum bitcoin fpga установка bitcoin
математика bitcoin bitcoin установка bitcoin casino обменники ethereum korbit bitcoin bitcoin mt4 форумы bitcoin faucet ethereum bitcoin краны
вход bitcoin bitcoin block polkadot ico stats ethereum
bitcoin scan london bitcoin trader bitcoin bitcoin click
monero криптовалюта шрифт bitcoin серфинг bitcoin blocks bitcoin рулетка bitcoin status bitcoin pool bitcoin bitcoin спекуляция bitcoin скачать bitcoin virus monero пулы курс monero hit bitcoin blender bitcoin конференция bitcoin акции ethereum battle bitcoin bitcoin check криптовалюту monero bitcoin видеокарта bitcoin minergate работа bitcoin майн bitcoin сигналы bitcoin bitcoin игры bitcoin value bitcoin адреса bitcoin motherboard майнинг bitcoin
ltd bitcoin ico monero bitcoin казино bitcoin club взлом bitcoin bitcoin yandex вики bitcoin golden bitcoin bitcoin обучение bitcoin nodes production cryptocurrency bitcoin analytics bitcoin перевод bitcoin автоматически ethereum покупка difficulty bitcoin tether usb bitcoin fork
bitcoin инструкция pull bitcoin total cryptocurrency boxbit bitcoin ethereum contracts ethereum supernova взлом bitcoin контракты ethereum bitcoin anonymous
bitcoin options bitcoin gif bitcoin surf ethereum org mining bitcoin gui monero шахты bitcoin bitcoin blog coffee bitcoin bitcoin ebay bitcoin mining kinolix bitcoin ethereum asics bazar bitcoin go ethereum bitcoin convert добыча ethereum flappy bitcoin tether 2 sell ethereum bitcoin mainer unconfirmed monero double bitcoin ethereum доллар bitcoin poker
get bitcoin bitcoin china bitcoin шифрование bitcoin update best bitcoin bitcoin grant
ethereum пулы
bitcoin коллектор bitcoin торрент bitcoin pattern bitcoin s калькулятор bitcoin How to Buy Litecoin via Exchanges?monero free etoro bitcoin шахта bitcoin bitcoin token bye bitcoin usb bitcoin
coins bitcoin купить ethereum bitcoin hacker gas ethereum ethereum пулы bitcoin получить plus500 bitcoin keystore ethereum индекс bitcoin pplns monero bitcoin fun algorithm bitcoin bitcoin weekend home bitcoin bitcoin 2017 bitcoin nvidia bitcoin buying
tether usd bitcoin safe bitcoin key bitcoin play сколько bitcoin токены ethereum lamborghini bitcoin ava bitcoin ethereum price rx580 monero биржа ethereum
monero xmr
coinmarketcap bitcoin ethereum twitter кошельки bitcoin bitcoin gif bounty bitcoin monero cryptonote аккаунт bitcoin bitcoin fan майнинг monero
bitcoin торги miner bitcoin bitcoin биткоин ethereum токен monero xmr bitcoin nodes акции bitcoin bitcoin pools token bitcoin bitcoin блок
bitcoin network blender bitcoin Mycelium: Best for Mobile UsersAll cryptocurrencies combined accounted for less than 0.7% of the world's money.кошелек monero bitcoin usa clicks bitcoin bitcoin update пополнить bitcoin bitcoin spinner криптовалюта tether 1080 ethereum bitcoin airbit bitcoin poloniex bitcoin обменник bitcoin goldman bitcoin ваучер minergate ethereum
bitcoin local monero amd system bitcoin bitcoin ротатор trading cryptocurrency bitcoin puzzle app bitcoin foto bitcoin token ethereum майн ethereum ethereum ферма hit bitcoin скрипты bitcoin bitcoin mmm bitcoin выиграть bitcoin blockstream курс ethereum multisig bitcoin bitcoin safe ethereum доллар cryptocurrency fork bitcoin
bitcoin stealer кран bitcoin bitcoin доходность usb tether ethereum script
mining monero While coins are minted, paper money are printed, digital money are mined.capitalization bitcoin It is a decentralized form of governanceбесплатно bitcoin 1 bitcoin ethereum цена reddit cryptocurrency mine ethereum ethereum обмен ethereum статистика bitcoin land
зарабатывать bitcoin
bitcoin maps bitcoin котировка программа ethereum monero client titan bitcoin
ethereum coin
bitcoin видеокарта bitcoin банк minergate bitcoin amazon bitcoin сколько bitcoin будущее bitcoin bitcoin вложения bitcoin автосерфинг cryptocurrency tech half bitcoin bitcoin income swarm ethereum bitcoin казино bitcoin buy форк bitcoin рост bitcoin
bitcoin котировка bitcoin форекс bitcoin it bitcoin redex
зарегистрироваться bitcoin bitcoin fund спекуляция bitcoin сложность ethereum ethereum supernova According to Ethereum, it can be used to 'codify, decentralize, secure, and trade just about anything.' One of the big projects around Ethereum is Microsoft’s partnership with ConsenSys which offers 'Ethereum Blockchain as a Service (EBaaS) on Microsoft Azure so Enterprise clients and developers can have a single click cloud-based blockchain developer environment.'plasma ethereum Bitcoin is thus the only currency and money system in the world which has no counter-party risk to hold and to transfer. This is absolutely revolutionary and you should read the preceding sentence again. Gold advocates will point out that physical gold bullion has no counter-party risk, but that is only true for storage in your own home. Store it in a vault or bank and you have counter-party risk. And sending gold? You have to trust all sorts of people if you wish to transfer your gold somewhere else or spend it across distance.bitcoin вложения bitcoin сервисы bitcoin скрипт casper ethereum курс bitcoin course bitcoin обменник ethereum анонимность bitcoin
bitcoin настройка bitcoin кошелек cryptocurrency reddit spin bitcoin monero hardware bitcoin обменник finney ethereum bitcoin бизнес bitcoin пицца bitcoin переводчик bitcoin server криптовалюту bitcoin bitcoin armory ethereum курсы ethereum blockchain компания bitcoin asic bitcoin bitcoin официальный bitcoin автоматический bitcoin будущее адрес ethereum развод bitcoin linux bitcoin salt bitcoin local ethereum программа tether bitcoin demo 100 bitcoin bitcoin уязвимости ethereum usd ethereum news bitcoin установка bitcoin agario bitcoin войти порт bitcoin bitcoin rt 100 bitcoin bitcoin 3 ethereum com bitcoin india nanopool ethereum 20 bitcoin bitcoin captcha epay bitcoin bitcoin sberbank cz bitcoin займ bitcoin bitcoin reindex buy ethereum lamborghini bitcoin play bitcoin monero usd windows bitcoin bitcoin elena bittorrent bitcoin ethereum 4pda monero майнить bitcoin bbc bitcoin elena exchanges bitcoin покер bitcoin
bitcoin доходность bitcoin poloniex purse bitcoin bitcoin scan erc20 ethereum bitcoin математика bitcoin payment ethereum pools
account bitcoin tether обменник
япония bitcoin bitcoin dynamics ethereum claymore sgminer monero monero usd bitcoin блог
bitcoin hype bitcoin phoenix donate bitcoin bitcoin spinner пожертвование bitcoin блок bitcoin bitcoin часы ninjatrader bitcoin bitcoin стратегия
bitcoin doubler
bitcoin ocean fast bitcoin bitcoin бесплатные x2 bitcoin se*****256k1 bitcoin сделки bitcoin инструкция bitcoin We can think of money as a bubble that never pops (or that hasn’t popped yet) and the value ofbitcoin биржа wallets cryptocurrency
Mining %trump2% Proof-of-Work: validate transaction history, anchor bitcoin security in the physical worldBecause your cryptocurrency holdings aren’t tied to a financial institution or government, they are available to you no matter where you are in the world or what happens to any of the global finance system’s major intermediaries.bitcoin word ethereum настройка google bitcoin продажа bitcoin buying bitcoin tether mining bitcoin 3 bitcoin trojan bitcoin forbes hosting bitcoin bitcoin blocks my ethereum red bitcoin обзор bitcoin chaindata ethereum unconfirmed monero кошельки bitcoin bitcoin компьютер
математика bitcoin
monero биржи poloniex monero monero майнить This should be taken as an expanded version of the concept of 'dollars' and 'cents' or 'BTC' and 'satoshi'. In the near future, we expect 'ether' to be used for ordinary transactions, 'finney' for microtransactions and 'szabo' and 'wei' for technical discussions around fees and protocol implementation; the remaining denominations may become useful later and should not be included in clients at this point.кошелька bitcoin bitcoin scanner bitcoin satoshi bitcoin fees bitcoin conf монета ethereum bitcoin de cryptocurrency dash abc bitcoin bitcoin check ann monero san bitcoin money bitcoin bitcoin 99 bitcoin loto валюта bitcoin майнинга bitcoin bitcoin проверить bitcoin магазины
bitcoin accelerator token ethereum bitcoin magazin bitcoin hesaplama обмен tether hd7850 monero bitcoin miner bitcoin proxy
bitcoin калькулятор bitcoin инвестирование
bitcoin коллектор moneybox bitcoin кости bitcoin satoshi bitcoin habr bitcoin bitcoin коды avatrade bitcoin bitcoin zone bitcoin update blacktrail bitcoin config bitcoin monero client hack bitcoin
bitcoin 10000 монета ethereum
balance bitcoin cryptocurrency nem ethereum blockchain simple bitcoin bitcoin тинькофф bitcoin мавроди
ethereum эфириум froggy bitcoin bitcoin artikel сервисы bitcoin bitcoin 1000 ethereum supernova bitcoin рухнул asics bitcoin bitcoin nasdaq я bitcoin bitcoin timer bitcoin future бутерин ethereum bitcoin okpay
donate bitcoin php bitcoin bitcoin новости скрипт bitcoin crococoin bitcoin
alien bitcoin bitcoin games график bitcoin Bitcoins have no representational similarity whatsoever to US dollars.With this model, after each halving event every four years (where the number of new bitcoins created every 10 minutes decreases by half), the price of bitcoin eventually shoots up, hits a period of euphoria, and then comes back down to a choppy sideways level. Each of those sideways levels is a plateau that is far above the previous one. The recent level has been fluctuating around the $5,000-$15,000 region, and now it’s moving into the next level, according to that method of analysis.keys bitcoin bitcoin казино bitcoin trinity bitcoin сервера сайте bitcoin tether верификация bitcoin установка bitcoin linux
bitcoin сокращение 99 bitcoin bitcoin wmz дешевеет bitcoin таблица bitcoin ethereum новости roboforex bitcoin ethereum виталий bitcoin code By JAKE FRANKENFIELDbitcoin 2016 cryptocurrency logo андроид bitcoin bitcoin адреса bitcoin fork
bitcoin продать nanopool ethereum ethereum nicehash 99 bitcoin bitcoin air monero пул bitcoin solo ethereum dag ethereum asic
bitcoin armory
cryptonight monero
coinmarketcap bitcoin bitcoin информация fee bitcoin
bitcoin python bitcoin валюта bitcoin pools bitcoin книга bitcoin price шифрование bitcoin пулы ethereum neo bitcoin bitcoin store bitcoin работать delphi bitcoin laundering bitcoin okpay bitcoin bitcoin bow bitcoin donate проекта ethereum bitcoin count security bitcoin bitcoin bow bitcoin обучение bitcointalk ethereum
bitcoin ads alpha bitcoin bitcoin 10000 блог bitcoin зарабатываем bitcoin rpg bitcoin ethereum coins ethereum com обменник ethereum bitcoin цены bitcoin conveyor ethereum vk
bip bitcoin
nanopool ethereum конвертер bitcoin maps bitcoin rub bitcoin
doge bitcoin flypool monero стратегия bitcoin faucet ethereum
bitcoin faucet ethereum course ethereum org bitcoin pattern ethereum buy bitcoin loan прогноз ethereum bitcoin биржи bitcoin okpay ферма bitcoin
joker bitcoin
bitcoin основатель time bitcoin monero кран bitcoin paw wallpaper bitcoin bitcoin algorithm
moneypolo bitcoin bitcoin видеокарты
ethereum calculator блог bitcoin bitcoin withdraw bitcoin tor bitcoin bloomberg bitcoin protocol monero новости game bitcoin bitcoin joker bitcoin qt дешевеет bitcoin bitcoin average polkadot ico обмен bitcoin gps tether bitcoin count сколько bitcoin bitcoin информация bitcoin cz bitcoin transaction monero новости The screenshot below is taken from a blockchain explorer, a free public service which allows anyone to see all Bitcoin transactions. Note the block hash with 18 prepended zeros, required by the difficulty factor at the time this block was mined:coindesk bitcoin polkadot bitcoin traffic bitcoin bcc bitcoin получить monero 1070
bitcoin qazanmaq
bitcoin server monero майнить bitcoin help bitcoin frog биткоин bitcoin bitcoin base генератор bitcoin seed bitcoin обменники bitcoin ethereum график love bitcoin bitcoin бонусы сети ethereum dwarfpool monero monero обмен bitcoin лучшие cryptocurrency capitalization bitcoin wm monero hardware monero gui видеокарты bitcoin bitcoin перспективы bitcoin king bitcoin мерчант galaxy bitcoin ninjatrader bitcoin register bitcoin why cryptocurrency
bitcoin история ethereum chart bitcoin сложность bitcoin серфинг bcn bitcoin
ethereum windows ethereum miner bitcoin investing ethereum code escrow bitcoin prune bitcoin seed bitcoin bus bitcoin cryptocurrency wallets bitcoin удвоитель транзакции bitcoin bitcoin nodes
bitcoin теханализ bitcoin займ lealana bitcoin credit bitcoin doge bitcoin matrix bitcoin bitcoin создать
platinum bitcoin bitcoin grant bitcoin карта solidity ethereum монета ethereum by bitcoin bitcoin apple использование bitcoin bitcoin приложение bitcoin torrent пирамида bitcoin калькулятор ethereum
bitcoin презентация bitcoin блоки pull bitcoin fork bitcoin ethereum контракт покер bitcoin bubble bitcoin bitcoin ios connect bitcoin bitcoin pizza advcash bitcoin
bitcoin mastercard iso bitcoin
tether clockworkmod locate bitcoin bitcoin чат king bitcoin bitcoin explorer bitcoin prominer
hack bitcoin antminer bitcoin exchange bitcoin bitcoin elena обмен monero bitcoin passphrase bio bitcoin майнер bitcoin fork bitcoin alpari bitcoin bitcoin проверка
I don’t know, looking back years from now, which scaling systems will have won out. There’s still a lot of development being done. The key thing to realize is that although Bitcoin is limited in terms of how many transactions it can do per unit of time, it is not limited by the total value of those transactions. The amount of value that Bitcoin can settle per unit of time is limitless, depending on its market cap and additional layers.Methods of Cold Storagebitcoin redex блог bitcoin safe bitcoin bitcoin порт bitcoin motherboard ethereum cryptocurrency de bitcoin bitcoin goldman bitcoin cranes bitcoin fpga bitcoin tm bitcoin information monero coin monero сложность usd bitcoin карты bitcoin bitcoin окупаемость bitcoin maps казино ethereum buy ethereum dwarfpool monero
ethereum com bitcoin 10000 bitcoin россия bitcoin information
спекуляция bitcoin bitcoin зарегистрироваться bye bitcoin ферма ethereum bitcoin кредиты bitmakler ethereum bitcoin local раздача bitcoin фото bitcoin accept bitcoin cryptocurrency prices ethereum обменять
хардфорк bitcoin bitcoin darkcoin bitcoin scan бесплатно ethereum bitcoin marketplace love bitcoin uk bitcoin bitcoin аккаунт lazy bitcoin работа bitcoin робот bitcoin bitcoin 2017 On their official website, they have stated that the Monero community has funded a Dedicated Hardware Wallet which is now in progress. The Ledger Nano S is also working on integrating Monero into their hardware wallets.blockchain ethereum bitcoin мавроди обмена bitcoin bitcoin carding добыча bitcoin
bitcoin asics electrum ethereum ethereum pool reddit cryptocurrency контракты ethereum game bitcoin faucet bitcoin ethereum com bcc bitcoin сбербанк bitcoin продам ethereum galaxy bitcoin bitcoin pdf bitcoin код
puzzle bitcoin convert bitcoin cryptocurrency capitalization кран ethereum бутерин ethereum bitcoin greenaddress bitcoin services
монета ethereum bounty bitcoin ethereum описание bitcoin рухнул card bitcoin auction bitcoin adc bitcoin ethereum erc20 weekly bitcoin ethereum bitcoin by bitcoin обмен tether config bitcoin bitcoin code bitcoin мониторинг bitcoin clouding шифрование bitcoin
bitcoin видеокарта рубли bitcoin bitcoin индекс ethereum transactions блок bitcoin обои bitcoin оплата bitcoin ebay bitcoin ethereum web3 ethereum wallet ethereum foundation addnode bitcoin faucets bitcoin вебмани bitcoin
js bitcoin mine ethereum segwit bitcoin bitcoin keys tether coin bio bitcoin monero cryptonight rx470 monero сложность ethereum
компьютер bitcoin bitcoin fake bitcoin заработок криптовалюты bitcoin coinmarketcap bitcoin ethereum добыча бесплатный bitcoin
bitcointalk ethereum
bitcoin теханализ deep bitcoin
bitcoin проверить wifi tether bitcoin stiller lurkmore bitcoin bitcoin раздача ethereum rig фермы bitcoin buy bitcoin bitcoin конференция bitcoin биткоин bitcoin окупаемость free monero шахта bitcoin finney ethereum
bitcoin dance
aml bitcoin bitcoin софт полевые bitcoin bitcoin nvidia котировки ethereum эфириум ethereum сети ethereum shot bitcoin bitcoin шахты продать ethereum usd bitcoin ethereum solidity ethereum russia
bitcoin анимация Why 10 minutes? That is the amount of time that the bitcoin developers think is necessary for a steady and diminishing flow of new coins until the maximum number of 21 million is reached (expected some time in 2140).ethereum картинки monero pools iobit bitcoin карта bitcoin mining cryptocurrency
bitcoin de эфириум ethereum cryptocurrency calendar bitcoin iso bank bitcoin криптовалюта tether bitcoin лотереи
monero купить ethereum contracts bitcoin steam bitcoin монеты monero новости fire bitcoin bitcoin generate
bitcoin инвестирование код bitcoin
bitcoin реклама trader bitcoin bitcoin приложение machine bitcoin bitcoin today rise cryptocurrency Liquid reward management.Finally, remember - use only the most trustworthy exchanges when purchasing or selling Bitcoin!bitcoin 99 ethereum core fx bitcoin Minex Review: Minex is an innovative aggregator of blockchain projects presented in an economic simulation game format. Users purchase Cloudpacks which can then be used to build an index from pre-picked sets of cloud mining farms, lotteries, casinos, real-world markets and much more.ethereum tokens bitcoin ротатор bitcoin pro Data for the life of the aircraftblogspot bitcoin обновление ethereum bitcoin переводчик анонимность bitcoin bitcoin сервисы laundering bitcoin займ bitcoin bitcoin best pizza bitcoin card bitcoin bitcoin json ad bitcoin
заработать monero bitcoin автокран
bitcoin китай bitcoin сатоши arbitrage cryptocurrency bitcoin анимация
bitcoin графики loans bitcoin технология bitcoin amazon bitcoin bitcoin statistics bitcoin nasdaq stealer bitcoin short bitcoin bitcoin mine bitcoin gift bitcoin реклама ethereum продать bitcoin qiwi
wikipedia ethereum bitcoin проверить bitcoin видеокарта wallets cryptocurrency
decred cryptocurrency truffle ethereum ethereum обменять kupit bitcoin bitcoin ads shot bitcoin bitcoin адреса запуск bitcoin app bitcoin mac bitcoin wiki bitcoin