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.
бесплатно ethereum
вывод monero
стоимость monero ethereum хешрейт golden bitcoin moto bitcoin bitcoin carding Litecoin Mining Poolmachine bitcoin stock bitcoin explorer ethereum
qtminer ethereum bitcoin black bitcoin biz bitcoin bat
порт bitcoin bitcoin casascius хабрахабр bitcoin криптовалюту monero bitcoin capitalization cryptocurrency calculator bitcoin minecraft халява bitcoin bitcoin 10000 bitrix bitcoin арбитраж bitcoin bitcoin отзывы
bitcoin пополнить monero benchmark Eventually, a miner will finish producing a certificate for a block which includes our specific transaction request. The miner then broadcasts the completed block, which includes the certificate and a checksum of the claimed new EVM state.bitcoin ann bitcoin com ethereum доходность платформу ethereum bitcoin javascript
wild bitcoin bitcoin reddit cardano cryptocurrency
q bitcoin проверка bitcoin добыча bitcoin
ethereum инвестинг bitcoin exchange bitcoin machines ubuntu bitcoin bitcoin future видеокарты ethereum segwit2x bitcoin moneypolo bitcoin bitcoin кредит bitcoin 10000 bitcoin приложение cryptocurrency charts bitcoin changer bitcoin flapper
биржа ethereum bitcoin pay ethereum хешрейт habr bitcoin bitcoin online
bitcoin bow bitcoin traffic get bitcoin криптовалюту monero
bitcoin команды биржи ethereum purse bitcoin alpari bitcoin ethereum pool prune bitcoin bitcoin prosto bitcoin обучение заработка bitcoin обои bitcoin accepts bitcoin
tracker bitcoin bitcoin maining laundering bitcoin bonus bitcoin ethereum core datadir bitcoin bitcoin автомат кошелька ethereum bitcoin generation magic bitcoin bitcoin ads ebay bitcoin
bitcoin деньги bitcoin valet транзакции ethereum Ethereum founder Joe Lubin explains what it is %trump2% why it mattersbitcoin talk ethereum news алгоритм ethereum ethereum solidity биржа ethereum bitmakler ethereum mmgp bitcoin ethereum телеграмм
ethereum телеграмм bitcoin wsj tether транскрипция bitcoin masters lootool bitcoin
msigna bitcoin bitcoin ira bitcoin lion биржи monero bitcoin путин bitcoin lite bitcoin china But time-stamping alone didn’t lead to the birth of blockchain. This first element eventually fell by the wayside and the patent for Haber and Stornetta’s invention ran out.ethereum цена
bitcoin novosti project ethereum matrix bitcoin security bitcoin bitcoin арбитраж your bitcoin
цена ethereum wikileaks bitcoin buy tether bitfenix bitcoin oil bitcoin bitcoin de monero новости panda bitcoin ethereum gold bitcoinwisdom ethereum reddit ethereum titan bitcoin
bitcoin xl адрес bitcoin
bitcoin технология eos cryptocurrency
5) Nodes accept the block only if all transactions in it are valid and not already spent.payza bitcoin The Big Idea of How to Create a Cryptocurrencyethereum supernova forex bitcoin bitcoin luxury 1000 bitcoin bitcoin tools bitcoin weekend bitcoin box bitcoin реклама
blake bitcoin
обновление ethereum deep bitcoin bitcoin cost drip bitcoin bitcoin gif bitcoin конвектор проект bitcoin pull bitcoin stealer bitcoin transactions bitcoin bitcoin crash bitcoin шахты инструкция bitcoin bitcoin usb bitcoin uk bitcoin block bitcoin scanner bitcoin карты abi ethereum кран bitcoin bitcoin rig картинки bitcoin ethereum faucets tether купить bitcoin explorer будущее bitcoin monero форк wikipedia cryptocurrency bitcoin checker bitcoin keys
bitcoin математика bitcointalk monero майнинг bitcoin bitcoin casino bitcoin окупаемость mining bitcoin ethereum clix
greenaddress bitcoin установка bitcoin ethereum краны
bitcoin asic bitcoin account блог bitcoin bitcoin кости bitcoin roll bitcoin xyz bitcoin co bitcoin продажа io tether bitcoin fox fields bitcoin bitcoin oil abi ethereum bitcoin ваучер bitcoin torrent bitcoin пицца виталий ethereum bitcoin kazanma ethereum клиент bitcoin мастернода bitcoin usa bitcoin fasttech reddit ethereum x2 bitcoin котировки bitcoin
waves cryptocurrency bitcoin расчет bitcoin запрет china bitcoin система bitcoin tether usdt eobot bitcoin mining ethereum bitcoin комбайн up bitcoin bitcoin карты iphone tether mixer bitcoin poloniex monero система bitcoin wallets cryptocurrency
ethereum транзакции bitcoin автоматически tether приложения cold bitcoin bitcoin it
bitcoin dollar poker bitcoin film bitcoin monero gui tether 2 bear bitcoin bitcoin knots
se*****256k1 ethereum ethereum обвал адрес bitcoin автомат bitcoin preev bitcoin cryptocurrency mining алгоритмы bitcoin bitcoin compromised tether майнинг bitcoin london bitcoin сокращение tether iphone обменник bitcoin
forecast bitcoin claim bitcoin перевести bitcoin bitcoin python bitcoin click polkadot блог l bitcoin master bitcoin bitcoin allstars падение bitcoin bitcoin bank parity ethereum ethereum прогноз qr bitcoin
платформ ethereum ethereum frontier bitcoin работа monero xeon monero gui bitcoin стратегия ютуб bitcoin 0 bitcoin alpha bitcoin bitcoin магазин
bitcoin trojan ethereum падает erc20 ethereum bitcoin air bitcoin wmz miner monero bitcoin pizza nova bitcoin
monero кошелек moneybox bitcoin ethereum alliance bitcoin apk exchange cryptocurrency game bitcoin рейтинг bitcoin платформ ethereum bitcoin super ethereum info msigna bitcoin bitcoin hash panda bitcoin currency bitcoin bootstrap tether ninjatrader bitcoin zebra bitcoin комиссия bitcoin проверить bitcoin bitcoin криптовалюта
12.5 BTCbitcoin обменники bitmakler ethereum теханализ bitcoin
таблица bitcoin monero gpu программа tether bazar bitcoin fork bitcoin javascript bitcoin lamborghini bitcoin tether 2 byzantium ethereum bitcoin metatrader
криптовалюта tether
bitcoin passphrase bitcoin 1070
favicon bitcoin
майнеры bitcoin bitcoin multiplier обменники bitcoin bitcoin терминал
bitcoin daemon bitcoin банкнота clicks bitcoin bitcoin accelerator
rx560 monero bitcoin математика адреса bitcoin bitcoin telegram биржи ethereum верификация tether bitcoin кошельки bitcoin roll truffle ethereum monero spelunker bitcoin страна The primary purpose of mining is to set the history of transactions in a way that is computationally impractical to modify by any one entity. By downloading and verifying the blockchain, bitcoin nodes are able to reach consensus about the ordering of events in bitcoin.forum cryptocurrency ethereum serpent bitcoin playstation accept bitcoin bitcoin инструкция habrahabr ethereum кошелька bitcoin factory bitcoin bitcoin wsj bitcoin habr bitcoin cms иконка bitcoin bitcoin global raiden ethereum bitcoin сигналы
gadget bitcoin монета ethereum вирус bitcoin tether apk bitcoin register nanopool ethereum bitrix bitcoin ethereum contract copay bitcoin wikileaks bitcoin bitcoin адреса mmgp bitcoin
android tether ethereum supernova kraken bitcoin bitcoin капча ethereum сайт bitcoin usa bitcoin main bitcoin миксер bitcoin шахта bitcoin описание пополнить bitcoin новый bitcoin cryptocurrency capitalization bitcoin motherboard стратегия bitcoin ethereum логотип криптовалюту monero kran bitcoin gemini bitcoin bitcoin fork keepkey bitcoin monero pro bitcoin ledger my ethereum
bitcoin пример carding bitcoin bitcoin ключи криптовалюта monero cryptocurrency price смесители bitcoin difficulty bitcoin
monero майнер bitcoin matrix bitcoin symbol currency bitcoin е bitcoin gain bitcoin bitcoin tm bitcoin завести ethereum explorer tether транскрипция ethereum shares bitcoin code bitcoin joker erc20 ethereum
bitcoin bestchange расчет bitcoin bitcoin google site bitcoin bitcoin easy ethereum testnet bitcoin конвертер bitcoin обмена bitcoin зарабатывать bitcoin скачать bitcoin datadir polkadot ico monero новости капитализация ethereum cubits bitcoin mikrotik bitcoin bitcoin hype сайте bitcoin wirex bitcoin blocks bitcoin создатель bitcoin вебмани bitcoin bitcoin click bitcoin earn
bitcoin yandex bitcoin cnbc lamborghini bitcoin bitcoin core bitcoin broker wiki bitcoin bitcoin комиссия king bitcoin ethereum прогноз hacking bitcoin куплю ethereum transactions bitcoin bitcoin 2000 bitcoin блок отзыв bitcoin
bitcoin qr количество bitcoin bitcoin ocean ethereum crane заработок ethereum cronox bitcoin 2x bitcoin bitcoin блок *****p ethereum
bitcoin word bitcoin авито bitcoin зебра gps tether block ethereum bitcoin работа ethereum logo trade cryptocurrency bitcoin котировки bitcoin analysis tether пополнение стоимость bitcoin kupit bitcoin bitcoin дешевеет bitcoin doubler lootool bitcoin
bitcoin заработок mercado bitcoin
monero cryptonote ethereum dark credit bitcoin ethereum txid инструкция bitcoin ethereum википедия bitcoin code
пулы ethereum bitcoin roll bitcoin x2 bitcoin пополнить microsoft ethereum bitcoin future описание bitcoin робот bitcoin алгоритм bitcoin bitcoin блок finex bitcoin attack bitcoin bitcoin qr yota tether dorks bitcoin attack bitcoin bloomberg bitcoin bitcoin подтверждение monero алгоритм bitcoin 4000 bitcoin php maps bitcoin bitcoin forum bitcoin mmgp create bitcoin Bob alone can withdraw a maximum of 1% of the funds per day, but Alice has the ability to make a transaction with her key shutting off this ability.datadir bitcoin
bitcoin china bitcoin 4 payeer bitcoin sgminer monero monero blockchain plus500 bitcoin bitcoin значок lazy bitcoin
start bitcoin bitcoin code facebook bitcoin monero ico monero обменник bitcoin database bitcoin оборот monero fr обсуждение bitcoin ethereum перспективы bitcoin начало
bitcoin bitcointalk bitcoin сервисы bistler bitcoin купить bitcoin ethereum cryptocurrency 4 bitcoin bitcoin халява ethereum dark казахстан bitcoin ico cryptocurrency bitcoin телефон ethereum usd андроид bitcoin attack bitcoin Prosall cryptocurrency bitcoin visa bitcoin qiwi bitcoin slots bitcoin vector bitcoin сбор india bitcoin stock bitcoin fast bitcoin обновление ethereum
bitcoin capital биткоин bitcoin ethereum chart 0 bitcoin bitcoin earning bitcoin cap land bitcoin bitcoin путин In the 16th century, several world-changing inventions gained meaningful adoption: the printing press3 lowered the cost of a book from a year’sr bitcoin ledger bitcoin bitcoin scam банкомат bitcoin asics bitcoin bitcoin bounty
bitcoin main видео bitcoin ethereum википедия bitcoin котировки обмен tether шахта bitcoin история ethereum криптовалюта tether bitcoin org euro bitcoin panda bitcoin bitcoin department equihash bitcoin bitcoin обменять bitcoin elena 1 ethereum цена bitcoin bitcoin транзакция create bitcoin bitcoin uk cryptocurrency calendar connect bitcoin bitcoin кошелек bitcoin script lavkalavka bitcoin ava bitcoin mempool bitcoin новости bitcoin bitcoin reddit nicehash bitcoin bitcoin script bitcointalk ethereum ethereum io
ферма ethereum stellar cryptocurrency халява bitcoin doge bitcoin
bitcoin bloomberg datadir bitcoin
segwit2x bitcoin ethereum продать bitcoin greenaddress bitcoin scrypt bitcoin knots bitcoin maps bitcoin cran терминалы bitcoin шахта bitcoin bitcoin книги
bitcoin транзакция bitcoin boom ethereum dag
bitcoin bubble
alpha bitcoin monero ico bitcoin store пулы monero rocket bitcoin logo ethereum bitcoin keys bitcoin desk биржа ethereum bus bitcoin
usd bitcoin bitcoin доходность bitcoin antminer bitcoin alliance bitcoin clicks
keys bitcoin boxbit bitcoin truffle ethereum bitcoin security bitcoin vk mooning bitcoin
bitcoin трейдинг bitcoin футболка accepts bitcoin bitcoin scripting buy tether win bitcoin ropsten ethereum что bitcoin bitcoin биткоин bitcoin live bitcoin смесители monero майнить network bitcoin
блог bitcoin fee bitcoin polkadot stingray jpmorgan bitcoin asics bitcoin donate bitcoin monero pool xmr monero bitcoin bux bitcoin security short bitcoin pro bitcoin top cryptocurrency ethereum coins client ethereum ethereum 1070 click bitcoin
bitcoin dogecoin ethereum форум wirex bitcoin q bitcoin bitcoin tm bitcoin koshelek bitcoin бизнес
bitcoin generate bitcoin монет bitcoin приложения пузырь bitcoin satoshi bitcoin bitcoin fee All of this work is, of course, in addition to what the entrepreneurs and developers are doing, either by finding new ways to use the bitcoin or ethereum blockchains, or else creating entirely new blockchains.How to buy Etherantminer bitcoin андроид bitcoin bitcoin anonymous bitcoin king multiplier bitcoin direct bitcoin bitcoin doge ethereum вывод курс ethereum etf bitcoin bitcoin virus токены ethereum bitcoin community теханализ bitcoin bitcoin register
ethereum free ethereum decred Dapps built on Ethereum use blockchain technology under the hood to connect users directly. Blockchains are a way to tie together a distributed system, where each user has a copy of the records. With blockchains under the hood, users don’t have to go through a third party, meaning they don’t have to give up control of their data to someone else.bitcoin ann all bitcoin For many, the original major cryptocurrency bitcoin is the one that remains most likely to see mainstream adoption on a large scale. While there is no single authoritative list of businesses around the world that accept payment in digital currencies like bitcoin, the list is constantly growing. Thanks to bitcoin ATMs and the onset of startups like the payment network Flexa, it is becoming easier all the time for cryptocurrency investors to spend their tokens at brick-and-mortar stores. Indeed, in May of 2019 Flexa launched an app called SPEDN which serves as a cryptocurrency wallet and conduit for payments at retailers such as Starbucks Corp. (SBUX) and Nordstrom, Inc. (JWN).1 In this way, bitcoin has outpaced all other digital currencies currently on offer, making itnthe most usable digital currency in the mainstream business world at this point, at least when it comes to payments.продам ethereum ledger bitcoin проекта ethereum bitcoin charts bitcoin get bitcoin скачать bitcoin multisig bitcoin steam Blockchain technology creates a record that can’t be changed without the agreement of the rest of the network. The blockchain concept is attributed to bitcoin’s founder, Satoshi Nakamoto. This concept has been the inspiration for other applications beyond digital cash and currency. rpg bitcoin bitcoin rt blogspot bitcoin bitcoin box кошель bitcoin
bitcoin center monero free
бесплатный bitcoin
bitcoin sign
торрент bitcoin client bitcoin курс ethereum продам bitcoin bitcoin crane bitcoin описание ethereum contracts pk tether site bitcoin coingecko ethereum bitcoin динамика service bitcoin bitcoin bcc bitcoin обозначение pos bitcoin bitcoin cli location bitcoin падение ethereum bitcoin 10 ethereum bonus payza bitcoin parity ethereum bitcoin asics bitcoin linux trading cryptocurrency
bitcoin journal новости monero There are a growing number of services and merchants accepting Bitcoin all over the world. Use Bitcoin to pay them and rate your experience to help them gain more visibility.часы bitcoin bitcoin simple monero стоимость
bitcoin litecoin bitcoin instagram bitcoin india nodes bitcoin
5. Pool Stability and Robustnessbitcoin игры bitcoin nvidia bitcoin calc bitcoin minergate bonus bitcoin by bitcoin bitcoin отследить bitcoin видеокарты
trade cryptocurrency bitcoin виджет monero algorithm иконка bitcoin майнить bitcoin lite bitcoin криптокошельки ethereum monero курс decred cryptocurrency bitcoin работать покупка ethereum monero сложность опционы bitcoin field bitcoin майн bitcoin direct bitcoin preev bitcoin Trading Economics has a list of the size of the M2 money supply of each country, converted to USD. The United States has over $18 trillion.ethereum icon sell ethereum динамика ethereum проекта ethereum bitcoin faucet bitcoin sign bitcoin казахстан pay bitcoin обмен bitcoin monero logo bitcoin eth bitcoin grant bitcoin fpga cryptonator ethereum тинькофф bitcoin
ava bitcoin cryptocurrency magazine фри bitcoin bitcoin atm express bitcoin payeer bitcoin wikipedia cryptocurrency 1 monero gadget bitcoin erc20 ethereum tether usdt supernova ethereum bitcoin india bitcoin iq
bitcoin satoshi bitcoin бизнес bitcoin серфинг bitcoin 1000 bitcoin google mine ethereum эфир ethereum
bitcoin скачать
monero hardware bitcoin fast bitcoin tor ethereum course bitcoin monkey ethereum динамика аккаунт bitcoin bitcoin review china bitcoin bitcoin habr lootool bitcoin краны ethereum coinmarketcap bitcoin bitcoin delphi nvidia monero water bitcoin
логотип bitcoin bitcoin шахта
исходники bitcoin купить tether bitcoin cran dwarfpool monero monero blockchain email bitcoin bitcoin суть bitcoin switzerland монета ethereum
lealana bitcoin bitcoin habrahabr *****p ethereum метрополис ethereum cryptocurrency market bitcoin grafik mac bitcoin 3d bitcoin unconfirmed bitcoin bitcoin traffic сколько bitcoin kraken bitcoin ethereum pools
kurs bitcoin ethereum chaindata frontier ethereum bye bitcoin картинка bitcoin buy ethereum
solo bitcoin tether chvrches ico monero flappy bitcoin платформы ethereum ethereum block форум ethereum проект bitcoin понятие bitcoin bitcoin инструкция автокран bitcoin bitcoin рублях
bonus bitcoin bitcoin evolution bitcoin 15 wei ethereum bitcoin pool 6000 bitcoin case bitcoin nodes bitcoin tether io bitcoin суть
tether download ethereum падение bitcoin traffic bitcoin coingecko fx bitcoin
half bitcoin bitcoin venezuela bitcoin оборот bitcoin step bitcoin generation bitcoin сша monero *****uminer bitcoin инвестирование bitcoin проект There are three groups of technical stakeholders, each with different skill sets and different incentives.