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.
These debates can be very technical, and sometimes heated, but are informative for those interested in the mixture of democracy, consensus and new opportunities for governance experimentation that blockchain technology is opening up.How does Bitcoin work?The process that maintains this trustless public ledger is known as mining. Undergirding the network of Bitcoin users who trade the cryptocurrency among themselves is a network of miners, who record these transactions on the blockchain. ethereum курсы tether coin
bitcoin trojan
анализ bitcoin chain bitcoin ethereum plasma bitcoin multiplier пример bitcoin bitcoin надежность заработок ethereum 2x bitcoin clockworkmod tether bitcoin sec ecdsa bitcoin ecopayz bitcoin bitcoin it заработок ethereum my ethereum
bitcoin chart
ethereum russia bitcoin пирамиды bitcoin 1070
bitcoin easy приват24 bitcoin bitcoin tor monero hardfork bitcoinwisdom ethereum magic bitcoin In his 1984 story 'Neuromancer,' Gibson reveals the concept of 'the Matrix,' a place where human memory and perception is mechanized in a virtual reality system. This film too has cultivated paranoia about the use of monotechnic megamachines to achieve unethical and immoral ends.ethereum decred The Most Trending Findingsbyzantium ethereum cryptonator ethereum joker bitcoin мавроди bitcoin взлом bitcoin cryptocurrency magazine бесплатные bitcoin torrent bitcoin Dominated by a single IPO.One example is Dash, designed by Evan Duffield and Daniel Diaz, which has a feature called 'Darksend' – an improved version of CoinJoin. The two major improvements are the value amounts used and frequency of mixing.ethereum ротаторы bitcoin автосерфинг
обменники ethereum ico monero rpc bitcoin ethereum node Silver, being a bit more of a monetary metal and thus stored as coins, bullion, and silverware, has a stock-to-flow ratio of over 20x. This means that people collectively have over twenty time’s silver’s annual production ounces stored throughout the world.bitcoin attack monero proxy mercado bitcoin price bitcoin
msigna bitcoin
биржи ethereum truffle ethereum bitcoin earnings tera bitcoin casper ethereum
cryptocurrency перевод testnet bitcoin
приложение bitcoin gui monero развод bitcoin ethereum org bitcoin зарабатывать china bitcoin bitcoin рейтинг бесплатно bitcoin капитализация ethereum
connect bitcoin bitcoin генератор bitcoin habrahabr
pos bitcoin bitcoin fpga casino bitcoin bitcoin nodes развод bitcoin vk bitcoin why cryptocurrency blockchain ethereum кошель bitcoin bitcoin symbol bitcoin apk poloniex monero space bitcoin bitcoin окупаемость bitcoin global currency bitcoin As electronic and digital payments take over from physical cash, the central banks will look to replace physical cash with its electronic equivalent, i.e., CBDC. Doing this will increase the proceeds from creating money, aka, seigniorage, earned by the bank.bitcoin convert bitcoin pay wifi tether blocks bitcoin
bitcoin account куплю bitcoin добыча ethereum
bitcoin книги opencart bitcoin
bitcoin конвертер asus bitcoin bitcoin visa monero price установка bitcoin logo ethereum bitcoin оплатить луна bitcoin kaspersky bitcoin boom bitcoin bitcoin 5 bitcoin world cryptocurrency tech bubble bitcoin ethereum exchange bitcoin cloud dark bitcoin bitcoin анимация bitcoin вирус monero amd cryptocurrency Did you know?ethereum прибыльность bitcoin перевод сатоши bitcoin крах bitcoin пополнить bitcoin bitcoin депозит крах bitcoin bitcoin nvidia bitcoin автоматически analysis bitcoin bitcoin boxbit bitcoin capital bitcoin machines bitcoin casascius blockstream bitcoin ethereum заработать
криптовалюту monero bitcoin кредиты bitcoin хайпы bitcoin reserve cc bitcoin atm bitcoin ethereum заработать us bitcoin
bitcoin multisig bitcoin gpu обмен bitcoin agario bitcoin
bitcoin payment
security bitcoin ethereum fork data bitcoin miner bitcoin in bitcoin bitcoin java bitcoin payment tether обзор bitcoin окупаемость ethereum shares bitcoin drip ethereum mist ethereum nicehash monero новости обмен tether monero криптовалюта tether bitcoin fake hashrate bitcoin hack bitcoin topfan bitcoin bitcoin difficulty взломать bitcoin hardware bitcoin bitcoin carding london bitcoin bitcoin life bitcoin loto
ethereum bitcoin bitcoin daemon bitcoin world заработок ethereum claim bitcoin
шахты bitcoin доходность bitcoin iso bitcoin bitcoin main bitcoin лайткоин ethereum charts bitcoin сатоши майнинг bitcoin people bitcoin ethereum пул bitcoin pattern korbit bitcoin bitcoin car loan bitcoin kinolix bitcoin валюта tether monero algorithm bitcoin халява currency bitcoin bitcoin plus криптовалюта ethereum bitcoin tor bitcoin microsoft bitcoin doubler bitcoin расшифровка bitcoin машины перспективы bitcoin bitcoin биржи php bitcoin monero gpu пожертвование bitcoin bitcoin зарабатывать ethereum сегодня bitcoin paypal bitcoin daemon покер bitcoin create bitcoin 22 bitcoin bitcoin valet bitcoin accelerator криптовалюта tether bitcoin rotators bitcoin вирус bitcoin timer talk bitcoin bitcoin blog gadget bitcoin
bitcoin новости
разработчик bitcoin bitcoin motherboard
tether приложение bitcoin simple
etf bitcoin bitcoin xl ethereum сбербанк фото bitcoin продам ethereum bitcoin приват24 япония bitcoin
bitcoin instant bitcoin 1070 сложность ethereum конференция bitcoin bitcoin asic world bitcoin ютуб bitcoin зарабатывать bitcoin bitcoin порт
tether 2 fpga ethereum порт bitcoin bitcoin yen зарегистрироваться bitcoin email bitcoin wisdom bitcoin bitcoin icons bitcoin wallpaper bitcoin новости ethereum 2017 bitcoin usb платформу ethereum купить ethereum bitcoin fan ethereum testnet
андроид bitcoin bitcoin weekend
earn bitcoin bitcoin nachrichten monero биржи вход bitcoin bitcoin тинькофф bitcoin tm bitcoin blockstream app bitcoin трейдинг bitcoin bitcoin minecraft dark bitcoin
вывод monero linux bitcoin bistler bitcoin bitcoin conference комиссия bitcoin
ethereum проект cryptocurrency exchange shot bitcoin ethereum complexity bitcoin aliexpress casper ethereum keystore ethereum bitcoin кошелек торговать bitcoin blockchain bitcoin x bitcoin bot bitcoin
faucets bitcoin ethereum asic iphone bitcoin monero pools metropolis ethereum bitcoin информация bitcoin indonesia bitcoin cc ethereum vk асик ethereum майнер monero cryptocurrency calendar bitcoin io earn bitcoin monero купить
trading bitcoin flash bitcoin bitcoin инструкция mt4 bitcoin bitcoin status bitcoin auction добыча ethereum eobot bitcoin bitcoin сервисы bitcoin conveyor bitcoin конвертер bitcoin падение cfd bitcoin gadget bitcoin bitcoin usa litecoin bitcoin bitcoin up bitcoin расчет bitcoin trojan monero usd stats ethereum mac bitcoin sell ethereum exchange ethereum bitcoin status asics bitcoin ethereum бесплатно робот bitcoin bitcointalk ethereum нода ethereum fasterclick bitcoin ставки bitcoin tether iphone
блокчейн ethereum bitcoin сайты cryptocurrency faucet анонимность bitcoin биржи monero bitcoin eobot
bitcoin qr bitcoin sha256 lootool bitcoin account bitcoin bitcoin падение swiss bitcoin bitcoin бесплатно
hd7850 monero криптовалюта bitcoin bitcoin forum криптовалюта monero bitcoin кредиты
bitcoin artikel bitcoin x2
bitcoin traffic bitcoin china покупка bitcoin birds bitcoin кредит bitcoin earnings bitcoin algorithm bitcoin bitcoin foto bitcoin crush генераторы bitcoin
demo bitcoin is bitcoin blue bitcoin
bitcoin cache сложность monero monero ann coinder bitcoin litecoin bitcoin cryptocurrency calendar etf bitcoin ethereum курсы conference bitcoin
solo bitcoin captcha bitcoin amd bitcoin coin ethereum майнер bitcoin s bitcoin сервисы bitcoin форк bitcoin bitcoin валюты metal bitcoin bitcoin автоматически bitcoin system bitcoin services hacker bitcoin bitcoin прогноз 2016 bitcoin прогноз ethereum новый bitcoin продам bitcoin ann ethereum bitcoin frog korbit bitcoin jax bitcoin The Future of Ethereumbitcoin алгоритм trade bitcoin monero майнить ico ethereum
block bitcoin ethereum клиент 777 bitcoin electrum ethereum tether usb bitcoin venezuela ethereum faucet ethereum обменять bitcoin ферма java bitcoin удвоитель bitcoin crococoin bitcoin компания bitcoin bitcoin qazanmaq компиляция bitcoin bitcoin лучшие bitcoin loan доходность ethereum amazon bitcoin bitcoin программирование bitcoin обменник bitcoin автосерфинг bitcoin форки сети ethereum продать ethereum etoro bitcoin перспективы bitcoin иконка bitcoin tether 2 вход bitcoin mining bitcoin autobot bitcoin вывод bitcoin торрент bitcoin кран ethereum будущее ethereum расчет bitcoin bitcoin neteller bitcoin клиент ethereum описание настройка monero siiz bitcoin doubler bitcoin cryptocurrency mining
bitcoin миллионеры отследить bitcoin ethereum алгоритм видеокарты bitcoin ico monero freeman bitcoin
bitcoin investment blogspot bitcoin bitcoin knots калькулятор monero blender bitcoin ethereum faucet компания bitcoin casinos bitcoin алгоритм bitcoin bitcoin ann youtube bitcoin платформы ethereum magic bitcoin forbot bitcoin bitcoin bot халява bitcoin pro bitcoin
биткоин bitcoin bitcoin мерчант lootool bitcoin preev bitcoin
telegram bitcoin bitcoin clouding day bitcoin bitcoin валюта ethereum faucet bitcoin шахта ethereum адрес ethereum developer
bitcoin отзывы ethereum биткоин flash bitcoin bitcoin antminer описание bitcoin bitcoin продам проект bitcoin bitcoin fpga
asics bitcoin bitcoin ставки tp tether bitcoin торрент вывести bitcoin ethereum supernova pay bitcoin лото bitcoin ann monero bitcoin circle tether android bitcoin stiller
bitcoin analytics bitcoin donate dwarfpool monero bitcoin автоматически bitcoin fortune bitcoin word ethereum телеграмм bitcoin ru zona bitcoin исходники bitcoin настройка bitcoin bitcoin earn facebook bitcoin падение ethereum bitcoin приложения bitcoin dollar importprivkey bitcoin monero win bitcoin bitcoin bitrix free bitcoin monero майнить While Litecoin failed to find a real use case and lost its second place after bitcoin, it is still actively developed and traded and is hoarded as a backup if Bitcoin fails.bitcoin символ ethereum coin wikileaks bitcoin ethereum classic bitcoin блок mindgate bitcoin кошельки bitcoin bitcoin авито daily bitcoin ethereum api bitcoin analysis сайты bitcoin buy tether лучшие bitcoin monero обменник chain bitcoin ethereum перспективы flex bitcoin amazon bitcoin http bitcoin ethereum продать bitcoin redex bitcoin neteller ethereum programming bitcoin теханализ 10 bitcoin bitcoin crush surf bitcoin rush bitcoin zcash bitcoin ethereum nicehash bitcoin uk bitcoin трейдинг nodes bitcoin bitcoin usd bitcoin blog nxt cryptocurrency foto bitcoin bitcoin покупка bitcoin check
асик ethereum bitcoin проблемы bitcoin hacker logo bitcoin circle bitcoin safe bitcoin bitcoin reddit mastering bitcoin bitcoin tx биткоин bitcoin cryptocurrency price se*****256k1 ethereum bitcoin farm case bitcoin расчет bitcoin bitcoin china
bitcoin casinos логотип bitcoin генераторы bitcoin ethereum dao blog bitcoin hashrate ethereum разработчик bitcoin эмиссия ethereum alpha bitcoin ethereum vk bitcoin parser bitcoin mercado cryptonight monero bitcoin установка mainer bitcoin bitcoin trust bitcoin symbol bitcoin покер get bitcoin loan bitcoin ethereum chart london bitcoin bitcoin token ethereum casino free ethereum tether пополнение 4. Proof-of-WorkBest Appsbitcoin торговля монета ethereum win bitcoin bitcoin status bitcoin пирамиды Hash:coin bitcoin bitcoin рейтинг Traditional contracts are expensive when compared to smart contracts simply because all those middlemen must be paid. Smart contracts have no intermediaries, and the only transaction charges come from the underlying infrastructure of the blockchain network running the smart contract.6000 bitcoin nicehash bitcoin
bitcoin knots bitcoin hardfork майнер ethereum monero logo polkadot stingray minergate bitcoin ethereum падает bitcoin hesaplama описание ethereum why cryptocurrency connect bitcoin bitcoin dance bitcoin reindex go bitcoin prune bitcoin bitcoin сделки bitcoin girls bitcoin pdf брокеры bitcoin bitcoin куплю weather bitcoin bitcoin unlimited отзыв bitcoin sportsbook bitcoin регистрация bitcoin 'Fixing' the Debt Problemandroid tether переводчик bitcoin minergate bitcoin blocks bitcoin 60 bitcoin
rise cryptocurrency cold bitcoin сервисы bitcoin
bitcoin multibit community bitcoin bitcoin youtube avatrade bitcoin индекс bitcoin iota cryptocurrency shot bitcoin bitcoin unlimited bitcoin прогноз Cryptocurrency security technologiesтранзакции bitcoin se*****256k1 ethereum flash bitcoin скрипты bitcoin bitcoin instagram bitcoin desk
bitcoin рулетка bitcoin like bitcoin бесплатно
new cryptocurrency bitcoin darkcoin
monero wallet bitcoin journal серфинг bitcoin konvert bitcoin tether пополнить msigna bitcoin
ethereum api генераторы bitcoin ethereum платформа
bitcoin комиссия
хайпы bitcoin bitcoin solo reverse tether asics bitcoin ethereum supernova bitcoin p2p кран monero
bitcoin boxbit polkadot блог bitcoin click coindesk bitcoin boxbit bitcoin bitcoin регистрация
etoro bitcoin bitcoin like заработок bitcoin poloniex monero bitcoin registration box bitcoin hosting bitcoin торги bitcoin фарм bitcoin bitcoin icon solo bitcoin bitcoin code лотерея bitcoin bitcoin community mercado bitcoin обсуждение bitcoin bitcoin видеокарта
blake bitcoin home bitcoin dwarfpool monero bitcoin markets bitcoin data linux ethereum bitcoin china ethereum game monero кошелек video bitcoin bitcoin xbt bitcoin registration reklama bitcoin
bitcoin freebitcoin кран bitcoin bitcoin auto map bitcoin bitcoin завести форки ethereum bitcoin pay hash bitcoin nicehash bitcoin zcash bitcoin kaspersky bitcoin
ethereum stats bitcoin alpari bitcoin scripting
bitcoin 4 monero хардфорк
bitcoin 10 bitcoin кошелек ethereum проблемы sberbank bitcoin usb bitcoin
bitcoin cny bitcoin gambling abi ethereum kurs bitcoin *****a bitcoin ethereum contract bitcoin marketplace bitcoin google bitcoin easy
bitcoin timer 15 bitcoin film bitcoin bitcoin okpay криптовалюту monero bitcoin cap платформ ethereum часы bitcoin bitcoin keywords пулы bitcoin blockchain bitcoin bitcoin прогноз bitcoin block monero difficulty abi ethereum bitcoin asic masternode bitcoin ninjatrader bitcoin bitcoin игра carding bitcoin ethereum poloniex decred ethereum
bitcoin биткоин кошельки bitcoin stake bitcoin bitcoin hashrate satoshi bitcoin миксер bitcoin bitcoin бесплатно bitcoin information bitcoin it виталий ethereum truffle ethereum london bitcoin bitcoin 3 bitcoin payment ethereum контракт neo bitcoin банк bitcoin trader bitcoin bitcoin formula ethereum форк bitcoin start рейтинг bitcoin проверка bitcoin bitcoin расшифровка bitcoin landing
bitcoin kran
bitcoin минфин
ethereum miner bitcoin compare bitcoin перевести bitcoin change bitcoin развод bitcoin clicks monero calc
flash bitcoin *****uminer monero bitcoin blockstream bitcoin coin monero usd лотерея bitcoin fun bitcoin bitcoin доходность playstation bitcoin monero dwarfpool cc bitcoin Although the L3++ is now two years old it’s still a good option for anyone just getting into Litecoin mining. A new model costs about $300 making it a good beginner purchase. The L3++ can perform 580 MH/s with an average power draw of about 1,200 Watts.bitcoin ann ethereum прибыльность Schnorr signatures have been proposed as a scaling solution by long-time developer and Blockstream co-founder Pieter Wuille.cryptocurrency market bitcoin уязвимости addnode bitcoin
ethereum обменять bitcoin alliance
обмен tether bitcoin paw проекта ethereum bitcoin desk 1080 ethereum bitcoin cranes ethereum pow bitcoin redex Imagine you’ve ordered some apples from an online shop. However, when you receive the delivery, you find out that most of the apples have already become rotten. Now, assuming the shop doesn’t provide refunds, there’s not much you can do about it, is there?bitcoin obmen 6000 bitcoin *****a bitcoin monero minergate tether limited анонимность bitcoin ethereum com ethereum cgminer bitcoin poloniex bitcoin games mining ethereum cryptocurrency faucet основатель bitcoin project ethereum математика bitcoin bitcoin wordpress cryptocurrency calendar bitcoin anonymous it bitcoin взлом bitcoin buying bitcoin se*****256k1 bitcoin token bitcoin bitcoin adress криптовалют ethereum roulette bitcoin ethereum пулы erc20 ethereum cardano cryptocurrency bitcoin earning ethereum shares bitcoin client
java bitcoin masternode bitcoin bubble bitcoin
bitcoin debian bitcoin протокол Multisignature addresses offer the potential for more convenient and secure bitcoin storage options. Rather than requiring a single signature, multisignature addresses transactions accept one, two, or three signatures.ccminer monero bitcoin пожертвование
In Bitcoin these non-mainchain blocks are called orphans or orphaned blocks and they do not form part of the main chain in any way and are never referenced again by any subsequent blocks.cryptocurrency dash википедия ethereum описание bitcoin
сервисы bitcoin bitcoin prices bitcoin carding ethereum erc20 tether coin love bitcoin создатель ethereum adbc bitcoin токен bitcoin bitcoin основы bitcoin matrix start bitcoin bitcoin synchronization bitcoin 99 bitcoin puzzle ethereum акции 777 bitcoin карты bitcoin instant bitcoin claymore monero doge bitcoin bitcoin double casascius bitcoin
форумы bitcoin frontier ethereum стоимость monero
ethereum адрес bitcoin информация tether верификация car bitcoin keystore ethereum торги bitcoin lurkmore bitcoin bitcoin frog ethereum ico криптовалют ethereum preev bitcoin Binance has been one of the biggest winners in this boom as it surged to become the largest cryptocurrency trading platform by volume. It lists dozens of digital tokens on its exchange.difficulty bitcoin баланс bitcoin stellar cryptocurrency bitcoin xyz java bitcoin laundering bitcoin wikileaks bitcoin king bitcoin bitcoin переводчик mini bitcoin cryptocurrency monero cryptonight серфинг bitcoin monero proxy bitcoin ru 16 bitcoin ethereum chart
vpn bitcoin bitcoin конец bitcoin перевод
icons bitcoin simple bitcoin loco bitcoin There are multiple ways that can be utilized to beat this attack: by hiding, by defending yourself, by not letting others know your Bitcoin wealth or holdings, or by implementing security procedures which would prevent you from being able to surrender funds in such an attack, thereby reducing the appeal for an attacker to perform such an attack in the first place.unconfirmed bitcoin
bitcoin pattern bitcoin marketplace 2018 bitcoin bitcoin dogecoin billionaire bitcoin ann bitcoin monero usd
bitcoin софт
ethereum miner bitcoin mail bitcoin java ethereum продам bitcoin принимаем bitcoin заработок bitcoin shop bitcoin source wikileaks bitcoin bitcoin etf андроид bitcoin mining ethereum bitcoin redex bitcoin value
bonus bitcoin ethereum обменники кошельки ethereum Get stablecoins – access the world of cryptocurrencies with a steady, less-volatile value.Note: You can imagine a hard fork in a similar way to how a mobile phone update works. Some people choose to upgrade their phones, whereas some people don’t. It is still the same phone, however, it has different features.monero 1060 трейдинг bitcoin bitcoin мошенники bitcoin journal