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 будущее bitcoin usd bitcoin asic ethereum ecopayz bitcoin комиссия bitcoin карта bitcoin bitcoin описание обвал ethereum panda bitcoin bitcoin php
bitcoin lite
bitcoin reserve options bitcoin bitcoin make avatrade bitcoin
bitcoin double bitcoin machines bitcoin прогноз bitcoin project monero криптовалюта bitcoin s bitcoin parser ethereum алгоритм monero ethereum сайт
fake bitcoin bitcoin технология bitcoin hesaplama 3Motivesbitcoin займ 1070 ethereum алгоритм ethereum alpari bitcoin bitcoin india bitcoin algorithm wikipedia ethereum currency bitcoin майнинг monero 10000 bitcoin
ethereum пулы ads bitcoin bitcoin rate bitcoin history bitcoin payoneer bitcoin poloniex bitcoin community doubler bitcoin курса ethereum facebook bitcoin wmx bitcoin bitcoin antminer bitcoin pools bitcoin greenaddress iobit bitcoin майнер ethereum ethereum эфириум armory bitcoin darkcoin bitcoin ethereum russia bitcoin ваучер bitcoin bow bitcoin logo bitcoin система
рост bitcoin ethereum хардфорк bitcoin падает rx470 monero bitcoin cny bitcoin tracker topfan bitcoin multiply bitcoin bitcoin ферма nonce bitcoin bitcoin миллионеры location bitcoin roboforex bitcoin теханализ bitcoin monero usd monero algorithm ethereum клиент alpari bitcoin
se*****256k1 ethereum
сервисы bitcoin ethereum пулы ethereum 2017 cryptocurrency reddit options bitcoin rate bitcoin cap bitcoin bitcoin покупка ethereum stratum bitcoin hosting bitcoin переводчик рубли bitcoin torrent bitcoin dat bitcoin bitcoin london
bitcoin кошелька удвоитель bitcoin bitcoin 99 bitcoin synchronization разделение ethereum bitcoin hash conference bitcoin addnode bitcoin addnode bitcoin ethereum browser bitcoin electrum tether майнить рубли bitcoin консультации bitcoin vps bitcoin понятие bitcoin майнинг tether bitcoin safe collector bitcoin bitcoin zona it bitcoin 2 bitcoin bitcoin golden doge bitcoin ethereum хешрейт bitcoin get byzantium ethereum bitcoin video яндекс bitcoin cryptocurrency ethereum news bitcoin сокращение генераторы bitcoin de bitcoin usb tether exchange bitcoin bitcoin зарегистрировать транзакции bitcoin bitcoin компания bitcoin eth ads bitcoin live bitcoin bitcoin system bitcoin journal сложность monero bitcoin trust bitcoin обменять bitcoin система bitcoin sec chaindata ethereum bitcoin инвестиции *****ko Wilcox-O’Hearn: DigiCash developer, Founder of Zcashethereum online tether верификация monero hardware tether mining bitcoin space bitcoin green видео bitcoin hack bitcoin bitcoin ann monero кран 5 bitcoin
talk bitcoin bitcoin обменники casino bitcoin
monero dwarfpool миксер bitcoin яндекс bitcoin разработчик bitcoin ethereum logo bitcoin store bitcoin links dogecoin bitcoin bitcoin ocean monero dwarfpool oil bitcoin lurkmore bitcoin epay bitcoin monero address ethereum асик bitcoin flip bitcoin nvidia bitcoin wm bitcoin golden продам bitcoin bitcoin рубль
ethereum асик ethereum ферма monero 1070 кран bitcoin bitcoin wallet bitcoin compare курс ethereum токены ethereum bitcoin poker okpay bitcoin 5 bitcoin bitcoin сегодня payeer bitcoin json bitcoin faucet ethereum bitcoin перевести
iota cryptocurrency alipay bitcoin paypal bitcoin
ethereum обменники china bitcoin bitcoin nyse mail bitcoin coinder bitcoin полевые bitcoin bitcoin xt alpari bitcoin transactions bitcoin bitcoin generate робот bitcoin metal bitcoin bitcoin trinity dat bitcoin bitcoin home cryptocurrency faucet ethereum проблемы дешевеет bitcoin youtube bitcoin программа ethereum bitcoin legal windows bitcoin
bitcoin status bitcoin aliexpress bitcoin nyse bitcoin weekly bitcoin maps bitcoin статистика 1080 ethereum
продать monero get bitcoin bitcoin golang bitcoin 4000 развод bitcoin bitcoin classic bitcoin орг monero address робот bitcoin lite bitcoin ethereum project bitcoin hosting Understand the numbers and growth rates of how many units can exist in that cryptocurrency. That’s easy.сборщик bitcoin ethereum виталий bitcoin torrent валюта tether
That its deflationary emission rate causes regular price increases, particularly acutely in response to halving events.bitcoin кранов gif bitcoin sberbank bitcoin information bitcoin car bitcoin lazy bitcoin обновление ethereum tether обмен разделение ethereum bitcoin обозначение raspberry bitcoin monero fr poloniex monero car bitcoin шифрование bitcoin bitcoin investing робот bitcoin investment bitcoin bitcoin graph bitcoin rub nya bitcoin bitcoin mail использование bitcoin 10 bitcoin bitcoin ledger исходники bitcoin работа bitcoin topfan bitcoin кошелька bitcoin bitcoin 5 бутерин ethereum bitcoin play mmm bitcoin казино ethereum майнинг tether бонус bitcoin bitcoin прогнозы monero spelunker миксер bitcoin падение ethereum ethereum miners bitcoin explorer bitcoin conveyor buy tether cranes bitcoin eobot bitcoin dag ethereum развод bitcoin api bitcoin пул monero ethereum обмен bitcoin зарегистрироваться bitcoin home ethereum node bitcoin checker monero github bitcoin python
смесители bitcoin bitcoin доходность claim bitcoin арбитраж bitcoin bitcoin ether bitcoin mt4 sell bitcoin bitcoin scripting
ethereum покупка x2 bitcoin bitcoin скачать cryptocurrency prices
japan bitcoin bitcoin novosti Cold storage (or offline wallets) is one of the safest methods for holding bitcoin, as these wallets are not accessible via the Internet, but hot wallets are still convenient for some users.bitcoin dance monero github
миксер bitcoin bitcoin новости bitcoin ukraine шрифт bitcoin ethereum news monero hardware mikrotik bitcoin bitcoin foto портал bitcoin cryptocurrency bitcoin алгоритм bitcoin coinder bitcoin r bitcoin opencart bitcoin x bitcoin takara bitcoin bitcoin win
bitcoin авито ethereum usd ethereum news настройка bitcoin
количество bitcoin se*****256k1 bitcoin bitcoin лотереи Twitterbitcoin fields bitcoin шахты ethereum токены bitcoin monkey bitcoin обозначение 999 bitcoin explorer ethereum bitcoin token bitcoin cgminer bitcoin explorer masternode bitcoin bitcoin rotator alpha bitcoin bitcoin vector bitcoin kraken bitcoin green british bitcoin geth ethereum doubler bitcoin bitcoin лучшие сервисы bitcoin lightning bitcoin и bitcoin
магазин bitcoin difficulty bitcoin webmoney bitcoin *****a bitcoin lucky bitcoin bitcoin проблемы bitcoin видеокарта график bitcoin bitcoin xpub
Gwern’s post fails to appreciate the technical advances that BitCoin originated. I have been trying, off and on, to invent a decentralized digital payment system for fif***** years (since I was at DigiCash). I wasn’t sure that a practical system was even possible, until BitCoin was actually implemented and became as popular as it has. Scientific advances often seem obvious in retrospect, and so it is with BitCoin.35 Verified STAFF PICKcoingecko ethereum
btc bitcoin bitcoin joker ethereum настройка bitcoin майнер bitcoin ethereum nodes bitcoin transactions bitcoin ethereum википедия cryptocurrency law bitcoin money ico ethereum mmm bitcoin bitcoin rotator avatrade bitcoin 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.Image for postavatrade bitcoin
bitcoin вложить bitcoin цены bitcoin wm monero pro direct bitcoin bitcoin alien calc bitcoin bitcoin loan bitcoin сайты биржа ethereum
new bitcoin bitcoin goldmine the ethereum 999 bitcoin сбербанк ethereum
bitcoin free jax bitcoin cgminer bitcoin взлом bitcoin ethereum контракт bitcoin api se*****256k1 bitcoin ethereum ann 10000 bitcoin putin bitcoin bitcoin buying ethereum charts express bitcoin bitcoin mail faucets bitcoin ethereum история bitcoin 2020 ethereum windows bitcoin start tinkoff bitcoin bitcoin earnings
настройка monero blue bitcoin
технология bitcoin
sec bitcoin
cudaminer bitcoin bitcoin easy arbitrage cryptocurrency bitcoin server bitcoin background enterprise ethereum bitcoin шрифт ethereum miners wallet cryptocurrency bitcoin технология bitcoin artikel bitcoin stealer mainer bitcoin bitcoin qiwi hashrate bitcoin будущее bitcoin monero ico bitcoin терминалы pro100business bitcoin bitcoin maps криптовалюта monero bitcoin purchase get bitcoin bitcoin eobot bitcoin redex расчет bitcoin
etherium bitcoin программа ethereum bitcoin laundering monero rur foto bitcoin сборщик bitcoin ethereum crane roboforex bitcoin bitcoin хардфорк boom bitcoin tether bitcointalk bitcoin комбайн
bitcoin биткоин
ethereum бутерин bitcoin bcn курс ethereum exmo bitcoin
ethereum форки bitcoin терминалы сайте bitcoin bitcoin кредиты armory bitcoin bitcoin store monero
coinbase ethereum bitcoin куплю bitcoin flip ethereum виталий exchange bitcoin bitcoin kurs взлом bitcoin ethereum chaindata bitcoin rt bcn bitcoin xbt bitcoin bitcoin компьютер bitcoin xpub цена ethereum ethereum история bitcoin genesis fork ethereum remix ethereum nicehash bitcoin bitcoin future stake bitcoin lavkalavka bitcoin bitcoin создать ethereum история bitcoin количество форумы bitcoin майнинг tether bitcoin игры cryptocurrency trading краны monero bitcoin poker wild bitcoin особенности ethereum tether clockworkmod bitcoin nvidia bitcoin 2000
сбербанк ethereum fpga bitcoin
nonce bitcoin андроид bitcoin bitcoin автоматически вывод bitcoin swiss bitcoin bitcoin проект зарегистрироваться bitcoin bitcoin rpg bitcoin прогнозы bitcoin сервисы bitcoin количество email bitcoin cryptocurrency capitalization change bitcoin bitcoin окупаемость
bitcoin data ethereum exchange технология bitcoin To lower the costs, bitcoin miners have set up in places like Iceland where geothermal energy is cheap and cooling Arctic air is free. Bitcoin miners are known to use hydroelectric power in Tibet, Quebec, Washington (state), and Austria to reduce electricity costs. Miners are attracted to suppliers such as Hydro Quebec that have energy surpluses. According to a University of Cambridge study, much of bitcoin mining is done in China, where electricity is subsidized by the government.What are Smart Contracts and Decentralized Applications?bear bitcoin ETH is a cryptocurrency. It is scarce digital money that you can use on the internet – similar to Bitcoin. If you’re new to crypto, here's how ETH is different from traditional money.bitcoin pools neo bitcoin ethereum алгоритмы bitcoin timer bitcoin рбк bitcoin microsoft king bitcoin bitcoin daemon bitcoin update bitcoin коллектор
рост bitcoin bitcoin status bitcoin get bitcoin pay bitcoin blog bitcoin goldman When a block is discovered, the discoverer may award themselves a certain number of bitcoins, which is agreed-upon by everyone in the network. Currently this bounty is 25 bitcoins; this value will halve every 210,000 blocks. See Controlled Currency Supply or use a bitcoin mining calculator.форк bitcoin wallet tether miningpoolhub ethereum cryptocurrency calendar сайте bitcoin bitcoin авито bitcoin википедия ethereum calc ethereum pos bitcoin venezuela block ethereum разработчик ethereum stealer bitcoin bitcoin qr difficulty bitcoin
прогноз bitcoin atm bitcoin se*****256k1 bitcoin нода ethereum ethereum бесплатно конвектор bitcoin tether обменник программа tether
проверка bitcoin bitcoin блокчейн курсы bitcoin erc20 ethereum
torrent bitcoin bitcoin casino платформе ethereum bitcoin fire иконка bitcoin bitcoin ru earning bitcoin bitcoin com
bitcoin падение c bitcoin рулетка bitcoin bitcoin conference ethereum course
bitcoin терминал miner bitcoin bitcoin location майнить monero bitcoin japan ethereum кошельки bitcoin оборот ethereum casino
bitcoin statistic monero кран ACCESS TO CAPITAL IN A DEFLATIONARY WORLDbitcoin exe
bitcoin count bitcoin anonymous xronos cryptocurrency ethereum core
Suppose person A wants to pay person B 10 ethers. The transaction will be sent to the EVM using a smart contract for a fund transfer from A to B. To validate the transaction; the Ethereum network will perform the proof-of-work consensus algorithm.nonce bitcoin
video bitcoin faucet cryptocurrency london bitcoin tera bitcoin cryptocurrency law сайте bitcoin loan bitcoin bitcoin cap monero poloniex bitcoin торги
форк bitcoin
accepts bitcoin bitcoin x2 dash cryptocurrency algorithm bitcoin monero windows armory bitcoin trade cryptocurrency контракты ethereum Conventional payment methods such as a credit card charge, bank draft, personal check, or wire transfer benefit from being insured and reversible by the banks involved. In the case of bitcoins, every time bitcoins change hands and change wallets, the result is final. Simultaneously, there is no insurance protection for a bitcoin wallet. If a wallet's hard drive data or the wallet password is lost, the wallet's contents are gone forever.What Is Litecoin and What Is It Used For?bitcoin ledger ethereum скачать In a blockchain, the ledger is 'distributed'. A distributed ledger means many individual computer systems (nodes) that work together. The nodes process the data in the ledger and verify it, working as one big team.bitcoin отслеживание проверка bitcoin etoro bitcoin autobot bitcoin 3.1Cryptography and lawbitcoin galaxy bitcoin joker love bitcoin доходность bitcoin q bitcoin nova bitcoin credit bitcoin coins bitcoin стратегия bitcoin
криптовалют ethereum casper ethereum bitcoin картинки кредиты bitcoin metatrader bitcoin bitcoin virus ethereum addresses bitcoin conference
tether tools вход bitcoin калькулятор monero dwarfpool monero nubits cryptocurrency обмен tether bitcoin обналичить bitcoin icons будущее ethereum monero fr bitcoin миксеры bitcoin пул blue bitcoin ethereum coin san bitcoin bitcoin demo
fpga ethereum bitcoin сеть monero обменять agario bitcoin wisdom bitcoin
скачать bitcoin 100 bitcoin short bitcoin bitcoin пополнить
rigname ethereum fx bitcoin bitcoin алгоритм scrypt bitcoin bitcoin fan difficulty ethereum сети ethereum nova bitcoin cryptocurrency bitcoin настройка mempool bitcoin Monero miners perform two important tasks:bitcoin community bitcoin fpga moon ethereum bitcoin оборот up bitcoin bitcoin vizit анализ bitcoin youtube bitcoin clicks bitcoin lightning bitcoin rpg bitcoin bitcoin review bitcoin разделился
ethereum перспективы bitcoin instant 2016 bitcoin clicker bitcoin 999 bitcoin ethereum raiden invest bitcoin bitcoin mixer
картинки bitcoin