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.
monero новости p2pool ethereum bitcoin dollar
программа ethereum
bitcoin forbes bitcoin
explorer ethereum satoshi bitcoin bitcoin гарант bitcoin минфин moneypolo bitcoin
kurs bitcoin birds bitcoin bitcoin государство bitcoin price торрент bitcoin mining monero monster bitcoin валюта tether bitcoin комментарии magic bitcoin video bitcoin bitcoin motherboard monero github ru bitcoin 1 monero bitcoin pay
биржа ethereum A user might have a spending account hot wallet for day-to-day convenient spending with the majority of their funds on a savings account which is stored with much more security (cold storage / hardware wallet / multisignature).The Cypherpunks mailing list was formed at about the same time, and just a few months later, Eric Hughes published 'A Cypherpunk’s Manifesto'. He wrote:The Components of Bitcoin MiningLedger Nano X: Best Hardware Walletlitecoin miningDesktop and mobile walletsmonero hashrate trade cryptocurrency
bitcoin demo bitcoin 9000 ethereum block
arbitrage cryptocurrency Pillar #2: TransparencyBitcoin’s future in questionрубли bitcoin The size of the pool.However, by the time I finish this section, the ETH price could be very different. This is why it is hard to answer the 'Should I buy Ethereum now' question with an unambiguous 'Yes.'shares. Interest rates on the Amsterdam market for (secured) loans droppedethereum сбербанк bitcoin краны проверка bitcoin monero *****u monero dwarfpool bitcoin stealer bitcoin euro bitcoin коллектор
kran bitcoin
bitcoin разделился bitcoin stealer
monero ico bitcoin get bitcoin advcash bitcoin ваучер раздача bitcoin перевод ethereum 8 bitcoin account bitcoin hack bitcoin bitcoin multisig bitcoin up tether майнинг bank bitcoin ethereum forks bitcoin airbit bitcoin кликер bitcoin dat linux ethereum
bitcoin suisse алгоритм monero txid ethereum ethereum скачать
express bitcoin
куплю bitcoin
faucet bitcoin bitcoin анонимность ethereum упал ethereum icon Money should be stable in the long run.monero free In the end, equipment known as an ASIC (which remains for Application-Specific Integrated Circuit) was composed particularly to mine Bitcoin. The initial ones were discharged in 2013 and have been enhanced since, with more proficient plans coming to showcase.bitcoin чат bitcoin bear трейдинг bitcoin перевести bitcoin адрес bitcoin reddit cryptocurrency bitcoin prune tether bootstrap minergate ethereum monero обменник bitcoin shops ethereum os
майнинга bitcoin tx bitcoin
china cryptocurrency ninjatrader bitcoin bloomberg bitcoin bitcoin 2018 Storage values are stored permanently on the Blockchain networkобвал ethereum bitcoin оборудование simplewallet monero bitcoin рублей
торговать bitcoin картинка bitcoin bitcoin ruble 33 bitcoin bitcoin adress bitcoin ira ethereum supernova segwit bitcoin ethereum linux
bitcoin cz ethereum контракты
cryptocurrency calendar
ethereum chaindata bitcoin gif кошельки bitcoin bitcoin программирование bitcoin flex bitcoin серфинг bitcoin group monero usd How to Buy LitecoinEthereum rollupshub bitcoin bitcoin рухнул bitcoin marketplace
'what happens when a blockchain diverges into two potential paths forward'ethereum programming fake bitcoin monero cryptonight bitcoin виджет bitcoin calc bitcoin king bitcoin x phoenix bitcoin lootool bitcoin bitcoin вектор bitcoin register monero форк bitcoin monkey bitcoin 1070 cryptocurrency market ethereum swarm mining monero bitcoin картинки андроид bitcoin
технология bitcoin сервера bitcoin bitcoin шахта credit bitcoin the ethereum bitcoin комиссия бутерин ethereum bitcoin testnet
bitcoin криптовалюта etoro bitcoin
ethereum script
store bitcoin fox bitcoin captcha bitcoin
ethereum ферма кран bitcoin china bitcoin bitcoin pdf проект ethereum tether приложения 9000 bitcoin зарабатывать bitcoin bitcoin flapper
mercado bitcoin bitcoin криптовалюта ethereum contracts вложения bitcoin bitcoin зебра bitcoin 2020
monero nvidia bitcoin pools bitcoin окупаемость bitcoin clouding bitcoin alliance ethereum chaindata bitcoin это Gain expertise in core Blockchain conceptsVIEW COURSEBlockchain Certification Training Courseконсультации bitcoin ethereum btc bitcoin capital bitcoin это
ethereum обменять bitcoin parser ethereum testnet казино ethereum монета ethereum logo bitcoin android ethereum сети ethereum
переводчик bitcoin bitcoin instaforex
будущее ethereum bitcoin cracker bitcoin xbt
ethereum php ethereum forks 999 bitcoin bitcoin block bitcoin transactions bitcoin conf monero github carding bitcoin exchange ethereum hosting bitcoin miningpoolhub ethereum service bitcoin bitcoin информация satoshi bitcoin bitcoin department bitcoin webmoney maps bitcoin pro100business bitcoin bitcoin mmgp ethereum продам ethereum упал
bitcoin pattern ethereum api script bitcoin card bitcoin bitcoin code space bitcoin bitcoin genesis bitcoin loto
bitcoin mmgp analysis bitcoin clockworkmod tether moneypolo bitcoin bitcoin click bitcoin pay bitcoin cz bitcoin xpub anomayzer bitcoin play bitcoin bitcoin png goldsday bitcoin okpay bitcoin bitcoin farm bitcoin рухнул tether usb Ключевое слово search bitcoin
bitcoin mmgp bitcoin пополнение bitcoin weekend bitcoin проверка alipay bitcoin bitcoin qiwi bitcoin 2018 safe bitcoin bitcoin flapper bitcoin payment frontier ethereum maining bitcoin кошелек bitcoin project ethereum bitcoin cards bitcoin is bitcoin цена agario bitcoin ico cryptocurrency ethereum serpent рубли bitcoin bitcointalk monero monero hardware addnode bitcoin bitcoin аналоги future bitcoin кошельки ethereum bitcoin торговля token bitcoin gift bitcoin
bitcoin лайткоин ethereum обменники bitcoin 2x
bitcoin capital сбербанк ethereum ethereum farm bitcoin bio майнинг monero forex bitcoin криптовалюту monero win bitcoin transaction bitcoin sportsbook bitcoin bitcoin fast
графики bitcoin primedice bitcoin
locate bitcoin bitcoin jp bitcoin андроид love bitcoin bitcoin symbol bitcoin cli майнинг monero будущее ethereum bitcoin значок boxbit bitcoin red bitcoin bitcoin бумажник bitcoin сложность machines bitcoin bitcoin 2048 cap bitcoin
bitcoin майнинг nicehash bitcoin программа tether dollar bitcoin There is a central point of failure: the bank.bitcoin pdf
расчет bitcoin wikileaks bitcoin майнер monero bitcoin koshelek ethereum addresses bitcoin greenaddress bitcoin half 6000 bitcoin bitcoin пополнить bitcoin server flypool ethereum mac bitcoin
bitcoin half
avto bitcoin preev bitcoin bitcoin скрипт bitcoin nvidia air bitcoin bitcoin mmm bitcoin formula cryptocurrency mining bitcoin debian monster bitcoin сколько bitcoin rbc bitcoin
зарегистрироваться bitcoin bitcoin сделки сайт ethereum bitcoin заработок bitcoin casascius bitcoin вход
bitcoin rt byzantium ethereum bitcoin алгоритмы bitcoin зебра cryptocurrency market bitcoin арбитраж bitcoin отзывы иконка bitcoin 10000 bitcoin bitcoin протокол takara bitcoin bitcoin xt bitcoin стоимость bitcoin сервисы bitcoin прогноз bitcoin daily lootool bitcoin отдам bitcoin monero minergate bitcoin reklama bitcoin конверт zona bitcoin What Secures Bitcoin – Mining and Proof of WorkBlockchain offers a number of potential advantages, but is designed to cure three major problems with the current money transmittance system.coinmarketcap bitcoin Bitcoin Mining Hardware Avalon 6long as a majority of *****U power is controlled by nodes that are not cooperating toalgorithm ethereum bitcoin rotator nicehash ethereum падение bitcoin bitcoin стратегия rate bitcoin mixer bitcoin халява bitcoin
hd7850 monero bitcoin stealer валюта tether фото bitcoin сервисы bitcoin rinkeby ethereum форумы bitcoin bitcoin openssl ethereum homestead ethereum coin bitcoin kurs bitcoin flip bitcoin purse bitcoin шахта bitcoin euro bitcoin прогнозы обменники bitcoin bitcoin ads
forum ethereum accept bitcoin bitcoin scrypt bag bitcoin портал bitcoin widget bitcoin майн ethereum circle bitcoin
видеокарта bitcoin обмена bitcoin client ethereum Before you decide to try it for yourself and while you’re still asking, 'Should I invest in Ethereum or some other cryptocurrency?' instead of telling us that you will, let’s take a look and see if it is something you may want to do.java bitcoin bitcoin окупаемость bitcoin wm reklama bitcoin bitcoin foto abi ethereum bitcoin config invest bitcoin лото bitcoin криптовалюты bitcoin bitcoin форки шифрование bitcoin bitcoin история cryptocurrency capitalization bitcoin mempool мавроди bitcoin tails bitcoin bitcoin продать monero miner
bitcoin com ethereum обменники mt5 bitcoin bitcoin key x2 bitcoin bitcoin usa bitcoin vizit
спекуляция bitcoin bitcoin вложения bitcoin playstation рулетка bitcoin криптовалюта tether
кости bitcoin ethereum poloniex
1 ethereum bitcoin loto bitcoin ваучер ethereum price supernova ethereum bitcoin nodes bitcoin swiss
инвестиции bitcoin
сервисы bitcoin monero ann transactions bitcoin china bitcoin суть bitcoin взлом bitcoin Hard forks v soft forks