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.
keystore ethereum
little bitcoin usb tether
bitcoin linux litecoin bitcoin bitcoin monkey tp tether ethereum calculator bitcoin 2017 bitcoin options bitcoin game цены bitcoin bitcoin net
bitcoin keys escrow bitcoin instant bitcoin ethereum покупка bitcoin вконтакте вывести bitcoin bitcoin genesis ethereum pool bitcoin office раздача bitcoin monero пул ethereum swarm ethereum siacoin monero *****u ethereum install падение ethereum blake bitcoin курс bitcoin bitcoin значок bitcoin graph bitcoin rub bitcoin weekly keepkey bitcoin circle bitcoin withdraw bitcoin bitcoin motherboard ethereum акции twitter bitcoin bitcoin fees ethereum хардфорк bitcoin руб se*****256k1 bitcoin автосборщик bitcoin
новости bitcoin mixer bitcoin bitcoin вектор боты bitcoin electrum bitcoin blogspot bitcoin bonus bitcoin • Bitcoin has very low counterparty risk: you don’t have to trust anyone to hold your bitcoins for you, and every transaction is validatedbitcoin иконка
bitcoin spin node bitcoin bitcoin cfd bitcoin node metropolis ethereum bitcoin комиссия bitcoin poker bitcoin lucky покер bitcoin цена ethereum
bitcoin кошелька платформ ethereum зарабатывать bitcoin ethereum github bitcoin сети торги bitcoin
vector bitcoin dollar bitcoin escrow bitcoin bitcoin безопасность майнер ethereum bitcoin statistics bitcoin scam doubler bitcoin ethereum mining
green bitcoin майнер monero logo bitcoin курс ethereum эфириум ethereum account bitcoin ethereum доходность bitcoin шахты flappy bitcoin
cryptocurrency forum bitcoin usd транзакции ethereum bitcoin fpga bitcoin timer ethereum coins As discussed in our guide 'How Does Blockchain Technology Work?', the identity component of blockchain technology is fulfilled through the use of cryptographic keys. Combining a public and private key creates a strong digital identity reference based on possession.bitcoin развод bitcoin plus500 payable ethereum vk bitcoin bitcoin биржи bitcoin комментарии bitcoin blue bitcoin flapper bitcoin ecdsa genesis bitcoin testnet ethereum monero dwarfpool bitcoin knots курс ethereum bitcoin ваучер bitcoin lurk coingecko ethereum circle bitcoin bitcoin daily
my ethereum maining bitcoin bitcoin mac ethereum frontier zcash bitcoin обмен tether ферма ethereum rocket bitcoin
project ethereum bitcoin блоки bitcoin сервисы bitcoin динамика stats ethereum bitcoin api bitcoin valet bitcoin форекс bitcoin добыть bitcoin сети
компания bitcoin ethereum продать 2016 bitcoin bitcoin utopia ethereum free bitcoin лайткоин клиент bitcoin ethereum windows bitcoin parser bitcoin экспресс bitcoin microsoft wisdom bitcoin zcash bitcoin ethereum programming bitcoin info bitcoin king ethereum заработать
bitcoin millionaire bitcoin стратегия big bitcoin bitcoin central ethereum ico bitcoin робот bitcoin pay lealana bitcoin Network Observers – link different transactions and addresses together by observing activity on the peer to peer network.bitcoin synchronization bitcoin wiki
bitcoin биржи надежность bitcoin bitcoin цены bitcoin cgminer
bitcoin home cz bitcoin bitcoin продажа electrum ethereum testnet ethereum
bitcoin рухнул bitcoin проверка stake bitcoin bitcoin crash hashrate bitcoin create bitcoin поиск bitcoin
micro bitcoin валюта ethereum алгоритмы ethereum bitcoin сайт
donate bitcoin bitcoin charts bitcoin jp bitcoin bcn bitcoin экспресс bitcoin map monero *****uminer майнить monero
обсуждение bitcoin bitcoin reindex bitcoin капитализация bitcoin софт bitcoin аналоги
bitcoin окупаемость
space bitcoin bitcoin putin 10000 bitcoin ethereum обменять регистрация bitcoin
kupit bitcoin
linux bitcoin конец bitcoin bitcoin лотерея auction bitcoin
bitcoin сокращение обменники bitcoin monero fork bonus bitcoin bitcoin взлом bitcoin автомат bitcoin мастернода 1060 monero bitcoin payment bitcoin ios captcha bitcoin cryptocurrency chart bitcoin gpu Gold usually performs well during corrections because even if it doesn’t necessarily rise, an asset that remains static while others decline is quite useful as a hedge. Plus, as more people flee stocks and invest in gold, the price rises accordingly.The use of public key cryptography is one of the relatively recent military innovations that make Bitcoin possible; it was developed secretly in 1970 by British intelligence, before being re-invented publicly in 1976.monero форк bitcoin plus bitcoin fasttech bitcoin транзакции ethereum casino 99 bitcoin bitcoin loto bitcoin mail keyhunter bitcoin
bitcoin tools tether кошелек monero coin pool bitcoin bitcoin php ethereum debian bitcoin symbol
эмиссия ethereum виджет bitcoin ethereum news coin ethereum bitcoin alert ethereum сайт bitcoin проверить bitcoin timer bitcoin анализ bitcoin цены cfd bitcoin логотип bitcoin bitcoin трейдинг cryptocurrency calendar ethereum вики
us bitcoin приложение tether If you are using Windows, then you should download xmr-stak-*****u-win64.zip (shown in the snapshot below). XMR Stak charges a development fee of 2%, unless you can compile the source code yourself.collector bitcoin bitcoin реклама claymore monero
nicehash monero bitcoin red cold bitcoin bitcoin green bitcoin arbitrage работа bitcoin online bitcoin lurkmore bitcoin bitcoin вконтакте генераторы bitcoin neo bitcoin bitcoin сборщик coinmarketcap bitcoin bitcoin gif 1080 ethereum bitcoin online invest bitcoin algorithm ethereum
ethereum видеокарты стоимость ethereum bye bitcoin avalon bitcoin куплю ethereum bitcoin asic bitcoin maker bitcoin математика bitcoin pdf bitcoin торги ethereum info bitcoin мошенники bitcoin trader rise cryptocurrency
bitcoin обналичить cryptocurrency charts
bitcoin иконка ethereum настройка rx560 monero game bitcoin покупка ethereum safe bitcoin торрент bitcoin bitcoin trade ethereum обменники bitcoin marketplace attack bitcoin bitcoin central ethereum график lurkmore bitcoin bitcoin exchanges
Bitcoin appeals to tech-savvy libertarians, because it so far exists outside the institutional banking system and the control of governments. However, researchers looking to uncover the reasons for interest in bitcoin did not find evidence in Google search data that this was linked to libertarianism.Supply Chain Management6See alsobitcoin продам cardano cryptocurrency bitcoin лопнет bitcoin landing lazy bitcoin bitcoin alliance bitcoin evolution galaxy bitcoin gadget bitcoin life bitcoin bitcoin demo
polkadot bitcoin best bitcoin 4000 bitcoin информация bitcoin аналоги free bitcoin bitcoin reward people bitcoin оборудование bitcoin
carding bitcoin bitcoin iso monero купить
plasma ethereum reindex bitcoin видеокарты ethereum автомат bitcoin bitcoin knots bitcoin monero bitcoin начало bitcoin virus майнинга bitcoin bitcoin paw bitcoin майнинга криптовалюта ethereum ethereum доходность
bitcoin usa free bitcoin bitcoin scripting bitcoin maker bitcoin бот халява bitcoin bitcoin logo The brain***** of ***** crypto-genius Vitalik Buterin has ascended to the second place in the hierarchy of cryptocurrencies. Other than Bitcoin its blockchain does not only validate a set of accounts and balances but of so-called states. This means that ethereum can not only process transactions but complex contracts and programs.символ bitcoin bitcoin school bitcoin count From Bitcoin, this paradigm shift has spawned innumerable immitations and attempted improvements on the underlying technology, many of which now have market-caps significantly exceeding $1 billion USD. Bitcoin itself has a market cap of over $128 billion USD at time of writing (2018-05-27).проблемы bitcoin Ключевое слово iobit bitcoin reddit cryptocurrency nicehash monero куплю ethereum bitcoin mail bitcoin adress usdt tether bitcoin casino ethereum отзывы opencart bitcoin
bitcoin будущее blogspot bitcoin получение bitcoin
bitcoin cz lootool bitcoin bitcoin ads bitcoin транзакции шахта bitcoin
bitcoin hype bittrex bitcoin tether верификация price bitcoin clicker bitcoin конвертер ethereum
maining bitcoin bitcoin maps bitcoin euro cz bitcoin значок bitcoin bitcoin hardfork flash bitcoin boom bitcoin big bitcoin bitcoin пополнение *****a bitcoin кости bitcoin transaction bitcoin
blocks bitcoin bitcoin dat bitcoin поиск валюта monero
ninjatrader bitcoin bitcoin растет p2p bitcoin bitcoin терминал ethereum russia iota cryptocurrency bitcoin youtube putin bitcoin bitcoin usa bot bitcoin ethereum erc20 ethereum web3
q bitcoin bitcoin preev monero 1070 ethereum видеокарты tether приложение bitcoin сатоши bitcoin lurkmore краны monero bitcoin spinner bitcoin хабрахабр
bitcoin теория
фото bitcoin ethereum contracts bitcoin презентация bitcoin перевод bitcoin количество bistler bitcoin особенности ethereum
6000 bitcoin вывести bitcoin ethereum логотип playstation bitcoin local bitcoin
bitcoin ютуб mine monero monero logo bitcoin вход bitcoin vps bitcoin department second bitcoin 1024 bitcoin bitcoin prices trader bitcoin генераторы bitcoin
bitcoin сша monero fee bitcoin cms bitcoin список работа bitcoin
блокчейна ethereum bitcoin автоматически торги bitcoin создатель ethereum exchange ethereum blockchain bitcoin lealana bitcoin робот bitcoin bitcoin экспресс bonus bitcoin xbt bitcoin By verifying the transactions aka Miningbitcoin конец bitcoin орг bitcoin обналичить gek monero cranes bitcoin bitcoin withdrawal технология bitcoin stake bitcoin виталик ethereum app bitcoin ethereum стоимость boom bitcoin forex bitcoin bitcoin рубли ethereum siacoin kinolix bitcoin In August 2011, MyBitcoin, a now defunct bitcoin transaction processor, declared that it was hacked, which caused it to be shut down, paying 49% on customer deposits, leaving more than 78,000 bitcoins (equivalent to roughly US$800,000 at that time) unaccounted for.bitcoin billionaire cryptocurrency bitcoinwisdom ethereum bitcoin dark rx580 monero bitcoin x2 0 bitcoin bitcoin facebook bitcoin приложения ethereum poloniex ethereum рубль fpga ethereum
bitcoin usb bitcoin oil
monero биржи
ethereum википедия
транзакции bitcoin playstation bitcoin monero настройка кошельки bitcoin coingecko bitcoin trade bitcoin arbitrage cryptocurrency nicehash monero cryptocurrency exchanges bitcoin покупка tp tether accelerator bitcoin bitcoin planet
bitcoin server bitcoin links обменник tether bitcoin valet bitcoin capitalization книга bitcoin roulette bitcoin bitrix bitcoin рейтинг bitcoin
адрес ethereum bitcoin котировки
3d bitcoin apple bitcoin
продам bitcoin ethereum метрополис blockchain ethereum bitcoin fasttech bitcoin развод decred ethereum p2pool bitcoin bitcoin bounty transactions bitcoin dark bitcoin ethereum перспективы bitcoin froggy investment bitcoin ethereum contracts bitcoin 4 ethereum usd hashrate ethereum maining bitcoin создатель bitcoin 2016 bitcoin bitcoin перспективы
эфир ethereum fast bitcoin s bitcoin alpari bitcoin bitcoin pdf second bitcoin
local bitcoin bitcoin онлайн bitcoin работать 4pda tether покер bitcoin start bitcoin monero майнить
trade cryptocurrency bitcoin friday
monero difficulty
trade bitcoin сервисы bitcoin
tether майнинг bitcoin tm pow bitcoin fox bitcoin invest bitcoin polkadot stingray bitcoin store bitcoin eth claim bitcoin майнинг bitcoin
bitcoin money bitcoin gold bitcoin loan metal bitcoin обозначение bitcoin обмен tether bitcoin api goldmine bitcoin bitcoin wmz кошель bitcoin half bitcoin Transaction speed (or faster block time) and confirmation speed are often touted as moot points by many involved in bitcoin, as most merchants would allow zero-confirmation transactions for most purchases. It is necessary to bear in mind that a transaction is instant, it is just confirmed by the network as it propagates.One issue holding bitcoin back from wider adoption is the lack of businesses that accept the digital currency as payment. This is a chicken-and-egg problem. If more businesses had the ability to accept bitcoin, it might encourage consumers to start obtaining and spending it, and vice versa.android tether rbc bitcoin opencart bitcoin обмен tether bitcoin future bitcoin links geth ethereum to bitcoin
компиляция bitcoin pow bitcoin вебмани bitcoin bitcoin vpn withdraw bitcoin sell ethereum ethereum forum ethereum продам bitcoin elena bitcoin china продать bitcoin bitcoin кэш conference bitcoin bitcoin loan bank cryptocurrency cryptocurrency форумы bitcoin ethereum курсы bitcoin картинки
Related topicsbitcoin blue Bitcoin violates governmental regulationsusb bitcoin обменять ethereum ethereum wiki арестован bitcoin bitcoin рухнул сайте bitcoin bitcoin qr reddit cryptocurrency trinity bitcoin half bitcoin cryptocurrency top bitcoin fees monero amd ethereum mist bitcoin grant alien bitcoin bitcoin hub bitcoin stellar bitcoin fund cryptocurrency gold mining bitcoin bitcoin транзакция mastering bitcoin registration bitcoin ethereum dag сбербанк bitcoin ethereum twitter кошелька bitcoin валюта bitcoin bitcoin poker otc bitcoin bitcoin demo bitcoin phoenix bitcoin dogecoin bittorrent bitcoin алгоритмы bitcoin battle bitcoin people bitcoin
bitcoin терминал flappy bitcoin agario bitcoin
bitcoin генераторы arbitrage cryptocurrency доходность ethereum in bitcoin field bitcoin bitcoin win bitcoin difficulty автомат bitcoin рост bitcoin cryptocurrency gold
bitcoin pro ava bitcoin
bitcoin txid fasterclick bitcoin armory bitcoin playstation bitcoin maps bitcoin bitcoin инвестирование 5 bitcoin ethereum транзакции 1 ethereum claim Bitcoin makes. Specifically, a Bitcoin node provides native verification tools that ensure theтрейдинг bitcoin проблемы bitcoin bitcoin 3d шифрование bitcoin рынок bitcoin bitcoin usd bonus bitcoin
bitcoin tails card bitcoin etoro bitcoin
zcash bitcoin ethereum siacoin se*****256k1 ethereum 10000 bitcoin bitcoin center
By LUKE CONWAYwisdom bitcoin