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 strategy
course bitcoin bitcoin матрица bitcoin mt4 кошелька ethereum bitcoin index ethereum падение forbes bitcoin bitcoin express bitcoin 123 gek monero bitcoin satoshi мониторинг bitcoin bitcoin gadget search bitcoin bitcoin vk moneybox bitcoin polkadot ico bitcoin rt bitcoin girls
bitcoin exchanges loco bitcoin
bitcoin fees bitcoin раздача cryptocurrency charts ethereum ubuntu 1070 ethereum ethereum перевод
goldmine bitcoin bitcoin slots world bitcoin bitcoin s вложения bitcoin история bitcoin
bitcoin валюта Bitcoin, for instance, is a relatively poor choice for conducting illegal business online, since the forensic analysis of the Bitcoin blockchain has helped authorities to arrest and prosecute criminals. More privacy-oriented coins do exist, however, such as Dash, Monero, or ZCash, which are far more difficult to trace.надежность bitcoin
surf bitcoin avto bitcoin bitcoin casino nonce bitcoin project ethereum bitcoin cap
подарю bitcoin капитализация bitcoin ethereum курсы bitcoin sberbank bitcoin автоматически testnet bitcoin нода ethereum bitcoin moneypolo
bitcoin получение bitcoin стоимость 99 bitcoin bitcoin 2 bitcoin yandex bitcoin регистрация bitcoin golden love bitcoin space bitcoin ethereum прогноз ethereum обвал bitcoin настройка bitcoin anonymous взлом bitcoin bitcoin nodes rus bitcoin up bitcoin bitcoin андроид bounty bitcoin
okpay bitcoin The Litecoin network is therefore scheduled to produce 84 million litecoins, which is 4 times as many currency units as Bitcoin.LitecoinHow to Buy ZCash: Where and Howblacktrail bitcoin Chainlink was developed by Sergey Nazarov along with Steve Ellis. As of January 2021, Chainlink's market capitalization is $8.6 billion, and one LINK is valued at $21.53.decred cryptocurrency bitcoin yandex faucet cryptocurrency site bitcoin tether limited настройка monero шахты bitcoin 1080 ethereum cryptocurrency dash Ключевое слово ethereum russia bitcoin приложение
bitcoin пирамида video bitcoin bitcoin роботы запросы bitcoin tether скачать bitcoin продать bitcoin fan компьютер bitcoin bitcoin bat rush bitcoin mine monero фермы bitcoin monero пул locals bitcoin bitcoin матрица bitcoin iso bitcoin ru продажа bitcoin blue bitcoin ethereum api bitcoin source payeer bitcoin monero usd арбитраж bitcoin ethereum стоимость bitcoin poloniex bitcoin адрес robot bitcoin
подтверждение bitcoin google bitcoin monero usd erc20 ethereum bitcoin coinmarketcap
Similaritieshashrate ethereum gift bitcoin Did you know?bitcoin вклады
эфир bitcoin these technologies allows for a level of security and efficiency unprecedented in the world of money, banking, and finance—thus strengtheningальпари bitcoin ethereum install Overwhelmed with different definitions, people quite frequently think that Bitcoin is a tricky term with no well-defined meaning. In the majority they are right. Do not try to refer Bitcoin to something exact - it would make no sense. Try to embrace every piece of the information.ethereum обменять
биржа ethereum monero github adbc bitcoin cryptocurrency tech bitcoin converter bitcoin auto bitcoin s main bitcoin miner monero forecast bitcoin
bitcoin бот exchange cryptocurrency bitcoin hunter adc bitcoin casascius bitcoin
byzantium ethereum
ethereum курсы bitcoin easy free monero ethereum видеокарты arbitrage bitcoin bitcoin украина bitcoin linux tether транскрипция escrow bitcoin bank cryptocurrency monero обменять отзыв bitcoin bitcoin laundering bitcoin заработать community bitcoin dag ethereum
ios bitcoin cryptocurrency analytics bank interventionism, which affects and undermines the financial systemBitcoin remains a truly public system that is not owned by any single individual, authority, or government.8 The Ripple network, although decentralized, is owned and operated by a private company with the same name.2 Despite both having their unique cryptocurrency tokens, the two popular virtual systems cater to different uses.The 10 Most Important Cryptocurrencies Other Than Bitcoinbitcoin service word bitcoin bitcoin сделки bitcoin котировка bitcoin book sgminer monero putin bitcoin ethereum russia bitcoin s rates bitcoin bitfenix bitcoin bitcoin casascius настройка monero отзывы ethereum daemon bitcoin bitcoin хешрейт bubble bitcoin адрес bitcoin bubble bitcoin ethereum asic bitcoin rub source bitcoin masternode bitcoin bitcoin trading bitcoin mining nvidia monero cnbc bitcoin бесплатный bitcoin bitcoin microsoft bitcoin ios
bitcoin development bitcoin shop
forecast bitcoin ethereum core ethereum twitter bitcoin bio
bitcoin пул ethereum myetherwallet bestexchange bitcoin ethereum course bitcoin reserve теханализ bitcoin bitcoin yen reddit ethereum торги bitcoin bitcoin machine bitcoin 2020
bitcoin видеокарты создать bitcoin автосборщик bitcoin bitcoin sberbank bitcoin loto people bitcoin кости bitcoin bitcoin получение ethereum продать bitcoin торги
bitcoin japan bitcoin review
раздача bitcoin ethereum pow
wordpress bitcoin bitcoin land tracker bitcoin bitcoin instagram обменники bitcoin analysis bitcoin новости bitcoin bitcoin лайткоин форумы bitcoin fire bitcoin ethereum бесплатно обменник ethereum tether курс wikileaks bitcoin
bitcoin telegram bitcoin motherboard bitcoin видеокарты bitcoin инструкция
tor bitcoin bitcoin analysis lucky bitcoin lealana bitcoin настройка ethereum future bitcoin bitcoin wallpaper технология bitcoin block bitcoin
сети bitcoin rates bitcoin Allows transactions across multiple cryptocurrencies. This helps you do easy currency conversions.16 bitcoin bitcoin robot bitcoin 4pda js bitcoin nicehash bitcoin wordpress bitcoin
bitcoin вирус gif bitcoin
fx bitcoin
терминал bitcoin конференция bitcoin bitcoin widget monero прогноз bitcoin airbit скачать bitcoin ethereum акции ethereum dag bitcoin биткоин hourly bitcoin pirates bitcoin bitcoin x bitcoin информация mt5 bitcoin multiply bitcoin korbit bitcoin bitcoin video
lucky bitcoin обмен bitcoin bitcoin партнерка magic bitcoin solidity ethereum doge bitcoin sportsbook bitcoin bitcoin исходники 5 bitcoin
bitcoin calculator get bitcoin bitcoin it заработать ethereum bitcoin доходность mikrotik bitcoin python bitcoin panda bitcoin ethereum erc20 bitcoin china tx bitcoin
bitcoin alien cryptocurrency prices bitcoin investing
сокращение bitcoin bitcoin hesaplama ethereum investing clockworkmod tether
bitcoin кредиты rinkeby ethereum
статистика ethereum вложить bitcoin майнинг monero ethereum rub 50000 bitcoin bitcoin сервисы big bitcoin easy bitcoin bitcoin компания bitcoin 2018 bitcoin торги bitcoin википедия ethereum russia bitcoin change новый bitcoin bitcoin laundering bitcoin mainer
ethereum пулы bitcoin keywords bitcoin основы bitcoin iphone
сайт bitcoin bitcoin froggy bitcoin tm
bitcoin eu прогнозы bitcoin bitcoin hunter monero кран monero dwarfpool lamborghini bitcoin claim bitcoin ethereum ico добыча bitcoin bitcoin script
ethereum краны
bitcoin elena ethereum сегодня bitcoin биржи bitcoin plus500 bitcoin оборот китай bitcoin зарабатывать bitcoin miningpoolhub monero bitcoin дешевеет bitcoin зарегистрироваться
future bitcoin bitcoin страна email bitcoin earn bitcoin bitcoin зебра bitcoin ethereum click bitcoin alpha bitcoin ethereum zcash ethereum mist bitcoin loan monero 1070 bitcoin blue bitcoin goldmine make bitcoin обмен tether ethereum сбербанк view bitcoin краны bitcoin bitcoin background bitcoin dat мониторинг bitcoin lazy bitcoin android tether monero вывод fx bitcoin ethereum асик bitcoin динамика Receipts trierise cryptocurrency сигналы bitcoin Ethereum VS Bitcoin: about ETH.bitcoin life bitcoin hacking hashrate bitcoin
ethereum install bitcoin euro wikileaks bitcoin котировки bitcoin boom bitcoin
bitcoin википедия
Obituariesbitcoin шахта bitcoin пузырь monero gui film bitcoin monero amd cryptocurrency это краны monero talk bitcoin ethereum telegram монета ethereum bitcoin сколько wisdom bitcoin bitcoin scam wechat bitcoin ethereum casper bitcoin venezuela нода ethereum ethereum токен play bitcoin bitcoin mmgp количество bitcoin форки ethereum bitcoin адрес ethereum капитализация wordpress bitcoin bitcoin plus500 crococoin bitcoin bitcoin mt4 bitcoin ruble ethereum telegram siiz bitcoin
bitcoin конец
ethereum contracts bitcoin магазин ethereum биржа
ethereum coin bitcoin alert сети bitcoin обмен tether ledger bitcoin cap bitcoin bitcoin tx bitcoin рубль bitcoin котировки planet bitcoin платформ ethereum bitcoin развод
sec bitcoin monero пулы bitcoin rpg эмиссия ethereum создатель bitcoin bitcoin etherium sgminer monero blitz bitcoin wmz bitcoin wallets cryptocurrency автомат bitcoin bitcoin спекуляция конвертер ethereum cryptocurrency tech ethereum russia polkadot store логотип bitcoin bitcoin займ вход bitcoin hashrate bitcoin planet bitcoin calculator ethereum майнить monero сбербанк ethereum bitcoin multibit The block is verified by mining software and made visible to any 'miner' who wants to see it. Once a miner verifies it, the next block enters the chain, which is a record of every litecoin transaction ever made.Ethereum is often referred to as the most popular cryptocurrency after Bitcoin. If you are looking forward to learning about Ethereum, the seventh lesson of the blockchain tutorial has it all. Here, we explain in detail about the Ethereum platform, its significant features, various applications, and what makes it different from Bitcoin. Well, over time, the difficulty of each puzzle gets harder and harder. When this does happen, it will make it more difficult for your computer to get the mining reward and your profits will go down.xpub bitcoin XRPexchange ethereum collector bitcoin polkadot su бот bitcoin monero кошелек mikrotik bitcoin банк bitcoin bitcoin china bitcoin cryptocurrency escrow bitcoin bitcoin миллионеры ethereum биржа bitcoin uk bitcoin fees bitcoin wm bitcoin easy cryptocurrency price bitcoin баланс
monero калькулятор hack bitcoin
ubuntu ethereum monero usd 6000 bitcoin bitcoin formula ropsten ethereum доходность bitcoin bitcoin knots bitcoin crash
it bitcoin TWITTERbitcoin деньги php bitcoin bitcoin проверка ethereum charts
ethereum bonus кран ethereum trader bitcoin javascript bitcoin ethereum покупка
monero fr
bitcoin 20 сервисы bitcoin future bitcoin криптовалюта monero segwit bitcoin ethereum twitter it bitcoin konvert bitcoin ethereum io email bitcoin sha256 bitcoin red bitcoin ethereum доходность ethereum supernova mooning bitcoin bitcoin инвестирование bear bitcoin ethereum ico автокран bitcoin se*****256k1 ethereum ethereum coins bitcoin pdf bitcoin s Bitcoin is aimed to only be money, compared with Ethereum where a goal is to also run applications (like the Google Play or Apple App store).bitcoin расшифровка mindgate bitcoin miner monero Check if the transaction is well-formed (ie. has the right number of values), the signature is valid, and the nonce matches the nonce in the sender's account. If not, return an error.explorer ethereum nonce bitcoin gps tether putin bitcoin bot bitcoin ubuntu bitcoin bitcoin обменять bitcoin yandex запуск bitcoin enterprise ethereum tether io ubuntu ethereum
ethereum russia торговать bitcoin bitcoin plugin bitcoin mine legal bitcoin ethereum geth bitcoin отзывы accept bitcoin криптовалют ethereum магазины bitcoin bitcoin заработок habrahabr bitcoin обменять bitcoin oil bitcoin кран monero bitcoin настройка bitcoin 0 pow bitcoin
cryptocurrency trading bitcoin buying konverter bitcoin dwarfpool monero ethereum info bitcoin phoenix bitcoin mail bitcoin компьютер ethereum акции forum ethereum cryptocurrency bitcoin bitcoin eu nicehash bitcoin mindgate bitcoin покупка ethereum capitalization bitcoin bitcoin чат калькулятор ethereum bitcoin generate gambling bitcoin unconfirmed monero описание ethereum получение bitcoin view bitcoin bitcoin advcash
bitcoin king buy tether bitcoin logo виталий ethereum moto bitcoin express bitcoin The basics for a new usercase bitcoin bitcoin today india bitcoin сбербанк ethereum bitcoin euro bitcoin funding account bitcoin