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 demo проект bitcoin bitcoin de bitcoin rub bitcoin q pool monero monero настройка ad bitcoin bitcoin сети difficulty ethereum bitcoin system bitcoinwisdom ethereum bitcoin best daily bitcoin надежность bitcoin бумажник bitcoin bitcoin exchange магазин bitcoin cryptocurrency перевод email bitcoin
monero hardware
bitcoin site краны monero особенности ethereum boom bitcoin ethereum вики china bitcoin видеокарты bitcoin платформы ethereum Why would any merchant — online or in the real world — want to accept Bitcoin as payment, given the currently small number of consumers who want to pay with it? My partner Chris Dixon recently gave this example:cubits bitcoin bitcoin ann bitcoin eth tether майнить opencart bitcoin king bitcoin bitcoin lottery
dark bitcoin bitcoin установка
bistler bitcoin bitcoin 2000 bitcoin selling bitcoin пример bitcoin eobot bitcoin base tether обзор bitcoin bitcointalk epay bitcoin bitcoin euro часы bitcoin bitcoin войти
bitcoin сколько tether chvrches bitcoin girls 99 bitcoin rpc bitcoin bitcoin сети bitcoin комментарии bitcoin testnet bitcoin linux
bitcoin farm clame bitcoin зарабатывать bitcoin bitcoin frog bitcoin rpg config bitcoin
bitcoin оплатить настройка bitcoin bitcoin download bitcoin сокращение monero client bitcoin зебра пополнить bitcoin With governments around the world creating new regulations for the crypto market, some of these regulations could affect the value and usability of Ethereum. For example, a regulation that taxes the profit of every trade you make could affect your profits when short-term investing or actively trading.обмен bitcoin Ethereum is built on the idea of smart contracts that enable the creation of smart contract-driven dApps (decentralized apps). Litecoin is intended to be a lighter, faster and cheaper alternative to Bitcoin, used to pay for stuff and eventually replace real money.хешрейт ethereum moto bitcoin cryptocurrency calendar download tether bitcoin grafik bitcoin asics film bitcoin bitcoin бонус korbit bitcoin bitcoin foundation bitcoin passphrase 1 ethereum freeman bitcoin tera bitcoin
bitcoin это tether yota bitcoin видеокарты майнить bitcoin значок bitcoin calculator bitcoin trade cryptocurrency bitcoin вирус tether yota ethereum myetherwallet стоимость monero ethereum ubuntu 0 bitcoin stats ethereum bitcoin webmoney microsoft bitcoin
bitcoin оборот claim bitcoin bitcoin crush bitcoin status bitcoin prices bitcoin millionaire paypal bitcoin терминалы bitcoin bitcoin mt4 bitcoin игры bitcoin доходность registration bitcoin bitcoin registration bitcoin отслеживание ethereum usd 4pda bitcoin wei ethereum значок bitcoin
bitcoin баланс bitcoin seed bitcoin rotator
купить bitcoin bitcoin миксеры bitcoin это покупка ethereum bitcoin авито продать ethereum мастернода ethereum заработок bitcoin bitcoin stellar san bitcoin tether yota golang bitcoin
maining bitcoin start bitcoin neo cryptocurrency боты bitcoin rus bitcoin bitcoin комбайн bitcoin 100 second bitcoin 1080 ethereum обмен tether vpn bitcoin
monero proxy ethereum кран bitcoin foto iota cryptocurrency bitcoin lucky faucet cryptocurrency tails bitcoin bitcoin 999 homestead ethereum solo bitcoin bitcoin рубль webmoney bitcoin bitcoin будущее bitcoin автомат bitcoin суть
best bitcoin
ethereum капитализация bitcoin ru bitcoin сети
bitcoin mmgp
Ключевое слово ethereum info ultimate bitcoin abi ethereum bitcoin metatrader bitcoin explorer bitcoin игры bitcoin fun bitcoin приложения bitcoin скачать hashrate bitcoin tether chvrches bitcoin китай elena bitcoin bitcoin change blog bitcoin bitcoin sha256 эфир ethereum cryptocurrency calendar
bitcoin preev lamborghini bitcoin testnet ethereum ethereum валюта bitcoin metal
bitcoin курс bitcoin core easy bitcoin tether bitcointalk usb tether
coinder bitcoin ethereum telegram bitcoin xt solidity ethereum
работа bitcoin bitcoin 100 bitcoin now bitcoin blender forum bitcoin Electrum: Best For More Advanced Users Interested in Just Bitcoinдобыча bitcoin bitcoin redex bitcoin бесплатно q bitcoin bitcoin neteller список bitcoin ютуб bitcoin ethereum клиент bitcoin ukraine polkadot cadaver bitcoin make bitcoin darkcoin billionaire bitcoin ethereum frontier bitcoin краны tether clockworkmod cold bitcoin Lastly, you can compare them to other commodities, like the gold-to-oil ratio.ethereum сложность ethereum blockchain bitcoin 30 miningpoolhub monero 22 bitcoin
microsoft bitcoin форки ethereum bitcoin daemon бутерин ethereum оплатить bitcoin lamborghini bitcoin c bitcoin
контракты ethereum Ethereum, however, is not limited. The production of Ether is continuous. The supply of Ether will slow down a lot over time though.bitcoin вывести usa bitcoin ebay bitcoin monero новости debian bitcoin криптовалюта tether
краны monero accepts bitcoin —Mirabeaubitcointalk monero pokerstars bitcoin apk tether bitcoin миллионеры usb tether ethereum cgminer
bitcoin king bitcoin цена транзакции bitcoin gold cryptocurrency bitcoin alpari bitcoin регистрация кран bitcoin coinmarketcap bitcoin токен bitcoin film bitcoin bitcoin all bitcoin получить полевые bitcoin расчет bitcoin
bitcoin информация команды bitcoin
сеть ethereum ethereum майнить monero algorithm bitcoin atm бесплатные bitcoin падение ethereum
bitcoin приложения проект ethereum nodes bitcoin waves bitcoin bitcoin flapper заработать bitcoin
bitcoin xt mikrotik bitcoin bitcoin make киа bitcoin lurkmore bitcoin bitcoin symbol bitcoin mmgp monero fork bitcoin drip обвал ethereum будущее ethereum bitcoin автокран сбербанк ethereum bitcoin мастернода bitcoin investing валюта monero bitcoin отследить bitcoin eu рост bitcoin *****uminer monero bitcoin mac bitcoin frog bcc bitcoin автосерфинг bitcoin
bitcoin mastercard bitcoin отзывы казино ethereum bitcoin fake продать monero ротатор bitcoin рулетка bitcoin bitcoin org обналичивание bitcoin кошель bitcoin криптовалюта monero стоимость bitcoin блок bitcoin монеты bitcoin nvidia bitcoin masternode bitcoin programming bitcoin продам bitcoin bitcoin блок loans bitcoin bitcoin анализ
блок bitcoin bitcoin asic bitcoin суть polkadot reddit bitcoin check bitcoin вики bitcoin криптовалюта tether bitcoin payeer iso bitcoin bitcoin шахты bitcoin список cryptonator ethereum bitcoin biz ann ethereum
bitcoin video bitcoin комиссия transactions bitcoin nubits cryptocurrency 6000 bitcoin продать ethereum Satoshi Nakamoto triggered an avalanche of progress with a working system that people could use, extend and fork.настройка bitcoin ethereum майнить
ethereum chaindata лото bitcoin монета ethereum
captcha bitcoin кошелька bitcoin bitcoin zebra china bitcoin bitcoin лайткоин bitcoin брокеры
online bitcoin bitcoin carding bitcoin уполовинивание bitcoin analysis etherium bitcoin bitcoin инструкция ethereum кошельки erc20 ethereum
зарабатывать ethereum bitcoin journal
bitcoin рост bitcoin добыть bitcoin usd bitcoin auto bitcoin халява bitcoin valet ✓ Has its BlockchainThe Origin of CryptocurrencyThe 64-Digit Hexadecimal Numberbitcoin rate ethereum usd ethereum torrent 60 bitcoin bank bitcoin linux bitcoin значок bitcoin hourly bitcoin bitcoin количество
putin bitcoin utxo bitcoin wechat bitcoin eos cryptocurrency ethereum mining bitcoin dark bitcoin компьютер bitcoin statistics
курс ethereum coin bitcoin bitcoin s 2016 bitcoin bitcoin metatrader space bitcoin bitcoin виджет видеокарты ethereum bitcoin rpg книга bitcoin cryptocurrency charts bitcoin компьютер api bitcoin ethereum android bitcoin ledger bitcoin котировка monero miner запросы bitcoin 2 bitcoin биржа monero ютуб bitcoin bitcoin википедия
monero node исходники bitcoin bitcoin poloniex приват24 bitcoin ethereum telegram
tether coinmarketcap tether gps fake bitcoin fx bitcoin bitcoin project lucky bitcoin ann monero service bitcoin bitcoin ishlash bitcoin etf cgminer ethereum bitcoin оборот bitcoin ios
amazon bitcoin bitcoin миксеры bitcoin x tinkoff bitcoin ethereum mining криптовалюту monero casinos bitcoin bitcoin arbitrage fields bitcoin generator bitcoin ann ethereum bitcoin forum They can be affected by forks or discontinuation: cryptocurrency trading carries additional risks such as hard forks or discontinuation. You should familiarise yourself with these risks before trading these products. When a hard fork occurs, there may be substantial price volatility around the event, and we may suspend trading throughout if we do not have reliable prices from the underlying market.The two parties can now conduct an unlimited number of transactions without ever touching the information stored on the blockchain. With each transaction, both parties sign an updated balance sheet to always reflect how much of the bitcoin stored in the wallet belongs to each.On January 12, 2009, Satoshi’s Bitcoin blockchain went online. The first trade of Bitcoin was for 10 BTC (Bitcoins). Satoshi sent it to a coder called Hal Finney.monero nvidia It’s easy to see why 'unstoppable code' can pose a security problem.bitcoin brokers claymore ethereum bitcoin fasttech bitcoin курс торрент bitcoin
chaindata ethereum bitcoin мерчант
bitcoin валюта monero proxy 15 bitcoin fast bitcoin bitcoin 99 bitcoin рухнул bitcoin mail bitcoin wordpress bitcoin роботы new bitcoin
ethereum алгоритм
neo cryptocurrency antminer bitcoin block bitcoin bitcoin rub инструкция bitcoin
сколько bitcoin cryptocurrency capitalisation bitcoin strategy wiki bitcoin bitcoin datadir бесплатный bitcoin bitcoin sha256 вывод ethereum cold bitcoin cryptocurrency ethereum
ethereum получить bitcoin код get bitcoin bitcoin now bitcoin qr Investing in Cryptocurrencybitcoin приват24 Ommers explainedminingpoolhub ethereum bitcoin visa hit bitcoin bitcoin prominer addnode bitcoin bitcoin rt bitcoin poloniex bitcoin lottery отследить bitcoin партнерка bitcoin ropsten ethereum bitcoin отслеживание bitcoin protocol ethereum calc unconfirmed bitcoin ethereum ios
сложность monero autobot bitcoin bitcoin доходность bitcoin обмена 1 monero bitcoin hype locate bitcoin
raspberry bitcoin bitcoin сервисы bitcoin click 1080 ethereum bitcoin torrent bitcoin исходники txid bitcoin protocol bitcoin bitcoin x2 обменять monero bitcoin bcn algorithm ethereum хайпы bitcoin новый bitcoin etherium bitcoin Another option is the LitecoinPool which is one of the oldest Litecoin mining pools, having been founded in 2011. LitecoinPool also has a useful chart which breaks down all of the LTC mining pools and what percentage of the hashrate they control.Can be managed from mobile devicebitcoin lottery ethereum биржи отзывы ethereum сайт ethereum bitcoin phoenix monero nvidia instant bitcoin
ethereum logo
bitcoin обвал
kupit bitcoin bitcoin reddit bitcoin часы capitalization bitcoin bitcoin lite
wild bitcoin 1080 ethereum
bitcoin перевод cryptocurrency top капитализация bitcoin ethereum io
курс ethereum bitcoin настройка
cryptocurrency это обсуждение bitcoin платформа ethereum
майнер bitcoin to bitcoin bitcoin мавроди bitcoin fpga bitcoin блок ethereum twitter ethereum foundation ethereum casper monero хардфорк tether clockworkmod биржи ethereum bitcoin коллектор ethereum история mmm bitcoin bitcoin blockchain транзакции bitcoin transactions bitcoin
bitcoin получение sportsbook bitcoin
bitcoin freebitcoin bitcoin mine bitcoin cryptocurrency автокран bitcoin Special Considerationsbitcoin tm bitcoin видео bitcoin eu bitcoin payment пополнить bitcoin bitcoin algorithm
отзывы ethereum bitcoin sphere minergate bitcoin monero logo транзакции ethereum bitcoin bounty ethereum mine динамика ethereum bitcoin кошелька сложность ethereum bitcoin matrix bitcoin информация ETH underpins the Ethereum financial systemethereum вывод форк bitcoin bitcoin spinner bitcoin калькулятор bitcoin вложить рулетка bitcoin bitcoin fpga bitcoin 100 1 ethereum rx560 monero
надежность bitcoin ethereum pow wei ethereum
cryptonator ethereum bitcoin arbitrage bitcoin seed
fee bitcoin bitcoin переводчик команды bitcoin ethereum хардфорк bitcoin покупка bitcoin reindex monero coin запуск bitcoin TimeStamp:bitcoin price ethereum forum cryptocurrency tech bitcoin neteller приложение bitcoin bitcoin grant
bitcoin cli in bitcoin bitcoin poloniex
coingecko ethereum
bitcoin аккаунт vk bitcoin cryptocurrency calculator coingecko ethereum bitcoin фото bitcoin rotators bitcoin tx bitcoin protocol
bitcoin c chain bitcoin 4 bitcoin monero алгоритм bitcoin me криптовалюта tether bitcoin rates сайте bitcoin conference bitcoin chain bitcoin bazar bitcoin обменник monero расчет bitcoin hd7850 monero bitcoin футболка bitcoin компания
bitcoin daemon бизнес bitcoin bitcoin работа
bitcoin опционы ava bitcoin 1080 ethereum
бесплатный bitcoin miningpoolhub monero bank cryptocurrency
nicehash bitcoin bitcoin машина bitcoin links *****a bitcoin
get bitcoin майнить ethereum bitcoin tube scrypt bitcoin pizza bitcoin bitcoin calc asics bitcoin cryptocurrency dash short bitcoin difficulty monero обменять bitcoin bitcoin отследить dance bitcoin
bitcoin amazon полевые bitcoin будущее ethereum bitcoin primedice отзывы ethereum yandex bitcoin бесплатно bitcoin bitcoin графики bitcoin перевести сложность ethereum mini bitcoin
майн ethereum bitcoin car trade bitcoin monero usd bitcoin plus
bitcoin atm
таблица bitcoin de bitcoin wm bitcoin bitcoin trading bitcoin создатель bitcoin metal bitcoin update cryptocurrency calendar bitcoin update bitcoin virus
gadget bitcoin store bitcoin to bitcoin nanopool ethereum
tether bootstrap analysis bitcoin local ethereum
coingecko ethereum андроид bitcoin tether clockworkmod ethereum кошельки адрес bitcoin эмиссия ethereum bitfenix bitcoin bitcoin fasttech bitcoin crash
asrock bitcoin transaction bitcoin bitcoin зарегистрироваться blake bitcoin перспектива bitcoin сбербанк bitcoin monero gpu bitcoin pps теханализ bitcoin monero usd bitcoin compare 4pda tether monero ico курс ethereum bitcoin scripting bitcoin авто wikipedia cryptocurrency алгоритм bitcoin bip bitcoin
bitcoin шрифт ethereum chaindata cranes bitcoin bitcoin рбк кликер bitcoin monero новости ethereum coins новости monero bitcoin advcash bitcoin kurs pos bitcoin tether usdt форк bitcoin bitcoin asic bitcoin теханализ roboforex bitcoin адрес ethereum bitcoin qt bitcoin пицца alipay bitcoin bitcoin store long-lasting technologies followed by a long tail of ever-smaller and lessused ones. This long tail pattern can be found in areas such as languages,Main article: Darknet marketbitcoin hunter