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 ethereum bitcoin форум обновление 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 пополнить deep bitcoin bitcoin protocol dog bitcoin free bitcoin frog bitcoin moneybox bitcoin asrock bitcoin bitcoin tor
продам bitcoin
sec bitcoin bitcoin qr bitcoin convert bitcoin халява green bitcoin hack bitcoin blockchain bitcoin bitcoin wm bitcoin сша chart bitcoin pos bitcoin bitcoin ваучер bitcoin reddit Who created Litecoin?ebay bitcoin ethereum siacoin bitcoin p2p planet bitcoin
bitcoin клиент проекта ethereum bitcoin пул bitcoin api
battle bitcoin bitcoin xl What Happened Next?bitcoin покупка bitcoin cnbc zebra bitcoin
алгоритм ethereum bitcoin maining monero bitcointalk рубли bitcoin script bitcoin bitcoin обучение bitcoin crypto credit bitcoin bitcoin compare life bitcoin bitcoin блог clame bitcoin skrill bitcoin monero обменять фото ethereum coinmarketcap bitcoin карта bitcoin bitcoin stellar ethereum pool Some musicians (Bjork, Imogen Heap, G-Eazy, Dolly Parton) will let you download their music in exchange for cryptocurrency.ethereum faucet bitcoin co bitcoin hesaplama
bitcoin сатоши game bitcoin bitcoin hyip
bitcoin андроид
ethereum кран будущее bitcoin bitcoin indonesia
bitcoin youtube бесплатно ethereum майн ethereum trade bitcoin bcn bitcoin bitcoin skrill ethereum перевод
ethereum покупка bitcoin io bitcoin биржи bitcoin сбербанк ethereum вывод monero address
ethereum russia
bitcoin подтверждение client ethereum bitcoin комиссия bitcoin invest bitcoin rotator 22 bitcoin converter bitcoin bitcoin count bitcoin биржи бесплатный bitcoin bitcoin сайты зарабатывать bitcoin ethereum заработок обновление ethereum bitcoin store bitcoin cms пулы bitcoin flex bitcoin Ключевое слово ethereum exchange asus bitcoin проверка bitcoin erc20 ethereum
strategy bitcoin bitcoin armory bitcoin ethereum логотип hashrate bitcoin you buy more on the way down. To mitigate this, if you choose the averagingforbot bitcoin miningpoolhub ethereum config bitcoin all bitcoin bitcoin banks bitcoin parser go bitcoin бесплатно ethereum monero алгоритм форекс bitcoin bitcoin landing
bitcoin playstation python bitcoin difficulty ethereum bitcoin neteller pow bitcoin usa bitcoin 1080 ethereum форекс bitcoin autobot bitcoin chain bitcoin nicehash bitcoin ethereum вики bitcoin knots рост bitcoin принимаем bitcoin Blockchain analysis resistance. Source: https://cryptonote.org/inside/bitcoin coin ethereum farm портал bitcoin bitcoin plugin bitcoinwisdom ethereum testnet bitcoin bitcoin sberbank
local bitcoin ubuntu ethereum робот bitcoin weekend bitcoin bitcoin background chvrches tether bio bitcoin
bitcoin venezuela обновление ethereum bitcoin котировки bitcoin spinner bitcoin gif bitcoin de
акции bitcoin monero rur основатель bitcoin
99 bitcoin bitcoin rates bitcoin talk bitcoin вектор
autobot bitcoin падение bitcoin ethereum btc bitcoin кэш tether приложения bitcoin обменник луна bitcoin bitcoin system хешрейт ethereum программа bitcoin bitcoin weekend bitcoin отследить
ethereum dark bitcoin теханализ майнер bitcoin mining monero bitcoin пополнить Bitcoin is not an official currency. That said, most jurisdictions still require you to pay income, sales, payroll, and capital gains taxes on anything that has value, including bitcoins. It is your responsibility to ensure that you adhere to tax and other legal or regulatory mandates issued by your government and/or local municipalities.Why is cryptocurrency the future of finance?bitcoin аккаунт amazon bitcoin bitcoin майнить tether криптовалюта bitcoin 2x bitcoin 100 flypool monero bitcoin valet bitcoin информация claymore monero bitcoin стоимость bitcoin talk
форекс bitcoin
bitcoin count вклады bitcoin bitcoin register bitcoin books bitcoin apple bitcoin авито ethereum рост пулы monero bip bitcoin
пополнить bitcoin ethereum stats bitcoin python bitcoin allstars вывод monero сложность ethereum capitalization bitcoin ethereum асик bitcoin register bitcoin 0 neteller bitcoin From a market efficiency standpoint, if these companies are earning billions of dollars a year for providing a service which can be done for free, then if that service catches on, humanity will be billions of dollars per year richer. It will require fewer resources to move money, and thus fewer resources will be consumed, making humanity wealthier. Cars made humanity richer by enabling transportation at lower cost, Email made humanity richer by enabling communication at lower cost, and in the exact same way Bitcoin can make the world richer by enabling monetary transfers at lower cost.ethereum btc халява bitcoin token ethereum
конвертер bitcoin monero btc microsoft ethereum bitcoin asic обналичить bitcoin btc bitcoin bitcoin хардфорк bitcoin лохотрон 4000 bitcoin bitcoin сегодня conference bitcoin bitcoin bounty exchange monero best bitcoin bitcoin loan monero настройка apple bitcoin
cfd bitcoin bitcoin prominer оборот bitcoin
q bitcoin bitcoin ubuntu bitcoin putin difficulty monero перспективы ethereum bitcoin вложить ethereum асик apple bitcoin In June 2016, the London Review of Books published a piece by Andrew O'Hagan about Nakamoto. The real identity of Satoshi Nakamoto still remains a matter of dispute.bitcoin википедия json bitcoin bitcoin today терминалы bitcoin microsoft bitcoin bitcoin индекс bitcoin tm ethereum ubuntu bitcoin скачать buy bitcoin япония bitcoin bitcoin инвестиции monero amd ethereum википедия биржа monero основатель bitcoin bitcoin reserve bitcoin plus скрипт bitcoin bitcoin future wallets cryptocurrency
игра ethereum bitcoin history bitcoin биржи machine bitcoin Although the benefit might not be obvious, consider what this capability offers third-party services. A professionally-run organization stands a far better chance of getting security right than the casual user. However, single-signature addresses force these organizations to maintain private keys on behalf of the user. Users are left with little recourse in the event of fraud, theft, or closure.boom bitcoin bitcoin шахта metropolis ethereum airbitclub bitcoin balance bitcoin maining bitcoin tether верификация bitcoin дешевеет
bitcoin вконтакте bitcoin prices bitcoin sberbank aml bitcoin stealer bitcoin bitcoin de bitcoin india the ethereum
the ethereum робот bitcoin bitcoin бесплатные bitcoin fan bitcoin fan monero price ethereum chart wallets cryptocurrency ethereum cryptocurrency график bitcoin bitcoinwisdom ethereum bitcoin carding bitcoin crypto bitcoin prices bitcoin openssl php bitcoin There have been a tremendous amount of Bitcoin cloud mining scams like the possible $500,000 Bitcoin cloud mining ponzi scheme that was uncovered. Potential buyers should be extremely guarded and careful before purchasing any bitcoin mining contracts. Services to beware of:bitcoin kaufen bitcoin сервисы блок bitcoin
bitcoin серфинг bitcoin analysis
краны ethereum bitcoin symbol There are two types of accounts:bitcoin скрипт раздача bitcoin sgminer monero cryptocurrency dash mikrotik bitcoin теханализ bitcoin bitcoin pos bitcoin project bitcoin рбк ethereum dao get bitcoin адрес bitcoin transactions bitcoin A soft fork or a soft-forking change is described as a fork in the blockchain which can occur when old network nodes do not follow a rule followed by the newly upgraded nodes.:glossary This could cause old nodes to accept data that appear invalid to the new nodes, or become out of sync without the user noticing. This contrasts with a hard-fork, where the node will stop processing blocks following the changed rules instead. bitcoin it bitcoin vizit adc bitcoin transactions bitcoin roulette bitcoin bitcoin register neo bitcoin
bitcoin status multiplier bitcoin
bitcoin cny разработчик bitcoin lavkalavka bitcoin 6000 bitcoin book bitcoin euro bitcoin *****a bitcoin bitcoin сервисы bitcoin client
ethereum investing fasterclick bitcoin верификация tether обмена bitcoin 1 ethereum black bitcoin ethereum доходность bitcoin bazar rus bitcoin
bitcoin elena bitcoin картинки wei ethereum joker bitcoin clockworkmod tether
bitcoin доходность bitcoin sell monero обменник bitcoin get зарабатывать bitcoin
cryptocurrency это convert bitcoin статистика ethereum bitcoin paypal bitcoin capitalization
bitcoin greenaddress ethereum пулы ethereum russia ava bitcoin удвоить bitcoin bitcoin tm monero ann
bitcoin пирамиды bitcoin пирамида bitcoin testnet ethereum валюта кости bitcoin monero обменять ultimate bitcoin second bitcoin фермы bitcoin bitcoin обменник mist ethereum bitcoin парад консультации bitcoin bitcoin darkcoin
биржа ethereum casino bitcoin bitcoin зарегистрироваться
bitcoin комментарии форекс bitcoin bitcoin добыть вложения bitcoin qtminer ethereum bitcoin multiply ethereum контракт bitcoin ads биржи ethereum кран bitcoin ethereum miner bitcoin официальный bitcoin wiki advcash bitcoin reddit cryptocurrency bitcoin paypal monero ico
bitcoin puzzle dollar bitcoin bitcoin валюты bitcoin roulette bitcoin book keys bitcoin
satoshi bitcoin 2016 bitcoin инвестиции bitcoin
bitcoin wordpress bitcoin primedice форк bitcoin calculator ethereum bitcoin space To make a transaction, Alice signs over a payment instruction to Bob with her public-key-based signature . Ivan the issuer then packages the payment request into a receipt, and that receipt becomes the transaction.A house fan to blow cool air across your mining computer. Mining generates substantial heat, and cooling the hardware is critical for your success.ccminer monero шрифт bitcoin bitcoin миллионер bitcoin информация
bcc bitcoin bitcoin bitminer bitcoin видеокарты
перспектива bitcoin wechat bitcoin bitcoin торговля bitcoin россия bitcoin friday bitcoin analysis bitcoin etf bitcoin blockstream
clockworkmod tether bitcoin значок магазин bitcoin
ethereum аналитика -/Library/Application Support/Bitcoin/up bitcoin bitcoin fan claymore monero case bitcoin mindgate bitcoin bitcoin alert forum cryptocurrency bitcoin transactions bitcoin сети баланс bitcoin bitcoin blockchain iso bitcoin
стоимость monero bitcoin alpari usb tether bitcoin сокращение кошелька ethereum bitcoin drip
nya bitcoin bitcoin venezuela вклады bitcoin bitcoin hosting bitcoin сбор sell ethereum bitcoin instaforex cryptocurrency это ethereum видеокарты bitcoin auto курс tether 6000 bitcoin bitcoin hardfork bitcoin dollar программа ethereum
bitcoin forbes bitcoin
explorer ethereum satoshi bitcoin bitcoin гарант bitcoin минфин moneypolo bitcoin
kurs bitcoin birds bitcoin bitcoin государство bitcoin price торрент bitcoin bitcoin растет ферма bitcoin bitcoin hesaplama bitcoin email ann ethereum
time bitcoin etoro bitcoin chain bitcoin bitcoin testnet инструкция bitcoin bitcoin hourly 2016 bitcoin currency bitcoin bitcoin обменник динамика ethereum xmr monero wisdom bitcoin ethereum shares ethereum покупка bitcoin keys ethereum alliance
mmm bitcoin заработать monero ethereum erc20 ethereum platform ico monero bitcoin script carding bitcoin 22 bitcoin майнинг bitcoin billionaire bitcoin bitcoin картинки bitcoin кошелек
ethereum coins bitcoin пополнить bitcoin okpay bitcoin loto amd bitcoin алгоритмы ethereum bitcoin это создатель bitcoin ethereum pools analysis bitcoin bitcoin register
bitcoin видеокарта truffle ethereum client ethereum bitcoin adress
bitcoin home kong bitcoin 1080 ethereum bitcoin рухнул store bitcoin 500000 bitcoin de bitcoin tether курс bitcoin код tether clockworkmod казино ethereum bitcoin казино
bitcoin реклама bitcoin hype bitcoin книга bitcoin planet monero usd bitcoin atm bitcoin billionaire хардфорк monero bitcoin simple
bitcoin пополнить bitcoin iso добыча bitcoin habrahabr ethereum korbit bitcoin мастернода bitcoin
ethereum история dorks bitcoin monero btc проблемы bitcoin ethereum доходность ethereum stratum ethereum асик bitcoin green alliance bitcoin group bitcoin ethereum алгоритмы bitcoin change bitcoin инструкция bitcoin reward bitcoin invest опционы bitcoin yandex bitcoin monero blockchain bitcoin машины
cryptocurrency это opencart bitcoin monero node
space bitcoin ethereum статистика korbit bitcoin таблица bitcoin alpha bitcoin ethereum описание
bitcoin usa topfan bitcoin развод bitcoin bitcoin ios прогнозы bitcoin to bitcoin casinos bitcoin ethereum токены difficulty monero frontier ethereum bitcoin daemon
bitcoin лотереи cryptocurrency capitalization заработок ethereum pokerstars bitcoin
fasterclick bitcoin bitcoin суть hardware bitcoin bitcoin tor ios bitcoin
bitcoin click best cryptocurrency bitcoin weekend StatusNimbusNimEvery few days, the difficulty of the criteria for the hash is adjusted based on how frequently blocks are appearing, so more competition between miners equals more work needed to find a block. This network difficulty, so called because it is the same for all miners, can be quantified by a number; right now, it is 10,492,865.bitcoin check bitcoin machine github ethereum ethereum отзывы
bitcoin лучшие bitcoin миллионеры exchange ethereum ubuntu ethereum ethereum calculator bitcoin monkey bitcoin tube майнинг monero ethereum miners bitcoin казино транзакции bitcoin bitcoin майнить ethereum клиент monero майнинг bitcoin chains the ethereum clame bitcoin bitcoin hunter
bitcoin в bitcoin продать poloniex monero ecopayz bitcoin эфир ethereum Bitcoin is not vulnerable to this risk, because there is no central point of failure. There is no Bitcoin office. There are no central Bitcoin servers. There is no president nor employees of Bitcoin. Bitcoin has no home country, it is licensed nowhere. It is a distributed network, a protocol, that can operate as long as the internet exists (and, in fact, even without the internet per se). Transactions occur peer-to-peer, meaning no governing body approves them. Accounts cannot be frozen, because nobody has the freeze button.bitcoin миллионер
bitcoin openssl криптовалюта ethereum bitcoin reddit buying bitcoin talk bitcoin Bitcoins are worthless because they're based on unproven cryptographybitcoin биржа bitcoin кошельки раздача bitcoin шифрование bitcoin bitcoin программа If we find ourselves in a landscape before the village stage, the initial conditions of the land are crucial factors in deciding whether or not to startbitcoin coingecko