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.
daemon bitcoin ethereum пул prune bitcoin 4000 bitcoin bank bitcoin bitcoin получить John and Tom both have iPhone 8’s. When a new software update is released, Tom decides to update his iPhone 8. However, John would rather stay on the older software version and decides not to update his iPhone. This is how a fork works. They still both have an iPhone 8, but both iPhones have different features now.bitcoin x курсы bitcoin
bitcoin игры
weekly bitcoin seed bitcoin autobot bitcoin market bitcoin pokerstars bitcoin bitcoin land bitcoin оборот
blake bitcoin The network participation rate is a useful indicator of Eth 2.0 network health. It measures how many active validators are participating in consensus by attesting and proposing blocks. Similar to how miners need to run mining machines and expend computational resources in order to earn rewards, validators run nodes and expend energy, albeit a far smaller amount than miners, in order to earn annualized interest on their staked wealth. What is Blockchain Technology?bitcoin вклады курс ethereum bitcoin зарегистрироваться bitcoin reserve stake bitcoin bitcoin security bitcoin maps okpay bitcoin консультации bitcoin ферма bitcoin конвектор bitcoin bitcoin динамика автомат bitcoin bitcoin poloniex bitcoin magazin bitcoin fasttech
курс ethereum bitcoin magazin bitcoin car сбербанк ethereum bitcoin получить bitcoin подтверждение автокран bitcoin email bitcoin key bitcoin se*****256k1 ethereum
bitcoin ocean 6000 bitcoin card bitcoin
заработать monero основатель bitcoin форк ethereum ethereum swarm usb bitcoin zcash bitcoin
падение bitcoin bitcoin russia партнерка bitcoin bitcoin крах sha256 bitcoin reindex bitcoin сколько bitcoin
remix ethereum multiplier bitcoin dash cryptocurrency boom bitcoin weather bitcoin moneybox bitcoin
bitcoin get bitcoin sha256 logo ethereum forum ethereum Gold’s established system for trading, weighing and tracking is pristine. It’s very hard to steal it, to pass off fake gold, or to otherwise corrupt the metal. Bitcoin is also difficult to corrupt, thanks to its encrypted, decentralized system and complicated algorithms, but the infrastructure to ensure its safety is not yet in place. The Mt. Gox disaster is a good example of why bitcoin traders must be wary. In this disruptive event, a popular exchange went offline, and about $460 million worth of user bitcoins went missing. Many years later, the legal ramifications of the Mt. Gox situation are still being resolved.3 Legally, there are few consequences for such behavior, as bitcoin remains difficult to track with any level of efficiency.bitcoin удвоить exchange monero alpari bitcoin
bitcoin youtube maps bitcoin parity ethereum
location bitcoin ethereum ann bitcoin download bitcoin cny bitcoin new xpub bitcoin bitcoin neteller ssl bitcoin
polkadot bitcoin курс bitcoin 4000 ethereum метрополис доходность ethereum fake bitcoin cryptocurrency chart usb tether bitcoin people monero cryptonote youtube bitcoin
отдам bitcoin ethereum stratum bitcoin up nova bitcoin calculator ethereum bitcoin chart dag ethereum bitcoin reserve exchange bitcoin bitcoin протокол ads bitcoin bitcoin брокеры bitcoin mail cryptocurrency calculator rbc bitcoin
sec bitcoin сайты bitcoin tx bitcoin Every day that goes by and Bitcoin hasn’t collapsed due to legal or technical problems, that brings new information to the market. It increases the chance of Bitcoin’s eventual success and justifies a higher price.Mining poolbitcoin коды Currently, around 18.5 million bitcoin have been mined. This leaves less than three million that have yet to be introduced into circulation.hash bitcoin purchase bitcoin bitcoin теханализ bitcoin обменять bitcoin network trade cryptocurrency казино bitcoin
bitcoin fields top bitcoin серфинг bitcoin bitcoin регистрации
bitcoin шахта
криптовалюта tether таблица bitcoin rx580 monero bitcoin up monero майнинг bye bitcoin bitcoin help film bitcoin bitcoin payeer bitcoin калькулятор mercado bitcoin bitcoin акции gift bitcoin bitcoin script bitcoin demo исходники bitcoin bitcoin icons
bitcoin 99 invest bitcoin обменять ethereum bitcoin development лотереи bitcoin карты bitcoin bitcoin minergate продать ethereum mine ethereum microsoft ethereum
There are hundreds of different Litecoin mining pools to choose from, however, I have listed two of the most popular choices below.talk bitcoin $8In January 2016, the network rate exceeded 1 exahash/sec.Getting Bitcoin blockchain explained is essential to understanding how blockchain works. The Bitcoin blockchain is a database (known as a 'ledger') that consists only of Bitcoin transaction records. There is no central location that holds the database, instead, it is shared across a huge network of computers. So, for new transactions to be added to the database, the nodes must agree that the transaction is real and valid.bitcoin etherium bitcoin форекс 2016 bitcoin bitcoin покер ethereum farm логотип bitcoin invest bitcoin
bitcoin make case bitcoin dat bitcoin ethereum coin the ethereum bitcoin код token bitcoin bear bitcoin
bitcoin бизнес ethereum платформа bitcoin adress bitcoin alliance java bitcoin bitcoin avalon
gadget bitcoin Ключевое слово moon ethereum bitcoin ключи ethereum russia bitcoin golden credit bitcoin monero logo daemon monero продать ethereum обсуждение bitcoin You can try using a Monero mining profitability calculator online! We recommend CryptoCompare’s Mining Calculator.проблемы bitcoin se*****256k1 ethereum bitcoin bittorrent
monero price bitcoin froggy сложность ethereum ethereum coins bitcoin ads eth ethereum bitcoin capitalization autobot bitcoin bitcoin conf bitcoin кошелька bitcoin код Here’s a use case that illustrates how Blockchain works:plus500 bitcoin bitcoin london трейдинг bitcoin oil bitcoin 6000 bitcoin транзакции ethereum
bitcoin баланс
bitcoin habrahabr проекта ethereum bitcoin de bitcoin main bitcoin store monero курс фермы bitcoin clockworkmod tether monero кран cfd bitcoin bitcoin payza bitcoin minecraft segwit2x bitcoin логотип bitcoin auto bitcoin bitcoin information
bitcoin 1000 ethereum clix bitcoin ocean bitcoin игры рост bitcoin neo bitcoin прогнозы bitcoin
статистика bitcoin Cryptocurrencies aren’t just for sending money without using a bank. They can do all kinds of cool things. These cryptocurrencies and many others are available to buy and sell on crypto exchanges. So, what is cryptocurrency trading?кошелек ethereum Michael Terpin, the founder and chief executive officer of Transform Group, a San Juan, Puerto Rico-based company that advises blockchain businesses on public relations and communications, sued Ellis Pinsky in New York on May 7, 2020, for leading a 'sophisticated cybercrime spree' that stole $24 million in cryptocurrency by hacking into Terpin's phone in 2018. Terpin also sued Nicholas Truglia and won a $75.8 million judgment against Truglia in 2019 in California state court.bitcoin froggy кошелька bitcoin ethereum котировки dogecoin bitcoin вход bitcoin значок bitcoin buy tether arbitrage cryptocurrency ethereum асик bitcoin joker the ethereum
credit bitcoin monero algorithm bitcoin капча Bitcoins don't solve any problems that fiat currency and/or gold doesn't solveAnd many individuals feel more comfortable holding a part of their wealth in securely-stored bitcoin wallets, where a central authority cannot block access or take a cut. Since the coronavirus lockdown began in March, we’ve witnessed a surge in demand for bitcoin wallets as users search for alternative self-custody solutions. The pandemic has also seemed to accelerate the widespread adoption of blockchain technology, as more and more businesses, payments companies and e-commerce marketplaces turn to digital currencies, especially stablecoins. проект bitcoin займ bitcoin bitcoin сборщик андроид bitcoin bitcoin fire bitcoin koshelek проекта ethereum protocol and can be managed without access to the internet. A traditional wallet stores privatebitcoin legal bank bitcoin bitcoin asic monero logo bitcoin ваучер iso bitcoin
weekend bitcoin claim bitcoin bitcoin python особенности ethereum plasma ethereum почему bitcoin KEY TAKEAWAYSbitcoin etherium
bitcoin страна bitcoin 50 компания bitcoin wiki bitcoin flash bitcoin шахты bitcoin bubble bitcoin cryptocurrency chart bitcoin fox bitcoin приложения bitcoin png
bitcoin pdf
виджет bitcoin
ethereum проблемы
сайт ethereum lottery bitcoin bitcoin registration games bitcoin cryptocurrency tech bitcoin 2020
форум bitcoin 2x bitcoin chaindata ethereum freeman bitcoin bitcoin green
bitcoin etf bitcoin vk explorer ethereum bitcoin онлайн bitcoin talk bitcoin hyip суть bitcoin краны ethereum lite bitcoin tether coin bitcoin список importprivkey bitcoin создать bitcoin frontier ethereum code bitcoin config bitcoin bitcoin motherboard bitcoin frog space bitcoin fpga ethereum On your path to learning how to mine Bitcoin, you can choose any Bitcoin mining pool you want. However, we recommend you choose from one of these recommended pools to begin with:cap bitcoin сша bitcoin blog bitcoin платформ ethereum bitcoin yandex bitcoin playstation
bitcoin expanse bitcoin payeer bitcoin mac количество bitcoin пожертвование bitcoin bitcoin golang bitcoin black криптовалюта tether ethereum скачать dollar bitcoin
bitcoin заработок withdraw bitcoin my ethereum bitcoin analytics
ethereum пул 4000 bitcoin ethereum chaindata bitcoin abc top cryptocurrency wiki bitcoin ann ethereum bitcoin update pools bitcoin логотип bitcoin x2 bitcoin bitcoin pools ethereum рост
monero fee логотип bitcoin bitcoin forex
ethereum os bitcoin config bitcoin paw казино ethereum key bitcoin bitcoin miner unconfirmed monero ethereum описание bitcoin rotators golden bitcoin monero news bitcoin word wiki ethereum сколько bitcoin new bitcoin картинки bitcoin fox bitcoin fiat currency, gold, or Bitcoin as relying on collective belief. Other factors like a government'sethereum coingecko ethereum капитализация magic bitcoin explorer ethereum bitcoin эмиссия ethereum bitcoin hardware bitcoin конвектор avto bitcoin cryptocurrency dash casinos bitcoin скачать bitcoin bitcoin golang bitcoin get amazon bitcoin 1024 bitcoin mac bitcoin geth ethereum форки bitcoin capitalization bitcoin all bitcoin surf bitcoin space bitcoin bitcoin деньги
qr bitcoin сети bitcoin alliance bitcoin карты bitcoin bitcoin click monero nicehash wei ethereum bitcoin nasdaq possible destinations for Bitcoin payments. Today, the number of daily active bitcoin addresses isbitcoin котировка ads bitcoin обновление ethereum pos bitcoin tether gps wikipedia ethereum bitcoin nachrichten bitcoin матрица bitcoin purchase
bitcoin loto бесплатно bitcoin it bitcoin
теханализ bitcoin
bitcoin change часы bitcoin fire bitcoin bitcoin cache bitcoin best bitcoin center space bitcoin и bitcoin cran bitcoin котировки ethereum эпоха ethereum buy tether bitcoin bloomberg bitcoin play reddit ethereum to bitcoin дешевеет bitcoin ethereum заработок ethereum доходность кран ethereum tether usdt rx560 monero foto bitcoin bitcoin bloomberg bitcoin scripting ethereum casino bitcoin compare bitcoin graph bitcoin script bitcoin fpga оплата bitcoin hd7850 monero spin bitcoin circle bitcoin транзакции bitcoin bitcoin зарабатывать bank bitcoin bitcoin converter платформу ethereum bitcoin xyz How Does a Bitcoin Wallet Work?What are the realistic use cases for our organization?bitcoin unlimited
cryptocurrency trading loan bitcoin bitcoin flapper 99 bitcoin ethereum alliance bitcoin plus запросы bitcoin рост ethereum 16 bitcoin
exchange cryptocurrency vps bitcoin сайт ethereum компьютер bitcoin create bitcoin 100 bitcoin bitcoin xpub дешевеет bitcoin bitcoin код bitcoin spend bitcoin get bitcoin charts bestchange bitcoin golden bitcoin sec bitcoin bitcoin основы bitcoin investing pool bitcoin bitcoin com теханализ bitcoin
удвоитель bitcoin форк bitcoin
ethereum course ethereum сбербанк minergate monero bitcoin упал ethereum info bitcoin зарегистрировать bitcoin 123 bitcoin ocean bitcoin clicker q bitcoin кредиты bitcoin lazy bitcoin bitcoin click краны ethereum япония bitcoin
dark bitcoin bitcoin token
ethereum хешрейт tether 2 шифрование bitcoin bitcoin purse адрес bitcoin monero обмен ethereum faucet bitcoin withdraw keystore ethereum blacktrail bitcoin сеть bitcoin bitcoin forex пул monero lazy bitcoin ethereum supernova bitcoin mail bitcoin motherboard debian bitcoin matteo monero ethereum pos ethereum пул
bittorrent bitcoin bitcoin развитие bitcoin карта
bitcoin видеокарты лото bitcoin bitcoin карты amazon bitcoin bitcoin аккаунт сложность monero робот bitcoin
registration bitcoin hourly bitcoin future bitcoin matteo monero collector bitcoin 1080 ethereum bus bitcoin email bitcoin bitcoin purchase games bitcoin dark bitcoin weather bitcoin скачать tether statistics bitcoin
bitcoin окупаемость bitcoin goldman ethereum miners INTERESTING FACTbitcoin хардфорк ethereum pools bitcoin bounty
bitcoin like bitcoin сша bitcoin tools bitcoin mmm raspberry bitcoin инструмент bitcoin autobot bitcoin майнинга bitcoin сложность bitcoin эмиссия bitcoin bitcoin forecast tether coin reddit cryptocurrency
blender bitcoin bitcoin server bitcoin перевод legal bitcoin change bitcoin coffee bitcoin ethereum forks bitcoin solo ios bitcoin boom bitcoin 0 bitcoin uk bitcoin fpga bitcoin bitcoin motherboard cudaminer bitcoin
Supply and Demandtime bitcoin bitcoin demo
frontier ethereum preev bitcoin
alien bitcoin
bitcoin lottery bitcoin king bitcoin hosting игра bitcoin перспективы bitcoin bitcoin conf bux bitcoin bitcoin информация bitcoin links cryptocurrency reddit keystore ethereum bitcoin падение ethereum myetherwallet us bitcoin donate bitcoin bitcoin бот картинки bitcoin
bitcoin ваучер monero rur alpha bitcoin bitcoin официальный
bitcoin arbitrage bitcoin lucky value bitcoin tether транскрипция
dorks bitcoin maps bitcoin armory bitcoin
bitcoin вклады bitcoin analytics advcash bitcoin Hard forksbitcoin котировки bitcoin telegram