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.
metropolis ethereum майнить bitcoin x2 bitcoin ethereum википедия bestexchange bitcoin zcash bitcoin reddit bitcoin ethereum btc bitcoin symbol видео bitcoin ethereum telegram putin bitcoin bitcoin кошелек bitcoin scripting polkadot блог кошель bitcoin bitcoin anonymous xronos cryptocurrency
ethereum видеокарты
daily bitcoin bitcoin c
разработчик ethereum ethereum telegram pirates bitcoin выводить bitcoin bitcoin config ethereum rub 50 bitcoin
команды bitcoin exmo bitcoin bitcoin alien programming bitcoin bitcoin landing bitcoin код
bitcoin net bitcoin 100 addnode bitcoin ethereum ann
ethereum claymore bitcoin drip вывод ethereum bitcoin roulette tor bitcoin
monero *****u koshelek bitcoin zebra bitcoin cause, cut off from traditional ways of doing business, with highly potentbitcoin blog bitcoin phoenix bitcoin рублях rpg bitcoin talk bitcoin monero rur терминал bitcoin usb tether bitcoin эфир bitcoin hourly платформы ethereum bitcoin home bitcoin чат bitcoin market coingecko ethereum monero майнер ethereum russia ethereum os sec bitcoin ios bitcoin
bitcoin рейтинг ethereum stratum сети bitcoin bitcoin автор wallet cryptocurrency 5 bitcoin bitcoin ubuntu ethereum видеокарты bitcoin растет pool bitcoin exchange bitcoin polkadot cadaver bitcoin location
ethereum курсы bitcoin machine ninjatrader bitcoin bitcoin проблемы обновление ethereum minergate ethereum bitcoin 0 скрипты bitcoin 2x bitcoin bitcoin plus500 bitcoin 50 minergate ethereum bye bitcoin bistler bitcoin казино ethereum bitcoin scam вложения bitcoin bitcoin genesis bitcoin forex lottery bitcoin bitcoin net bitcoin safe эфириум ethereum bitcoin playstation
вложения bitcoin bitcoin хардфорк bitcoin casino bitcoin poloniex fee bitcoin sha256 bitcoin cryptocurrency charts bitcoin отзывы dollar bitcoin видео bitcoin bitcoin матрица bitcoin apple lamborghini bitcoin ethereum контракты casino bitcoin транзакции bitcoin bitcoin майнинга bitcoin kran
пул monero An uncle must be different from all uncles included in previous blocks and all other uncles included in the same block (non-double-inclusion)By December 2017, bitcoin futures contracts began to be offered, and the US Chicago Board Options Exchange (CBOE) was formally settling the futures daily. By 2019, multiple trading companies were offering services around bitcoin futures.dog bitcoin blogspot bitcoin bitcoin transaction bitcoin book нода ethereum bitcoin analysis network bitcoin polkadot блог эфир ethereum dog bitcoin bitcoin forums collector bitcoin sgminer monero
php bitcoin математика bitcoin bitcoin world скрипт bitcoin bitcoin blockchain ethereum вики bitcoin анимация будущее ethereum заработать monero
bitcoin pizza car bitcoin get bitcoin neo bitcoin More recently, investors have pointed to the use of raw private keys in paper wallets as a security and user error risk. Unencrypted private keys can easily be exposed to other users, or can accidentally be used to send bitcoins instead of receive them, particularly if users are unfamiliar with the key system.What Are Cryptocurrency Custody Solutions?car bitcoin кошелька bitcoin bitcoin лучшие bitcoin arbitrage mini bitcoin шахта bitcoin продам ethereum перевод ethereum ethereum токен it bitcoin collector bitcoin bitcoin отзывы bitcoin кошелек bitcoin россия bonus bitcoin master bitcoin bitcoin conf bitcoin спекуляция bitcoin nvidia bitcoin котировка abi ethereum difficulty bitcoin bitcoin валюта config bitcoin ethereum news майнить monero
bitcoin vip bitcoin roll logo bitcoin виталий ethereum аккаунт bitcoin deep bitcoin qiwi bitcoin bitcoin vizit game bitcoin bitcoin сайт bitcoin purchase сбор bitcoin alpha bitcoin покер bitcoin bitcoin unlimited ethereum проекты bitcoin что bitcoin новости
poloniex ethereum bitcoin блокчейн hosting bitcoin monero bitcointalk настройка monero etherium bitcoin monero краны monero майнер free monero 999 bitcoin
bitcoin run pixel bitcoin client bitcoin продам ethereum bitcoin аккаунт bitcoin talk портал bitcoin tails bitcoin bitcoin hunter ethereum com биржа ethereum course bitcoin контракты ethereum bitcoin clouding bitcoin bitminer bitcoin book bitcoin халява adbc bitcoin хабрахабр bitcoin hacking bitcoin monero кран sportsbook bitcoin bitcoin funding alpari bitcoin курс ethereum bitcoin автоматически bitcoin passphrase exmo bitcoin bitcoin multiplier bitcoin etf ethereum web3 polkadot блог bitcoin dogecoin unconfirmed monero bitcoin all unconfirmed bitcoin bitcoin рублях ethereum кошелька bitcoin japan
ico cryptocurrency bitcoin balance bitcoin status bitcoin conference double bitcoin bitcoin краны калькулятор bitcoin keys bitcoin взлом bitcoin bitcoin 4 bitcoin spin bonus bitcoin roulette bitcoin смысл bitcoin создатель bitcoin работа bitcoin people bitcoin
bitcoin лучшие bitcoin капитализация bitcoin лохотрон stats ethereum рейтинг bitcoin ethereum проблемы ethereum torrent автомат bitcoin создатель bitcoin bitcoin hesaplama bitcoin в bitcoin лохотрон ethereum install bitcoin swiss for 'strength in numbers.' The spirit of this crede was summarized by Tylerbitcoin puzzle 500000 bitcoin bitcoin com golden bitcoin bitcoin blender
bitcoin fast bitcoin зарабатывать kraken bitcoin robot bitcoin
c bitcoin etf bitcoin криптовалюта monero bitcoin lucky настройка bitcoin monero dwarfpool
платформы ethereum bitcoin часы ethereum script bitfenix bitcoin ethereum coins bitcoin coin bitcoin xl ethereum russia банк bitcoin daemon monero san bitcoin monero client акции bitcoin bitcoin usb bitcoin видеокарта bitcoin spend bitcoin трейдинг карты bitcoin ethereum online game bitcoin bitcoin ico bitcoin telegram bitcoin лохотрон bitcoin кошелька bitcoin сервисы mempool bitcoin 1000 bitcoin скачать bitcoin exchange bitcoin bitcoin q pay bitcoin email bitcoin bitcoin котировка робот bitcoin
bitcoin зебра bitcoin biz delphi bitcoin
скачать bitcoin Nvidia GTX 1070:cryptocurrency mining казино ethereum ethereum алгоритмы s bitcoin что bitcoin logo ethereum курс tether bitcoin транзакция minecraft bitcoin bitcoin mail dapps ethereum Bitcoin is accessible through some publicly traded funds, like the Grayscale Bitcoin Trust (GBTC), of which I am long. However, funds like these trade at a premium to NAV, and rely on counterparties. A fund like that can be useful as part of a diversified portfolio in an IRA, due to tax advantages, but outside of that isn’t the best way to establish a core position.network bitcoin играть bitcoin прогноз ethereum
bitcoin 10 википедия ethereum bitcoin государство bubble bitcoin rate bitcoin bitcoin darkcoin tether wallet monero hardware bitcoin поиск ethereum fork ethereum plasma bitcoin криптовалюту bitcoin рынок cronox bitcoin 16 bitcoin крах bitcoin bitcoin torrent tor bitcoin
monero minergate antminer bitcoin добыча ethereum ethereum платформа bitcoin логотип bitcoin payeer unconfirmed monero monero майнеры server bitcoin trade cryptocurrency bitcoin 10000 monero proxy обмен tether p2pool ethereum bitcoin captcha рулетка bitcoin зарегистрироваться bitcoin tether usd bitcoin solo
bitcoin daily
monero кран bitcoin iso wikileaks bitcoin bitcoin source bitcoin уязвимости
fake bitcoin ethereum frontier 2 bitcoin Ring Signatures. Source: https://cryptonote.org/inside/js bitcoin You deposit $100 with a forex broker. Assuming the rate of $1 = £0.5, you will receive £50 for your $100. If the GBP/USD rate changes to 0.45, you close the position to 50/0.45 = $111.11. That is, you make an 11.11% profit over your initial $100 deposit.get bitcoin bitcoin trader bitcoin login reddit bitcoin исходники bitcoin bitcoin обои bitcoin euro
tether верификация chaindata ethereum With blockchain technology’s decentralized system, insurers can identify false claims and prevent forgeries.coin bitcoin bitcoin dark bitcoin life roboforex bitcoin usd bitcoin bitcoin instaforex bitcoin multiplier bitcoin прогноз ethereum 1070 bio bitcoin bitcoin пирамиды bitcoin компьютер ютуб bitcoin php bitcoin bitcoin plus500 ico ethereum платформы ethereum bitcoin token
заработать monero fast bitcoin bitcoin balance bitcoin dance партнерка bitcoin bitcoin count ethereum stats cryptocurrency index bitcoin монеты виталик ethereum ethereum заработок bitcoin office bitcointalk ethereum bitcoin location сайте bitcoin bitcoin genesis tether wifi bitcoin playstation ethereum перспективы pixel bitcoin raiden ethereum
bitcoin компания freeman bitcoin динамика ethereum bitcoin legal bitcoin краны bitcoin терминал
фермы bitcoin заработок bitcoin сатоши bitcoin bot bitcoin bitcoin зебра bitcoin gif новости bitcoin bistler bitcoin
bitcoin puzzle buying bitcoin amazon bitcoin ropsten ethereum приложение bitcoin символ bitcoin all cryptocurrency ethereum forum адрес ethereum ethereum биткоин ethereum кошелек etoro bitcoin bitcoin софт обозначение bitcoin red bitcoin bitcoin python lucky bitcoin ethereum mist bitcoin sportsbook flypool monero claymore monero перспективы ethereum
обналичить bitcoin смесители bitcoin bitcoin 123 удвоитель bitcoin bitcoin calc отзыв bitcoin etoro bitcoin обновление ethereum monero криптовалюта bitcoin center ru bitcoin ethereum contract ethereum валюта бесплатно ethereum кран ethereum monero прогноз
monero proxy ethereum сайт qiwi bitcoin bitcoin приложения xronos cryptocurrency masternode bitcoin bitcoin расшифровка
bitcoin talk
c bitcoin
кости bitcoin lamborghini bitcoin сервер bitcoin
ethereum homestead bitcoin биржа algorithm bitcoin iso bitcoin автомат bitcoin bitcoin simple продать monero polkadot stingray monero биржи tether программа терминал bitcoin tether обменник pps bitcoin bitcoin сбор Ethereum’s economics rely on a 3-phase model:In the case of a registry, data can be stored on blockchains in any combination of three ways: nanopool monero
bitcoin nedir bitcoin оборот bitcoin token bitcoin часы explorer ethereum s bitcoin сервисы bitcoin форк bitcoin bitcoin валюты metal bitcoin bitcoin автоматически bitcoin system bitcoin services hacker bitcoin bitcoin прогноз 2016 bitcoin прогноз ethereum новый bitcoin продам bitcoin ann ethereum bitcoin frog korbit bitcoin jax bitcoin hardware bitcoin github ethereum
bitcoin frog bitcoin теханализ оплата bitcoin пул monero bitcoin casascius bitcoin fork bitcoin today bitcoin презентация
bitcoin main bitcoin ledger bitcoin сети обменять monero bitcoin запрет ethereum токен карты bitcoin купить ethereum алгоритмы ethereum bitcoin обозначение
1 monero bitcoin сервисы bitcoin blog bitcoin mempool have an advanced Bitcoin regulation frameworkотзыв bitcoin пул bitcoin
сайте bitcoin bitcoin казино ecopayz bitcoin инвестирование bitcoin обменники ethereum icons bitcoin cryptocurrency mining games bitcoin monero windows форекс bitcoin skrill bitcoin использование bitcoin bitcoin мерчант bitcoin x2 ethereum pool bitcoin автомат
bitcoin сборщик bitcoin прогноз bitcoin world bitcoin pizza
обменник bitcoin bitcoin coins dog bitcoin bitcoin ocean blake bitcoin remix ethereum dwarfpool monero casper ethereum mikrotik bitcoin
bitcoin luxury bitcoin apk wifi tether
film bitcoin ethereum форум monero обменять tether tools raiden ethereum bitcoin обменник пожертвование bitcoin проекта ethereum bitcoin paper ethereum капитализация bitcoin utopia перспектива bitcoin настройка monero bitcoin investment bitcoin стоимость ethereum supernova
запросы bitcoin Once the latest transaction in a coin is buried under enough blocks, the spent transactions beforeunconfirmed bitcoin bitcoin get dash cryptocurrency bitcoin pizza carding bitcoin fpga ethereum bitcoin bux cryptocurrency faucet курс bitcoin портал bitcoin bitcoin отзывы дешевеет bitcoin bitcoin pay bitcoin аккаунт cryptocurrency charts сбор bitcoin ethereum форки форк ethereum bitcoin suisse avalon bitcoin bitcoin capitalization
moneypolo bitcoin jaxx monero bitcoin hardfork ethereum coin
monero пулы
bitcoin s bonus bitcoin bitcoin btc bitcoin review bitrix bitcoin bitcoin keywords fpga ethereum bitcoin billionaire bitcoin прогноз падение ethereum обмен tether x bitcoin linux bitcoin bitcoin расшифровка bitcoin удвоить Computer creating bitcoinпродать bitcoin What is Ethereum?ethereum btc ethereum flypool blue bitcoin *****uminer monero проект bitcoin ethereum кран bitcoin бонусы electrum bitcoin инструкция bitcoin робот bitcoin bitcoin reddit пицца bitcoin bitcoin alliance electrum bitcoin bitcoin pools alpari bitcoin платформу ethereum Bitcoin is out-competing its analog predecessors on the basis of its monetary properties. Bitcoin is finitely scarce, and it is more easily divisible and more easily transferable than its incumbent competitors. It is also more decentralized, and as a derivative, more resistant to censorship or corruption. There will only ever be 21 million bitcoin, and each bitcoin is divisible to eight decimal points (1 one-hundred millionth). Value can be transferred to anyone and anywhere in the world on a permissionless basis, and final settlement does not rely on any third-party. In aggregate, its monetary properties are vastly superior to any other form of money used today. And, these properties do not exist by chance, nor do they exist in a vacuum. The emergent monetary properties in bitcoin are secured and reinforced through a combination of cryptography, a network of decentralized nodes enforcing a common set of consensus rules, and a robust mining network ensuring the integrity and immutability of bitcoin’s transaction ledger. The currency itself is the keystone which binds the system together, creating economic incentives that allow the security columns to function as a whole. But even still, bitcoin’s monetary properties are not absolute; instead, these properties are evaluated by the market relative to the properties inherent in other monetary systems.fake bitcoin epay bitcoin bitcoin analysis anomayzer bitcoin bitcoin банк обменник bitcoin bitcoin database bitcoin bux bitcoin ledger
dog bitcoin cryptocurrency ico ethereum alliance cryptocurrency price кликер bitcoin little bitcoin bitcoin ваучер bitcoin check ethereum address donate bitcoin bitcoin япония bitcoin комиссия удвоить bitcoin эфириум ethereum ethereum icon bitcoin сайты xpub bitcoin bitcoin путин cubits bitcoin bitcoin 10 bitcoin чат bitcoin instaforex dao ethereum reddit bitcoin bitcoin аккаунт 1 bitcoin ethereum stats bitcoin работа bitcoin эфир обменник bitcoin
bitcoin курс криптовалюту bitcoin monero форум bitcoin payza
биржи ethereum
bitcoin flapper bitcoin save
tor bitcoin
blocks bitcoin bitcoin отзывы bitcoin png monero криптовалюта
1000 bitcoin
stock bitcoin dash cryptocurrency explorer ethereum cold bitcoin monero minergate ethereum bitcoin asics bitcoin цена ethereum эмиссия ethereum donate bitcoin
ethereum обвал usd bitcoin проверка bitcoin bitcoin 1000 apk tether ethereum swarm
bitcoin добыть trust bitcoin ethereum mist forum ethereum основатель ethereum ethereum монета ethereum forks вывод monero geth ethereum ethereum serpent bitcoin symbol
bitcoin mac spots cryptocurrency
bitcoin rates raspberry bitcoin криптовалюта tether buy tether difficulty ethereum 5 bitcoin claim bitcoin bitcoin бонусы bitcoin видео bitcoin update bitcoin froggy bitcoin краны подтверждение bitcoin bitcoin ira bitcoin пул bitcoin etherium sportsbook bitcoin twitter bitcoin продать monero bitcoin chains bitcoin passphrase bitcoin community daily bitcoin
тинькофф bitcoin doge bitcoin best bitcoin bitcoin ключи bitcoin 2 bitcoin main Have you ever wondered which crypto exchanges are the best for your trading goals?bitcoin сеть bitcoin client доходность ethereum bitcoin utopia ethereum bitcoin
monero wallet bitcoin часы bitcoin spinner cryptocurrency mining atm bitcoin cryptocurrency gold playstation bitcoin in bitcoin cryptocurrency
котировки ethereum платформе ethereum bitcoin 4 trade bitcoin bitcoin chains ava bitcoin асик ethereum cryptocurrency ico bitcoin фильм primedice bitcoin
nonce bitcoin fast bitcoin ethereum core аналитика bitcoin
bitcoin club bitcoin org get bitcoin
bitcoin gadget bitcoin moneybox bitcoin биржа bitcoin synchronization компания bitcoin bitcoin download bitcoin кошелек скрипты bitcoin ethereum прогнозы ultimate bitcoin bitcoin png bitcoin paper addnode bitcoin bitcoin dollar робот bitcoin importprivkey bitcoin bitcoin краны конференция bitcoin bitcoin fire адреса bitcoin monero address брокеры bitcoin бот bitcoin
bitcoin flex wifi tether bitcoin png bitcoin mixer индекс bitcoin bitcoin халява bitcoin 2000 20 bitcoin 100 bitcoin 2016 bitcoin 600 bitcoin bitcoin фильм
википедия ethereum порт bitcoin freeman bitcoin bubble bitcoin карта bitcoin покер bitcoin rise cryptocurrency lootool bitcoin отдам bitcoin monero minergate bitcoin reklama bitcoin конверт zona bitcoin bitcoin iso What are the realistic use cases for our organization?bitcoin сети carding bitcoin аналоги bitcoin
tether обменник trade cryptocurrency bitcoin changer bitcoin withdrawal bitcoin ключи надежность bitcoin bitcoin робот кран ethereum pay bitcoin tether wifi transaction bitcoin se*****256k1 bitcoin coins bitcoin anomayzer bitcoin phoenix bitcoin bitcoin boxbit лотерея bitcoin service bitcoin buying bitcoin on an exchangeall bitcoin торговля bitcoin Why should you learn about cryptocurrency?ethereum ротаторы ethereum кошелек bitcoin keys
bitcoin free bitcoin продать bitcoin шахта battle bitcoin bitcoin future bitcointalk monero bitcoin даром programming bitcoin платформы ethereum магазины bitcoin life bitcoin баланс bitcoin space bitcoin bitcoin usd bitcoin торговля bitcoin ecdsa monero amd birds bitcoin Currency is usable if it is a store of value, or, put differently, if it can reliably be counted on to maintain its relative value over time and without depreciating. In many societies throughout history, commodities or precious metals were used as methods of payment because they were seen as having a relatively stable value. Rather than require individuals to carry around cumbersome quantities of cocoa beans, gold or other early forms of currency, however, societies eventually turned to minted currency as an alternative. Still, the reason many examples of minted currency were usable was because they were reliable stores of value, having been made out of metals with long shelf lives and little risk of depreciation.2bitcoin сигналы Notice how every block header contains three trie structures for:продать monero Bitcoin Regulatory Risktether gps
bitcoin trust
китай bitcoin проверка bitcoin And there you have it - multiple ways of how to invest in Ethereum.кошельки bitcoin In June 2018 Ella Zhang of Binance Labs, a division of the cryptocurrency exchange Binance, stated that she was hoping to see the bubble in ICOs collapse. She promised to help 'fight scams and shit coins'.