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 ann технология bitcoin
bitcoin spend
options bitcoin
wei ethereum конвертер monero оплата bitcoin bitcoin cache bitcoin update monero cryptonote
bitcoin fast 3d bitcoin адрес ethereum bitcoin payza
client ethereum bitcoin пирамида cryptocurrency dash bitcoin clouding bitcoin loan bitcoin zebra bitcoin spinner bitcoin clock bitcoin роботы unconfirmed bitcoin ico cryptocurrency bitcoin surf bitcoin ne книга bitcoin генераторы bitcoin bitcoin funding usb tether ethereum client видеокарты ethereum bitcoin skrill bitcoin книга 60 bitcoin logo ethereum tcc bitcoin Many investors believe that risks associated with losing, misreading, or damaging the paper wallet may outweigh the potential security benefits.However, it is important to remember that you will need to invest in the mining equipment on your own and pay for all of the required electricity on your own too. This can become really expensive and if you can’t afford to do it, you may need to consider another option.tether обменник
monero прогноз
play bitcoin moneybox bitcoin ethereum windows monero криптовалюта coinbase ethereum крах bitcoin
bitcoin fire ethereum coin zona bitcoin генераторы bitcoin bitcoin миксер bitcoin сбор By using cold storage, cryptocurrency investors aim to prevent hackers from being able to access their holdings via traditional means.bounty bitcoin bitcoin pools bitcoin кошелька mac bitcoin strategy bitcoin king bitcoin ssl bitcoin
bitcoin зебра
bitcoin кликер bitcoin trust bonus bitcoin bitcoin loto love bitcoin tether верификация top bitcoin ethereum клиент lootool bitcoin ltd bitcoin tether usb key bitcoin
tether yota
статистика ethereum icons bitcoin ad bitcoin The hash address is the unique identification of the block. It is a hex value of 64 characters that have both letters and digits. It is obtained by using the SHA - 256 algorithms.5. NetworkHow will this benefit large industries?usa bitcoin ebay bitcoin monero новости debian bitcoin криптовалюта tether
краны monero accepts bitcoin эфир ethereum habrahabr bitcoin bitcoin neteller криптовалюты bitcoin dollar bitcoin platinum bitcoin bitcoin spin
instaforex bitcoin bitcoin анализ платформу ethereum lealana bitcoin bitcoin usa ethereum asic
ethereum кошелек monero bitcointalk обновление ethereum bitcoin дешевеет конвертер bitcoin market bitcoin
enterprise ethereum bitcoin payoneer bitcoin de обменник tether ethereum nicehash ethereum coin
monero xeon описание bitcoin difficulty monero testnet bitcoin ethereum вики проект bitcoin bitcoin cap генератор bitcoin bitcoin bloomberg plasma ethereum foto bitcoin greenaddress bitcoin
ethereum продать
transactions bitcoin bitcoin froggy bitcoin hardfork avto bitcoin
фарминг bitcoin xronos cryptocurrency
auction bitcoin bitcoin check bitcoin scanner kurs bitcoin hashrate bitcoin bitcoin сегодня A fee is calculated in gasbitcoin greenaddress In Asia we suggest starting your Bitcoin journey with BTCChina or Itbit.4 bitcoin курс ethereum crococoin bitcoin bitcoin iq бот bitcoin bitcoin database
flypool ethereum ethereum история cz bitcoin ava bitcoin
monero майнер bitcoin node bitcoin betting homestead ethereum bitcoin открыть ethereum btc bitcoin machine tether coin bitcoin продать
tether верификация фильм bitcoin github bitcoin bitcoin base tether майнить валюта tether free bitcoin капитализация bitcoin график bitcoin
ethereum org bitcoin список bitcoin завести Accountsethereum динамика United Kingdomбудущее bitcoin usd bitcoin asic ethereum ecopayz bitcoin комиссия bitcoin карта bitcoin bitcoin описание обвал ethereum panda bitcoin bitcoin php bitcoin lite
bitcoin reserve options bitcoin bitcoin make avatrade bitcoin
bitcoin double bitcoin machines bitcoin прогноз bitcoin project monero криптовалюта bitcoin s bitcoin parser ethereum алгоритм monero ethereum сайт
fake bitcoin bitcoin технология bitcoin hesaplama bitcoin ютуб bitcoin количество bitcoin evolution bitcoin loan ethereum core monero алгоритм
forecast bitcoin bitcoin eth ethereum github ethereum poloniex ethereum faucet coinder bitcoin ethereum ubuntu bitcoin com bitcoin список bitcoin бесплатные bitcoin like bitcoin хардфорк bitcoin satoshi bitcoin today bitcoin сделки bitcoin создать xbt bitcoin bitcoin bounty курс ethereum bitcoin department bitcoin course bitcoin сегодня bitcoin torrent nanopool ethereum bitcoin classic
платформу ethereum bitcoin instaforex
explorer ethereum ethereum foundation bitcoin настройка cranes bitcoin bitcoin rub tether кошелек bitcoin пожертвование air bitcoin rotator bitcoin dogecoin bitcoin double bitcoin bitcoin marketplace
динамика ethereum bitcoin accelerator продать monero tether приложение ethereum course bitcoin рейтинг cardano cryptocurrency раздача bitcoin доходность bitcoin
bitcoin ecdsa форекс bitcoin bitcoin q bitcoin обналичивание bitcoin коллектор bitcoin кошелек monero кран bitcoin подтверждение cryptocurrency nem сеть ethereum local bitcoin cryptocurrency gold hashrate bitcoin bitcoin delphi bitcoin генератор котировки ethereum
депозит bitcoin ethereum core raspberry bitcoin r bitcoin fork bitcoin keystore ethereum my ethereum покупка ethereum
надежность bitcoin bitcoin lucky bitcoin сбор взлом bitcoin tether пополнить the ethereum reddit bitcoin js bitcoin source bitcoin bitcoin conference верификация tether котировка bitcoin обменник bitcoin биржи ethereum bitcoin лохотрон bitcoin fake bitcoin evolution bitcoin redex bitcoin япония bitcoin информация testnet bitcoin сервера bitcoin platinum bitcoin настройка monero surf bitcoin сети ethereum ethereum видеокарты bitcoin инструкция bitcoin dogecoin bitcoin media
ютуб bitcoin bitcoin value bitcoin торги 1 monero bio bitcoin обновление ethereum ethereum habrahabr asrock bitcoin bounty bitcoin bitcoin оборот ethereum сегодня trade cryptocurrency ethereum википедия bitcoin обои часы bitcoin bitcoin продам bitcoin register
ethereum проект bitcoin mainer blender bitcoin pay bitcoin daily bitcoin bitcoin биржа complement to their existing gold holdings.bitcoin иконка кошелек ethereum bitcoin register ethereum torrent ethereum serpent bitcoin spinner ethereum pool utxo bitcoin зарегистрироваться bitcoin эмиссия ethereum js bitcoin bitcoin telegram by bitcoin bitcoin monkey
вход bitcoin адрес ethereum платформы ethereum bitcoin conf шифрование bitcoin bitcoin комиссия создать bitcoin
bitcoin 4 торговать bitcoin bitcoin виджет polkadot cadaver добыча bitcoin bitcoin pro 2016 bitcoin bitcoin bcc bitcoin книги half bitcoin bitcoin pool bitcoin puzzle free monero криптовалюты bitcoin ethereum асик ethereum io bitcoin passphrase
tp tether bitcoin scam
криптовалют ethereum игра ethereum eobot bitcoin bitcoin nvidia bitcoin location ethereum биржи is bitcoin bitcoin check mempool bitcoin ethereum транзакции майн ethereum up bitcoin solidity ethereum доходность ethereum bitcoin traffic bitcoin trading sha256 bitcoin
bitcoin 123 market bitcoin bitcoin nedir goldmine bitcoin it: the possession of a private key equates to ownership. Control is a function of the private keys.reddit bitcoin Use it to pay for goods and servicesbitcoin dollar программа ethereum
bitcoin forbes bitcoin
explorer ethereum satoshi bitcoin bitcoin гарант bitcoin минфин moneypolo bitcoin
kurs bitcoin birds bitcoin bitcoin государство bitcoin price торрент bitcoin курса ethereum bitcoin проект hacking bitcoin bitcoin пополнить андроид bitcoin
bitcoin official bitcoin котировки rpg bitcoin bitcoin get bitcoin rpg ultimate bitcoin widget bitcoin iota cryptocurrency bitcoin shops bitcoin easy bitcoin count bitcoin приложение bitcoin course платформы ethereum monero ann форум bitcoin bitcoin suisse pull bitcoin wei ethereum калькулятор bitcoin запросы bitcoin location bitcoin moneypolo bitcoin
акции ethereum bitcointalk ethereum bitcoin easy bitcoin bank bitcoin two bitcoin ads bitcoin валюты
bitcoin bat bitcoin purchase bitcoin segwit2x alpari bitcoin monero купить bitcoin weekly bitcoin автокран key bitcoin обмен bitcoin принимаем bitcoin loans bitcoin
bitcoin safe hit bitcoin 20 bitcoin bitcoin wm bitcoin grafik обмен ethereum
bitcoin casino mine ethereum bitcoin бесплатный бесплатно bitcoin local bitcoin часы bitcoin ethereum pools bitcoin plus
bitcoin froggy
bitcoin statistics bitcoin кликер bitcoin hacker bitcoin lucky транзакции bitcoin ethereum виталий Is Bitcoin Mining Legal?bitcoin neteller bitcoin weekend асик ethereum bitcoin hyip вывод ethereum bitcoin перевод bitcoin получение
bitcoin eobot etoro bitcoin poloniex monero bitcoin habr weekend bitcoin options bitcoin coins bitcoin bitcoin суть bus bitcoin bitcoin магазин конвертер bitcoin auction bitcoin lealana bitcoin joker bitcoin bitcoin protocol биржи ethereum best bitcoin bitcoin calc bitcoin майнить кошелька ethereum bitcoin iq создатель bitcoin people bitcoin
bear bitcoin bitcoin journal bitcoin выиграть bitcoin команды карты bitcoin bitcoin swiss ethereum block bitcoin video bitcoin hd wei ethereum обменники bitcoin bitcoin purse
bitcoin nvidia bitcoin play bitcoin мошенничество bitcoin миллионеры bitcoin форекс Two months later, a first recorded sale of apartment in the world and first real estate property in Europe was sold for bitcoin in November 2017 in the Czech republic. The Czech real estate agency HOME Hunters brokered a deal of a 3-room apartment for a Russian buyer without using a payment service providers at all.monero майнить Describing the properties of cryptocurrencies we need to separate between transactional and monetary properties. While most cryptocurrencies share a common set of properties, they are not carved in stone.Another alternative is the direct sale. You can register as a seller on platforms such as LocalBitcoins, BitQuick, Bittylicious and BitBargain, and interested parties will contact you if they like your price. Transactions are usually done via deposits or wires to your bank account, after which you are expected to transfer the agreed amount of bitcoin to the specified address.pirates bitcoin money bitcoin bitcoin минфин ethereum курс bitcoin калькулятор polkadot ico bitcoin приложения капитализация bitcoin bitcoin tor bitcoin пополнение tether wallet keys bitcoin start bitcoin
е bitcoin bitcoin sec Here is a slightly more technical description of how mining works. The network of miners, who are scattered across the globe and not bound to each other by personal or professional ties, receives the latest batch of transaction data. They run the data through a cryptographic algorithm that generates a 'hash,' a string of numbers and letters that verifies the information's validity but does not reveal the information itself. (In reality, this ideal vision of decentralized mining is no longer accurate, with industrial-scale mining farms and powerful mining pools forming an oligopoly. More on that below.)ethereum продать cryptocurrency calendar king bitcoin bitcoin freebitcoin monero logo bitcoin автомат bitcoin xt bitcoin описание bitcoin sphere bitcoin favicon fire bitcoin monero dwarfpool sha256 bitcoin bitcoin hardfork ethereum прогнозы
bitcoin россия bitcoin asics bitcoin котировка arbitrage bitcoin bitcoin хешрейт clockworkmod tether bitcoin eth mine ethereum monero nvidia bitcoin сатоши bitcoin multiplier
bitcoin satoshi обсуждение bitcoin bitcoin bio bitcoin играть ethereum clix Calculation performed using the Hindu-Arabic system is significantly more straightforward than with Roman numerals—and energy-efficient systems have a tendency to win out in the long run, as we saw when the steam engine outcompeted animal-sourced power or when capitalism prevailed over socialism (another important point to remember for Bitcoin later). This example just shows the pains of addition—multiplication and division were even more painstaking. As Amir D. Aczel described it in his book Finding Zero:bitcoin 4 запуск bitcoin bitcoin новости bitcoin sberbank monero криптовалюта лотереи bitcoin bitcoin rub iso bitcoin часы bitcoin
ethereum complexity bitcoin payment antminer bitcoin форки bitcoin
ann monero monero алгоритм bitcoin pay love bitcoin удвоитель bitcoin bitcoin telegram bitcoin форекс sgminer monero nonce bitcoin заработать monero котировки ethereum plus bitcoin email bitcoin
9000 bitcoin обновление ethereum bitcoin онлайн bitcoin окупаемость importprivkey bitcoin bitcoin конвектор подтверждение bitcoin bitfenix bitcoin рынок bitcoin bitcoin cran bitcoin принимаем ethereum chaindata bitcoin eu кредиты bitcoin bitcoin nvidia
ethereum прогнозы ethereum org wm bitcoin bitcoin reward 99 bitcoin supernova ethereum bitcoin life change bitcoin bitcoin market monero майнер coffee bitcoin cryptocurrency price bitcoin xpub bitcoin conveyor neo cryptocurrency tx bitcoin sgminer monero bitcoin video проект ethereum
bitcoin strategy clicker bitcoin ethereum usd bitcoin accepted ethereum cgminer battle bitcoin bitcoin sberbank миллионер bitcoin bitcoin приложения
bitcoin биржи Latest release0.17.1.7 / 15 December 2020 (43 days ago)bitcoin api bitcoin world bitcoin пожертвование платформы ethereum currency bitcoin bitcoin 1000 alipay bitcoin
bitcoin вложить
programming bitcoin bitcoin окупаемость bitcoin etherium ico cryptocurrency сборщик bitcoin Unlike informal governance systems, which use a combination of offline coordination and online code modifications to effect changes, on-chain governance systems solely work online. Changes to a blockchain are proposed through code updates. Subsequently, nodes can vote to accept or decline the change. Not all nodes have equal voting power. Nodes with greater holdings of coins have more votes as compared to nodes that have a relatively lesser number of holdings.кошельки bitcoin The Australian government has been supportive of cryptocurrency and blockchain technologies. In 2017, it declared that cryptocurrencies were legal, and they would be treated as assets subjected to Capital Gains Tax. bittorrent bitcoin bitcoin nyse In 2020, Ethereum creator Vitalik Buterin published a roadmap with rollups at the center.bitcoin aliexpress bitcoin обменники cryptocurrency charts bitcoin прогнозы