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.
monero faucet lazy bitcoin bitcoin ваучер donate bitcoin bitcoin adress change bitcoin робот bitcoin ethereum os криптовалют ethereum monero difficulty bitcointalk ethereum bitcoin описание платформ ethereum рынок bitcoin auto bitcoin
bitcoin информация
connect bitcoin теханализ bitcoin 16 bitcoin форк bitcoin If a bank or government isn’t involved, how is crypto secure? It’s secure because all transactions are vetted by a technology called a blockchain.putin bitcoin bitcoin cli eos cryptocurrency bitcoin explorer форк bitcoin keys bitcoin bitcoin analytics bitcoin обои ethereum block daemon monero bitcoin balance ecdsa bitcoin wikipedia bitcoin minergate bitcoin bitcoin взлом bitcoin paper игра ethereum masternode bitcoin tether транскрипция bitcoin balance
bitcoin будущее faucet cryptocurrency cryptocurrency calculator логотип bitcoin
динамика ethereum conference bitcoin bitcoin майнить bitcoin обменники обмен tether
bitcoin зебра bitcoin зебра продам ethereum india bitcoin обменник bitcoin habrahabr ethereum платформы ethereum bitcoin конвертер Imagine, you give a friend $1. For it, he promises you an ice cream cone tomorrow.flypool monero blog bitcoin master bitcoin bitcoin 20 crococoin bitcoin bitcoin zone обновление ethereum bitcoin отслеживание dapps ethereum tether верификация poloniex bitcoin bitcoin количество dwarfpool monero casper ethereum monero прогноз konverter bitcoin course bitcoin spin bitcoin wikileaks bitcoin bitcoin тинькофф coin bitcoin bitcoin пополнить bitcoin box
bitcoin mail bitcoin реклама bitcoin карта connect bitcoin
bitcoin store bitcoin scan rus bitcoin bitcoin vk bitcoin добыть bitcoin poloniex bitcoin ann мастернода bitcoin nicehash bitcoin китай bitcoin 2018 bitcoin fasterclick bitcoin bitcoin investing bitcoin status
hd7850 monero история ethereum bitcoin scrypt прогнозы bitcoin red bitcoin биржа monero ethereum асик
bitcoin платформа хайпы bitcoin monero free boxbit bitcoin монета ethereum bitcoin луна
bitcoin онлайн information bitcoin перспектива bitcoin программа bitcoin bitcoin usb calc bitcoin
ethereum developer bitcoin exchanges asics bitcoin
bitcoin convert over 100,000 merchants already accepting Bitcoin, the networktether chvrches putin bitcoin ethereum токен ethereum swarm wordpress bitcoin money bitcoin bitcoin анимация биржи ethereum bitcoin statistics monero *****u tether валюта matteo monero konvert bitcoin bitcoin invest
ethereum график
логотип bitcoin billionaire bitcoin ethereum calc wei ethereum bitcoin код java bitcoin flash bitcoin lealana bitcoin p2pool bitcoin bitcoin rotator обновление ethereum система bitcoin
buying bitcoin drip bitcoin flypool monero cms bitcoin
ann bitcoin keystore ethereum ethereum клиент generator bitcoin bitcoin fpga monero difficulty bitcoin explorer chaindata ethereum statistics bitcoin
криптовалюты bitcoin monero transaction bitcoin euro unconfirmed monero coinmarketcap bitcoin hashrate bitcoin партнерка bitcoin ethereum описание bitcoin scam ethereum pos кошелька bitcoin In percentage terms, this will eventually result in approximately the following portfolio: 92% in Bitcoin, 6% in altcoins, and 2% in new opportunities.bitcoin datadir habrahabr bitcoin ethereum видеокарты кран ethereum код bitcoin best bitcoin pool bitcoin jaxx bitcoin bitcoin usd script bitcoin bitcoin скрипты microsoft bitcoin
виталий ethereum capitalization bitcoin tracker bitcoin bitcoin рынок
ethereum debian ethereum raiden сервисы bitcoin bitcoin биржи китай bitcoin bitcoin видеокарта poloniex ethereum 50 bitcoin нода ethereum bitcoin convert bitcoin 1070 tether обменник monero transaction
дешевеет bitcoin neo cryptocurrency
оплата bitcoin
bitcoin sportsbook bitcoin loan blender bitcoin bitcoin хешрейт bitcoin satoshi кошель bitcoin tether пополнение пополнить bitcoin инвестиции bitcoin bitcoin litecoin bitcoin forums майнинг bitcoin bitcoin capital bitcoin кошелек вывод monero брокеры bitcoin bitcoin exe ethereum прибыльность ethereum twitter balance bitcoin bitcoin win ethereum алгоритм bitcoin платформа платформ ethereum carding bitcoin оплатить bitcoin bitcoin кэш 1080 ethereum wikileaks bitcoin main bitcoin запрет bitcoin
торги bitcoin bitcoin asics контракты ethereum bitcoin конвектор будущее ethereum 1000 bitcoin биржа bitcoin кредиты bitcoin россия bitcoin проекта ethereum bitcoin вконтакте
bitcoin machine cryptocurrency exchange bitcoin список сервисы bitcoin
logo bitcoin bitcoin easy ethereum poloniex символ bitcoin bitcoin chart bitcointalk bitcoin bitcoin millionaire 1 ethereum cranes bitcoin bitcoin word bitcoin daily перевод ethereum bitcoin synchronization Benzinga Money is a reader-supported publication. We may earn a commission when you click on links in this article. Learn more.криптовалют ethereum Cybersecurity threats are a huge problem in the identity management industry. In the current world, our identity is controlled by large companies. Whether that be Netflix, Facebook, Instagram, or even the companies we work for.bitcoin capital компания bitcoin bitcoin atm bitcoin it cryptocurrency arbitrage
bitcoin книги
bitcoin подтверждение
bitcoin prominer bitcoin trend
99 bitcoin ethereum calc расширение bitcoin bitcoin banking
bitcoin facebook download bitcoin bitcoin обозначение bitcoin луна арбитраж bitcoin iphone tether
bitcoin прогноз app bitcoin microsoft ethereum exchange cryptocurrency bitcoin blog bitcoin hack parity ethereum 6000 bitcoin bitcoin landing moneybox bitcoin bitcoin code bitcoin иконка cryptocurrency wallets bitcoin instaforex скачать tether alipay bitcoin bitcoin compare котировка bitcoin mine ethereum gif bitcoin ethereum курсы обменники bitcoin краны monero
ethereum developer
bitcoin перевод bitcoin carding bitcoin python tether обменник bitcoin register ethereum настройка cryptocurrency gold bitcoin fake автомат bitcoin сервер bitcoin bitcoin masters the ethereum заработка bitcoin bitcoin игры ethereum токены bitcoin usd difficulty bitcoin займ bitcoin bitcoin картинки bitcoin ads
bitcoin rotators bitcoin work locals bitcoin programming bitcoin bitcoin calculator bitcoin capitalization ethereum рубль bitcoin обсуждение ethereum ann bitcoin status bitcoin eu monero стоимость виталик ethereum auction bitcoin bitcoin bear bitcoin click майнить monero купить monero get bitcoin bitcoin миллионеры bitcoin символ
vip bitcoin bitcoin clouding
bitcoin скрипт bitcoin trinity casino bitcoin проекта ethereum ethereum crane ethereum chart start bitcoin
bitcoin skrill bitcoin сайты 2x bitcoin bitcoin global ethereum биткоин
bitcoin генераторы bitcoin statistics bitcoin check обзор bitcoin bitcoin fasttech ethereum mist bitcoin hunter boxbit bitcoin monero price hit bitcoin hosting bitcoin cryptocurrency analytics аналоги bitcoin bitcoin суть приложение tether gemini bitcoin ethereum gas монета ethereum wallets cryptocurrency
bitcoin конвертер bitcoin авито bitcoin reklama
box bitcoin Ключевое слово bitcoin casascius ethereum монета краны bitcoin steam bitcoin monero cryptonote monero node bitcoin удвоить обновление ethereum mikrotik bitcoin реклама bitcoin bitcoin stellar
bitcoin hyip ethereum проект bonus bitcoin bitcoin habrahabr parity ethereum видеокарты ethereum
ethereum plasma bitcoin sha256 bitcoin кредиты Ключевое слово ethereum markets flappy bitcoin bus bitcoin cryptocurrency capitalisation bitcoin математика security bitcoin bitcoin song bistler bitcoin краны monero цена ethereum bitcoin login ethereum картинки bitcoin зарабатывать проблемы bitcoin bitcoin global The final domino to fall, of course, is the power which governments wield over their flock via their ability to print, regulate, and control the nation’s money. When a state currency is challenged, the state itself is challenged, and market forces move swiftly around sickly, depreciating inhibitors. The press conferences of someone like Bernanke would become less and less important, because the currency he printed would be used in narrower and narrower circles. Instead of fighting the government, Bitcoin enables individuals to sidestep it — to ignore it to a large degree. Bitcoin, paired with the internet, provides all that is needed to realize a system of anarcho-capitalism.As the blockchain is a trusted peer-to-peer network, it removes the need for a central third party. This is one of the major benefits for businesses as it completely removes the costs that are required to pay third parties.mindgate bitcoin bitcoin онлайн Mining and Bitcoin Circulationpolkadot ico bitcoin доллар daemon monero
сервер bitcoin bitcoin desk hack bitcoin bitcoin обозначение bitcoin widget bitcoin forums bitcoin status cryptocurrency news rus bitcoin decred ethereum bitcoin комбайн bitcoin скачать bitcoin программирование что bitcoin
p2p bitcoin сложность bitcoin sberbank bitcoin
ethereum swarm monero ico tether курс bitcoin account bitcoin wm case bitcoin bitcoin серфинг форки ethereum обменник ethereum ethereum classic torrent bitcoin bitcoin com bitcoin разделился bitcoin tools demo bitcoin monero free cryptocurrency wikipedia Barry Silbert’s Bitcoin Investment Trust, which has about 130,000 BTC underbitcoin стратегия ethereum eth time bitcoin
bitcoin оборот bitcoin strategy monero хардфорк запрет bitcoin hardware bitcoin bitcoin nvidia bitcoin mining
купить tether bitcoin форк
bitcoin ваучер deep bitcoin micro bitcoin 50 bitcoin tether gps maining bitcoin bitcoin мавроди ethereum продам bitcoin casino bcc bitcoin bitcoin payment bitcoin etherium ethereum краны ethereum заработок The total limit of the amount of gas that could have been used by all transactions included in this blockbitcoin evolution 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 ccminer monero bitcoin timer paidbooks bitcoin strategy bitcoin bitcoin клиент easy bitcoin
bitcoin exchanges bitcoin автоматически habrahabr bitcoin bitcoin roulette stealer bitcoin ethereum usd reddit cryptocurrency bitcoin ru bitcoin flapper
monero hardware bitcoin china bitcoin png bitcoin traffic attack bitcoin rx580 monero
bitcoin кредиты bitcoin пример bitcoin bitcoin banking bitcoin symbol bitcoin balance bitcoin автоматически bitcoin технология ethereum упал bitcoin биткоин tether обзор bitcoin security bitcoin news исходники bitcoin bitcoin обменники bitcoin lurkmore bitcoin отзывы ethereum pool bitcoin paypal bitcoin all перевести bitcoin bitcoin приложение system bitcoin
parity ethereum ethereum ротаторы half bitcoin
server bitcoin wm bitcoin bitcoin казино neo cryptocurrency bitcoin expanse майнинга bitcoin coinbase ethereum
cryptocurrency price monero обменять bitcoin click cryptocurrency magazine monero client bitcoin капитализация time bitcoin ethereum twitter etf bitcoin bitcoin money пример bitcoin bitcoin roulette cryptocurrency ico ethereum stratum bitcoin терминалы bitcoin project bitcoin значок ethereum dark bear bitcoin bitcoin qiwi ethereum проблемы bitcoin apk терминалы bitcoin статистика ethereum cryptocurrency mining bitcoin зарабатывать ethereum 1070 bitcoin форк bitcoin news ethereum ethash анонимность bitcoin
bitcoin компьютер bitcoin акции серфинг bitcoin bitcoin конференция bitcoin cz cryptocurrency bitcoin today bitcoin 9000 bitcoin bitcoin прогноз портал bitcoin avatrade bitcoin bitcoin life bitcoin автоматически bitcoin вики bitcoin talk теханализ bitcoin ethereum course bitcoin xt яндекс bitcoin email bitcoin pay bitcoin bitcoin конвертер
online bitcoin bitcoin purse dao ethereum bitcoin china The model predicts a six-figure price in the coming years. Frankly, I have no idea if that will come to pass, but it is true that the stock-to-flow ratio of Bitcoin keeps increasing over time, and the supply of new coins coming onto the market is diminishing and ultimately, limited.dash cryptocurrency The critical fault of Proof-of-Stake systems is the source of pseudorandomness used to select block producers. While in Proof-of-Work, randomizing the winner of block rewards is accomplished through the expenditure of a large amount of computing power and finding the correct block hash with the right number of prepended zeros, things work differently in Proof-of-Stake. In stake-based consensus algorithms, randomizing the order of block producers is accomplished through a low-cost operation performed on prior block data. This self-referential process is easily compromised, should anyone figure out how to predict the next block producer; attempting such predictions has little or no cost.bitcoin вконтакте bitcoin алгоритм ethereum
bitcoin scan
planet bitcoin all bitcoin bitcoin cracker bitcoin faucet monero xeon ethereum io land bitcoin
planet bitcoin ethereum покупка ethereum miners bitcoin игры js bitcoin шрифт bitcoin bitcoin обзор аккаунт bitcoin
bitcoin node go bitcoin games bitcoin ico bitcoin bitcoin calc bitcoin спекуляция bitcoin goldman se*****256k1 ethereum bitcoin machines monero стоимость txid ethereum bubble bitcoin bitcoin bit
bitcoin 2018 Ключевое слово monero hardware bitcoin blender tether обзор bitcoin nvidia cubits bitcoin bitcoin google эфир bitcoin bitcoin bonus bitcoin withdraw bitcoin rt blocks bitcoin segwit bitcoin
математика bitcoin bitcoin grant bitcoin poker iso bitcoin script bitcoin кликер bitcoin
ethereum проекты фермы bitcoin kraken bitcoin
trust bitcoin truffle ethereum cryptocurrency это simple bitcoin Ethereum dappsThat’s fine to say in 2008, after many doublings. Would memory be a problem in the 1990s? It doesn’t have to be. The difficulty of bitcoin mining is adjustable, so the problem boils down to:ethereum charts elena bitcoin bitcoin king ethereum coin ethereum chaindata view bitcoin bitcoin generate ico monero bitcoin форк get bitcoin polkadot cadaver
bitcoin synchronization monero miner 22 bitcoin
bitcoin xl bitcoin click 100 bitcoin weather bitcoin wiki ethereum monero курс ethereum platform
ann ethereum заработка bitcoin hashrate ethereum bitcoin cz options bitcoin bitcoin арбитраж calculator bitcoin обновление ethereum bitcoin rpg bitcoin home bitcoin prominer работа bitcoin bitcoin abc bitcoin счет
flappy bitcoin bitcoin hash monero benchmark get bitcoin bitcoin investing bitcoin sportsbook bitcoin protocol bitcoin оплатить ethereum майнить
bitcoin wsj system bitcoin ethereum биржа ethereum кошельки ethereum проект обозначение bitcoin
вывод ethereum preev bitcoin bitcoin hacker карты bitcoin bitcoin бот bitcoin алгоритмы обзор bitcoin cryptocurrency ico bitcoin split telegram bitcoin bitcoin links
магазин bitcoin основатель bitcoin bitcoin change
bitcoin count bitcoin casascius ru bitcoin bear bitcoin ethereum myetherwallet bitcoin talk
bitcoin client ethereum raiden cc bitcoin bitcoin анимация avatrade bitcoin ethereum node
tether комиссии mining cryptocurrency bitcoin dance bitcoin dance stats ethereum bitcoin рбк nodes bitcoin заработка bitcoin
bitcoin genesis фонд ethereum bitcoin atm geth ethereum код bitcoin
продать monero tracker bitcoin криптовалюта monero amd bitcoin bitcoin транзакции
bitcoin зарегистрироваться cryptocurrency gold bitcoin 4096 код bitcoin сбербанк bitcoin видеокарты ethereum bitcoin plus500 bitcoin ubuntu bitcoin rotator
сервисы bitcoin программа ethereum bitcoin utopia konvert bitcoin
takara bitcoin
кран ethereum alliance bitcoin bitcoin payeer сборщик bitcoin бутерин ethereum difficulty ethereum pump bitcoin scrypt bitcoin
курсы ethereum ubuntu bitcoin bitcoin nodes bitcoin count bitcoin mine bitcoin calculator mist ethereum bitcoin crash new cryptocurrency php bitcoin bitcoin birds hyip bitcoin
bitcoin play bitcoin биржи bitcoin golang clicks bitcoin bitcoin co cryptocurrency calendar However, that ban was lifted in May 2019, easing restrictions by allowing companies with licenses to operate.legal bitcoin information bitcoin bitcoin робот ethereum contracts
ethereum txid market bitcoin cryptocurrency dash up bitcoin bitcoin обозреватель xronos cryptocurrency bitcoin rpc balance bitcoin разработчик bitcoin bitcoin аналоги ethereum заработать wisdom bitcoin alpari bitcoin 22 bitcoin bitcoin аналоги monero core map bitcoin bitcoin завести robot bitcoin widget bitcoin bitcoin развод bitcoin hardfork nicehash bitcoin tether верификация
click bitcoin ubuntu ethereum bitcoin china block ethereum bitcoin бот ios bitcoin hashrate bitcoin nanopool monero
cryptocurrency market
ethereum habrahabr bitcoin разделился ethereum chaindata 22 bitcoin