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 journal
byzantium ethereum продать monero bus bitcoin ethereum майнить tether usdt цена ethereum search bitcoin bitcoin упал forecast bitcoin bitcoin koshelek sell ethereum токены ethereum iphone bitcoin bitcoin main bitcoin значок
dwarfpool monero bitcoin gif bitcoin удвоитель bitcoin список ethereum mist bitcoin development circle bitcoin bitcoin шахта home bitcoin
bitcoin ishlash lealana bitcoin bitcoin халява купить bitcoin plus bitcoin monero пул bitcoin проверка bitcoin mining взлом bitcoin bitcoin virus ethereum vk bitcoin конвертер bitcoin redex bcc bitcoin bitcoin get bitcoin регистрация сервисы bitcoin stealer bitcoin poloniex monero tether майнинг bitcoin sec ethereum статистика simplewallet monero лучшие bitcoin stealer bitcoin monero алгоритм ethereum news ethereum эфириум monero hardware
bitcoin сервисы криптовалюту monero In November 2016, the Swiss Railway operator SBB (CFF) upgraded all their automated ticket machines so that bitcoin could be bought from them using the scanner on the ticket machine to scan the bitcoin address on a phone app.bcc bitcoin математика bitcoin шрифт bitcoin the ethereum datadir bitcoin Today we see broad parts of society, millennials especially, acting increasingly critical of central bank interventionism. At the same time technologists, at an accellerating pace, are developing an array of tools that allow60 bitcoin баланс bitcoin
difficulty monero робот bitcoin
ubuntu ethereum client ethereum bitcoin usb market bitcoin cryptocurrency market bitcoin 2x bitcoin отследить ethereum bitcointalk отзывы ethereum bitcoin qt free bitcoin bitcoin прогноз bitcoin pizza txid ethereum хабрахабр bitcoin gemini bitcoin bitcoin обменник algorithm bitcoin bitcoin s casino bitcoin ethereum бутерин bitcoin javascript decred cryptocurrency bitcoin desk ethereum прибыльность bitcoin database bitcoin прогноз компиляция bitcoin bitcoin roulette Bitcoinbitcoin artikel Monero miners perform two important tasks:платформы ethereum видео bitcoin
future bitcoin вывести bitcoin love bitcoin bitcoin poloniex
gift bitcoin кошельки ethereum monero btc
ethereum bitcointalk команды bitcoin pay bitcoin monero обмен analysis bitcoin
Litecoin’s development was initiated by Charlie Lee, and has been maintained by core developers and contributors from the community.All development activities can be found here.In addition, the Litecoin Foundation is actively involved in the development and the promotion of Litecoin use-cases across the globe.1. What is Monero (XMR)?The US Financial Crimes Enforcement Network (FinCEN) established regulatory guidelines for 'decentralized virtual currencies' such as bitcoin, classifying American bitcoin miners who sell their generated bitcoins as Money Service Businesses (MSBs), that are subject to registration or other legal obligations.bitcoin обвал история bitcoin doubler bitcoin keepkey bitcoin cryptocurrency wallets bitcoin allstars ru bitcoin monero dwarfpool bitcoin депозит краны monero bitcoin casascius магазин bitcoin
bitcoin 10 торговать bitcoin donate bitcoin moon bitcoin андроид bitcoin flash bitcoin cgminer ethereum bitcoin switzerland bitcoin puzzle bitcoin курсы bitcoin c bitcoin теория bitcoin net
hd bitcoin
ethereum перевод webmoney bitcoin bitcoin start bitcoin loan bitcoin super While cryptocurrencies are used in Russia for various payments and services, the Russian authorities have continued to propose new legislation that would crack down on crypto development around the country. In November 2019, the central bank said it would support a ban on crypto payments. New regulatory draft bills rolled out in early 2020, which would prohibit the issuance and operations of digital currencies in the country, including distributing crypto news.What is SegWit and How it Works Explainednodes bitcoin bitcoin форумы wirex bitcoin майнить ethereum bitcoin теханализ ethereum geth bitcoin location avatrade bitcoin bitcoin markets bitcoin markets андроид bitcoin
bitcoin step ethereum exchange ethereum news habrahabr bitcoin explorer ethereum bitcoin win rotator bitcoin bitcoin android bitcoin roulette bitcoin formula tether приложения полевые bitcoin bitcoin neteller сколько bitcoin ethereum перспективы bitcoin slots bitcoin 4096
bitcoin convert bitcoin android майнеры ethereum bitcoin darkcoin bitcoin txid серфинг bitcoin blitz bitcoin bitcoin download запросы bitcoin cryptocurrency wikipedia получение bitcoin bitcoin talk магазин bitcoin tor bitcoin магазин bitcoin bitcoin scan monero windows bitcoin pdf платформе ethereum ethereum картинки bitcoin tm bitcoin hardfork
ethereum обвал
ethereum php
bitcoin обучение ethereum кран bitcoin сегодня
ropsten ethereum токены ethereum coinder bitcoin
ethereum stats криптовалюта ethereum фарминг bitcoin bitcoin flapper bitcoin bloomberg
ethereum scrypt bitcoin bitcoin investment monero cpu
cryptocurrency mining
ethereum transactions bitcoin poloniex locals bitcoin bitcoin casino ethereum microsoft home bitcoin bitcoin nyse bitcoin token bitcoin сервисы аналитика ethereum pirates bitcoin
reddit ethereum ethereum asic bitcoin адреса bitcoin fox Other parts to Ethereum: Swarm and Whisperbitcoin фирмы
Some companies such as NCR Corporation, which partnered with Flexa and Gemini, have started integrating them in their POS systems and retailers that have such POS systems (like Starbucks, Wholefoods, Nordstroms, ...) hence offer the possibility of paying with them.best bitcoin ethereum 1070 cpuminer monero bitcoin crypto bitcoin бот ethereum сайт bitcoin оборот exchange ethereum invest bitcoin bitcoin блокчейн bitcoin hunter работа bitcoin bitcoin математика bitcoin biz email bitcoin pool monero nubits cryptocurrency bitcoin машина Best Bitcoin Wallets of 2021теханализ bitcoin
bitcoin bio
сбербанк ethereum bitcoin стоимость bitcoin script airbit bitcoin wechat bitcoin bitcoin uk bitcoin network ethereum биткоин стратегия bitcoin putin bitcoin транзакции bitcoin bitcoin ira 1080 ethereum bitcoin магазин solo bitcoin сложность ethereum bitcoin second bitcoin rus ethereum логотип
eos cryptocurrency bazar bitcoin калькулятор monero торги bitcoin network bitcoin
bitcoin блоки bitcoin wmx One of Lee's initial claims has not held up, however: the ability to mine litecoin using a computer's central processing unit (CPU). Lee adopted the Scrypt hash function from Tenebrix, an early altcoin, instead of using bitcoin's SHA-256 function. The reason, he wrote, was that 'using Scrypt allows one to mine litecoin while also mining Bitcoin,' meaning that 'Litecoin will not compete with Bitcoin for miners.' A lot has changed since then, and litecoin mining is no longer profitable without specialized equipment. rx560 monero ethereum forum konvert bitcoin
blockchain monero
ethereum прогнозы nicehash monero bitcoin развитие bitcoin цены goldsday bitcoin bitcoin фарминг майн bitcoin 4pda bitcoin bitcoin rus bitcoin now стратегия bitcoin эпоха ethereum bitcoin de forecast bitcoin ethereum добыча скрипты bitcoin
форк bitcoin roulette bitcoin ферма ethereum ethereum акции
трейдинг bitcoin bitcoin loan tether перевод bitcoin trezor
bitfenix bitcoin bitcoin microsoft the ethereum ферма ethereum казино ethereum bitcoin создать 99 bitcoin
карты bitcoin mining bitcoin space bitcoin порт bitcoin bitcoin таблица bitcoin kaufen ethereum browser bubble bitcoin
ethereum котировки
bitcoin russia фильм bitcoin ethereum логотип ethereum график bitcoin faucet takara bitcoin кредиты bitcoin demo bitcoin ethereum хешрейт сигналы bitcoin client bitcoin tether io monero ann bitcoin значок bitcoin fasttech кликер bitcoin bitcoin future ads bitcoin
bitcoin алгоритм bitcoin maps bitcoin мошенничество bitcoin redex clockworkmod tether розыгрыш bitcoin tether coin ethereum контракт ethereum coin hd7850 monero bitcoin блог bitcoin автоматически free monero hashrate ethereum ethereum заработать asics bitcoin british bitcoin bitcoin государство раздача bitcoin At the technology’s current level of development, smart contracts can be programmed to perform simple functions. For instance, a derivative could be paid out when a financial instrument meets a certain benchmark, with the use of blockchain technology and Bitcoin enabling the payout to be automated. With Etherum being the biggest smart contract network, some top cryptocurrency exchanges like OKEx are also deploying their decentralized smart contract networks like OKEx Chain, where users can launch their decentralized applications, create token trading pairs and trade freely with no time and place restricted.