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.
arbitrage cryptocurrency bitcoin vector CURRENT ETH PRICE (USD)tether комиссии bitcoin auto валюта tether bitcoin видеокарта php bitcoin
курс ethereum
bitcoin вложения суть bitcoin монет bitcoin blog bitcoin криптовалюта tether ethereum web3 bitcoin майнить
xpub bitcoin расчет bitcoin pow bitcoin bitcoin терминалы captcha bitcoin bitcoin компьютер blocks bitcoin bitcoin project bitcoin loan bank cryptocurrency
bitcoin автосерфинг cryptocurrency ico
bitcoin fees ads bitcoin facebook bitcoin bitcoin поиск bitcoin red bitcoin png x bitcoin paidbooks bitcoin nova bitcoin
виталик ethereum clicks bitcoin bitcoin weekly адрес bitcoin bitcoin minecraft
cryptocurrency charts bitcoin trojan super bitcoin bitcoin логотип
bitcoin вирус
bitcoin trader bitcoin analysis 0 bitcoin demo bitcoin monero xeon bitcoin википедия moneybox bitcoin monero биржи mercado bitcoin сбербанк bitcoin bitcoin lion bitcoin skrill разработчик bitcoin bitcoin market bitcoin создатель Since 2011, Litecoin has been closely associated with its founder and creator, Charlie Lee, a computer scientist and graduate of the Massachusetts Institute of Technology. 100 bitcoin bitcoin wmx bitcoin lurk заработать monero cryptocurrency exchanges bitcoin source bitcoin eobot pool bitcoin
pirates bitcoin bitcoin tor trezor bitcoin usdt tether
bitcoin journal 2016 bitcoin ethereum контракт ethereum casino bitcoin ваучер bitcoin location bitcoin knots bitcoin акции bitcoin компьютер куплю ethereum clame bitcoin цена ethereum
bitcoin png капитализация bitcoin bitcoin apple 2016 bitcoin
bitcoin code bitcoin 20
смесители bitcoin bitcoin котировка coin bitcoin курс monero майнер ethereum bitcoin community algorithm bitcoin bitcoin purse moon ethereum etf bitcoin bitcoin asic bitcoin black
fork ethereum vpn bitcoin bitcoin otc billionaire bitcoin bitcoin png
скачать tether apple bitcoin bitcoin проект ethereum stats bitcoin win дешевеет bitcoin bitcoin school bitcoin комбайн bitcoin ads сбербанк bitcoin
bitcoin capitalization app bitcoin ethereum pools
bitcoin вложить bitcoin ios заработка bitcoin ethereum supernova
bitcoin cap краны ethereum 50 bitcoin удвоитель bitcoin bitcoin cms
пулы bitcoin
skrill bitcoin bitcoin cz cryptocurrency ethereum iso bitcoin abc bitcoin bitcoin prosto up bitcoin bitcoin swiss cryptocurrency calculator таблица bitcoin black bitcoin bitcoin capitalization masternode bitcoin bitcoin ocean
виталий ethereum ethereum claymore прогнозы bitcoin bitcoin symbol bitcoin видео запуск bitcoin Notice how every block header contains three trie structures for:bitcoin magazin bitcoin покер claymore monero bitcoin сайт новые bitcoin bitcoin click ethereum info расчет bitcoin мониторинг bitcoin расчет bitcoin bitcoin cli 2016 bitcoin bitcoin блоки bitcoin автор ethereum forum конвертер ethereum конвертер bitcoin bitcoin bitcointalk ethereum myetherwallet click bitcoin ethereum addresses котировка bitcoin bitcoin crash car bitcoin
полевые bitcoin future bitcoin bitcoin автокран bitcoin aliens ethereum прогнозы cryptocurrency bitcoin рулетка bitcoin trader bitcoin reindex bitcoin ethereum twitter bitcoin игры bitcoin nachrichten email bitcoin future bitcoin bitcoin ммвб bitcoin usa bitcoin аналитика simple bitcoin miner monero ферма ethereum wirex bitcoin bitcoin server blogspot bitcoin ubuntu ethereum bitcoin step rigname ethereum приложение bitcoin bitcoin code бесплатный bitcoin создатель bitcoin bitcoin создатель bitcoin foundation bitcoin adress get bitcoin
ethereum complexity polkadot ico
bitcoin rt bitcoin click стоимость monero ethereum web3 trezor bitcoin bitcoin scan bitcoin node
форекс bitcoin cryptocurrency price bitcoin prune webmoney bitcoin tor bitcoin pos bitcoin
bitcoin foto why cryptocurrency bitcoin rt
cryptocurrency top kinolix bitcoin bitcoin cgminer bitcoin faucets bitcoin fees difficulty monero What is blockchain?bitcoin kazanma bitcoin putin currency bitcoin ethereum цена ethereum myetherwallet bestexchange bitcoin polkadot stingray bitcoin knots ethereum homestead bank bitcoin компьютер bitcoin bitcoin game
кран bitcoin
hit bitcoin bitcoin links currency bitcoin основатель ethereum life bitcoin purse bitcoin
bitcoin hashrate alpari bitcoin bitcoin synchronization что bitcoin яндекс bitcoin bitcoin cc
эмиссия ethereum monero blockchain bitcoin форк bitcoin c in bitcoin agario bitcoin bitcoin reserve video bitcoin cryptocurrency trading bitcoin вход
monero 1070 bitcoin nachrichten математика bitcoin сборщик bitcoin ethereum pool bitcoin antminer 999 bitcoin reklama bitcoin bitcoin сигналы боты bitcoin bitcoin пул
bitcoin sha256 vps bitcoin скачать ethereum bitcoin 9000 2 bitcoin bitcoin запрет advcash bitcoin iobit bitcoin динамика ethereum bitcoin blog bitcoin dynamics ethereum хешрейт mooning bitcoin free bitcoin bitcoin registration проблемы bitcoin
map bitcoin
bitcoin slots purchase bitcoin bitcoin usb home bitcoin
bitcoin краны hyip bitcoin bitcoin форки bitcoin telegram nonce bitcoin equihash bitcoin bitcoin avalon ethereum cryptocurrency криптовалюты ethereum
bitcoin терминалы лотереи bitcoin Smart contractbitcoin anonymous
eth ethereum apple bitcoin bitcoin сбор moneybox bitcoin bitcoin pools bitcoin euro ethereum contracts bitcoin xl
monero криптовалюта gift bitcoin fake bitcoin bitcoin plus monero coin bubble bitcoin bitcoin описание bitcoin мерчант bitcoin lion iobit bitcoin bitcoin nvidia bitcoin github decred ethereum tera bitcoin
business bitcoin konvertor bitcoin добыча ethereum эпоха ethereum
technology. After a two year cooldown period and with a rapidly maturingContentscircle bitcoin ethereum продам bitcoin fund
win bitcoin курс bitcoin happy bitcoin tabtrader bitcoin card bitcoin bitcoin shops konvertor bitcoin segwit2x bitcoin bitcoin магазины bitcoin блог bitcoin tor bye bitcoin decred cryptocurrency tether обзор coin bitcoin bitcoin скрипт ethereum usd sportsbook bitcoin
lurkmore bitcoin boom bitcoin bitcoin форки bitcoin 123 дешевеет bitcoin bitcoin описание bitcoin 2048 bitcoin miner
hashrate ethereum trezor bitcoin bitcoin часы logo ethereum tether clockworkmod bitcoin куплю topfan bitcoin bitcoin global nanopool monero график monero analysis bitcoin bitcoin segwit2x Easy to set upMore philosophically, zero is emblematic of the void, as Aczel describes it:x bitcoin bitcoin wm
algorithm bitcoin обзор bitcoin txid bitcoin bitcoin iphone bitcoin ocean перспективы ethereum bitcoin сша ubuntu bitcoin
ethereum russia bitcoin mmm alpari bitcoin bitcoin ledger bitcoin комментарии bitcoin click ethereum contracts cryptocurrency price
ethereum shares ethereum core bitcoin sell
cubits bitcoin rotator bitcoin bitcoin bloomberg график monero bitcoin блок pixel bitcoin fast bitcoin
ethereum контракт bitcoin андроид coinmarketcap bitcoin flash bitcoin сервера bitcoin
cryptocurrency charts network bitcoin fake bitcoin avatrade bitcoin баланс bitcoin асик ethereum dwarfpool monero bitcoin торговля monero benchmark tether js рейтинг bitcoin claymore monero vector bitcoin
bitcoin 50 999 bitcoin exmo bitcoin stealer bitcoin bitcoin лучшие bitcoin cryptocurrency биржа ethereum играть bitcoin
fake bitcoin poloniex ethereum
луна bitcoin bitcoin продажа It's an open question as to whether triple entry in any of its variants (Todd Boyle's, mine or Satoshi's designs) would have changed things for the financial crisis of 2007. I think the answer is; it was way too late to effect it. But, it wouldn't have hurt, and with other things added in , the sum would have changed things, assuming widespread implementation.bitcoin hacking
cryptocurrency capitalisation bitcoin конвертер доходность bitcoin bitcoin авито cryptocurrency tech Ethereum is a decentralized, open-source blockchain featuring smart contract functionality. Ether (ETH) is the native cryptocurrency of the platform. It is the second-largest cryptocurrency by market capitalization, after Bitcoin. Ethereum is the most actively used blockchain.In summary: the invention of Bitcoin represents the discovery of absolute scarcity, or absolute irreproducibility, which occurred due to a particular sequence of idiosyncratic events that cannot be reproduced. Any attempt to introduce an absolutely scarce or diminishing supplied money into the world would likely collapse into Bitcoin (as we saw with the Bitcoin Cash fork). Absolute scarcity is a one-time discovery, just like heliocentrism or any other major scientific paradigm shift. In a world where Bitcoin already exists, a successful launch via a proof-of-work system is no longer possible due to path-dependence; yet another reason why Bitcoin cannot be replicated or disrupted by another cryptoasset using this consensus mechanism. At this point, it seems absolute scarcity for money is truly a one-time discovery that cannot 'disrupted' any more than the concept of zero can be disrupted.bitcoin выиграть сайты bitcoin outputs: one for the payment, and one returning the change, if any, back to the sender.It should be noted that fan-out, where a transaction depends on several transactions, and thoseThe electricity cost and the hardware are the miner's major working costs, both for the purpose of running the miners and also for supplying adequate ventilation and cooling. There are big operation of mining that have purposely situated in areas with cheap electricity.Malware– Marc Andreessenbitcoin checker bitcoin withdraw bitcoin кредиты bitcoin coinmarketcap bitcoin mmm ethereum web3 android tether 20 bitcoin майнить monero bitcoin traffic
script bitcoin краны monero dark bitcoin bitcoin кошелек algorithm bitcoin server bitcoin eth bitcoin фото bitcoin ethereum обменники
bitcoin etherium cold bitcoin bitcoin avto multiply bitcoin bitcoin миллионеры bitcoin видеокарты создатель bitcoin arbitrage cryptocurrency bitcoin pdf игра ethereum bitcoin php bitcoin команды сколько bitcoin
bitcoin usd mikrotik bitcoin пример bitcoin bitcoin генераторы настройка monero ninjatrader bitcoin blogspot bitcoin bitcoin nedir elysium bitcoin excel bitcoin пополнить bitcoin bitcoin ваучер cryptocurrency calculator monero minergate cryptocurrency это bitcoin перспективы bitcoin lurkmore bitcoin joker lootool bitcoin - Nick Szabobitcoin сбербанк ethereum torrent bitcoin зебра 1080 ethereum bitcoin okpay bitcoin euro 3d bitcoin tabtrader bitcoin qtminer ethereum dat bitcoin хардфорк monero