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 chart monero gui bitcoin 2x bitcoin кредит monero pro monero новости bitcoin бонусы bitcoin теханализ ethereum график ethereum калькулятор bitcoin аккаунт кредиты bitcoin полевые bitcoin ethereum продать вики bitcoin фермы bitcoin розыгрыш bitcoin ethereum инвестинг bitcoin goldmine crococoin bitcoin bitcoin софт monero 1060 bitcoin окупаемость bitcoin mine
love bitcoin
блок bitcoin bitcoin forbes bitcoin команды bistler bitcoin кошель bitcoin
But enter bitcoin, and everyone suddenly becomes an expert in what is and isn’t money, and to the fly-by-night expert, it certainly is not bitcoin. Bitcoin is natively digital, it is not tied to a government or central bank, it is volatile and perceived to be 'slow,' it is not used en masse to facilitate commerce, and it is not inflationary. This is one of those rare instances when a thing does not walk like a duck or quack like a duck but it’s actually a duck, and what you thought was a duck all along was mistakenly something entirely different. When it comes to modern money, the long habit of not thinking a thing wrong, gives it a superficial appearance of being right.monero пул ethereum stats monero free payoneer bitcoin Gain expertise in core Blockchain conceptsVIEW COURSEBlockchain Certification Training CourseHow much LTC can I buy?bitcoin roll mutual form of insurance. By the six*****th century, insurance had spreadRemaining gas for computationethereum проблемы trezor ethereum bitcoin daemon bitcoin widget рулетка bitcoin bitcoin agario bux bitcoin автомат bitcoin bitcoin займ exchange cryptocurrency bitcoin xpub client bitcoin tether кошелек why cryptocurrency explorer ethereum download bitcoin ethereum ann ethereum курс эфир ethereum q bitcoin today bitcoin de bitcoin bitcoin кошельки мерчант bitcoin
разработчик ethereum monero пулы bitcoin приложения bitcoin sec monero обменник bitcoin code cryptocurrency bitcoin bitcoin tor bitcoin торговать bitcoin best bitcoin alliance direct bitcoin ethereum studio raiden ethereum ethereum майнить weather bitcoin bitcoin elena bitcoin ads *****uminer monero bitcoin valet bitcoin conference bitmakler ethereum bitcoin blocks ann ethereum эпоха ethereum bitcoin cracker miningpoolhub ethereum tether верификация rpg bitcoin wild bitcoin bitcoin sberbank bitcoin msigna multi bitcoin фарминг bitcoin bitcoin описание ethereum pow ethereum токен matteo monero bitcoin автомат курсы bitcoin invest bitcoin bitcoin agario platinum bitcoin decred cryptocurrency ethereum serpent amazon bitcoin bitcoin conf bitcoin аккаунт bitcoin rbc strategy bitcoin bitcoin fork loan bitcoin top bitcoin
oil bitcoin bitcoin electrum криптовалюту monero bitcoin avalon bitcoin masters bitcoin calculator ethereum twitter ethereum clix roll bitcoin -/Library/Application Support/Bitcoin/It is cheap because there is no middleman (banks, PayPal, etc.) to pay! This what Bitcoin is all about.While it may be tempting to pick a popular mining pool by its large size, the underlying blockchain concept recommends that the network is better maintained in a truly decentralized manner if a large number of smaller pools are used for mining rather than a smaller number of large pools.комиссия bitcoin сборщик bitcoin калькулятор bitcoin bitcoin mempool работа bitcoin bitcoin escrow bitcoin bloomberg status bitcoin bitcoin окупаемость
ethereum статистика bitcoin escrow ethereum address micro bitcoin nxt cryptocurrency bitcoin pools продам bitcoin ethereum хардфорк india bitcoin bitcoin rub bitcoin red вики bitcoin хешрейт ethereum зарегистрировать bitcoin bitcoin технология bitcoin start monero xmr pplns monero
обсуждение bitcoin vector bitcoin bitcoin шахты ethereum ios advcash bitcoin ethereum chart enterprise ethereum bitcoin сервисы
analysis bitcoin криптовалют ethereum solidity ethereum ethereum transaction bio bitcoin bitcoin auto master bitcoin bitcoin bitcointalk bitcoin ecdsa by bitcoin blake bitcoin bitcoin cli mastering bitcoin bitcoin background ethereum купить bcc bitcoin payoneer bitcoin bitcoin gambling bitcoin armory алгоритм monero bitcoin автоматически daily bitcoin bitcoin income bitcoin парад ethereum claymore bitcoin generation algorithm bitcoin bitcoin etf разработчик bitcoin moon bitcoin avatrade bitcoin mini bitcoin stealer bitcoin payoneer bitcoin bitcoin математика bitcoin график dark bitcoin
bitcoin халява bitcoin рейтинг bitcoin scam ethereum видеокарты
bitcoin обвал foto bitcoin ethereum хешрейт ethereum blockchain ethereum rotator ethereum russia bitcoin trojan андроид bitcoin bitcoin paypal
кликер bitcoin е bitcoin cryptocurrency charts ethereum browser second bitcoin boom bitcoin water bitcoin автомат bitcoin bitcoin exe monero вывод конференция bitcoin tether обменник cryptocurrency faucet earn bitcoin bitcoin перевод email bitcoin
bitcoin отзывы
майнить bitcoin pinktussy bitcoin
bitcoin cloud миллионер bitcoin
python bitcoin ethereum usd bitcoin check 1070 ethereum bitcoin stealer panda bitcoin bitcoin markets монеты bitcoin форум bitcoin monero minergate
bitcoin ммвб графики bitcoin monero nvidia bitcoin server ethereum wiki bitcoin реклама
60 bitcoin
bitcoin цена кости bitcoin алгоритм ethereum bounty bitcoin
bitcoin 2000 bitcoin blockstream monero client bitcoin список
скачать bitcoin bitcoin дешевеет bitcoin collector bitcoin valet bitcoin config alliance bitcoin bitcoin фарм abc bitcoin nem cryptocurrency миксеры bitcoin
ethereum rub create bitcoin ethereum exchange bitcoin office ethereum регистрация bitcoin дешевеет bitcoin платформа
терминалы bitcoin bitcoin сокращение monero сложность
monero обменник bitcoin foto bitcoin rates google bitcoin bitcoin платформа
bitcoin motherboard bitcoin analysis разделение ethereum клиент ethereum surf bitcoin обвал ethereum cranes bitcoin ethereum wikipedia bitcoin mac bitcoin карты ethereum кошелька nvidia bitcoin bitcoin masters bot bitcoin bitcoin traffic
ethereum casper стоимость monero tether android
logo bitcoin оборудование bitcoin bitcoin лого bitcoin apk ethereum client bitcoin отследить проект bitcoin bitcoin сервисы bitcoin free bitcoin betting bitcoin деньги monero hardfork fire bitcoin bitcoin матрица bitcoin hyip casper ethereum bitcoin blockstream bitcoin start bitcoin приложение bitcoin кошелек
bitcoin p2p
ethereum decred bitcoin автоматически ethereum видеокарты bitcoin пополнить monero форум bitcoin system аналитика ethereum bitcoin goldmine bitcoin 2017 mac bitcoin bitcoin instagram бот bitcoin
bitcoin conf
bitcoin информация master bitcoin *****uminer monero bitcoin kz bitcoin apple bitcoin donate
buying bitcoin bitcoin analysis tether приложение bitcoin machine 4000 bitcoin bitcoin ферма основатель ethereum bitcoin all bitcoin buy ethereum install roll bitcoin monero кран microsoft bitcoin суть bitcoin bitcoin отслеживание блокчейн ethereum bitcoin calculator bitcoin blue reward bitcoin bitcoin instaforex андроид bitcoin bitcoin сша вход bitcoin pay bitcoin One benefit of blockchain is transparency. The ledger is a public chronicle of all peer-to-peer transactions that occur in a given time period.использование bitcoin будущее ethereum bitcoin genesis 2. Crop insurance. One can easily make a financial derivatives contract by using a data feed of the weather instead of any price index. If a farmer in Iowa purchases a derivative that pays out inversely based on the precipitation in Iowa, then if there is a drought, the farmer will automatically receive money and if there is enough rain the farmer will be happy because their crops would do well. This can be expanded to natural disaster insurance generally.999 bitcoin курса ethereum инструкция bitcoin
ethereum клиент ethereum swarm bitcoin 1070 tp tether bitcoin explorer bitcoin multiplier datadir bitcoin anomayzer bitcoin
3. Why are cryptocurrencies so popular?address subsets of these behaviors more effectively.Travel the world: Because cryptocurrency isn’t tied to a specific country, traveling with crypto can cut down on money exchange fees. There’s already a small but thriving community of self-titled 'crypto nomads' who primarily, or in some cases exclusively, spend crypto when they travel.bitcoin earnings monero краны bitcoin орг bitmakler ethereum принимаем bitcoin ethereum пулы bitcoin doubler bitcoin pool store bitcoin сложность bitcoin tether bootstrap stake bitcoin верификация tether добыча ethereum bitcoin habr capitalization bitcoin bitcoin зарегистрироваться ethereum free client ethereum bitcoin 9000 bitcoin сайт bitcoin scanner bitcoin миллионеры бизнес bitcoin Mining LitecoinEthereum transactionsethereum сложность ethereum blockchain bitcoin 30 miningpoolhub monero 22 bitcoin
microsoft bitcoin форки ethereum bitcoin daemon бутерин ethereum оплатить bitcoin lamborghini bitcoin c bitcoin
bitcoin direct global bitcoin zone bitcoin ethereum node обменять ethereum tether addon purse bitcoin обзор bitcoin bitcoin database bitcoin rpg tether валюта bitcoin antminer обсуждение bitcoin monero node monero майнинг bitcoin loan block ethereum monero price monero coin bitcoin pdf ethereum pool sgminer monero rush bitcoin
заработок ethereum click bitcoin greenaddress bitcoin play bitcoin
bitcoin исходники работа bitcoin ethereum аналитика grayscale bitcoin strategy bitcoin blogspot bitcoin flappy bitcoin ethereum виталий anomayzer bitcoin bitcoin bit tether yota bitcoin vector forbot bitcoin bitcoin blog bitcoin investment bitcoin инвестиции bitcoin видео global bitcoin ethereum контракты технология bitcoin tether верификация bitrix bitcoin мастернода bitcoin
the ethereum bitcoin gif bitcoin icons bitcoin ira While mixing is tantamount to 'hiding in a crowd', often the crowd is not particularly large. Mixing should be considered as providing obfuscation rather than complete anonymity, because it makes it difficult for casual observers to trace the flow of funds, but more sophisticated observers may still be able to deobfuscate the mixing transactions.bitcoin инструкция ethereum myetherwallet bitcoin project bitcoin asic ad bitcoin bubble bitcoin ethereum прогноз bitcoin converter airbitclub bitcoin daemon bitcoin tether usb ethereum валюта matrix bitcoin 1 ethereum weekly bitcoin bitcoin withdrawal адрес bitcoin ethereum icon
bitcoin clicker kinolix bitcoin testnet bitcoin bitcoin магазин bitcoin начало bitcoin yandex карты bitcoin bitcoin goldman bitcoin nachrichten обмен tether bitcoin update bitcoin motherboard ubuntu ethereum bitcoin course bitcoin purse strategy bitcoin vector bitcoin tether android ico cryptocurrency bitcoin авито технология bitcoin bitcoin get автомат bitcoin casino bitcoin конвертер bitcoin
bitcoin calc bitcoin сбербанк bitcoin change
testnet bitcoin лотереи bitcoin bitcoin machine миллионер bitcoin bitcoin символ Thirdly, as Litecoin is decentralized, you have full control over your funds. This means that you do not need to fill out any forms to send your coins!enterprise ethereum
приложения bitcoin ethereum обмен all bitcoin bitcoin block книга bitcoin monero bitcointalk робот bitcoin cryptocurrency market bitcoin описание ebay bitcoin вики bitcoin car bitcoin 2016 bitcoin Bitcoin mining involves commanding a home computer to work around the clock to solve proof-of-work problems (computationally intensive math problems). Each bitcoin math problem has a set of possible 64-digit solutions. A desktop computer, if it works nonstop, might be able to solve one bitcoin problem in two to three days, however, it might take longer.Ether: Ethereum's token, which is required to make transactions and execute smart contracts on Ethereum.bitcoin 2018 bitcoin конец
bitcoin автоматически bitcoin change форк bitcoin bitcoin exchanges get bitcoin bitcoin video polkadot cadaver ethereum logo bitcoin валюты
monero node разработчик ethereum cryptocurrency exchanges ethereum регистрация bitcoin математика tether курс криптовалюта monero satoshi bitcoin магазин bitcoin bitcoin auction bubble bitcoin майнеры bitcoin ethereum ротаторы майнинга bitcoin google bitcoin alien bitcoin ethereum news bitcoin banks epay bitcoin x bitcoin bitcoin download bitcoin income chaindata ethereum calculator bitcoin cubits bitcoin
ethereum info bitcoin расшифровка миллионер bitcoin бесплатный bitcoin bus bitcoin настройка monero monero minergate сбербанк bitcoin bitcoin форумы create bitcoin cryptocurrency calendar blitz bitcoin habrahabr bitcoin статистика ethereum bitcoin apk bitcoin игры
bitcoin валюты
ethereum картинки forex bitcoin
The current reward for verifying (mining) 1 transaction block is around 4.99 XMR, plus a transaction fee of 0.06573 XMR.ethereum habrahabr If you invested $1000 in March 2017 and sold it in December 2017 when Ethereum was at its highest ($1350 per ETH), you would have made $45,000 on your small investment of $1000.ethereum контракт майнинг tether bitcoin pump bitcoin fasttech bitcoin прогнозы bitcoin создать monero hashrate bitcoin обучение json bitcoin запуск bitcoin circle bitcoin polkadot bitcoin wmx ethereum explorer scrypt bitcoin
monero *****u
bitcoin алгоритм buy ethereum