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.
ad bitcoin ферма ethereum окупаемость bitcoin bitcoin видеокарты криптовалют ethereum wallet cryptocurrency iobit bitcoin bubble bitcoin location bitcoin bitcoin s
debian bitcoin
bitcoin sec bitcoin tor бонусы bitcoin bitcoin crane ethereum биткоин service bitcoin rpg bitcoin пулы bitcoin bitcoin clicker краны bitcoin bitcoin bcn транзакции ethereum
bloomberg bitcoin tether верификация monero miner bank cryptocurrency network bitcoin ютуб bitcoin bitcoin symbol cudaminer bitcoin bitcoin tor bitcoin graph ethereum рост ethereum rotator bitcoin ru ninjatrader bitcoin bitcoin motherboard ethereum обменники tracker bitcoin buying bitcoin monero график ферма bitcoin bitcoin play cryptocurrency tech tether wifi
bitcoin video сбор bitcoin бесплатный bitcoin bitcoin рубли trader bitcoin bitcoin express
вики bitcoin bitcoin брокеры bitcoin компьютер apple bitcoin bitcoin hardfork stats ethereum mail bitcoin bitcoin терминалы rise cryptocurrency bitcoin eth bitcoin уязвимости bitcoin capitalization bitcoin brokers bitcoin faucets bitcoin компания bitcoin пул bitcoin symbol
bitcoin hardfork ethereum токены tether clockworkmod
bitcoin vizit zebra bitcoin
ethereum chaindata zcash bitcoin flypool monero bitcoin xpub терминалы bitcoin
bitcoin onecoin api bitcoin bitcoin пополнение bitcoin фильм bitcoin аналоги ethereum кран токены ethereum supernova ethereum casino bitcoin miningpoolhub ethereum bitcoin 2048 bitcoin создать monero cryptonote konvert bitcoin
tether приложение хардфорк bitcoin bitcoin инвестирование ethereum форк bitcoin service ethereum проблемы
bitcoin play bitcoin банкомат bitcoin miner ethereum myetherwallet 10000 bitcoin redex bitcoin bitcoin автосерфинг bitcoin пул bitcoin статья arbitrage cryptocurrency ethereum проекты ethereum calc bitcoin school bitcoin wsj earn bitcoin bitcoin rt bitcoin airbit capitalization bitcoin faucet cryptocurrency monero криптовалюта nicehash bitcoin ethereum charts cryptocurrency gold bitcoin elena bitcoin up client ethereum bitcoin icons 4 bitcoin андроид bitcoin ethereum пулы bitcoin goldmine bitcoin redex bitcoin blog bitcoin xt
bitcoin депозит
bitcoin betting balance bitcoin bitcoin drip лото bitcoin ethereum debian bitcoin gold
bitcoin price ethereum com love bitcoin обновление ethereum litecoin bitcoin ethereum ubuntu bitcoin продать monero amd инвестирование bitcoin
bitcoin доллар bitcoin ключи exchange bitcoin eos cryptocurrency What Are the Implications of Blockchain Technology?bux bitcoin
разработчик bitcoin vizit bitcoin bitcoin 0 You can learn more about MEW in our MyEtherWallet Review.bitcoin вход ethereum прогноз bitcoin price bitcoin tor значок bitcoin hosting bitcoin
bitcoin x токен ethereum оплатить bitcoin dwarfpool monero bitcoin алгоритм и bitcoin pool bitcoin обсуждение bitcoin amazon bitcoin nanopool ethereum monero сложность лотерея bitcoin r bitcoin site bitcoin bitcoin инструкция кредиты bitcoin калькулятор bitcoin ethereum classic ethereum buy ethereum новости ethereum debian dwarfpool monero bitcoin main geth ethereum платформ ethereum отследить bitcoin bitcoin ios cryptocurrency tech bitcoin make magic bitcoin
tp tether bistler bitcoin bitcoin tor bitcoin hacker bitcoin yandex bitcoin electrum bitcoin переводчик bitcoinwisdom ethereum график monero ethereum график ethereum майнить bitcoin gift cryptocurrency wikipedia деньги bitcoin bitcoin logo bitcoin авито bitcoin ethereum asics bitcoin bitcoin com
ethereum chart bitcoin форекс bitcoin electrum monero transaction bitcoin block rates bitcoin bitcoin это happy bitcoin bitcoin конвертер курс tether
bitcoin рубль connect bitcoin satoshi bitcoin новости bitcoin
bag bitcoin difficulty ethereum пополнить bitcoin reverse tether
p2pool bitcoin dash cryptocurrency
forecast bitcoin ethereum solidity bitcoin fpga bitcoin миллионеры purse bitcoin bitcoin phoenix flash bitcoin bitcoin значок робот bitcoin bitcoin database калькулятор monero android tether ethereum wikipedia c bitcoin bitcoin online ethereum russia bitcoin блог The overwhelming majority of bitcoin transactions take place on a cryptocurrency exchange, rather than being used in transactions with merchants. Delays processing payments through the blockchain of about ten minutes make bitcoin use very difficult in a retail setting. Prices are not usually quoted in units of bitcoin and many trades involve one, or sometimes two, conversions into conventional currencies. Merchants that do accept bitcoin payments may use payment service providers to perform the conversions.If you do decide to try cryptocoin mining, proceed as a hobby with a small income return. Think of it as 'gathering gold dust' instead of collecting actual gold nuggets. And always, always, do your research to avoid a scam currency. Satoshi Nakamoto originally created Bitcoin as an alternative, decentralized payment method. Unlike international bank transfers, it was low-cost and almost instantaneous. bitcoin poloniex msigna bitcoin
decred ethereum bitcoin usb boxbit bitcoin Each miner can choose which transactions are included in or exempted from a block. A greater number of transactions in a block does not equate to greater computational power required to solve that block.bitcoin maps amazon bitcoin дешевеет bitcoin bitcoin gpu china bitcoin monero вывод bitcoin стратегия bitcoin msigna 999 bitcoin bitcoin сервера bitcoin вложить monero wallet bitcoin ishlash korbit bitcoin bitcoin dump create bitcoin bitcoin транзакции bitcoin иконка bitcoin машины bitcoin token china bitcoin
бесплатные bitcoin bitcoin информация Equifax is one of the largest credit reporting agencies that hold personal information of over 800 million customers. This caused the data of over 145 million users to be stolen.bitcoin стратегия bitcoin evolution bitcoin alliance ethereum php торги bitcoin bitcoin reindex кран ethereum trade cryptocurrency bitcoin development
часы bitcoin алгоритм ethereum шрифт bitcoin bitcoin plus bitcoin mt4
hd7850 monero
bitcoin example
bitcoin основы coingecko bitcoin
wiki ethereum monero coin сервера bitcoin bitcoin easy market bitcoin анализ bitcoin bitcoin котировка british bitcoin film bitcoin валюта bitcoin bitcoin китай excel bitcoin bitcoin 2x ethereum pools wirex bitcoin
checker bitcoin bitcoin client preev bitcoin bitcoin payeer программа ethereum bitcoin котировки платформ ethereum cryptocurrency gold приложения bitcoin bitcoin cms linux bitcoin project ethereum antminer ethereum ethereum транзакции ethereum org брокеры bitcoin mini bitcoin bitcoin prices bitcoin cc widget bitcoin *****a bitcoin сборщик bitcoin wirex bitcoin claim bitcoin 2016 bitcoin bitcoin сегодня bitcoin gold 1 ethereum bitcoin 2020 bitcoin стратегия bitcoin книга bitcoin работа bitcoin multiplier bitcoin магазин bitcoin покер сайте bitcoin word bitcoin free ethereum bitcoin 0 ethereum usd логотип bitcoin bitcoin миллионеры ethereum форки
ethereum usd prune bitcoin bitcoin png bitcoin markets se*****256k1 bitcoin bitcoin sha256 bitcoin cny bcn bitcoin Ethereum 2.0, which was launched Dec. 1, 2020, aims to fix some of these issues. Other scaling technologies, such as Raiden – which has been in the works for years – could help with the scalability problem as well.How to Use Ethereumbitcoin обозначение
bitcoin отзывы
ethereum виталий ethereum investing rus bitcoin
bitcoin рейтинг
стоимость ethereum cubits bitcoin bitcoin сатоши carding bitcoin bitcoin криптовалюта
купить bitcoin If monetary debasement induced financialization, it should be logical that a return to a sound monetary standard would have the opposite effect. The tide of financialization is already on its way out, but the groundswell is just beginning to form as most people do not yet see the writing on the wall. For decades, the conventional wisdom has been to invest the vast majority of all savings, and that doesn’t change overnight. But as the world learns about bitcoin, at the same time that global central banks create trillions of dollars and anomalies like $17 trillion in negative yielding debt continue to exist, the dots are increasingly going to be connected.bitcoin payeer steam bitcoin зарабатываем bitcoin
deep bitcoin token ethereum tether 2 лото bitcoin android ethereum bitcoin antminer future bitcoin bitcoin 10 nova bitcoin tether io bitcoin сайты проблемы bitcoin
bitcoin split bitcoin betting monero js trezor bitcoin bitcoin ru clame bitcoin приват24 bitcoin monster bitcoin
обвал ethereum wiki ethereum
maining bitcoin bitcoin зебра bitcoin окупаемость bitfenix bitcoin stake bitcoin рейтинг bitcoin bitcoin shops monero gpu 2016 bitcoin abi ethereum game bitcoin decred ethereum cms bitcoin дешевеет bitcoin
monero difficulty bitcoin home cranes bitcoin ethereum стоимость download bitcoin
frog bitcoin tinkoff bitcoin planet bitcoin
bitcoin unlimited balance bitcoin bitcoin робот шифрование bitcoin проверка bitcoin free ethereum bitcoin fasttech erc20 ethereum pixel bitcoin ethereum майнить bitcoin cap перспективы ethereum monero график приват24 bitcoin bitcoin demo новости bitcoin bitcoin sha256
monero fr location bitcoin bonus bitcoin tether limited обновление ethereum nvidia bitcoin battle bitcoin client bitcoin bitcoin порт
download bitcoin кошель bitcoin bitcoin mmgp bitcoin видео bitcoin dynamics trade cryptocurrency торговать bitcoin ropsten ethereum cranes bitcoin