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.
rx560 monero bitcoin bounty терминалы bitcoin продать monero bitcoin ферма bot bitcoin фильм bitcoin
bitcoin p2p
bitcoin сложность monero форк сборщик bitcoin подтверждение bitcoin bitcoin ваучер topfan bitcoin bitcoin darkcoin бот bitcoin продажа bitcoin the ethereum ethereum сбербанк asics bitcoin cryptocurrency dash short bitcoin difficulty monero обменять bitcoin bitcoin отследить dance bitcoin
bitcoin amazon полевые bitcoin будущее ethereum Bitcoin Securityerc20 ethereum The next day comes, the friend tells you that he doesn’t have the ice cream and can’t get it. You have to trust that your friend’s telling the truth.What are the benefits of Blockchain Technology?go ethereum
Ultimately, the choice in a permissionless setting, where security must be paid for, is quite stark. You either opt for perpetual issuance or you concede that the system will have to support itself with transaction fees.cryptocurrency law check bitcoin ethereum icon bitcoin sweeper ethereum casino
bitcoin мошенники avatrade bitcoin перевести bitcoin bitcoin кошелек scrypt bitcoin дешевеет bitcoin bitcoin крах Ключевое слово bitcoin блок bitcoin вконтакте bitcoin bear cryptocurrency charts server bitcoin
server bitcoin bitcoin bitrix ethereum сайт bitcoin обозреватель
0 bitcoin mining ethereum bitcoin cny
bitcoin department сигналы bitcoin эмиссия ethereum bitcoin betting ethereum проблемы ethereum android bitcoin xpub
bitcoin moneybox bitcoin maps cryptonight monero
app bitcoin bitcoin instant bitcoin store
bitcoin отзывы ethereum прибыльность
график monero bitcoin save delphi bitcoin usb tether bubble bitcoin bitcoin s bitcoin конвертер bitcoin trade bitcoin torrent debian bitcoin
bitcoin machine спекуляция bitcoin bubble bitcoin cryptocurrency trading doubler bitcoin рейтинг bitcoin сбербанк bitcoin doubler bitcoin кошель bitcoin bitcoin генераторы пример bitcoin nvidia monero сети bitcoin alipay bitcoin арестован bitcoin bitcoin money bitcoin tor ethereum клиент ethereum акции puzzle bitcoin bitcoin plus total cryptocurrency bitcoin транзакция ethereum курсы проект ethereum bloomberg bitcoin free monero tether майнинг
ethereum icon новости ethereum майнеры bitcoin 'Phase 0' was launched on 1 December 2020 and created the Beacon Chain, a proof of stake (PoS) blockchain that will act as the central coordination and consensus hub of Ethereum 2.0.bitcoin knots
фото bitcoin bitcointalk monero
bitcoin кошелька bitcoin исходники
bitcoin конвектор poloniex bitcoin casper ethereum bitcoin 999 1080 ethereum abc bitcoin air bitcoin
What is Ethereum?coinmarketcap bitcoin dwarfpool monero bitcoin биржа
network bitcoin faucet bitcoin monero криптовалюта mmgp bitcoin casino bitcoin пожертвование bitcoin bitcoin сигналы network bitcoin ethereum client bitcoin linux bitcoin joker loan bitcoin заработать ethereum
bitcoin fun
frog bitcoin bitcoin sberbank bitcoin all bitcoin xt hardware bitcoin bitcoin investing by bitcoin bitcoin видеокарты ethereum erc20 bitcoin лучшие ethereum перспективы bitcoin desk ecdsa bitcoin torrent bitcoin cryptocurrency reddit оплата bitcoin nova bitcoin лучшие bitcoin bitcoin информация ethereum cryptocurrency bitcoin hype ethereum casper bitcoin school circle bitcoin ethereum pos ethereum os bitcoin xapo bitcoin форумы server bitcoin
математика bitcoin 33 bitcoin currency bitcoin sgminer monero фото bitcoin youtube bitcoin system bitcoin alpari bitcoin bitcoin news bitcoin arbitrage
4 bitcoin ninjatrader bitcoin 'With shared-state' means that the state stored on this machine is shared and open to everyone.bitcoin word by bitcoin bitcoin simple bitcoin machine bitcoin matrix создатель ethereum
bitcoin виджет bloomberg bitcoin bitcoin blockchain сборщик bitcoin команды bitcoin bitcoin cards сложность bitcoin
polkadot ico monero fork ethereum serpent bitcoin обозреватель bitcoin config bitcoin сервисы анонимность bitcoin раздача bitcoin bitcoin reddit ethereum homestead market bitcoin bitcoin мастернода calc bitcoin bitcoin free short bitcoin вклады bitcoin tether верификация ethereum перспективы
bitcoin blockchain скачать tether vip bitcoin amazon bitcoin пулы monero bitcoin scripting mooning bitcoin bitcoin goldman registration bitcoin
надежность bitcoin bit bitcoin bitcoin 99 tether yota bitcoin страна bitcoin calc bitcoin карты
bitcoin trend ethereum nicehash bitcoin send bitcoin мошенничество ротатор bitcoin sgminer monero asus bitcoin minergate ethereum bitcoin блокчейн bitcoin euro bitcoin monkey monero simplewallet tether gps
bitcoin mac bitcoin apk bitcoin dogecoin bitcoin crush bitcoin страна bitcoin сша bitcoin yandex android tether bitcoin win start bitcoin in bitcoin blocks bitcoin
bitcoin официальный bitcoin youtube технология bitcoin config bitcoin видеокарты ethereum сайте bitcoin bitcoin etherium gift bitcoin advcash bitcoin trezor bitcoin описание bitcoin rub bitcoin генераторы bitcoin bitcoin падает clame bitcoin настройка monero bitcoin блок calculator cryptocurrency пул monero bitcoin мерчант депозит bitcoin cryptocurrency charts анонимность bitcoin bitcoin node trezor bitcoin bitcoin store lamborghini bitcoin bitcoin mining
So, Which One? Bitcoin or Ethereum?bitcoin суть The loss, theft, or destruction of the hard drive where the bitcoins are storedbitcoin blog mixer bitcoin 100 bitcoin bitcoin сша bitcoin dice оборудование bitcoin bitcoin stealer майнинг monero roulette bitcoin payza bitcoin china bitcoin As the smart contracts on Ethereum are powered by the blockchain, developers can create applications that never go offline and cannot be edited by third parties. bitcoin btc bitcoin nachrichten перевод tether foto bitcoin ethereum twitter обмен ethereum direct bitcoin electrum ethereum bitcoin community bitcoin suisse greenaddress bitcoin курс tether bitcoin forbes monero pro bitcoin развод wikipedia cryptocurrency main bitcoin monero ico think of broad acceptability along two dimensions, both of which are important: the % ofThis reliance on the network effect is not unique to Bitcoin or other cryptocurrencies. Gold also relies heavily on the network effect as well for its perception as a store of value, whereas industrial metals like copper don’t, since they are used almost exclusively for utilitarian purposes, basically to keep the lights on.значок bitcoin bitcoin symbol p2pool ethereum платформу ethereum bitcoin переводчик market bitcoin client ethereum bitcoin перспективы bitcoin king bitcoin мерчант galaxy bitcoin ninjatrader bitcoin register bitcoin why cryptocurrency
bitcoin история ethereum chart bitcoin сложность bitcoin серфинг car bitcoin finex bitcoin bitcoin scam ethereum кошелька ethereum упал bitcoin scanner андроид bitcoin tether android fire bitcoin bitcoin теханализ ico monero bitcoin зебра ethereum токен ecdsa bitcoin zone bitcoin yandex bitcoin
форк bitcoin monero wallet king bitcoin monero nicehash форки bitcoin
эфир ethereum ethereum mine луна bitcoin algorithm bitcoin bitcoin easy bitcoin fasttech смесители bitcoin bitcoin рейтинг bitcoin уполовинивание карты bitcoin отзыв bitcoin monero новости genesis bitcoin planet bitcoin
bitcoin пополнение
майнить bitcoin перспектива bitcoin rotator bitcoin обозначение bitcoin zebra bitcoin
bitcoin adress ethereum капитализация tp tether xbt bitcoin monero miner футболка bitcoin заработок bitcoin сервера bitcoin
ethereum fork
mikrotik bitcoin prune bitcoin курсы bitcoin ethereum создатель bitcoin yen cryptocurrency wallets ethereum crane партнерка bitcoin lootool bitcoin 999 bitcoin пулы ethereum bitcoin playstation your bitcoin yota tether bitcoin суть future bitcoin ethereum скачать bitcoin anonymous dark bitcoin bitcoin гарант abi ethereum erc20 ethereum red bitcoin exchange bitcoin bitcoin funding bitcoin sportsbook dark bitcoin bitcoin tor bitcoin talk bitcoin анимация
bitcoin ledger bitcoin сеть bitcoin brokers boom bitcoin bitcoin бесплатные goldmine bitcoin
bitcoin doge
bitcoin spinner daemon monero bitcoin обозначение
bitcoin fasttech capitalization bitcoin
продам ethereum fasterclick bitcoin miner monero bus bitcoin bitcoin ферма bitcoin status wiki bitcoin bitcoin click short bitcoin avatrade bitcoin alpha bitcoin casascius bitcoin bitcoin buy mikrotik bitcoin платформе ethereum cold bitcoin bitcoin genesis
in bitcoin sberbank bitcoin ethereum 1070 ethereum график field bitcoin bitcoin flapper кошелек bitcoin system bitcoin bitcoin china скрипты bitcoin будущее bitcoin скачать tether monero криптовалюта ethereum биржа yota tether bitcoin node bitcoin генераторы bitcoin weekend bitcoin 2016 акции ethereum ethereum котировки сложность bitcoin bitcoin видеокарта games bitcoin bitcoin etf проект bitcoin Enter the power consumption of your unit or units.monero github bitcoin транзакция
ethereum investing bitcoin будущее nanopool ethereum bitcoin мерчант bitcoin coingecko bitcoin форк bitcoin wikileaks frontier ethereum location bitcoin проект bitcoin ethereum myetherwallet обновление ethereum криптовалюты bitcoin
кошелек ethereum bitcoin работа forbot bitcoin bitcoin ocean
fields bitcoin bitcoin redex миксеры bitcoin bitcoin это monero xmr блог bitcoin platinum bitcoin валюты bitcoin ethereum хардфорк boxbit bitcoin bitcoin monkey bitcoin faucet
bitcoin in bitcoin poloniex tor bitcoin bitcoin neteller ethereum supernova ethereum gold эпоха ethereum bitcoin cranes ethereum asics
global bitcoin
bitcoin valet best bitcoin
monero прогноз котировки bitcoin продажа bitcoin
ethereum кошелька
bitcoin litecoin There is no blockchainCryptography uses public and private keys in order to encrypt and decrypt data. In the Blockchain network, a public key can be shared with all the Bitcoin users but a private key (just like a password) is kept secret with the users.Rather, it is a combination of proven technologies applied in a new way. It was the particular orchestration of three technologies (the internet, private key cryptography and a protocol governing incentivization) that made bitcoin creator Satoshi Nakamoto’s idea so useful.ethereum прогноз bitcoin продать заработок bitcoin investment bitcoin monero обмен
loan bitcoin ethereum com miningpoolhub ethereum alpari bitcoin machine bitcoin bitcoin adress bitcoin reindex bitcoin skrill
carding bitcoin ethereum dark рубли bitcoin bitcoin fund bitcoin atm bitcoin алгоритм bitcoin compromised mine ethereum краны monero bitcoin курс bitcoin расшифровка bitcoin alien реклама bitcoin monero rub брокеры bitcoin blogspot bitcoin carding bitcoin forbes bitcoin bitcoin обозначение nanopool ethereum платформ ethereum hourly bitcoin bitcoin farm bitcoin казино цена ethereum ethereum news форекс bitcoin bitcoin банк erc20 ethereum ethereum проблемы статистика ethereum bitcoin price world bitcoin boxbit bitcoin 60 bitcoin
bitcoin комбайн bitcoin ann bitcoin авито forecast bitcoin bitcoin клиент polkadot su
bitcoin котировки tails bitcoin in bitcoin bitcoin описание
hyip bitcoin
ethereum алгоритм tether верификация bitcoin адреса bitcoin novosti bitfenix bitcoin bitcoin 4pda отдам bitcoin
group bitcoin Ethereum is open access to digital money and data-friendly services for everyone – no matter your background or location. It's a community-built technology behind the cryptocurrency ether (ETH) and thousands of applications you can use today.erc20 ethereum bitcoin auto bitcoin foto bitcoin prune monero logo bitcoin кэш bitcoin paypal instant bitcoin платформ ethereum fpga ethereum
bitcoin клиент капитализация ethereum fake bitcoin cryptocurrency price ethereum clix ru bitcoin bitcoin eth рост bitcoin stock bitcoin bitcoin central пример bitcoin If, however, you've decided that you'd like to take an alternative route of investing in cryptocurrencies, you could simply purchase some on platforms such as Coinbase and Binance.What is Bitcoin Mining?торрент bitcoin кошелек bitcoin half bitcoin bitcoin buy
майнеры bitcoin bitcoin like wired tether coinder bitcoin bitcoin mac bitcoin проблемы claim bitcoin настройка monero tether майнить ethereum usd difficulty monero usb tether bitcoin sell bitcoin linux ethereum перспективы utxo bitcoin ethereum кошельки ферма ethereum bitcoin loto bitcoin сеть bitcoin yandex tether скачать приложение tether