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 spinner fee bitcoin bitcoin faucet сайты bitcoin
bitcoin casino
cryptocurrency mining
bitcoin chains bitcoin софт сайт ethereum математика bitcoin gadget bitcoin ethereum вывод bitcoin instaforex reklama bitcoin talk bitcoin qr bitcoin bitcoin allstars bitcoin работать фонд ethereum rbc bitcoin decred ethereum bitcoin страна
форк bitcoin bitcoin valet bitcoin скачать
flappy bitcoin ava bitcoin зарабатываем bitcoin bitcoin bitcointalk bitcoin neteller kupit bitcoin store bitcoin получение bitcoin cpa bitcoin фильм bitcoin 50 bitcoin bitcoin лохотрон bitcoin habr bitcoin compare
bitcoin allstars яндекс bitcoin
bitcoin bazar bitcoin новости bitcoin grafik платформы ethereum обвал ethereum bitcoin programming time bitcoin bitcoin футболка видео bitcoin
nonce bitcoin ethereum википедия decred ethereum bitcoin bcc 9000 bitcoin bitcoin бесплатно bitcoin farm bitcoin бот bitcoin компьютер bitcoin bcc bitcoin login bitcoin сбербанк биржа bitcoin clame bitcoin rpc bitcoin алгоритм bitcoin bitcoin coinmarketcap bitcoin life wild bitcoin bitcoin rpg будущее bitcoin
accepts bitcoin ethereum online create bitcoin bitcoin лохотрон эпоха ethereum чат bitcoin connect bitcoin bitcoin java скрипты bitcoin
bit bitcoin вики bitcoin etoro bitcoin github ethereum bank bitcoin monero алгоритм bitcoin direct love bitcoin space bitcoin token ethereum casper ethereum facebook bitcoin bitcoin россия autobot bitcoin андроид bitcoin exchange ethereum etoro bitcoin login bitcoin tether ico get bitcoin cryptocurrency price monero cpuminer 1070 ethereum
accepts bitcoin avto bitcoin bitfenix bitcoin xbt bitcoin bitcoin майнер
fork bitcoin decred cryptocurrency
стратегия bitcoin
bitcoin стратегия bitcoin миксер bitcoin iq bitcoin оплата алгоритм ethereum что bitcoin bitcoin knots
bitcoin 123 clockworkmod tether forum bitcoin сети ethereum платформы ethereum калькулятор bitcoin bitcoin casino tether gps Another privacy-focused cryptocurrency is not even based on bitcoin. The CryptoNote whitepaper was released in 2014 by Nicolas van Saberhagen, and the concept has been implemented in several cryptocurrencies such as Monero. The primary innovations are cryptographic ring signatures and unique one-time keys.Emailcryptonight monero Conclusioncard bitcoin е bitcoin There are all types of cloud mining options for other forms of blockchain technology.cryptocurrency bitcoin карты скрипт bitcoin tether yota bitcoin pools
платформы ethereum 1080 ethereum bitcoin valet secp256k1 ethereum bitcoin шахты компиляция bitcoin bitcoin инструкция ethereum calc monero hardware bitcoin зарабатывать box bitcoin bitcoin faucet bitcoin количество bitcoin rub
bitcoin investing flypool ethereum check bitcoin
ethereum cryptocurrency краны monero алгоритм bitcoin вики bitcoin
bitcoin stock In April 2018, the parliament’s members voted by a large majority to support a December 2017 agreement with the European Council for measures aimed, in part, to prevent the use of cryptocurrencies in money laundering and terrorism financing. In early 2020, the EU’s 5th Anti-Money Laundering Directive (5AMLD) was signed into law, which inevitably put crypto service providers under more scrutiny. In 2014, the National Australia Bank closed accounts of businesses with ties to bitcoin, and HSBC refused to serve a hedge fund with links to bitcoin. Australian banks in general have been reported as closing down bank accounts of operators of businesses involving the currency.multiplier bitcoin space bitcoin bitcoin moneypolo bitcoin будущее ethereum windows jax bitcoin лото bitcoin
бесплатные bitcoin bitcoin life ethereum пулы monero биржи
fx bitcoin доходность bitcoin пожертвование bitcoin ccminer monero
bitcoin js clicks bitcoin dorks bitcoin bitcoin капитализация ethereum logo express bitcoin
demo bitcoin bitcoin ваучер партнерка bitcoin bitcoin rig bitcoin покупка truffle ethereum bitcoin conveyor ethereum script форекс bitcoin monero fork bitcoin greenaddress direct bitcoin ethereum rub ethereum com bitcoin котировки
ethereum course
ethereum blockchain bitcoin иконка ethereum краны cpuminer monero bitcoin бонусы bitcoin word bitcoin org кран ethereum doubler bitcoin bitcoin official ethereum ann bitcoin сделки обменники bitcoin collector bitcoin миллионер bitcoin ethereum developer bitcoin crane ethereum видеокарты Cryptocurrencies such as Bitcoin and Ethereum offer a number of benefits, and one of the most fundamental is not requiring trust in an intermediary institution to send payments, which opens up their use to anyone around the globe. But one key drawback is that cryptocurrencies’ prices are unpredictable and have a tendency to fluctuate, sometimes wildly. Coinbase customers can securely store, send, receive, and convert crypto by signing into their account on a computer, tablet, or phone.bitcoin scripting Coinify, a Danish firm that acquired BIPS and Coinzone, offers POS solutions for both brick-and-mortar and online stores. Merchants can get paid in bitcoin or fiat currency – or a mixture of the two – and its mobile app, Coinify POS, works with both Android and iOS devices.ethereum rig bestchange bitcoin As stated in our guide 'What is a Distributed Ledger?', blockchains are an innovation in information registration and distribution. They are good for recording both static data (a registry) or dynamic data (transactions), making it an evolution in systems of record.pump bitcoin genesis bitcoin bonus bitcoin стоимость monero bitcoin is
работа bitcoin box bitcoin bitcoin maker bitcoin мастернода
bitcoin инвестиции bitcoin poloniex happy bitcoin bitcoin комментарии happy bitcoin check bitcoin bitcoin прогноз metropolis ethereum seed bitcoin bitcoin habr accepts bitcoin bitcoin sec reindex bitcoin bitcoin mail bitcoin 999 hardware bitcoin alipay bitcoin
bitcoin favicon tether provisioning locals bitcoin For centuries, the Catholic Church exercised a highly regarded gatekeeperplus bitcoin bitcointalk monero bitcoin обменник описание bitcoin credit bitcoin bitcoin registration значок bitcoin 16 bitcoin
удвоить bitcoin bitcoin зарегистрировать talk bitcoin reward bitcoin криптовалют ethereum
your bitcoin bitcoin block символ bitcoin bitcoin перспективы equihash bitcoin bitcoin cloud bitcoin майнить cubits bitcoin сборщик bitcoin xbt bitcoin bitcoin машины fast bitcoin ads bitcoin bitcoin проект
bitcoin играть bitcoin redex email bitcoin bitcoin london bitcoin кэш github ethereum
bitcoin это bitcoin block bitcoin signals bitcoin coingecko ethereum обмен ethereum stratum antminer bitcoin bitcoin ukraine bitcoin maps bitcoin новости bitcoin multisig bitcoin win ninjatrader bitcoin bitcoin скрипты bitcoin прогнозы bitcoin donate ethereum org proxy bitcoin bitcoin multisig ethereum получить bitcoin seed обвал bitcoin ethereum перспективы ферма bitcoin ethereum ротаторы ethereum телеграмм
okpay bitcoin ethereum вики bitcoin sec майн bitcoin сайте bitcoin bitcoin google автомат bitcoin bitcoin etherium accepts bitcoin bitcoin facebook bitcoin google monero hardware bitcoin neteller bitcoin alien roboforex bitcoin карты bitcoin london bitcoin seed bitcoin википедия ethereum ethereum testnet cryptocurrency arbitrage bitcoin ledger продам ethereum
bitcoin украина hash bitcoin flex bitcoin контракты ethereum перспектива bitcoin bitcoin сигналы eth ethereum ethereum курсы кредиты bitcoin nonce bitcoin claymore monero
bestchange bitcoin bank cryptocurrency ethereum прогноз decred cryptocurrency
iota cryptocurrency bitcoin анонимность iota cryptocurrency keys bitcoin bitcoin etherium bitcoin hype bitcoin заработок
bitcoin роботы bitcoin халява ethereum график bitcoin цены bitcoin poloniex ethereum wikipedia api bitcoin bitcoin community кости bitcoin ethereum продам сайте bitcoin monero сложность майнинг bitcoin казино bitcoin apk tether bitcoin grant bitcoin rt prune bitcoin forum cryptocurrency биржи monero coinder bitcoin bitcoin hardfork
кошель bitcoin rate bitcoin bitcoin status top cryptocurrency bitcoin рухнул кошелек monero index bitcoin
bitcoin talk bitcoin script скачать bitcoin
locals bitcoin Fungibility'Phase 0' was launched on 1 December 2020 and created the Beacon Chain, a proof of stake (PoS) blockchain that will act as the central coordination and consensus hub of Ethereum 2.0.bitcoin футболка