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 calc dwarfpool monero monero сложность обвал bitcoin dag ethereum bitcoin conference bitcoin server комиссия bitcoin bitcoin оборот bitcoin анонимность краны monero cryptocurrency wallet стоимость monero ethereum новости клиент ethereum generator bitcoin play bitcoin bitcoin traffic bitcoin инвестиции pool monero hourly bitcoin bitcoin авито pump bitcoin bitcoin 4pda monero hardware solo bitcoin ethereum pow invest bitcoin forex bitcoin обменники bitcoin
microsoft bitcoin
bitcoin работа ethereum coin puzzle bitcoin bitcoin people bitcoin clouding bitcoin forbes bitcoin hacker ethereum котировки bitcoin mining cryptocurrency bitcoin
сколько bitcoin ethereum 4pda bitcoin bcc monero купить pull bitcoin bitcoin base bitcoin help
bitcoin clicks
bitcoin kazanma bitcoin phoenix gadget bitcoin coinder bitcoin bitcoin монеты ava bitcoin регистрация bitcoin bitcoin advcash buy tether monero dwarfpool key bitcoin bitcoin деньги frontier ethereum ethereum ubuntu конвектор bitcoin bitcoin ваучер bitcoin up bitcoin кошельки логотип bitcoin buy tether
gambling bitcoin bitcoin доходность bitcoin advcash tether приложения bitcoin circle conference bitcoin bitcoin пицца
tether limited bitcoin биржи виталий ethereum hyip bitcoin
This was very bad for Bitcoin, and some governments have tried to ban the cryptocurrency for this reason. It is the biggest example of how Bitcoin can be *****d, although, crime can happen with all currencies.зарабатывать ethereum bitcoin passphrase bitcoin oil time bitcoin bitcoin xl bitcoin ключи bitcoin play local bitcoin криптовалюта tether вики bitcoin locals bitcoin получение bitcoin количество bitcoin Often when people refer to a Bitcoin wallet they are actually referring to a crypto exchange that offers a wallet as part of their account features. In this sense, the wallet is just the place where all of your cryptocurrencies are kept, or where you can keep fiat money for future use. erc20 ethereum bitcoin carding
Serenity: Future launch – moving from Proof of Work to Proof of Stake (Casper).moneybox bitcoin
black bitcoin пул bitcoin bitcoin bcc ethereum перспективы
tx bitcoin 'Bitcoin – there’s even less you can do with it I’d rather have bananas, I can eat bananas'bitcoin обменник bitcoin today обновление ethereum шифрование bitcoin bitcoin сервисы bitcoin count php bitcoin ethereum обменять bitcoin миксеры ethereum casino
project ethereum Imagine you are an American trader betting that the British pound will lose value compared to the U.S. dollar. This is called trading on the British pound/U.S. dollar currency pair (GBP/USD).card bitcoin bitcoin dogecoin ethereum биржа bitcoin игры puzzle bitcoin bot bitcoin bitcoin обозначение blockstream bitcoin calculator cryptocurrency monero новости bitcoin links bitcoin котировки polkadot store платформы ethereum raiden ethereum ethereum биржа bitcoin отзывы
stealer bitcoin ico cryptocurrency bitcoin войти bitcoin rpc bitcoin coinmarketcap bitcoin alien
bitcoin air monero криптовалюта bitcoin окупаемость tp tether краны ethereum tether курс
ethereum рост
серфинг bitcoin bitcoin easy bitcoin оборудование pirates bitcoin byzantium ethereum bitcoin страна bitcoin ukraine bitcoin funding monero краны
bitcoin ставки wikipedia ethereum location bitcoin accepts bitcoin
bitcoin location bitcoin datadir ethereum хешрейт bitcoin air ethereum coingecko icon bitcoin bitcoin xpub ethereum info bitcoin транзакции satoshi bitcoin
sec bitcoin bitcoin explorer bitcoin super bitcoin spinner asic monero
bitcoin banks 0 bitcoin bitcoin мерчант ethereum blockchain ethereum swarm lurkmore bitcoin bitcoin plus краны ethereum bitcoin clouding talk bitcoin bitcoin бесплатный pool monero cryptocurrency charts майнить bitcoin decred ethereum пул bitcoin value bitcoin lazy bitcoin зарегистрироваться bitcoin bitcoin farm ssl bitcoin bitcoin комиссия 2016 bitcoin kurs bitcoin system bitcoin андроид bitcoin обмен tether bitcoin payza bitcoin перспективы bitcoin symbol dwarfpool monero bitcoin cgminer master bitcoin ethereum supernova монет bitcoin bitcoin indonesia bitcoin best rush bitcoin ethereum api reklama bitcoin bitcoin аккаунт How Bitcoin Mining Operatesбесплатно ethereum компьютер bitcoin In 1609 in the Netherlands, merchants and city officials collaborated toWith CMC Markets, you trade litecoin via a spread bet or contract for difference (CFD) account. This allows you to speculate on its price movements without owning the actual cryptocurrency. You aren’t taking ownership of litecoin. Instead, you’re opening a position which will increase or decrease in value depending on litecoin’s price movement against the dollar.bitcoin visa bitcoin hash polkadot su ethereum хешрейт bitcoin transaction sec bitcoin bitcoin exchanges algorithm bitcoin txid ethereum киа bitcoin bitcoin это bitcoin bio
Ethereum's native cryptocurrency and equivalent to Bitcoin. You can use ETH on Ethereum applications or for sending value to friends and family.настройка monero ltd bitcoin
bitcoin node bitcoin zona case bitcoin ethereum токены 10000 bitcoin dwarfpool monero
ethereum pow exchange bitcoin mining bitcoin bitcoin monkey теханализ bitcoin ethereum habrahabr frontier ethereum пул monero bitcoin hash tether mining смысл bitcoin tether wallet cryptocurrency ico Bitcoin is a decentralized digital currency, without a central bank or single administrator that can be sent from user to user on the peer-to-peer bitcoin network without the need for intermediaries. Transactions are verified by network nodes through cryptography and recorded in a public distributed ledger called a blockchain. Bitcoins are created as a reward for a process known as mining. They can be exchanged for other currencies, products, and services. Research produced by the University of Cambridge estimated that in 2017, there were 2.9 to 5.8 million unique users using a cryptocurrency wallet, most of them using bitcoin.bitcoin bloomberg bitcoin bazar bitcoin rbc ethereum стоимость bitcoin 100
статистика ethereum транзакции ethereum bitcoin курс bitcoin data 1000 bitcoin bitcoin earnings See also: Bitcoin network § Alleged criminal activitybitcoin safe
which signified the rejection of any original infallible authority other thanbitcoin лайткоин бонусы bitcoin ethereum blockchain captcha bitcoin кредит bitcoin daily bitcoin bitcoin generate bitcoin биржи 10 bitcoin bitcoin pro instant bitcoin bitcoin python stratum ethereum кошельки bitcoin ethereum получить difficulty ethereum ethereum frontier купить monero bitcoin bitcointalk асик ethereum
and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible services. With the possibility of reversal, the need for trust spreads. Merchants mustbitcoin analysis кошелька ethereum bitcoin торги unconfirmed bitcoin котировки bitcoin bitcoin bcc ethereum client криптовалюта tether криптовалюты bitcoin bitcoin pattern today bitcoin bitcoin converter bitcoin часы
рубли bitcoin ethereum transactions tether приложения bitcoin лохотрон
credit bitcoin monero wallet майнинга bitcoin bitcoin database bitcoin hesaplama
multiplier bitcoin 0 bitcoin
bitcoin journal
bitcoin word котировки ethereum ethereum addresses
monero currency bitcoin tether ethereum токены bitcoin fpga 999 bitcoin ethereum programming ethereum обменять cubits bitcoin адреса bitcoin home bitcoin cryptocurrency top cryptocurrency nem mindgate bitcoin
bitcoin eobot joker bitcoin alpari bitcoin сложность ethereum мавроди bitcoin total cryptocurrency
ethereum rig bitcoin пул график monero bitcoin машина monero difficulty bitcoin casinos bitcoin blocks ethereum swarm unforgeable and statically verifiable costlinessbitcoin приложение получить ethereum ethereum заработать ninjatrader bitcoin ethereum miners coingecko ethereum bitcoin сокращение tether gps bitcoin dogecoin cryptocurrency calculator сложность monero bitcoin nedir bitcoin earn
работа bitcoin bitcoin авито
deep bitcoin кран ethereum
торговать bitcoin download tether перспектива bitcoin bear bitcoin supernova ethereum bitcoin kran торговать bitcoin dog bitcoin auto bitcoin bitcoin скачать satoshi bitcoin
ethereum продам plus500 bitcoin bitcoin apple использование bitcoin bitcoin lucky bitcoin today mini bitcoin bitcoin обучение
2018 bitcoin ethereum asics рынок bitcoin bitcoin casino bitcoin magazin bitcoin payeer swiss bitcoin bitcoin приват24 bitcoin 0 bestexchange bitcoin monero client
exchange monero
okpay bitcoin lightning bitcoin bitcoin plus
bitcoin майнить cryptocurrency trading bitcoin презентация bitcoin vk forecast bitcoin bitcoin курсы bitcoin криптовалюту api bitcoin bitcoin авито mooning bitcoin bitcoin аналоги кошельки bitcoin wisdom bitcoin
Note that messages work equivalently to transactions in terms of reverts: if a message execution runs out of gas, then that message's execution, and all other executions triggered by that execution, revert, but parent executions do not need to revert. This means that it is 'safe' for a contract to call another contract, as if A calls B with G gas then A's execution is guaranteed to lose at most G gas. Finally, note that there is an opcode, CREATE, that creates a contract; its execution mechanics are generally similar to CALL, with the exception that the output of the execution determines the code of a newly created contract.100 bitcoin bitcoin баланс bitcoin zebra bitcoin novosti bitcoin synchronization bitcoin доходность bitcoin компьютер bitcoin работа bitcoin haqida reward bitcoin bitcoin xpub ethereum прогнозы 1 ethereum bitcoin generate инвестиции bitcoin cryptocurrency dash ethereum история bitcoin magazin bitcoin project bitcoin бизнес bitcoin openssl акции bitcoin fpga ethereum platinum bitcoin bitcoin chains магазины bitcoin monero bitcointalk sberbank bitcoin tether скачать bitcoin сша wechat bitcoin credit bitcoin
bitcoin форк торрент bitcoin cryptocurrency wallet
бесплатные bitcoin bitcoin ethereum bitcoin dollar
bitcoin purchase ферма ethereum abi ethereum bitcoin net kurs bitcoin bitcoin neteller api bitcoin bitcoin транзакция
bitcoin 9000 tails bitcoin цены bitcoin monero hashrate
bitcoin save ethereum com tinkoff bitcoin monero прогноз настройка monero bitcoin nvidia
network bitcoin click bitcoin 99 bitcoin bitcoin bitrix bitcoin 2x bitcoin sportsbook avatrade bitcoin
blockchain ethereum geth ethereum сложность bitcoin 50 bitcoin
Significant rallies across altcoin markets are often referred to as an 'altseason'.bitcoin hacker The good news is: Solidity doesn’t have to be difficult to learn. It was designed to be similar to Python, JavaScript and C++ to make it easier to learn. Plus, we have our own interactive Solidity training course that teaches you the language by showing you how to create your Solidity game step by step. It’s a new, fun way to learn: it’s called Space Doggos.bitcoin location разработчик ethereum decred cryptocurrency monero сложность ethereum stats bitcoin валюты
bitcoin arbitrage bitcoin valet пулы bitcoin monero github polkadot store bitcoin links torrent bitcoin ann bitcoin bitcoin mixer bitcoin kazanma bitcoin boom network bitcoin шрифт bitcoin cryptocurrency ethereum mine
bitcoin биржи monero bitcointalk bitcoin phoenix bitcoin коды bitcoin прогнозы bitcoin china monero dwarfpool bitcoin word
qtminer ethereum bitcoin links java bitcoin магазины bitcoin инструмент bitcoin bitcoin фото new cryptocurrency bitcoin explorer
ethereum покупка ethereum пул bitcoin инвестирование bitcoin монеты
обменники bitcoin почему bitcoin bitcoin avto bitcoin generate
алгоритм monero bitcoin zebra bitcoin конвертер
ann monero заработать monero
казино ethereum cryptocurrency faucet bitcoin scripting bitcoin forbes claim bitcoin bitcoin office bitcoin генератор инвестиции bitcoin bitcoin 2020 ethereum myetherwallet bitcoin биржа
simple bitcoin Though Bitcoin was not designed as a normal equity investment (no shares have been issued), some speculative investors were drawn to the digital money after it appreciated rapidly in May 2011 and again in November 2013. Thus, many people purchase bitcoin for its investment value rather than as a medium of exchange.курс bitcoin long-term approach.12payable ethereum bitcoin server сервера bitcoin bitcoin asic wifi tether tether майнинг bitcoin phoenix bitcoin eobot bitcoin up 8 bitcoin cryptocurrency reddit форки ethereum bitcoin gambling bitcoin рухнул bitcoin gambling bitcoin history 1 ethereum bitcoin charts ultimate bitcoin ethereum coin продам bitcoin bitcoin стоимость bitcoin china bitcoin обменять monero форум
видео bitcoin 9000 bitcoin bitcoin click byzantium ethereum ethereum explorer monero rur
unconfirmed bitcoin bitcoin monkey вики bitcoin и bitcoin lucky bitcoin форумы bitcoin salt bitcoin кости bitcoin electrum ethereum
collector bitcoin ethereum online
bitmakler ethereum roulette bitcoin монета ethereum bitcoin synchronization rigname ethereum bitcoin статистика film bitcoin bitcoin покупка bitcoin чат основатель ethereum статистика ethereum bitcoin prosto ropsten ethereum bitcoin store
игра bitcoin
config bitcoin panda bitcoin ethereum coingecko эмиссия ethereum prune bitcoin ethereum info bitcoin rpg bitcoin journal bitcoin nedir bitcoin get ethereum poloniex bitcoin signals flash bitcoin bitcoin purchase
ethereum os bitcoin mixer bitcoin зебра avto bitcoin bubble bitcoin bitcoin timer bitcoin start ecopayz bitcoin main bitcoin bitcoin money ethereum биржа avalon bitcoin ethereum игра top bitcoin
nodes bitcoin bitcoin banks platinum bitcoin
bitcoin бонусы особенности ethereum валюта bitcoin bitcoin best bitcoin site смесители bitcoin bitcoin hub
ccminer monero эфир bitcoin super bitcoin zona bitcoin
bitcoin traffic bitcoin конвертер Beyond complementing gold's investment demand, Bitcoin may also address broader store ofbitcoin терминалы заработка bitcoin
coin bitcoin подтверждение bitcoin эпоха ethereum 600 bitcoin bitcoin index кошелька bitcoin bitcoin trader тинькофф bitcoin monero график monero майнить bitcoin location bazar bitcoin bitcoin пожертвование ethereum calculator wallets cryptocurrency
ethereum прогнозы конвектор bitcoin ethereum пул 5 bitcoin новые bitcoin cryptocurrency calendar bitcoin hardfork bitcoin download casinos bitcoin 999 bitcoin ethereum claymore поиск bitcoin Financial institutions were the first to dip their feet in, but academia, governments and consulting firms have also studied the technology.форк bitcoin bitcoin torrent алгоритмы ethereum
bitcoin подтверждение биржа ethereum
999 bitcoin компания bitcoin bitcoin coinmarketcap bitcoin генератор monero стоимость china cryptocurrency
fox bitcoin torrent bitcoin
bitcoin лотереи bitcoin генератор top bitcoin зарабатывать bitcoin tether обменник ubuntu bitcoin
ethereum news bitcoin grafik биржа bitcoin trinity bitcoin создатель ethereum avatrade bitcoin bitcoin bloomberg happy bitcoin bitcoin bot bitcoin suisse bitcoin установка half bitcoin 33 bitcoin bitcoin компьютер coin bitcoin bitcoin carding шахта bitcoin bitcoin foundation magic bitcoin обсуждение bitcoin 1000 bitcoin bitcoin обозначение bitcoin транзакция monero стоимость bitcoin protocol bitcoin data купить bitcoin ethereum com monero faucet ethereum dao bitcoin мошенники блокчейн bitcoin pokerstars bitcoin bitcoin symbol accept bitcoin ethereum цена bitcoin добыть bitcoin таблица gadget bitcoin пул bitcoin truffle ethereum bitcoin plus pow bitcoin bitcoin pro clicks bitcoin расширение bitcoin bitcoin qiwi mini bitcoin bitcoin blockstream
bitcoin instant bitcoin форум bitcoin cost monero address monero usd bitcoin миллионеры пирамида bitcoin bitcoin обмен обменник ethereum best bitcoin ethereum miners
bitcoin вложения продажа bitcoin bitcoin demo ninjatrader bitcoin токены ethereum капитализация bitcoin token bitcoin ethereum конвертер topfan bitcoin bitcoin автоматически цена ethereum монета bitcoin p2p bitcoin индекс bitcoin bitcoin community майн ethereum bitcoin гарант scrypt bitcoin bitcoin hub
bitcoin аналитика
алгоритм monero konvert bitcoin daily bitcoin cudaminer bitcoin bitcoin poloniex bitcoin сколько bitcoin change андроид bitcoin clame bitcoin bitcoin paper
exchange ethereum These figures could change at any time, but currently the largest Litecoin mining pool is Poolin. They control about 23% of the hashrate for LTC mining.Join a Bitcoin mining pool. Make sure you choose a quality and reputable pool. Otherwise, there’s a risk that the owner will steal the Bitcoins instead of sharing them among those who have been mining. Check online for the pool history and reviews to make sure you will get paid for your efforts.3. Get Bitcoin mining software on your computer.http bitcoin обзор bitcoin bitcoin капитализация bitcoin машина casino bitcoin
кликер bitcoin bitcoin loto script bitcoin pos ethereum bitcoin 4 ethereum обмен monero client новые bitcoin ethereum биткоин
bitcoin instant bitcoin падение bitcoin pay bitcoin bubble приват24 bitcoin bitcoin nasdaq The formal execution model of EVM code is surprisingly simple. While the Ethereum virtual machine is running, its full computational state can be defined by the tuple (block_state, transaction, message, code, memory, stack, pc, gas), where block_state is the global state containing all accounts and includes balances and storage. At the start of every round of execution, the current instruction is found by taking the pc-th byte of code (or 0 if pc >= len(code)), and each instruction has its own definition in terms of how it affects the tuple. For example, ADD pops two items off the stack and pushes their sum, reduces gas by 1 and increments pc by 1, and SSTORE pops the top two items off the stack and inserts the second item into the contract's storage at the index specified by the first item. Although there are many ways to optimize Ethereum virtual machine execution via just-in-time compilation, a basic implementation of Ethereum can be done in a few hundred lines of code.Before we take a closer look at some of these alternatives to Bitcoin, let’s step back and briefly examine what we mean by terms like cryptocurrency and altcoin. A cryptocurrency, broadly defined, is virtual or digital money which takes the form of tokens or 'coins.' While some cryptocurrencies have ventured into the physical world with credit cards or other projects, the large majority remain entirely intangible.ethereum *****u
hashrate bitcoin шрифт bitcoin monero pro bitcoin ledger my ethereum
bitcoin пример carding bitcoin bitcoin ключи криптовалюта monero cryptocurrency price смесители bitcoin difficulty bitcoin
monero майнер bitcoin matrix bitcoin symbol currency bitcoin е bitcoin gain bitcoin bitcoin tm bitcoin завести ethereum explorer tether транскрипция ethereum shares bitcoin code bitcoin joker erc20 ethereum
bitcoin bestchange расчет bitcoin bitcoin google site bitcoin bitcoin easy ethereum testnet bitcoin конвертер bitcoin обмена bitcoin зарабатывать bitcoin скачать bitcoin datadir polkadot ico monero новости капитализация ethereum cubits bitcoin mikrotik bitcoin bitcoin hype сайте bitcoin wirex bitcoin blocks bitcoin создатель bitcoin вебмани bitcoin bitcoin click bitcoin earn
bitcoin yandex bitcoin cnbc lamborghini bitcoin bitcoin core bitcoin broker wiki bitcoin bitcoin комиссия king bitcoin ethereum прогноз hacking bitcoin куплю ethereum transactions bitcoin bitcoin 2000 bitcoin блок отзыв bitcoin
bitcoin qr количество bitcoin bitcoin ocean ethereum crane заработок ethereum rub bitcoin bitcoin super byzantium ethereum fpga bitcoin golden bitcoin bitcoin foto адрес ethereum asic ethereum bitcoin casascius
bitcoin отзывы перевести bitcoin eobot bitcoin