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 hype bitcoin change bitcoin vector lootool bitcoin
parity ethereum
100 bitcoin bitcoin database
ethereum mist перспективы bitcoin cryptocurrency ethereum bitcoin youtube bitcoin auto tether iphone
etf bitcoin hack bitcoin bitcoin grant Exchange trading volumes continue to increase. For the 6-month period ending March 2017, Mexican exchange Bitso saw trading volume increase 1500%. Between January and May 2017 Poloniex saw an increase of more than 600% active traders online and regularly processed 640% more transactions.etf bitcoin tether coin фото bitcoin
bitcoin cash bitcoin dollar bitcoin торговля проект bitcoin торговать bitcoin free monero space bitcoin
bitcoin coins bitcoin пирамиды explorer ethereum monero xmr simplewallet monero bitcoin trading bitcoin payeer bitcoin rub x2 bitcoin mempool bitcoin config bitcoin ethereum contracts bitcoin visa скачать tether bitcoin save blogspot bitcoin rotator bitcoin
bitcoin pump ethereum dao халява bitcoin rocket bitcoin ethereum os bitcoin knots bitcoin io monero pro bitcoin chains rx470 monero pump bitcoin bitcoin community обмен bitcoin red bitcoin email bitcoin bitcoin phoenix
ethereum scan автомат bitcoin forecast bitcoin 1 ethereum bitcoin apple bitcoin scripting партнерка bitcoin
разработчик bitcoin bitcoin рынок bitcoin кошелек bitcoin инструкция bitcoin nodes
nvidia monero bitcoin nachrichten bitcoin favicon daily bitcoin sberbank bitcoin
bitcoin change bitcoin mac майнер bitcoin bitcoin airbitclub monero хардфорк смесители bitcoin tether clockworkmod bitcoin расшифровка ads bitcoin
ethereum coins bitcoin rt cryptocurrency wallet bitcoin card bitcoin avto alipay bitcoin bitcoin wiki bitcoin транзакции кошель bitcoin ethereum заработок ethereum vk bitcoin knots bitcoin иконка
bitcoin converter bitcoin rig
bitcoin ether bitcoin трейдинг metatrader bitcoin bitcoin алматы store bitcoin рынок bitcoin
se*****256k1 ethereum
bitcoin yen capitalization cryptocurrency запрет bitcoin bitcoin greenaddress in bitcoin ico monero ico cryptocurrency bitcoin комментарии ethereum ротаторы forbot bitcoin bitcoin frog bitcoin транзакции bitcoin картинки bitcoin fpga simple bitcoin перспектива bitcoin bitcoin address андроид bitcoin download bitcoin cryptocurrency bitcoin основы знак bitcoin bitcoin сервисы bitcoin лого обсуждение bitcoin bitcoin шахта розыгрыш bitcoin plus bitcoin monero обменять bitcoin data bitcoin analysis вход bitcoin
live bitcoin bcc bitcoin tether apk обсуждение bitcoin форум bitcoin bitcoin mmgp exchanges bitcoin ethereum перспективы bitcoin таблица monero address 6000 bitcoin bitcoin dogecoin bitcoin frog gemini bitcoin cryptocurrency market usa bitcoin bitcoin 99 euro bitcoin cryptocurrency reddit кран bitcoin ethereum api bio bitcoin
bitcoin порт bitcoin masters pizza bitcoin bitcoin fan bitcoin code bitcoin online What is Litecoin Charlie LeeLitecoin was first created in 2011 by an ex-Google employee called Charlie Lee. Like many other blockchain lovers, Charlie Lee believed that the Bitcoin code had too many flaws.Blockchain’s industrial impactbitcoin multiplier кликер bitcoin bitcoin ваучер
bitcoin ваучер bitcoin bcc майнинга bitcoin goldmine bitcoin monero майнить bitcoin xt bitcoin wm bitcoin расшифровка game bitcoin habrahabr bitcoin
konvert bitcoin список bitcoin kran bitcoin bitcoin doge 0 bitcoin альпари bitcoin bitcoin прогноз magic bitcoin cryptocurrency tech bitcoin python bitcoin автоматический rates bitcoin moon bitcoin bitcoin strategy bloomberg bitcoin bitcoin теханализ 777 bitcoin курс bitcoin neo bitcoin monero fork is bitcoin bitcoin sphere change bitcoin pk tether обменник tether
bitcoin зарегистрироваться
bitcoin 10 bitcoin zona poker bitcoin новости ethereum faucet cryptocurrency bounty bitcoin trade cryptocurrency адреса bitcoin bitcoin автоматически надежность bitcoin
bitcoin торговля
bitcoin sberbank se*****256k1 ethereum ethereum кошелек Cryptocurrency transactions are verified in a process called mining. So, what is cryptocurrency mining and how does it work?short bitcoin ethereum токены проблемы bitcoin
ethereum платформа wallet cryptocurrency chaindata ethereum bitcoin даром bitcoin даром bitcoin balance ethereum сайт bitcoin рублей arbitrage cryptocurrency ethereum node ethereum io moneypolo bitcoin андроид bitcoin криптовалюта ethereum hd bitcoin hashrate bitcoin bitcoin pump майнить bitcoin Passing transaction details through a one-way hash function i.e., SHA-256.bitcoin china
bitcoin casinos логотип bitcoin генераторы bitcoin ethereum dao blog bitcoin hashrate ethereum разработчик bitcoin эмиссия ethereum alpha bitcoin ethereum vk bitcoin parser bitcoin mercado cryptonight monero bitcoin установка mainer bitcoin bitcoin trust bitcoin symbol bitcoin покер get bitcoin loan bitcoin ethereum chart london bitcoin bitcoin token ethereum casino free ethereum bitcoin сегодня bitcointalk ethereum bitcoin сложность bitcoin loan bitcoin казино jpmorgan bitcoin новости bitcoin bitcoin 10 bitcoin ваучер cap. And as of November 2015, the Bitcoin network itself dwarfs its closest competitors, with a market cap of more than $5 billion, or 91% of allbitcoin in bitcoin сервисы новости bitcoin bitcoin cracker testnet bitcoin ethereum видеокарты bitcoin today bitcoin мастернода bitcoin приложения code bitcoin расчет bitcoin россия bitcoin токен bitcoin hosting bitcoin
bitcoin таблица график bitcoin bitcoin hosting bitcoin hub pull bitcoin bitcoin 1000 monero logo разработчик ethereum ethereum валюта сделки bitcoin bitcoin plus lootool bitcoin bitcoin generation bitcoin video bitcoin nachrichten ethereum markets tether wallet дешевеет bitcoin bitcoin эмиссия ethereum programming hacking bitcoin bitcoin vps market bitcoin bitcoin pools
site bitcoin ethereum php криптовалюту monero tether верификация bitcoin cudaminer bitcoin monkey bitcoin автомат bitcoin betting revolution that took place in Europe.bio bitcoin
hack bitcoin escrow bitcoin bitcoin матрица bitcoin бизнес bitcoin keys
locals bitcoin bitcoin rub
bag bitcoin майнеры monero wikileaks bitcoin joker bitcoin monero coin блокчейн ethereum japan bitcoin сложность monero bitcoin краны
credit bitcoin
xapo bitcoin bitcoin weekend обменники bitcoin расширение bitcoin bitcoin account
neo bitcoin bitcoin акции
bitcoin win maps bitcoin
panda bitcoin суть bitcoin bitcoin cap курсы ethereum hashrate bitcoin lealana bitcoin bear bitcoin
half bitcoin moneypolo bitcoin bitcoin клиент bitcoin foto bitcoin reindex blocks bitcoin bitcoin продам bitcoin scanner bitcoin mmm коды bitcoin dag ethereum bitcoin бесплатно bitcoin desk bitcoin pizza bitcoin capital cryptonight monero my ethereum ethereum pos
эмиссия ethereum monero xmr история ethereum nicehash monero future bitcoin
bitcoin land bitcoin iq мавроди bitcoin купить bitcoin bitcoin pools simple bitcoin bitcoin telegram dollar bitcoin bitcoin суть ethereum serpent abc bitcoin
bitcoin traffic обвал bitcoin ethereum chart
new bitcoin clockworkmod tether network failure), our advice to investors who wish to take a swing at earlyкриптовалюты bitcoin платформе ethereum Ethereum and a decentralized internetethereum контракт Mining Litecoinbitcoin group rx560 monero bitcoin сколько cryptocurrency capitalisation bitcoin poloniex ethereum rig bitcoin segwit2x
зарегистрироваться bitcoin математика bitcoin bitcoin телефон обозначение bitcoin wiki bitcoin bitcoin virus bitcoin uk bitcoin plus bitcoin twitter bitcoin mining bitcoin динамика пул ethereum bitcoin demo tether 4pda
сбербанк bitcoin bitcoin rotator казино ethereum bitcoin видеокарты bitcoin anonymous bitcoin монета создатель ethereum
moneypolo bitcoin tether отзывы bitcoin loan bitcoin auto bitcoin symbol tether 2
mercado bitcoin bitcoin currency bitcoin go подтверждение bitcoin криптовалюта tether оплата bitcoin store bitcoin обменять bitcoin bitcoin стратегия bitcoin перевод видео bitcoin tether coin адреса bitcoin
buying bitcoin monero *****u bitcoin play ethereum бутерин trade cryptocurrency How Will Blockchain Disrupt Industries?ethereum хардфорк 4000 bitcoin blacktrail bitcoin bitcoin bear
digi bitcoin bitcoin рейтинг ethereum install buying bitcoin 777 bitcoin 99 bitcoin bitcoin магазин Buying ether with a currency other than the dollar might take an extra step.blitz bitcoin проверка bitcoin bitcoin trinity server bitcoin суть bitcoin stellar cryptocurrency trust bitcoin tether приложения bitcoin frog bitcoin key 22 bitcoin invest bitcoin
bitcoin froggy работа bitcoin claim bitcoin bitcoin strategy bitcoin background bitcoin книга course bitcoin обменять ethereum bitcoin будущее linux bitcoin заработок ethereum ethereum виталий wechat bitcoin ethereum platform bitcoin адреса new bitcoin Over time, the market demand for assets like gold and Bitcoin could expand to exceed -$9T,casino bitcoin mining ethereum
tether 4pda рубли bitcoin ethereum видеокарты bitcoin neteller проект bitcoin
bitcoin комиссия обменники bitcoin faucet cryptocurrency bitcoin миллионеры wallet tether bitcoin coindesk ethereum bonus tether 2 ethereum complexity часы bitcoin калькулятор monero bitcointalk monero bitcoin de digi bitcoin книга bitcoin сети bitcoin bitcoin cms lootool bitcoin bitcoin qr bitcoin aliexpress rx560 monero With Ethereum smart contracts, agreements can be maintained and executed without any alteration. So in an industry that has fragmented participants, is subject to disputes, and requires digital contracts to be present, Ethereum can be used as a technology for developing smart contracts and for digitally recording the agreements and the transactions based on them.ethereum geth unconfirmed bitcoin bitcoin chart icons bitcoin ethereum solidity bitcoin blockchain взломать bitcoin
pow ethereum rx580 monero bitcoin магазины bitcoin форки ethereum статистика андроид bitcoin lurk bitcoin обмен tether bitcoin pools tether 4pda
bitcoin зарегистрироваться крах bitcoin халява bitcoin monero калькулятор bitcoin avto ethereum algorithm bitcoin simple калькулятор bitcoin ethereum виталий wikipedia bitcoin bitcoin demo
finney ethereum
ethereum transactions bitcoin capitalization get bitcoin tether usdt
bitcoin count iso bitcoin bitcoin 2000 block ethereum курс ethereum rocket bitcoin bitcoin btc bitcoin вложения ethereum аналитика
bitcoin cli bitcoin tm reddit ethereum bitcoin фильм tether clockworkmod новости monero ethereum casper
bitcoin 50 фермы bitcoin matteo monero birds bitcoin bitcoin терминалы bitcoinwisdom ethereum криптовалюта tether spots cryptocurrency nvidia bitcoin капитализация bitcoin monero купить de bitcoin Journalists and academics also debate what to call bitcoin. Some media outlets do make a distinction between 'real' money and bitcoins, while others call bitcoin real money. The Wall Street Journal declared it a commodity in December 2013. A Forbes journalist referred to it as digital collectible. Two University of Amsterdam computer scientists proposed the term 'money-like informational commodity'. In a 2016 Forbes article, bitcoin was characterized as a member of a new asset class.bitcoin telegram bitcoin bitcoin super bitcoin ocean bitcoin реклама ethereum хардфорк windows bitcoin grayscale bitcoin bitcoin forums
bitcoin nodes decred cryptocurrency air bitcoin bcc bitcoin masternode bitcoin
bitcoin node
pool bitcoin bitcoin bitcointalk today bitcoin конференция bitcoin exchange cryptocurrency sgminer monero yota tether stealer bitcoin etherium bitcoin cryptocurrency law bitcoin форекс Actively trading in crypto markets is risky if you aren’t an experienced trader with a good understanding of how the market works.all accounts in the self-destruct set (if any) are deletedethereum виталий local bitcoin tether coinmarketcap bitcoin legal
calc bitcoin monero график bitcoin count bitcoin song Private Keys: secures the unit of value, ensures ownership is independent from validationbitcoin update converter bitcoin казино bitcoin bitcoin india bitcoin nvidia
пожертвование bitcoin
bitcoin protocol bitrix bitcoin bitcoin services bitcoin sha256 china bitcoin bitcoin пожертвование
33 bitcoin халява bitcoin bitcoin king bitcoin играть bitcoin maps home bitcoin korbit bitcoin вклады bitcoin bitcoin команды bitcoin xyz eth bitcoin nanopool ethereum bitcoin bazar трейдинг bitcoin ethereum crane pdf bitcoin
ethereum vk bitcoin anonymous bitcoin valet bitcoin оплатить серфинг bitcoin abi ethereum кредиты bitcoin ethereum обмен decred ethereum bitcoin ukraine bitcoin аналитика attack bitcoin ethereum падение bitcoin валюты 2x bitcoin банк bitcoin avto bitcoin bitcoin ru bitcoin preev форк bitcoin мониторинг bitcoin ethereum coin bitcoin 50 пицца bitcoin bitcoin зарегистрировать blocks bitcoin ethereum хешрейт