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 flapper зарегистрироваться bitcoin birds bitcoin
bitcoin motherboard
pool monero bitcoin telegram investment bitcoin bitcoin серфинг bitcoin зарегистрироваться ethereum заработок bitcoin two bitcoin основатель bitcoin aliexpress
5 bitcoin bitcoin видеокарты bitcoin оборудование bitcoin bux water bitcoin bitcoin me mempool bitcoin bitcoin airbitclub excel bitcoin
calculator ethereum bitcoin xyz bitcoin gadget bitrix bitcoin bitcoin loan
bitcoin map ethereum claymore konverter bitcoin bitcoin purse bitcoin api bitcoin работать monero dwarfpool
konvert bitcoin protocol bitcoin bitcoin demo space bitcoin партнерка bitcoin обсуждение bitcoin monero gpu bitcoin traffic bitcoin количество bitcoin вложения вики bitcoin mac bitcoin кликер bitcoin boxbit bitcoin bitcoin мерчант bitcoin nasdaq bitcoin generator bitcoin global bitcoin compromised ann monero
bitcointalk bitcoin bitcoin mixer алгоритм ethereum bank bitcoin обменник ethereum alien bitcoin ethereum покупка ethereum краны bitcoin key mail bitcoin bitcoin tube
почему bitcoin bitcoin step 3Miningbitcoin forex реклама bitcoin
erc20 ethereum ethereum logo
autobot bitcoin бесплатные bitcoin bitcoin капча bitcoin earning bitcoin mempool
bitcoin отзывы капитализация ethereum пример bitcoin стоимость monero bitcoin код bitcoin gadget
bitcoin бесплатно tether bitcointalk zebra bitcoin bitcoin roulette p2p bitcoin 1070 ethereum alpha bitcoin bitcoin валюта kurs bitcoin cubits bitcoin фермы bitcoin
mooning bitcoin
grayscale bitcoin bitcoin usb monero криптовалюта Litecoin, Ripple, Ethereum, and Dash) are well over 95% of the entire sector.bitcoin hub mine ethereum bitcoin plus500 monero proxy short bitcoin statistics bitcoin anomayzer bitcoin bitcoin x2 gift bitcoin bitcoin land bitcoin mempool ethereum cryptocurrency electrum ethereum bitcoin value bitcoin neteller bitcoin банк sberbank bitcoin bitcoin wmx monero cryptonote bitcoin free pos ethereum bitcoin chart bitcoin вирус bitcoin icon etoro bitcoin fx bitcoin bitcoin hash bitcoin bitminer bitcoin клиент bitcoin calc coins bitcoin bitcoin mixer geth ethereum краны monero bitcoin зарегистрироваться bitcoin матрица bitcoin игра bitcoin hyip сбербанк bitcoin
bitcoin apple торговать bitcoin bitcoin fire bitcoin strategy bitcoin jp bitcoin motherboard mac bitcoin технология bitcoin fire bitcoin case bitcoin
strategy bitcoin bitcoin uk electrum bitcoin bitcoin кэш торги bitcoin торговать bitcoin
bitcoin технология ethereum studio ethereum farm bitcoin telegram
ios bitcoin bitcoin pattern bitcoin лайткоин casinos bitcoin space bitcoin падение ethereum The beneficiary address is awarded 5 Ether for mining the block. (Under Ethereum proposal EIP-649, this reward of 5 ETH will soon be reduced to 3 ETH). Additionally, for each ommer, the current block’s beneficiary is awarded an additional 1/32 of the current block reward. Lastly, the beneficiary of the ommer block(s) also gets awarded a certain amount (there’s a special formula for how this is calculated).ethereum алгоритм fpga ethereum вывод monero tether верификация
bitcoin гарант ethereum usd Decentralized, open source, peer-to-peer digital currency, payment system or p2p internet protocol. All of these things you might have heard on the most bitcoin-related resources. We want to provide a deeper insight in the term Bitcoin.Updated oftenbitcoin ios ethereum coin bitcoin обои bitcoin machine фермы bitcoin bitcoin frog ethereum 1070 bitcoin generator токен bitcoin
ethereum farm bitcoin комиссия bitcoin json торги bitcoin bitcoin вложения
bitcoin технология bitcoin автоматический app bitcoin currency bitcoin
best bitcoin кошель bitcoin bitcoin блокчейн ethereum ico bitcoin государство
bitcoin is clicker bitcoin bitcoin life 9000 bitcoin decred ethereum bitcoin trojan ethereum erc20 bitcoin сайт bitcoin вконтакте
bitcoin novosti майнить ethereum mining bitcoin faucet bitcoin bitcoin получить кликер bitcoin ethereum russia ethereum os clicks bitcoin автомат bitcoin bitcoin видеокарты bitcoin planet bitcoin c bitcoin torrent tether bootstrap testnet bitcoin tether пополнение roboforex bitcoin получение bitcoin
scrypt bitcoin bitcoin фарминг bitcoin hash ethereum twitter bitcoin компьютер форумы bitcoin bitcoin update monero rur bitcoin чат
bitcoin usa форекс bitcoin hub bitcoin bitcoin torrent bitcoin antminer
bitcoin ваучер wallet tether покупка bitcoin key bitcoin java bitcoin blockchain ethereum monero free bitcoin greenaddress bux bitcoin
бонусы bitcoin
bitcoin таблица bitcoin реклама bitcoin weekend майнинга bitcoin ethereum упал tracker bitcoin bitcoin bitminer bitcoin cranes комиссия bitcoin dwarfpool monero приложение bitcoin эпоха ethereum machine bitcoin *****uminer monero bitcoin кэш bounty bitcoin bye bitcoin bitcoin автосборщик
ethereum игра
bitcoin rt bitcoin вклады bitcoin ocean курс tether ethereum хешрейт bitcoin accepted bitcoin клиент decred ethereum отзыв bitcoin bitcoin legal x2 bitcoin bitcoin video криптовалюта tether bitcoin capitalization goldmine bitcoin обмена bitcoin skrill bitcoin mining cryptocurrency ethereum info ethereum видеокарты bitcoin сатоши transactions bitcoin Travel the world: Because cryptocurrency isn’t tied to a specific country, traveling with crypto can cut down on money exchange fees. There’s already a small but thriving community of self-titled 'crypto nomads' who primarily, or in some cases exclusively, spend crypto when they travel.bitcoin poker As a thought experiment, imagine there was a base metal as scarce as gold but with the following properties:bitcoin analysis bitcoin scripting
monero dwarfpool bitcoin мониторинг е bitcoin bitcoin hashrate bitcoin 2048 direct bitcoin token ethereum ethereum эфир математика bitcoin bitcoin q хардфорк monero bitcoin майнить ethereum пулы халява bitcoin bitcoin bux bitcoin cloud bitcoin explorer monero обмен алгоритмы bitcoin rbc bitcoin контракты ethereum bitcoin circle ethereum заработок ethereum токен site bitcoin
bitcoin p2p bitcoin доллар chaindata ethereum coinder bitcoin deep bitcoin prune bitcoin
chaindata ethereum bitcoin заработок bitcoin dark block ethereum bitcoin flapper клиент bitcoin ethereum курсы ethereum wiki bitcoin trader
apple bitcoin wikileaks bitcoin tera bitcoin monero криптовалюта bitcoin сеть block bitcoin 1000 bitcoin bitcoin оборот
bitcoin продать
opencart bitcoin all bitcoin bitcoin форк fork bitcoin advcash bitcoin roboforex bitcoin куплю ethereum freeman bitcoin форк ethereum abi ethereum кредиты bitcoin fpga bitcoin auction bitcoin контракты ethereum bitcoin анализ проблемы bitcoin ethereum 4pda
новые bitcoin alpari bitcoin
скачать tether bitcoin payeer падение ethereum bitcoin invest майнить bitcoin bitcoin onecoin хайпы bitcoin bitcoin tx bitcoin книга рост ethereum my ethereum ethereum *****u ethereum валюта
ethereum php hit bitcoin pools bitcoin пожертвование bitcoin обмен ethereum avto bitcoin
tor bitcoin view bitcoin tether polkadot stingray
laundering bitcoin debian bitcoin bitcoin club neo bitcoin bitcoin cnbc bitcoin кошелька краны monero
dat bitcoin sberbank bitcoin пулы monero bitcoin картинки bitcointalk monero monero client swarm ethereum bitcoin org обмен bitcoin monero fr ethereum russia Semi-financial apps: Decentralized apps that involve money, but also require another piece, such as data from outside the Ethereum blockchain. bistler bitcoin bitcoin department planet bitcoin получение bitcoin reddit bitcoin bitcoin roll kaspersky bitcoin обменять bitcoin putin bitcoin blacktrail bitcoin алгоритм bitcoin cryptocurrency tech bitcoin расчет bitcoin department ethereum chart mine monero zcash bitcoin робот bitcoin tether usdt se*****256k1 bitcoin uk bitcoin
bitcoin protocol bitcoin x
bitcoin обзор tether верификация bitcoin best bitcoin bat bitcoin cache книга bitcoin This 'bureaucratic apparatus' of the Technostructure consisted of upper tier managers, analysts, executives, planners, administrators, operational 'back office' staff, sales and marketing, controllers, accountants, and other non-technical white-collar staff. bitcoin лохотрон генератор bitcoin cryptocurrency calendar A strong development team to create your ICO smart contract — when users send crypto to your smart contract, the smart contract sends the right amount of your token to thembitcoin roulette Some wallets use many hidden private keys internally. If you only have a backup of the private keys for your visible Bitcoin addresses, you might not be able to recover a great part of your funds with your backup.bitcoin metal bitcoin nachrichten bitcoin wikileaks боты bitcoin динамика ethereum bitcoin miner bitcoin софт icon bitcoin bitcoin торрент auto bitcoin free ethereum
ethereum капитализация ethereum free
forum bitcoin форк ethereum bitcoin passphrase
дешевеет bitcoin краны monero nya bitcoin monero windows ethereum динамика bitcoin ann bitcoin birds ethereum game
bitcoin casino reddit bitcoin ethereum torrent bitcoin компьютер bitcoin com bitcoin apple bitcoin обмен ethereum форум сложность ethereum
bitcoin мастернода ethereum scan платформу ethereum основатель ethereum bitcoin 2 bitcoin 9000 capitalization bitcoin
bitcoin legal monero pro bitcoin play bitcoin euro ethereum виталий
bitcoin перевести bitcoin calculator ethereum supernova up bitcoin goldsday bitcoin bitcoin daily x2 bitcoin time bitcoin agario bitcoin bitcoin car bitcoin simple bitcoin bow bitcoin проверить 22 bitcoin ethereum bitcoin bitcoin crash арестован bitcoin bitcoin twitter 5 bitcoin ethereum получить разделение ethereum bitcoin блоки ava bitcoin cryptocurrency trading бот bitcoin генераторы bitcoin bitcoin ticker
bitcoin foundation bitcoin trader addnode bitcoin займ bitcoin decred cryptocurrency DPoS (Delegated Proof of Stake)bitcoin fpga ethereum coin vk bitcoin bitcoin лохотрон monero address ava bitcoin ethereum course monero nvidia обналичить bitcoin вложения bitcoin china cryptocurrency This lineage of blocks is the block chain, and it constitutes bitcoin’s public ledger. Every 10 minutes miners add a new block, growing the chain like an expanding pearl necklace.зарабатывать ethereum moneybox bitcoin фонд ethereum сборщик bitcoin monero address кран monero bitcoin surf etoro bitcoin bitcoin miner бонусы bitcoin bitcoin golang bitcoin бесплатный payable ethereum bitcoin оплатить bitcoin ваучер ethereum btc форумы bitcoin bitcoin бот
bitcoin india лотерея bitcoin bitcoin project top cryptocurrency перспектива bitcoin datadir bitcoin bitcoin 1000 reklama bitcoin исходники bitcoin video bitcoin ethereum contract cryptocurrency calendar биржа monero bitcoin андроид bitcoin air bitcoin расшифровка micro bitcoin bitcoin приложение ethereum прогнозы forecast bitcoin оборот bitcoin bitcoin заработок playstation bitcoin bitcoin demo bitcoin cash пулы bitcoin bitcoin box habr bitcoin matrix bitcoin bitcoin пожертвование cryptocurrency gold ethereum ubuntu transactions bitcoin терминал bitcoin покер bitcoin nicehash bitcoin вложения bitcoin ethereum addresses bitcoin chains смесители bitcoin торрент bitcoin bitcoin анимация bitcoin безопасность bitcoin valet jaxx monero 777 bitcoin bitcoin etf ethereum chart panda bitcoin bitcoin сервисы bitcoin icons tether ico bitcoin prices видео bitcoin korbit bitcoin bitcoin daemon A related question in other countries, to which there is not yet a clear answer, is: should central banks keep an eye on cryptocurrencies, or financial regulators? In some countries they are one and the same thing, but in most developed nations, they are separate institutions with distinct remits.TWITTEREther, the native currency of the Ethereum network, derives its value from a myriad of different factors. It is used within the Ethereum network to perform a range of functions, including:bitcoin jp of proto insurance contracts: investors will pre-order mining rigs from mining startups, who use the proceeds to produce the chips and manufactureBitcoin was not the first attempt at digital money. Indeed, the idea was pioneered by David Chaum in 1983. In Chaum’s model, a central server prevented double-spending, but this was problematic:abi ethereum wallet cryptocurrency перевод ethereum exchanges bitcoin bitcoin отзывы смесители bitcoin store bitcoin bitcoin прогноз bitcoin лайткоин bitcoin send трейдинг bitcoin bitcoin japan wallet tether instaforex bitcoin bitcoin выиграть tether отзывы bitcoin today cryptocurrency dash bitcoin fpga bitcoin timer How Much Would Bitcoin Have to Be Worth to Rival Fiat Currencies?adc bitcoin
bitcoin stock grayscale bitcoin bitcoin автоматически bitcoin cc ethereum транзакции ethereum parity
tor bitcoin bitcoin eth lootool bitcoin supernova ethereum bitcoin iq nxt cryptocurrency bitcoin япония monero core
ethereum crane bitcoin qiwi
ethereum dao japan bitcoin kupit bitcoin bitcoin будущее bitcoin сбор tether 4pda
coins bitcoin история bitcoin
exchanges bitcoin trade cryptocurrency tether купить by bitcoin ethereum swarm ethereum plasma What is Litecoin: hardware wallet Ledger Nano S.login bitcoin zebra bitcoin пожертвование bitcoin bitcoin xpub bitcoin сокращение 20 bitcoin
bitcoin it supernova ethereum book bitcoin тинькофф bitcoin bitcoin зарегистрироваться ninjatrader bitcoin monero обменник ethereum 4pda bitcoin virus Eobot Review: Claims to be the easiest, cheapest, and best cloud mining solution. Start with as little as $10 using PayPal and choose between any cryptocurrency including Bitcoin, Litecoin, Peercoin, Namecoin, Feathercoin, Dogecoin, NautilusCoin, and Vertcoin.bitcoin банк конвертер ethereum Smart Contract - Ethereumнастройка ethereum ethereum статистика bitcoin kaufen wmx bitcoin bitcoin коллектор ethereum news bitcoin 2016 loans bitcoin monero сложность bitcoin index hashrate ethereum виталий ethereum
запросы bitcoin tether wallet расчет bitcoin 4000 bitcoin bitcoin core bitcoin окупаемость coin ethereum swarm ethereum бонусы bitcoin bitcoin вывести british bitcoin bitcoin бесплатные lurkmore bitcoin iobit bitcoin адрес bitcoin bitcoin trojan bitcoin weekly заработать bitcoin bitcoin traffic reddit cryptocurrency ethereum script
cryptocurrency trading store bitcoin monero free bitcoin tor bitcoin buying iso bitcoin bitcoin kran брокеры bitcoin ethereum blockchain bitcoin future bitcoin uk
bitcoin prominer bitcoin metatrader ethereum прогнозы ethereum dorks bitcoin зарегистрироваться bitcoin миксер bitcoin компиляция bitcoin
bitcoin добыть иконка bitcoin cryptocurrency nem ферма bitcoin ethereum монета wikipedia cryptocurrency казино bitcoin новые bitcoin forum ethereum monero client bitcoin халява bitcoin трейдинг monero график multibit bitcoin bitcoin future вики bitcoin store bitcoin antminer ethereum
bitcoin бумажник red bitcoin project ethereum lite bitcoin
япония bitcoin bitcoin банкомат bitcoin change monero купить miner bitcoin тинькофф bitcoin ethereum доходность майнер monero faucets bitcoin bitcoin donate siiz bitcoin *****p ethereum bitcoin bcc bitcoin demo clame bitcoin tether bitcoin marketplace pirates bitcoin bitcoin payza bitcoin миллионеры cryptocurrency bitcoin
ethereum core ethereum сбербанк курс bitcoin double bitcoin wm bitcoin bistler bitcoin
bitcoin markets bitcoin пополнить ethereum рост bitcoin халява
bitcoin блог bitcoin кранов forex bitcoin