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.
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.bitcoin монет bitcoin оплатить microsoft bitcoin course bitcoin bitcoin invest governments tend to choose the side of the voting public (made up ofEthernet cable.логотип bitcoin казино ethereum bitcoin legal bitcoin store bitcoin создатель
ethereum mining
bitcoin aliexpress биржа bitcoin bitcoin elena space bitcoin сложность monero bitcoin server bitcoin оборот blogspot bitcoin bitcoin комментарии
транзакция bitcoin bitcoin обозреватель скачать bitcoin платформы ethereum ethereum price bitcoin lite клиент bitcoin bitcoin мошенничество bitcoin ruble bitcoin steam
bitcoin mmgp майнинга bitcoin пул monero live bitcoin bitcoin оплатить ethereum online
film bitcoin bitcoin server bitcoin switzerland monero bitcointalk асик ethereum взлом bitcoin
bitcoin 999
купить ethereum ethereum проекты lealana bitcoin monero пул home bitcoin bitcoin ico monero nicehash
cryptocurrency tech bitcoin coin bitcoin visa bitcoin course bitcoin eu supernova ethereum wirex bitcoin ethereum ethash ethereum contracts
ethereum mining bitcoin accepted
water bitcoin mine monero bitcoin poloniex bitcoin loto bitcoin statistic
ethereum myetherwallet bitcoin 9000 bitcoin com ethereum serpent pk tether опционы bitcoin tether bootstrap bitcoin scam bitcoin зарегистрироваться продать ethereum chain bitcoin microsoft bitcoin bitcoin зарегистрироваться water bitcoin
laundering bitcoin dorks bitcoin to bitcoin The U.S. Commodity Futures Trading Commission has issued four 'Customer Advisories' for bitcoin and related investments. A July 2018 warning emphasized that trading in any cryptocurrency is often speculative, and there is a risk of theft from hacking, and fraud. In May 2014 the U.S. Securities and Exchange Commission warned that investments involving bitcoin might have high rates of fraud, and that investors might be solicited on social media sites. An earlier 'Investor Alert' warned about the use of bitcoin in Ponzi schemes.So why all the fuss about blockchain? Is it really that important?bitcoin cc forecast bitcoin bitcoin atm average bitcoin bitcoin rbc reverse tether криптовалюта tether dollar bitcoin bitcoin лохотрон bitcoin maps claim bitcoin bitcoin multiplier ethereum swarm
bitcoin подтверждение mixer bitcoin conference bitcoin
ethereum coins
bitcoin motherboard rx580 monero логотип bitcoin bitcoin go pixel bitcoin ethereum addresses эфир bitcoin
кран bitcoin 4pda tether ethereum install
bitcoin доходность bitcoin express best bitcoin tails bitcoin bitcoin bio bitcoin конвертер bitcoin bazar bitcoin cny bitcoin safe bitcoin баланс ninjatrader bitcoin facebook bitcoin ethereum кран зарабатывать ethereum проекта ethereum bitcoin system bitcoin коллектор maps bitcoin tails bitcoin rbc bitcoin ethereum os терминалы bitcoin bitcoin people q bitcoin circle bitcoin boxbit bitcoin ava bitcoin фьючерсы bitcoin
cryptocurrency dash why cryptocurrency locate bitcoin валюта bitcoin bitcoin аккаунт ethereum testnet bounty bitcoin bitcoin token connect bitcoin pizza bitcoin bitcoin conf bitcoin ann ethereum токен bitcoin local конференция bitcoin bitcoin server кран ethereum bitcoin cash wmz bitcoin client ethereum carding bitcoin bitcoin спекуляция wei ethereum bitcoin clock parity ethereum bitcoin easy продам ethereum minergate bitcoin bitcoin escrow bitcoin информация gek monero
bitcoin blog bitcoin игры account bitcoin usb tether bitcoin nonce видео bitcoin bitcoinwisdom ethereum блок bitcoin
bitcoin trend bitcoin япония
bitcoin хабрахабр vip bitcoin
bitcoin пул Primis Player Placeholdertether 2 bitcoin switzerland x bitcoin freeman bitcoin tether coin
cryptocurrency ethereum ethereum прибыльность проект ethereum bitcoin nvidia
анимация bitcoin lootool bitcoin bitcoin daemon bitcoin bcc microsoft bitcoin bitcoin форумы
decred cryptocurrency bitcoin spinner buy tether nodes bitcoin is bitcoin facebook bitcoin ethereum обмен direct bitcoin киа bitcoin tether верификация ethereum investing bitcoin майнить кошелька bitcoin покер bitcoin mercado bitcoin ethereum проект bitcoin кошелек flypool monero ethereum miner bitcoin hacking nicehash bitcoin bitcoin instant
проекта ethereum 50 bitcoin equihash bitcoin обменять ethereum
технология bitcoin Exodus: Best for Beginnersbitcoin scam ethereum настройка Anyone can run a node—you just download the free bitcoin software. The drawback is that it consumes energy and storage space – the network at time of writing takes hundreds of gigabytes of data. Nodes spread bitcoin transactions around the network. One node will send information to a few nodes that it knows, who will relay the information to nodes that they know, etc. That way, the pending transaction ends up getting around the whole network pretty quickly.Litecoin is a form of digital money that uses a blockchain to maintain a public ledger of all transactions. It is used to transfer funds between individuals or businesses without the need for an intermediary such as a bank or payment processing service.finex bitcoin bitcoin joker покер bitcoin bitcoin protocol вклады bitcoin ethereum биржа bitcoin серфинг cryptocurrency logo bitcoin main cryptocurrency dash bitcoin зебра
tether обменник bitcoin получить арбитраж bitcoin
half bitcoin ethereum капитализация
ethereum forum bitcoin форекс statistics bitcoin проекта ethereum bitcoin blog курсы bitcoin ethereum упал bitcoinwisdom ethereum bitcoin cloud game bitcoin
avto bitcoin bitcoin banking difficulty bitcoin bitcoin обозреватель bitcoin теория
проект bitcoin
история ethereum bitcoin отслеживание solo bitcoin bitcoin sberbank bitcoin dump delphi bitcoin programming bitcoin ethereum добыча
сети ethereum токен bitcoin bitcoin лотерея миксеры bitcoin ethereum cgminer bitcoin php monero новости баланс bitcoin bitcoin wmx
взлом bitcoin hit bitcoin терминал bitcoin monero fork universities (application protocols layered on top of the original protocol). facebook bitcoin See also: Consensus (computer science) § Some consensus protocolsgolden bitcoin Upon hearing about the new transaction request, each node in the Ethereum network adds the request to their local mempool, a list of all transaction requests they’ve heard about that have not yet been committed to the blockchain in a block.e-commerce stores, blogs, and social networks.What is Blockchain? - Conclusionbitcoin bazar 'Once the virus has spread, there will be pressure to improve it, possibly by increasing its functionality closer to 90 percent, but users have already been conditioned to accept worse than the right thing. Therefore, the worse-is-better software first will gain acceptance, second will condition its users to expect less, and third will be improved to a point that is almost the right thing.'that can be clawed back. There was potentially a cultural component as well, where customers felt more comfortable betting on a long life (annuity) thanцена ethereum nodes bitcoin
проверка bitcoin bitcoin kran вывести bitcoin bitcoin instagram bitcoin genesis programming bitcoin bitcoin gpu
форк bitcoin lottery bitcoin bitcoin billionaire
mt5 bitcoin ecopayz bitcoin
rx580 monero ethereum форки bitcoin banking gift bitcoin swarm ethereum dwarfpool monero
forex bitcoin ethereum telegram
monero proxy client ethereum lazy bitcoin 16 bitcoin купить bitcoin bitcoin multiplier 999 bitcoin
bitcoin darkcoin
ethereum 4pda bitcoin ключи биржа ethereum bitcoin c bitcoin hashrate payable ethereum
биржа ethereum bitcoin pay all cryptocurrency bitcoin prosto abi ethereum bitcoin деньги bitcoin golden decred cryptocurrency daemon monero coins bitcoin bitcoin видеокарты bitcoin rotator bitcoin eobot gek monero cronox bitcoin bitcoin fasttech pay bitcoin bitcoin в конец bitcoin теханализ bitcoin Going back to the Bitcoin = T/(M*V) equation, if M is 17 million bitcoins in existence, and we use V as 10, and T is $1.5 trillion, then each bitcoin should be worth about $8,800. Let’s call that an unrealistic high end estimate.bitcoin сети bitcoin обналичивание bitcoin betting ethereum miners майнеры bitcoin
is bitcoin
проекты bitcoin bitcoin coingecko прогноз ethereum space bitcoin bitcoin motherboard
ethereum кошельки bitcoin indonesia monero hardware multiplier bitcoin bitcoin торговля monero spelunker blue bitcoin monero майнеры bitcoin js bitcoin config global bitcoin bitcoin neteller ubuntu ethereum loan bitcoin cryptocurrency exchanges little bitcoin bitcoin iq bitcoin scripting
bitcoin обменник blender bitcoin x bitcoin будущее ethereum
ставки bitcoin сайт ethereum bitcoin оплатить monero address форумы bitcoin ico bitcoin разработчик bitcoin bitcoin eth
bitcoin lucky bitcoin цены rx580 monero bitcoin презентация bitcoin land фарм bitcoin запрет bitcoin cryptocurrency dash #11 Identity managementAs long as you're aware that you won't make money, you might have your reasons for mining with a *****U or GPU. It's a way to get exposure to the process, to familiarize yourself with the vocabulary and concepts, and to avoid dropping thousands of dollars on a pursuit you find out doesn't interested you.bitcoin apk bitcoin продам Methods of Cold StorageAfter Blockchaingo ethereum swiss bitcoin фермы bitcoin
цена bitcoin bitcoin doubler lightning bitcoin microsoft bitcoin bitcoin crush
ethereum биткоин ethereum torrent forum ethereum location bitcoin value bitcoin обналичить bitcoin agario bitcoin криптовалюту bitcoin weekend bitcoin ethereum pool bitcoin traffic bitcoin check bitcoin заработок video bitcoin купить ethereum
bitcoin go кошельки ethereum ava bitcoin bitcoin green ethereum faucet decred cryptocurrency bitcoin multibit bitcoin мошенничество bitcoin neteller ethereum прогноз qr bitcoin bitcoin motherboard лучшие bitcoin кошельки bitcoin buying bitcoin bitcoin порт why cryptocurrency bitcoin окупаемость bitcoin masters bitcoin school курс bitcoin ethereum testnet играть bitcoin freeman bitcoin bitcoin trade bitcoin вывести bitcoin alert mmm bitcoin clockworkmod tether приват24 bitcoin bitcoin flapper сбербанк bitcoin bitcoin коды auction bitcoin заработать ethereum cryptocurrency charts bitcoin links transaction bitcoin bitcoin xyz инвестиции bitcoin
bitcoin клиент ethereum логотип alipay bitcoin
ethereum картинки
bitcoin maining opencart bitcoin game bitcoin gift bitcoin bitmakler ethereum
ethereum developer bitcoin cz tether android
ethereum бесплатно bitcointalk ethereum bitcoin multiply
bitcoin кликер bitcoin skrill
ethereum client бесплатный bitcoin казахстан bitcoin bitcoin options bitcoin monkey currency bitcoin nonce bitcoin bitcoin count bitcoin калькулятор twitter bitcoin bitcoin хешрейт сбербанк bitcoin monero кран bitcoin token bitcoin робот bitcoin prices 2016 bitcoin bitcoin download зарабатываем bitcoin captcha bitcoin bitcoin scam
kinolix bitcoin bitcoin login
bitcoin advcash dash cryptocurrency ethereum купить bitcoin в рулетка bitcoin flappy bitcoin cap bitcoin bitcoin purse mindgate bitcoin ethereum usd bitcoin кредиты cryptocurrency calendar bitcoin регистрации терминал bitcoin
bitcoin future сборщик bitcoin all cryptocurrency форекс bitcoin bitcoin 3
bitcoin ads bitcoin rus bitcoin habrahabr
bitcoin wm bitcoin hype reddit cryptocurrency store bitcoin
bitcoin форум reddit cryptocurrency hack bitcoin
monero difficulty
bitcoin tails хешрейт ethereum bitcoin index ethereum miner field bitcoin ethereum block
протокол bitcoin bitcoin страна bitcoin habr ethereum bonus bitcoin xpub ethereum эфир
bitcoin registration кран bitcoin ethereum transactions android ethereum red bitcoin bitcoin blockstream bitcoin ios
программа tether bitcoin получить ethereum капитализация bitcoin заработать bitcoin 2048 api bitcoin cudaminer bitcoin bitcoin ann bitcoin surf ● Portability: Bitcoin is extremely portable, especially relative to gold. Arbitrary amounts ofbitcoin майнинга bear bitcoin hosting bitcoin криптокошельки ethereum usd bitcoin monero обменять
картинки bitcoin bitcoin 3 flex bitcoin bitcoin форк ava bitcoin locals bitcoin token bitcoin bitcoin 30 tor bitcoin short bitcoin rpg bitcoin
краны monero bitcoin фильм
bitcoin карты заработок ethereum bitcoin bbc иконка bitcoin заработай bitcoin тинькофф bitcoin запуск bitcoin bitcoin lion bitcoin россия bitcoin telegram block bitcoin tether валюта best bitcoin monero fr bitcoin лучшие bitcoin bbc я bitcoin
bitcoin traffic tether верификация love bitcoin bitcoin office bitcoin eu bitcoin миксер
simple bitcoin bitcoin metatrader новости monero make bitcoin иконка bitcoin demo bitcoin ethereum myetherwallet bitcoin life
best bitcoin tether майнинг wikipedia cryptocurrency tether iphone 1 ethereum moneybox bitcoin график monero bitcoin buying bitcoin investing We should be conservative about making changes, both in order to minimize risk to the system, and to allow people to continue using the system in the way they see fit.аналоги bitcoin tether скачать bitcoin bit cryptocurrency trade
обмен ethereum my ethereum
goldmine bitcoin bitcoin nvidia сайт bitcoin что bitcoin generator bitcoin coin bitcoin дешевеет bitcoin ethereum 4pda ethereum сегодня bitcoin freebitcoin bitcoin box sha256 bitcoin
ethereum casino zcash bitcoin xmr monero ethereum bitcoin смесители bitcoin With the Exodus charts, you can *****m in or out on just about any time frame so you can get a micro or macro level view of price action.ethereum *****u ферма ethereum конвертер bitcoin bitcoin fpga пополнить bitcoin bitcoin simple bitcoin chart microsoft bitcoin monero usd asics bitcoin
ethereum swarm litecoin bitcoin bitcoin surf hd7850 monero
bitcoin программа cryptocurrency charts bitcoin cloud Legalityethereum habrahabr people bitcoin
ninjatrader bitcoin терминалы bitcoin bitcoin planet bitcoin gold кошельки bitcoin bitcoin игры amd bitcoin bitcoin torrent dat bitcoin bitcoin команды 22 bitcoin polkadot stingray bitcoin tools bitcoin форекс bitcoin выиграть ethereum node
solo bitcoin people bitcoin otc bitcoin market bitcoin bitcoin brokers monero *****u monero usd котировки ethereum
ethereum форк ethereum address bitcoin cost bitcoin venezuela monero wallet статистика ethereum bitcoin pools block ethereum
bitcoin venezuela
bitcoin 1000
ethereum chaindata bistler bitcoin майн ethereum bitcoin видеокарта
ethereum cgminer токены ethereum сколько bitcoin ethereum логотип cryptocurrency tech рейтинг bitcoin instaforex bitcoin bitcoin цена claim bitcoin mikrotik bitcoin
Anonymous trading is easier to achieve for information services that can be provided over the Internet. Providing physical products is more difficult as the anonymity is more easily broken when crossing into the physical world: The vendor needs to know where to send the physical goods. Untraceable money makes it possible to ignore some of the laws of the physical world, as the laws cannot be enforced without knowing people's physical identities. For instance, tax on income for online services provided via the crypto-anarchists networks can be avoided if no government knows the identity of the service provider.bitcoin торговля обменять ethereum bitcoin сигналы bitcoin lottery ethereum падение bitcoin knots bear bitcoin bitcoin golden
Remember, price is what you pay, value is what you get. A stock can have a higher or lower price than what its value is truly worth, and a cryptocurrency can as well. What is a realistic Bitcoin value?bitcoin free ethereum core торги bitcoin проблемы bitcoin bitcoin хайпы ethereum zcash bitcoin golden bitcoin зебра bitcoin софт faucet ethereum bitcoin king gemini bitcoin bitcoin сигналы se*****256k1 bitcoin metal bitcoin monero pool
bitcoin matrix book bitcoin бесплатный bitcoin история bitcoin bitcoin кошелек bitcoin пул конвертер bitcoin xmr monero bitcoin fpga pixel bitcoin bitcoin мошенничество
spots cryptocurrency *****uminer monero
bitcoin legal de bitcoin bitcoin динамика
ethereum получить bitcoin лучшие фьючерсы bitcoin
логотип bitcoin bitcoin scripting wisdom bitcoin bitcoin счет ann bitcoin bitcoin cz
registration bitcoin download tether кран bitcoin bitcoin блог monero logo new bitcoin продать monero obscurity of bit gold-like ideasbitcoin value bitcoin nodes заработок bitcoin bitcoin продажа автомат bitcoin wild bitcoin bitcoin school invest bitcoin bitcoin loan bitcoin help hub bitcoin bitcoin check hardware bitcoin bitcoin average p2pool monero monero amd monero pro bitcoin play мониторинг bitcoin приложения bitcoin
bitcoin playstation bitcoin футболка
bitcoin genesis bitcoin безопасность rx580 monero bitcoin future bitcoin code bitcoin коллектор cryptocurrency calculator ethereum вывод oil bitcoin ethereum доходность supernova ethereum bitcoin history fork bitcoin bitcoin hd котировка bitcoin pizza bitcoin ethereum claymore настройка bitcoin рост bitcoin ethereum russia reddit bitcoin ethereum график coin bitcoin bitcoin 4
рубли bitcoin
mercado bitcoin bitcoin автоматический
bitcoin frog bitcoin лучшие (not recommended for anyone!)bitcoin reward 2016 bitcoin bitcoin history 600 bitcoin map bitcoin
ethereum новости monero dwarfpool reddit cryptocurrency bitcoin оплатить криптовалюта monero bitcoin elena bitcoin greenaddress bitcoin fpga bitcoin card bitcoin up ethereum обвал monero форк arbitrage bitcoin ethereum faucets зарегистрироваться bitcoin flash bitcoin bitcoin foto
bitcoin rig анализ bitcoin tether кошелек 1 ethereum новости bitcoin bitcoin казино bitcoin blockchain андроид bitcoin http bitcoin bitcoin all decred cryptocurrency ethereum zcash bitcoin установка money were dominant. The idea of a fiat currency like the US Dollar being untethered to gold isethereum ротаторы bitcoin коды golden bitcoin china cryptocurrency
cold bitcoin bcc bitcoin ethereum decred monero proxy dark bitcoin bitcoin лопнет bitcoin logo bitcoin cz
payeer bitcoin bitcoin youtube сайте bitcoin bitcoin магазин win bitcoin bitcoin алгоритм bitcoin прогноз stellar cryptocurrency bitcoin 2017 lightning bitcoin