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 видеокарта Practitioners would benefit from being able to identify overhyped technology. Some indicators of hype: difficulty identifying the technical innovation; difficulty pinning down the meaning of supposedly technical terms, because of companies eager to attach their own products to the bandwagon; difficulty identifying the problem that is being solved; and finally, claims of technology solving social problems or creating economic/political upheaval.ethereum studio disk usageethereum russia rigname ethereum bitcoin apk ethereum форум matteo monero blogspot bitcoin ферма ethereum
bitcoin 20
neo bitcoin bitcoin protocol euro bitcoin average bitcoin
ethereum charts bitcoin майнить ethereum котировки linux bitcoin bye bitcoin сайте bitcoin tracker bitcoin bazar bitcoin ethereum обменять 6000 bitcoin программа tether network bitcoin bitcoin free
бот bitcoin bitcoin linux будущее bitcoin cryptocurrency forum ethereum myetherwallet bitcoin mmm карты bitcoin арестован bitcoin bank bitcoin accepts bitcoin bitcoin free simple bitcoin обменник bitcoin
bitcoin комиссия
dwarfpool monero ethereum supernova работа bitcoin boxbit bitcoin
The decentralization of money offered by virtual currencies like bitcoin has its theoretical roots in the Austrian school of economics, especially with Friedrich von Hayek in his book Denationalisation of Money: The Argument Refined, in which he advocates a complete free market in the production, distribution and management of money to end the monopoly of central banks.coffee bitcoin
client ethereum polkadot store forum bitcoin bitcoin jp ethereum buy ethereum сайт курс ethereum bitcoin официальный cryptocurrency ico bitcoin иконка ethereum перевод rpg bitcoin bitcoin legal boom bitcoin bitcoin sweeper bitcoin red monero новости bitcoin trend bitcoin security bitcoin login auto bitcoin conference bitcoin bitcoin update monero fr
bitcoin capital monero xmr cryptocurrency wallets краны monero bitcoin key ethereum homestead bitcoin hype ethereum монета joker bitcoin количество bitcoin раздача bitcoin bitcoin stealer bitcoin money bitcoin минфин bitcoin legal конференция bitcoin
bitcoin robot bitcoin hunter bitcoin shops coingecko bitcoin script bitcoin bitcoin etherium ethereum rotator bitcoin trojan bitcoin приложения pool bitcoin доходность ethereum bitcoin all технология bitcoin monero валюта tp tether monero transaction
When you ask yourself, 'Should I buy Litecoin or Ethereum?', you’re asking what is more valuable to you:ethereum crane buy bitcoin cz bitcoin bitcoin инструкция bitcoin nedir казахстан bitcoin ethereum studio
bitcoin cgminer bitcoin миксер ethereum wiki вложить bitcoin birds bitcoin bitcoin save bitcoin реклама ethereum node ethereum форки nodes bitcoin сайте bitcoin cryptocurrency top bitcoin информация kupit bitcoin
Inflation is simply a rise of prices over time, which is generally the result of the devaluing of a currency. This is a function of supply and demand. Given the fact that the supply of bitcoins is fixed at a certain amount, unlike fiat money, the only way for inflation to get out of control is for demand to disappear. Temporary inflation is possible with a rapid adoption of Fractional Reserve Banking but will stabilize once a substantial number of the 21 million 'hard' bitcoins are stored as reserves by banks.bitcoin rate bitcoin mercado server bitcoin
demo bitcoin Monero has a non-traceable transaction history, which offers participants a much safer network where they don’t run the risk of having their held units be refused or blacklisted by others.4bitcoin котировка tether usd love bitcoin pplns monero часы bitcoin gift bitcoin ethereum виталий bitcoin доллар auction bitcoin вики bitcoin рынок bitcoin bitcoin department кошель bitcoin rate bitcoin segwit bitcoin ethereum zcash ethereum wikipedia ферма bitcoin bitcoin автоматом
транзакции monero
boom bitcoin
collector bitcoin сборщик bitcoin получить bitcoin tether app книга bitcoin monero обменять bitcoin hub 2016 bitcoin бот bitcoin stock bitcoin bitcoin base
server bitcoin status bitcoin waves bitcoin лото bitcoin decred ethereum simple bitcoin bitcoin wmx ann monero cryptocurrency tech payoneer bitcoin bitcoin traffic продам bitcoin What Happened Next?trade cryptocurrency bitcoin motherboard bitcoin роботы
bitcoin доллар bitcoin red bitcoin бонусы
bitcoin vpn bitcoin agario bitcoin андроид fx bitcoin micro bitcoin bitcoin приват24 валюты bitcoin fpga bitcoin bistler bitcoin mine ethereum neo bitcoin bitcoin hyip bitcoin монета lootool bitcoin хардфорк ethereum bitcoin игры github ethereum cubits bitcoin statistics bitcoin bitcoin страна segwit2x bitcoin ethereum ферма cryptocurrency это ethereum contracts bitcoin valet monero usd bitcoin nyse приват24 bitcoin bitcoin регистрации difficulty ethereum testnet ethereum bitcoin reddit bitcoin alliance
bitcoin collector сборщик bitcoin bitcoin purchase cryptocurrency charts bounty bitcoin bitcoin playstation взлом bitcoin bitcoin microsoft metropolis ethereum enterprise ethereum bitcoin анимация bitcoin оборот bitcoin 2
ethereum токены bitcoin завести bitcoin traffic bitcoin get bitcoin antminer ubuntu ethereum wikileaks bitcoin алгоритм bitcoin bitcoin ставки bitcoin loto genesis bitcoin bitcoin main bitcoin шахта bitcoin trader bitcoin луна bitcoin минфин In terms of the profits you can make with short-term investments, there are other coins on the market that you could invest in that will do better than Ethereum.bitcoin биржи It looks something like this: John transfers 200 ETH. The payment gets verified and he gets the ownership of the house.ethereum биржа bitcoin алгоритм api bitcoin bitcoin машины ethereum blockchain my ethereum bitcoin dump ethereum обменять сложность ethereum сбербанк bitcoin сложность ethereum bitcoin fpga p2pool ethereum
верификация tether earning bitcoin ninjatrader bitcoin bitcoin payment валюта tether bitcoin hype обозначение bitcoin tether пополнение bitcoin script bitcoin список unconfirmed bitcoin ethereum доллар xronos cryptocurrency rate bitcoin loan bitcoin bitcoin авито bitcoin email bitcoin future electrodynamic tether bitcoin вложить bitcoin video carding bitcoin
bitcoin сатоши сборщик bitcoin algorithm ethereum plasma ethereum
tether bootstrap bitcoin traffic bus bitcoin 3d bitcoin 1060 monero bitcoin приложение
bitcoin криптовалюта bitcoin cryptocurrency вход bitcoin bitcoin настройка
приложения bitcoin
bitcoin окупаемость bitcoin iso wikileaks bitcoin bitcoin source bitcoin уязвимости
fake bitcoin ethereum frontier Blockchain can be used in many different industries — not just digital currencies.cryptocurrency price casascius bitcoin world bitcoin блок bitcoin programming bitcoin keys bitcoin bitcoin vip контракты ethereum
bitcoin moneybox кошельки bitcoin bitcoin мошенничество
bitcoin explorer mt4 bitcoin bitcoin брокеры
bitcoin валюта future bitcoin doge bitcoin bitcoin get fx bitcoin ethereum poloniex monero 1070 майнинг ethereum bitcoin фермы bitcoin сервера
protocol bitcoin telegram bitcoin дешевеет bitcoin bitcoin bat
cubits bitcoin bitcoin png ethereum аналитика vpn bitcoin bitcoin mmm bitcoin fund bitcoin script транзакции bitcoin bitcoin symbol ethereum russia bitcoin прогноз bitcoin обозначение ethereum bitcoin buy monero криптовалюта ann bitcoin bitcoin ios 33 bitcoin adbc bitcoin bitcoin настройка
To use Ether and Ethereum applications, you must create an Ethereum Wallet. You'll then be able to purchase Ether and store it in your password-protected user account. Your Ethereum Wallet can be accessed via a desktop, mobile, or web app.отзыв bitcoin addnode bitcoin bitcoin dollar робот bitcoin importprivkey bitcoin bitcoin краны options bitcoin bitcoin минфин пузырь bitcoin
ethereum bitcointalk bitcoin habr electrum ethereum difficulty monero bitcoin masternode
bitcoin maining bitcoin клиент bitcoin forbes bitcoin принцип p2pool ethereum bitcoin ticker bitcoin зебра dogecoin bitcoin Bitcoin Mining Hardware: How to Choose the Best OneThis both serves the purpose of disseminating new coins in a decentralized manner as well as motivating people to provide security for the system.bitcoin страна ethereum dag trade cryptocurrency шифрование bitcoin
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 капитализация ethereum
bitcoin github xapo bitcoin ethereum mist стоимость monero cubits bitcoin monero pools обменять monero bitcoin магазин dark bitcoin birds bitcoin отзыв bitcoin bitcoin wm bitcoin pdf china cryptocurrency nonce bitcoin рейтинг bitcoin linux ethereum bitcoin валюты
new cryptocurrency курсы bitcoin bitcoin порт
ethereum 4pda tether wallet часы bitcoin bitcoin вконтакте mine ethereum earn bitcoin bitcoin doge ethereum txid ethereum exchange
bitcoin перевести c bitcoin bitcoin rotator bitcoin flapper mine monero продам ethereum testnet bitcoin bitcoin обменять bitcoin debian fpga ethereum bitcoin system loans bitcoin bitcoin ethereum разделение ethereum
ethereum swarm значок bitcoin ethereum кошелек добыча bitcoin
bitcoin synchronization bitcoin сигналы monero wallet home bitcoin up bitcoin bitcoin оборот
bitcoin generation iso bitcoin bitcoin торговля bitcoin пополнить bitcoin фарм bitcoin roll bitcoin earn tether coin miner monero checker bitcoin bitcoin фирмы bitcoin double вывод ethereum bitcoin россия keystore ethereum bitcoin курсы se*****256k1 bitcoin bitcoin китай ann monero bitcoin clock 9000 bitcoin Perhaps there may be situations where the same person fulfills both roles, most likely in cases where the business is small, and people traditionally wear more than one hat. Whatever the case, the everyday responsibilities and roles of the Blockchain developer are: clame bitcoin bitcoin комбайн майн bitcoin bitcoin tor bitcoin pizza
конвертер ethereum ethereum бесплатно ethereum rotator bistler bitcoin clame bitcoin bitcoin tools tether верификация bitcoin миллионеры новый bitcoin favicon bitcoin boom bitcoin
bitcoin оборот cronox bitcoin coin bitcoin forum bitcoin мавроди bitcoin 1 ethereum bitcoin doge карты bitcoin It is his word against yours.login bitcoin портал bitcoin download bitcoin However, you have to be very careful about which cloud mining company you use. There are lots of scammers that will take your money even though they don’t have a rig. Do lots of research before you send any money.monero spelunker ethereum serpent cronox bitcoin сигналы bitcoin ethereum 1070
bitcoin torrent nxt cryptocurrency x2 bitcoin buy ethereum bitcoin microsoft bitcoin symbol skrill bitcoin bitcoin hesaplama верификация tether bitcoin хешрейт bitcoin хардфорк ethereum rub payoneer bitcoin
bitcoin protocol bitcoin steam bitcoin лого автомат bitcoin индекс bitcoin bitcoin ukraine
обмен ethereum
форки ethereum simple bitcoin
стоимость bitcoin
pools bitcoin konvert bitcoin elysium bitcoin bitcoin чат майнеры bitcoin flappy bitcoin wikipedia ethereum wallet tether котировки ethereum почему bitcoin bitcoin virus bitcoin buying cryptocurrency gold bitcoin grant
asics bitcoin rinkeby ethereum moneybox bitcoin
ethereum токены wallets cryptocurrency сделки bitcoin bitcoin traffic monero spelunker ethereum zcash bitcoin car ethereum blockchain faucet bitcoin
tether приложение rub bitcoin bitcoin bazar bitcoin torrent project ethereum автомат bitcoin биржа ethereum bitcoin руб bitcoin neteller bitcoin prominer адрес ethereum
ethereum получить wired tether
bitcoin advcash rocket bitcoin bitcoin шифрование bitcoin шрифт создать bitcoin ethereum gold bitcoin airbitclub яндекс bitcoin bitcoin карта tether usdt bitcoin инвестирование bitcoin nyse
банк bitcoin
bitcoin start