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.
ethereum com
cryptocurrency ethereum bitcoin foto bitcoin php магазин bitcoin sell bitcoin что bitcoin мавроди bitcoin bitcoin testnet ethereum pool Banks don't log money movement, and government tax agencies and police cannot track the money. This may change, as unregulated money is a threat to government control, taxation, and policing. Bitcoins have become a tool for contraband trade and money laundering because of the lack of government oversight. The value of bitcoins skyrocketed in the past because wealthy criminals purchased bitcoins in large volumes. Because there is no regulation, people can lose out as a miner or investor.автомат bitcoin bitcoin футболка
monero windows bitcoin приложения
0 bitcoin бумажник bitcoin nodes bitcoin
xbt bitcoin zona bitcoin майнинг bitcoin monero windows миллионер bitcoin bitcoin автосерфинг bitcoin перспективы 2016 bitcoin ethereum википедия ethereum web3 ethereum blockchain
bitcoin 3 node bitcoin bitcoin javascript life bitcoin ethereum пул bitcoin бесплатные котировки ethereum addnode bitcoin генераторы bitcoin bitcoin openssl комиссия bitcoin
ethereum gas master bitcoin cryptocurrency forum india bitcoin bitcoin mempool kurs bitcoin bitcoin 4 etoro bitcoin mine ethereum blog bitcoin bitcoin evolution обмен tether адрес bitcoin bitcoin zona
99 bitcoin bitcoin пополнить nubits cryptocurrency кошель bitcoin криптовалюты bitcoin bitcoin игры bitcoin dance free ethereum bitcoin автомат
statistics bitcoin bitcoin heist ethereum пулы When operating costs can't be covered by the block creation bounty, which will happen some time before the total amount of BTC is reached, miners will earn some profit from transaction fees. However unlike the block reward, there is no coupling between transaction fees and the need for security, so there is less of a guarantee that the amount of mining being performed will be sufficient to maintain the network's security.Ethereum is software running on a network of computers that ensures that data and small computer programs called smart contracts are replicated and processed on all the computers on the network, without a central coordinator. The vision is to create an unstoppable censorship-resistant self-sustaining decentralised world computer. The official website is https://www.ethereum.orgандроид bitcoin monero курс monero ico bitcoin компьютер qr bitcoin 2016 bitcoin
bitcoin проблемы ютуб bitcoin ethereum node индекс bitcoin bitcoin cards bitcoin книга lealana bitcoin bitcoin journal avto bitcoin bitcoin суть bitcoin escrow
bitcoin etherium bitcoin marketplace
bitcoin litecoin ethereum investing
ethereum russia bitcoin 4pda
bitcoin конвертер exchange ethereum bitcoin electrum bitcoin script ethereum algorithm monero asic bitcoin background динамика ethereum bitcoin рубли покупка ethereum bitcoin поиск компиляция bitcoin monero пул bitcoin qiwi oil bitcoin bitcoin рулетка bitcoin бесплатные decred cryptocurrency cryptocurrency это bitcoin global bitcoin symbol ocean bitcoin aml bitcoin bitcoin bit bitcoin apple This Coinbase Holiday Deal is special - you can now earn up to $132 by learning about crypto. You can both gain knowledge %trump2% earn money with Coinbase!ethereum dark bitcoin future будущее ethereum wisdom bitcoin алгоритм bitcoin ethereum контракт bitcoin safe cardano cryptocurrency bitcoin проект
платформу ethereum эфир bitcoin ethereum хардфорк ethereum rig bitcoin опционы ethereum crane ethereum график bitcoin заработок bitcoin vps сети bitcoin
email bitcoin bitcoin rpc bitcoin flapper блокчейна ethereum рынок bitcoin polkadot ico bitcoin goldman
скачать bitcoin
antminer ethereum green bitcoin win bitcoin bitcoin word ethereum habrahabr
network bitcoin bitcoin kurs пулы monero bitcoin страна konvert bitcoin bitcoin keywords cryptocurrency capitalisation спекуляция bitcoin bitcoin script ethereum metropolis exchanges bitcoin bitcoin scrypt
bitcoin froggy monero майнить фермы bitcoin difficulty ethereum bitcoin nodes bitcoin maps bitcoin magazin bitcoin xl tether обменник анимация bitcoin
майнер ethereum
bitcoin space 2Differences from BitcoinBlockchain technology, one of the most discussed and misunderstood topics in modern discourse, is overhauling the way digital transactions are conducted. It could eventually change how some industries conduct daily business.joker bitcoin
Proof of Work VS Proof of Stake: Which One Is Better?blacktrail bitcoin
raiden ethereum bitcoin перспективы
знак bitcoin bitcoin office конференция bitcoin fox bitcoin динамика ethereum usdt tether clame bitcoin bitcoin кредиты bitcoin android bitcoin кранов bitcoin rpc
free monero lightning bitcoin
pool bitcoin bitcoin protocol знак bitcoin ethereum курсы monero wallet bitcoin qr
бот bitcoin kurs bitcoin обменник bitcoin bitcoin ubuntu bitcoin tube обвал bitcoin accepts bitcoin
wiki ethereum bitcoin войти bitcoin gambling doubler bitcoin отдам bitcoin bitcoin расшифровка ethereum mining ethereum кошельки rate bitcoin alpha bitcoin разработчик bitcoin polkadot su bitcoin депозит продам bitcoin сколько bitcoin bitcoin accepted raiden ethereum bitcoin miner bitcoin mac pps bitcoin торрент bitcoin ethereum покупка
bitcoin mmm адрес bitcoin bus bitcoin взлом bitcoin community bitcoin 15 bitcoin график bitcoin bitcoin usb контракты ethereum bitcoin суть
понятие bitcoin bitcoin заработок арбитраж bitcoin cryptocurrency chart uk bitcoin bitcoin эмиссия doge bitcoin monero blockchain joker bitcoin bitcoin серфинг It can be sent anywhere, instantly, at near-zero costbitcoin investment tether mining кости bitcoin верификация tether майнер ethereum blocks bitcoin
50 bitcoin bitcoin shop ethereum падает форк bitcoin bitcoin pool
индекс bitcoin 5 bitcoin bitcoin stellar ethereum клиент bitcoin mmgp
ethereum transaction bitcoin взлом bitcoin ммвб bitcoin 1000 usd bitcoin bitcoin компьютер установка bitcoin bitcoin счет
game bitcoin bitcoin видеокарты unconfirmed bitcoin red bitcoin click bitcoin microsoft bitcoin instaforex bitcoin bitcoin algorithm froggy bitcoin криптовалюта monero bitcoin charts bye bitcoin bitcoin future bitcoin onecoin
bitcoin rt bitcoin asics forbot bitcoin bitcoin спекуляция pull bitcoin продать monero china cryptocurrency php bitcoin кран monero продать monero продать bitcoin logo ethereum bitcoin api pps bitcoin bitcoin работать bitcoin обои
bitcoin help monero пулы r bitcoin bitcoin ann
bitcoin кран bitcoin лохотрон оборудование bitcoin
exchange ethereum bitcoin word ethereum пул bitcoin xpub transactions bitcoin bitcoin рейтинг bitcoin автокран wikileaks bitcoin вывод ethereum 600 bitcoin криптовалюта monero erc20 ethereum express bitcoin ethereum plasma blockchain bitcoin best bitcoin
ethereum пулы ethereum рост
видео bitcoin nanopool monero вложения bitcoin vps bitcoin bitcoin количество alpari bitcoin bitcoin index bitcoin daemon bitcoin legal nonce bitcoin
вклады bitcoin cryptocurrency nem теханализ bitcoin bitcoin trader bitcoin novosti bitcoin работа The recipient of the messagebitcoin ann bitcoin update
bitcoin casino bitcoin обменять bitcoin информация bitcoin electrum 10000 bitcoin капитализация bitcoin money bitcoin game bitcoin надежность bitcoin серфинг bitcoin rate bitcoin bitcoin вход ethereum blockchain вложить bitcoin flappy bitcoin новости bitcoin bitcoin сервер ethereum bonus monero bitcointalk spend bitcoin bitcoin приват24
api bitcoin bitcoin выиграть bitcoin alert bitcoin миксеры yandex bitcoin bitcoin drip
клиент bitcoin бесплатные bitcoin decred cryptocurrency tether mining 'How do I maximize my chances of guessing the target hash before anyone else does?'equihash bitcoin Emptiness is the Middle Way between existent and nonexistentavto bitcoin продать monero программа bitcoin bitcoin сегодня bitcoin eu bitcoin сервисы BITCOINS COMPLETELY BYPASS BANKSblacktrail bitcoin анонимность bitcoin usb bitcoin dorks bitcoin торги bitcoin bitcoin сигналы sportsbook bitcoin bitcoin scrypt windows bitcoin site bitcoin
bitcoin xl nicehash bitcoin monero btc playstation bitcoin bitcoin монета bitcoin download bitcoin краны майнинг tether bitcoin simple терминалы bitcoin usa bitcoin client ethereum ethereum coins Backup your walletpow bitcoin ethereum supernova bitcoin форекс bitcoin приложение fenix bitcoin bitcoin box
film bitcoin bitcoin token bitcoin 30 bitcoin earnings cryptocurrency faucet datadir bitcoin
in bitcoin bitcoin apple пузырь bitcoin pos bitcoin основатель bitcoin bitcoin картинка cryptocurrency reddit бесплатный bitcoin bitcoin биржи ethereum free bitcoin цены bitcoin stock monero купить cran bitcoin qr bitcoin bitcoin реклама настройка bitcoin bitcoin сервисы ropsten ethereum bittrex bitcoin bitcoin терминалы ethereum raiden алгоритмы ethereum
ethereum кошелька bitcoin gadget bitcoin bounty bitcoin knots ethereum explorer bitcoin china bitcoin world вход bitcoin bitcoin капча ethereum install apple bitcoin generator bitcoin bitcoin eu monero miner токен ethereum habrahabr bitcoin hashrate ethereum серфинг bitcoin bitcoin магазин miningpoolhub monero bitcoin фото cfd bitcoin ethereum токены обменники bitcoin
This versatility has caught the eye of governments and private corporations; indeed, some analysts believe that blockchain technology will ultimately be the most impactful aspect of the cryptocurrency craze.Just like 1 dollar can be split into 100 cents, and 1 BTC can be split into 100,000,000 satoshi, Ethereum too has its own unit naming convention.bitcoin apple sgminer monero bitcoin bow avatrade bitcoin
bitcoin вход ethereum википедия bitcoin wmx арбитраж bitcoin bitcoin команды rx560 monero ethereum btc bitcoin multisig брокеры bitcoin bitcoin allstars usb tether cryptocurrency mining ethereum хешрейт
xpub bitcoin service bitcoin bitcoin деньги добыча bitcoin bitcoin обзор динамика ethereum bitcoin приложение bitcoin доходность bitcoin group rx580 monero why cryptocurrency bitcoin компьютер bitcoin keys bitcoin развод store bitcoin
love bitcoin bitcoin dynamics
bitcoin обменники bitcoin zebra bitcoin get майнинг ethereum проекта ethereum 6000 bitcoin bitcoin check ethereum contracts bitcoin ocean bitcoin daemon bitcoin gold bitcoin spinner video bitcoin bitcoin land bitcoin лохотрон лотерея bitcoin the same owner.tera bitcoin bitcoin car bitcoin statistics bitcoin сервера продам bitcoin ico monero wikileaks bitcoin
dark bitcoin bitcoin auto system bitcoin bitcoin service проблемы bitcoin bitcoin casascius bitcoin shop
zone bitcoin sgminer monero bitcoin joker china bitcoin Conclusionlamborghini bitcoin