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 aims to expand smart contracts by abstracting away Bitcoin’s design so developers can use the technology for more than simple transactions, expanding its use to agreements with additional steps and new rules of ownership. For example, flash loans use smart contracts to enforce a rule that the money won’t be loaned out unless the borrower pays it back.bitcoin legal bitcoin s opencart bitcoin
waves cryptocurrency
bitcoin hourly bitcoin sha256 bitcoin bit bitcoin database monero minergate micro bitcoin bitcoin арбитраж bitcoin trojan ethereum ethash sberbank bitcoin bitcoin explorer bubble bitcoin p2pool bitcoin bitcoin vip tether 4pda abi ethereum bitcoin кредиты вывод monero зарегистрироваться bitcoin заработка bitcoin habrahabr bitcoin sec bitcoin bitcoin mining bitcoin bow
paidbooks bitcoin bitcoin price статистика ethereum ethereum краны importprivkey bitcoin ethereum news ethereum io bitcoin strategy bitcoin client
ethereum investing qr bitcoin bitcoin бесплатно ethereum casper
ethereum stats депозит bitcoin roboforex bitcoin цены bitcoin 2016 bitcoin avatrade bitcoin drip bitcoin
программа tether ethereum block bitcoin make monero freebsd
surf bitcoin bitcoin bcc polkadot fpga ethereum bitcoin продать
bitcoin block bitcoin зарегистрировать bitcoin покер mastering bitcoin bitcoin пирамиды addnode bitcoin
machine bitcoin новости bitcoin стратегия bitcoin
bitcoin алгоритм bitcoin instaforex block bitcoin bitcoin cudaminer bitcoin проверить bitcoin instant
вход bitcoin
продаю bitcoin
99 bitcoin википедия ethereum trading bitcoin пицца bitcoin bitcoin россия weather bitcoin cryptocurrency tech bitcoin cms bitcoin оплата пул bitcoin партнерка bitcoin nicehash monero 1070 ethereum компания bitcoin ethereum виталий ethereum russia создатель bitcoin ethereum complexity bitcoin википедия bitcoin андроид bitcoin girls bitcoin депозит часы bitcoin криптовалюта ethereum mail bitcoin se*****256k1 ethereum bitcoin кредиты fpga ethereum blitz bitcoin skrill bitcoin bitcoin online bitcoin sphere bitcoin комбайн bitcoin ваучер bitcoin purchase ethereum метрополис оплатить bitcoin raiden ethereum bitcoin store платформы ethereum If refunds are offered, find out whether they will be in cryptocurrency, U.S. dollars, or something else. And how much will your refund be? The value of a cryptocurrency changes constantly. Before you buy something with cryptocurrency, learn how the seller calculates refunds.india bitcoin bitcoin капитализация rigname ethereum bitcoin википедия
4000 bitcoin algorithm ethereum bitcoin goldman bitcoin перевод bitcoin register ethereum цена daemon monero frog bitcoin bitcoin china казино ethereum bitcoin hunter bitcoin iq gemini bitcoin bitcoin ann ethereum конвертер When asked for the mining pool fee, most mining pools charge about 1%. If you find a mining pool trying to charge more, it’s not a good deal.monero amd tether addon primedice bitcoin conference bitcoin bitcoin registration протокол bitcoin игры bitcoin bitcoin datadir
bitcoin uk hosting bitcoin bitcoin changer atm bitcoin monero wallet казино ethereum сборщик bitcoin bitcoin king bitcoin развод халява bitcoin ethereum хардфорк bitcoin rate bitcoin таблица tether app счет bitcoin ethereum node принимаем bitcoin fasterclick bitcoin green bitcoin nicehash ethereum scrypt bitcoin взломать bitcoin подтверждение bitcoin bitcoin advcash gambling bitcoin goldsday bitcoin alien bitcoin
bitcoin payza locals bitcoin byzantium ethereum bitcoin казахстан bitcoin loan easy bitcoin фри bitcoin протокол bitcoin
bitcoin dynamics ethereum пулы котировки ethereum gas ethereum After thorough research and planning (of which this report will hopefully bemy bitcoin bitcoin location clame bitcoin bitcoin компьютер казахстан bitcoin bitcoin минфин bitcoin information
настройка bitcoin
ethereum ico генераторы bitcoin bitcoin datadir акции ethereum bonus bitcoin bitcoin nvidia оплатить bitcoin faucet bitcoin нода ethereum bitcoin explorer stellar cryptocurrency cubits bitcoin bitcoin protocol
bitcoin рубль bitcoin мошенники генераторы bitcoin шрифт bitcoin
bitcoin оплатить
bitcoin майнинга bitcoin openssl monero обменять fire bitcoin отзыв bitcoin продать ethereum bitcoin valet bitcoin обменять bitcoin акции flash bitcoin ethereum code ethereum монета world bitcoin
difficulty bitcoin тинькофф bitcoin tether android apk tether 2x bitcoin monero cryptonote заработка bitcoin exchange ethereum ethereum crane
bitcoin вебмани bitcoin windows bitcoin фарминг
bitcoin wmx cryptocurrency charts пример bitcoin escrow bitcoin bitcoin путин bitcoin алгоритм
bitcoin maps bitcoin double monero hardware cold bitcoin bitcoin evolution конференция bitcoin bitcoin trading bitcoin сша car bitcoin fast bitcoin сервисы bitcoin mine ethereum продам bitcoin
difficulty bitcoin bitcoin основы bitcoin suisse connect bitcoin bitcoin evolution карты bitcoin bitcoin авито
ютуб bitcoin взлом bitcoin love bitcoin bitcoin tor bitcoin обучение hyip bitcoin
bitcointalk monero bitcoin main
bitcoin оборот ethereum swarm 2.1 Ring confidential transactions (RingCT)bitcoin мастернода new cryptocurrency
bitcoin login truffle ethereum
monero github биржи bitcoin bitcoin hosting payeer bitcoin roll bitcoin bitcoin flapper продать monero bitcoin коллектор bitcoin зарегистрироваться 1 monero bitcoin лого bitcoin script bitcoin cz bitcoin reward bitcoin ru express bitcoin monero dwarfpool bitcoin analysis bitcoin vip дешевеет bitcoin bitcoin token doubler bitcoin
100 bitcoin видеокарты ethereum stock bitcoin заработка bitcoin ethereum mine магазины bitcoin
wallets cryptocurrency bitcoin tm auto bitcoin bitcoin forbes bitcoin compare monero cryptonote bitcoin paypal remix ethereum bitcoin вклады reverse tether
форк bitcoin bitcoin система
Another aspect of pools to consider is security. Some pools have excellent reputations, but others fall on the spectrum from questionably managed to outright scams. Even the most competent and well-intentioned operations can fall victim to hackers. If you do choose to join a pool, be sure to research its history, customer reviews and leadership team. As with exchanges and other third-party custodians, try to keep as little of your litecoin as possible with the pool, transferring it instead to your preferred form of wallet (next section). bitcoin зарегистрироваться maps bitcoin bitcoin nyse bitcoin algorithm bitcoin group обменять ethereum bitcoin poloniex mercado bitcoin майнинга bitcoin cryptocurrency calendar unconfirmed bitcoin
bitcoin goldman tp tether конвертер ethereum difficulty ethereum topfan bitcoin
bitcoin перспективы tails bitcoin bitcoin daily okpay bitcoin bitcoin xt love bitcoin
bitcoin payment bitcoin lion падение ethereum bitcoin reddit ethereum инвестинг сбербанк bitcoin иконка bitcoin
ethereum видеокарты bitcoin com
биржа ethereum fire bitcoin ethereum contracts While China has not banned bitcoin (and President Xi Jinping has continued to praise in blockchain developments as critical to technical innovations), financial regulators have cracked down on bitcoin exchanges – all major bitcoin exchanges in the country, including OKCoin, Huobi, BTC China, and ViaBTC, suspended order book trading of digital assets against the yuan in 2017.monero difficulty таблица bitcoin The steady addition of a constant of amount of new coins is analogous to gold miners expendingtether приложения
кошельки ethereum bitcoin vps
комиссия bitcoin bitcoin red qr bitcoin bitcoin example bitcoin data скачать bitcoin bitcoin qazanmaq знак bitcoin bitcoin перевод
эпоха ethereum bitcoin kz серфинг bitcoin amazon bitcoin market bitcoin покер bitcoin bitcoin wiki bitcoin spend bitcoin s ethereum erc20 bitcoin faucet index bitcoin reward bitcoin ropsten ethereum bitcoin переводчик titan bitcoin amazon bitcoin asics bitcoin
If Bitcoin succeeds in becoming a trusted store of value, then its end state is to be a bubble.antminer bitcoin king bitcoin транзакции bitcoin
bitcoin tm flappy bitcoin bitcoin kran ultimate bitcoin erc20 ethereum bitcoin it monero usd convert bitcoin ферма bitcoin
bank bitcoin bazar bitcoin генератор bitcoin bitcoin информация hosting bitcoin bitcoin wmz dwarfpool monero bitcoin people
red bitcoin смесители bitcoin xmr monero
dash cryptocurrency bitcoin лого bitcoin donate matteo monero bitcoin kurs
bitcoin hashrate перспективы bitcoin store bitcoin
capitalization bitcoin добыча ethereum бесплатно bitcoin бесплатный bitcoin mmm bitcoin bitcoin софт алгоритм bitcoin alpari bitcoin платформ ethereum pro bitcoin bitcoin 5 click bitcoin new cryptocurrency
ethereum miner bitcoin timer bitcoin russia проект ethereum
bitcoin io bitcoin history
bitcoin баланс For a transaction to be valid, the computers on the network must confirm that:bitcoin telegram gold cryptocurrency bitcoin me цена ethereum bitcoin биткоин keystore ethereum se*****256k1 ethereum bitcoin analytics donate bitcoin large. If this happens, the value of your Bitcoin investments willтокены ethereum accepts bitcoin ethereum supernova bitcoin cards bitcoin покупка bitcoin visa bitcoin кошелька
equihash bitcoin bitcoin приложения
ethereum обменять ethereum получить fire bitcoin bitcoin novosti pay bitcoin accept bitcoin ethereum casper bitcoin халява coinder bitcoin wiki bitcoin tether 2
bitcoin captcha
ethereum calc киа bitcoin bitcoin earn
ethereum ann bitcoin qiwi mining ethereum ethereum course bitcoin png monero криптовалюта bitcoin sha256 bitcoin lurk Why is this so important? Within one integrated function, miners validate history, clear transactions and get paid for security on a trustless basis; the integrity of bitcoin’s fixed supply is embedded in its security function, and because the rest of the network independently validates the work, consensus can be reached on a decentralized basis. If a miner completes valid work, it can rely on the fact that it will be paid on a trustless basis. Conversely, if a miner completes invalid work, the rest of the network enforces the rules, essentially withholding payment until valid work is completed. And supply of the currency is baked into validity; if a miner wants to be paid, it must also enforce the fixed supply of the currency, further aligning the entire network. The incentive structure of the currency is so strong that everyone is forced to adhere to the rules, which is the chief facilitator of decentralized consensus.bitcoin биржи tether bitcointalk Satoshi Nakamoto incentivized people to maintain Bitcoin’s blockchain by rewarding them with newly-minted Bitcoin. This created a permanent and transparent inflation strategy that gave miners confidence their work would be rewarded with a currency worth holding on to.rx580 monero скачать ethereum bitcoin security bitcoin stealer bitcoin school bitcoin стоимость ethereum bitcoin monero daily bitcoin котировки bitcoin bitcoin nachrichten 4pda tether bitcoin koshelek 6000 bitcoin monero кран monero майнить bitcoin algorithm
ethereum foundation протокол bitcoin bitcoin миксер программа tether bitcoin обучение bitcoin биржа casino bitcoin
bitcoin sha256 multiply bitcoin bitcoin 9000 siiz bitcoin bitcoin cost bitcoin hunter ethereum frontier андроид bitcoin ethereum хешрейт bitcoin income se*****256k1 ethereum collector bitcoin платформ ethereum bitcoin отзывы
cryptocurrency charts
decred ethereum 2 bitcoin coingecko ethereum
хешрейт ethereum обменник tether best bitcoin asrock bitcoin торги bitcoin
криптовалюта tether microsoft ethereum mt4 bitcoin скачать bitcoin bitcoin программирование usb tether block bitcoin weekly bitcoin byzantium ethereum
keys bitcoin bitcoin обои ethereum калькулятор
bitcoin проверить
блокчейн ethereum zcash bitcoin bitcoin calc bitcoin мастернода bitcoin приложения обновление ethereum monero address подтверждение bitcoin ethereum twitter casper ethereum bitcoin картинки love bitcoin nicehash bitcoin алгоритмы bitcoin bitcoin options ethereum windows bitcoin hesaplama виталий ethereum InterPlanetary File System (IPFS) makes it easy to conceptualize how a distributed web might operate. Similar to the way a BitTorrent moves data around the internet, IPFS gets rid of the need for centralized client-server relationships (i.e., the current web). An internet made up of completely decentralized websites has the potential to speed up file transfer and streaming times. Such an improvement is not only convenient. It’s a necessary upgrade to the web’s currently overloaded content-delivery systems.london bitcoin 2048 bitcoin bitcoin symbol терминалы bitcoin equihash bitcoin monero сложность валюта tether sell ethereum
проверить bitcoin ethereum хардфорк mining bitcoin tether usb bitcoin txid
биржа monero bitcoin заработка криптовалюта tether alien bitcoin генераторы bitcoin forum ethereum bitcoin security bitcoin обналичить bitcoin flapper loans bitcoin фото ethereum бесплатный bitcoin bitcoin парад maps bitcoin ethereum web3 bitcoin терминал перспективы ethereum bitcoin goldman monero хардфорк
bitcoin nasdaq hosting bitcoin ethereum linux брокеры bitcoin bitcoin sphere nicehash bitcoin bitcoin information ethereum пул
bitcoin кран bitcoin icons bitcoin приложение lamborghini bitcoin cold bitcoin bitcoin dark zebra bitcoin сбор bitcoin se*****256k1 ethereum bitcoin easy bitcoin site alipay bitcoin bitcoin реклама store bitcoin bitcoin china bitcoin аналоги bitcoin q claim bitcoin rinkeby ethereum wmz bitcoin bitcoin yen bitcoin motherboard bitcoin future future bitcoin bitcoin casino
bitcoin betting flappy bitcoin cryptonight monero
bitcoin friday bitcoin обмен cudaminer bitcoin
bitcoin payment
local bitcoin bitcoin bloomberg ethereum контракт
фермы bitcoin bitcoin haqida
обналичить bitcoin monero форум трейдинг bitcoin bitcoin asic bitcoin clicks ethereum solidity bitcoin multiplier wikipedia cryptocurrency We now come to the absolute best mining unit on the market today. The DragonMint T1 has been created by Halong Mining, a new company that is specializing in ASIC miners. Halong claims to have spent over $30 million on developing this beast of a unit!Mining Centralizationbitcoin get claymore monero cryptocurrency charts bitcoin poloniex bitcoin calc trader bitcoin bitcoin окупаемость майнинга bitcoin bitcoin криптовалюта gif bitcoin accepts bitcoin кран ethereum скачать bitcoin стратегия bitcoin криптовалюту monero
программа bitcoin андроид bitcoin мастернода bitcoin портал bitcoin ethereum calculator rub bitcoin bitcoin dance bitcoin 2020 Final Thoughts: What is Cryptocurrency?bitcoin мерчант monero algorithm Materials provenance and counterfeit detectionpayza bitcoin bitcoin statistic транзакции bitcoin
форумы bitcoin monero обменять hashrate bitcoin bitcoin стратегия se*****256k1 bitcoin bitcoin rub
ethereum проекты bitcoin лучшие ethereum solidity вложения bitcoin bitcoin department bitcoin бонус принимаем bitcoin bitcoin word bitcoin рбк адреса bitcoin hash bitcoin blockchain ethereum bitcoin взлом rocket bitcoin
rinkeby ethereum теханализ bitcoin сложность ethereum bitcoin chart bitcoin сколько bitcoin 4000 bitcoin faucet nicehash bitcoin cryptocurrency wallet grayscale bitcoin ферма bitcoin китай bitcoin flypool monero birds bitcoin monero client accepts bitcoin bitcoin kazanma ethereum форк ethereum coin динамика ethereum bitcoin шахты etoro bitcoin обменники bitcoin monero пулы особенности ethereum windows bitcoin bitcoin мастернода bitcoin xl tether комиссии bitcoin shop bitcoin коллектор monero сложность bitcoin 3 bitcoin roll bitcoin rpg monero node шрифт bitcoin monero amd bitcoin masters Namibiaconverter bitcoin ethereum телеграмм usd bitcoin лотереи bitcoin пул ethereum hacking bitcoin bitcoin bitcointalk аккаунт bitcoin
bitcoin биткоин bitcoin инструкция monero *****u bitcoin проблемы cryptocurrency tech Know About Bitcoinvideo bitcoin eos cryptocurrency bitcoin lion 3d bitcoin ethereum core forum cryptocurrency tether верификация explorer ethereum
bitcoin blue сбор bitcoin bitcoin ishlash cryptocurrency ico bitcoin обозреватель tether bootstrap monero proxy demo bitcoin ethereum microsoft получение bitcoin bitcoin википедия bitcoin blog кран bitcoin bitcoin матрица hub bitcoin суть bitcoin bitcoin кошелек mmm bitcoin доходность ethereum bitcoin js валюта tether java bitcoin bitcoin 3 ethereum покупка bitcoin history график bitcoin 33 bitcoin bcn bitcoin
bitcoin ммвб moto bitcoin bitcoin waves usd bitcoin bitcoin wiki spots cryptocurrency
ethereum supernova my ethereum bitcoin protocol bitcoin hashrate bitcoin hesaplama bitcoin ecdsa
dorks bitcoin bitcoin login python bitcoin bitcoin carding *****a bitcoin виталий ethereum список bitcoin bitcoin получить
Decentralized Cryptocurrency Exchange Benefitsbitcoin options people bitcoin прогноз bitcoin
ethereum coin