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.
frontier ethereum платформу ethereum
кошелька ethereum
key bitcoin bitcoin fund bitcoin openssl bitcoin таблица скачать bitcoin clockworkmod tether команды bitcoin курс tether 1 bitcoin bitcoin япония bitcoin stellar ethereum настройка avto bitcoin ethereum обмен
777 bitcoin bitcoin trading bitcoin apk minergate ethereum second bitcoin Bitcoin is a peer-to-peer cryptocurrency that aims to function as a means of exchange and is independent of any central authority. Bitcoins are transferred electronically in a secure, verifiable, and immutable way.It’s clear from Ethereum’s concept that it does not intend to be a Bitcoin alternative. Instead, it runs alongside it as it pursues a different objective.Editor’s Note: I no longer consider this particularly applicable to Bitcoin because its usage has primarily shifted to being a store of value rather than medium of exchange, but back in 2017, it was one of my frameworks for analyzing it when it was less clear that it would shift in that direction. This approach mainly values it as a medium of exchange, which still makes it worthwhile to be familiar with.bitcoin journal
настройка monero майнинг tether bitcoin обозреватель
bitcoin сложность monero client tabtrader bitcoin
bitcoin пулы rpg bitcoin birds bitcoin 2 bitcoin
talk bitcoin bitcoin hype tera bitcoin ethereum виталий bitcoin кошелек pos bitcoin вывод monero favicon bitcoin euro bitcoin ethereum токен carding bitcoin bitcoin steam bitcoin wm bitcoin играть wisdom bitcoin
price bitcoin фермы bitcoin 4pda tether доходность ethereum
перспективы ethereum bitcoin xt bitcoin core ethereum аналитика bitcoin map обменник ethereum майнить bitcoin erc20 ethereum скрипты bitcoin account bitcoin wmz bitcoin приват24 bitcoin bitcoin knots ethereum rig ethereum рубль bitcoin обозначение bitcoin заработок пулы monero bitcoin telegram stellar cryptocurrency bitcoin новости bitcoin алгоритм bitcoin javascript arbitrage bitcoin bitcoin цены
добыча bitcoin
blocks bitcoin доходность ethereum ethereum bitcointalk
bitcoin address
bitcoin invest cryptocurrency wallet laundering bitcoin book bitcoin bitcoin пожертвование bitcoin purse bitcoin changer
bitcoin ira bitcoin eth карты bitcoin bitcoin icon
abi ethereum aliexpress bitcoin javascript bitcoin escrow bitcoin отзывы ethereum bitcoin падение bitcoin strategy unconfirmed bitcoin reindex bitcoin genesis bitcoin bitcoin рейтинг bitcoin elena monero ann bitcoin cz bitcoin автоматически
bitcoin logo bitcoin virus
ethereum проблемы миксер bitcoin cryptocurrency это bitcoin lurkmore earn bitcoin ads bitcoin bitcoin хешрейт bitcoin телефон ethereum code bitcoin surf протокол bitcoin email bitcoin ethereum coins ethereum бесплатно обвал ethereum bitcoin рубль bitcoin коллектор
ethereum проекты майнер monero bitcoin 10000 bitcoin картинка
bitcoin purse wild bitcoin bitcoin stealer casinos bitcoin alien bitcoin forecast bitcoin bitcoin gambling 6000 bitcoin bitcoin kurs bitcoin продажа bitcoin work bitcoin крах monero address bitcoin spinner bitcoin перевести monero pro майнер monero bitcoin кликер проблемы bitcoin bitcoin coin bitcoin alert ethereum покупка bitcoin formula
bitcoin casino bitcoin кэш tether приложение боты bitcoin bitcoin падение индекс bitcoin bitcoin получить monero asic робот bitcoin bitcoin poloniex bitcoin cgminer bitcoin аналоги
is bitcoin 2016 bitcoin bitcoin rig bittorrent bitcoin magic bitcoin bitcoin legal bitcoin форк bitcoin wm казино ethereum график monero bitcoin usd ● Decentralized and Censorship-Resistant: The rules of the Bitcoin network (such as itsIf you're looking to trade either one of the aforementioned cryptocurrencies, though, make sure that you do so via a reliable and trustworthy exchange - Coinbase or Binance are two of the better options.100 bitcoin rate bitcoin usa bitcoin математика bitcoin ethereum клиент
chvrches tether bitcoin майнить daemon monero криптовалюту bitcoin bitcoin экспресс
ethereum clix antminer bitcoin fast bitcoin сеть ethereum токен bitcoin bitcoin co bitcoin ферма 'Cryptographically secure' means that the creation of digital currency is secured by complex mathematical algorithms that are obscenely hard to break. Think of a firewall of sorts. They make it nearly impossible to cheat the system (e.g. create fake transactions, erase transactions, etc.)bitcoin москва ethereum ios instant bitcoin работа bitcoin ethereum аналитика grayscale bitcoin strategy bitcoin blogspot bitcoin flappy bitcoin ethereum виталий anomayzer bitcoin теханализ bitcoin ethereum bitcointalk ethereum cgminer ethereum dark wallet tether bitcoin land short bitcoin
bitcoin dice
monero news bitcoin автокран bitcoin китай контракты ethereum half bitcoin
avto bitcoin bitcoin продать logo bitcoin bitcoin pattern tether майнинг torrent bitcoin japan bitcoin bitcoin перевод bitcoin обменник elena bitcoin up bitcoin описание bitcoin usdt tether tether криптовалюта
bitcoin комиссия bitcoin account korbit bitcoin strategy bitcoin casper ethereum life bitcoin flex bitcoin
bitcoin vps bitcoin торрент armory bitcoin bitcoin список bitcoin center bitcoin simple bitcoin hardware bitcoin cost monero майнер bitcoin weekly
rpg bitcoin client ethereum bitcoin crypto партнерка bitcoin заработать monero blitz bitcoin
cryptocurrency capitalisation There is no master documentlocal ethereum bitcoin location bitcoin download wiki ethereum ultimate bitcoin bitcoin транзакция bitcoin экспресс ethereum курсы обвал ethereum зарегистрировать bitcoin
mining cryptocurrency cz bitcoin ethereum 4pda bitcoin sberbank
bitcoin buy bitcoin фарминг cryptocurrency charts
bitcoin мошенники alpari bitcoin forex bitcoin raiden ethereum ethereum calculator ethereum прибыльность пример bitcoin escrow bitcoin bitcoin путин ethereum stats bitcoin airbit
claim bitcoin
bitcoin cards платформ ethereum использование bitcoin bitcoin алматы
bitcoin кран
бесплатный bitcoin bitcoin charts monero usd bitcoin main
bitcoin swiss bitcoin казино bitcoin registration bitcoin calculator анимация bitcoin block ethereum protocol bitcoin bitcoin armory bitcoin greenaddress bitcoin доходность bitcoin продажа 1080 ethereum monero logo bitcoin подтверждение
multi bitcoin bitcoin шахты ethereum btc покупка ethereum bitcoin loto 60 bitcoin lootool bitcoin
monero майнер minergate monero poloniex ethereum bitcoin лопнет
keystore ethereum bitcoin прогноз ethereum course bitcoin flex bitcoin check planet bitcoin андроид bitcoin ethereum акции Before you consider whether to trade forex using bitcoin, it's helpful to understand how a conventional forex trade works.настройка monero 00 : bitcoin ru ethereum mist bitcoin neteller bitcoin валюты bitcoin plugin erc20 ethereum bitcoin баланс bitcoin atm cryptocurrency ethereum bitcoin 20 bitcoin javascript автомат bitcoin будущее bitcoin bitcoin oil bitcoin sec bitcoin qt
javascript bitcoin асик ethereum exchange ethereum bitcoin java bitcoin exchanges 999 bitcoin bitcoin сколько автомат bitcoin bitcoin конверт работа bitcoin bitcoin проблемы bitcoin roll Let’s start with what it’s not doing. Your computer is not blasting through the cavernous depths of the internet in search of digital ore that can be fashioned into bitcoin bullion. There is no ore, and bitcoin mining doesn’t involve extracting or smelting anything. It’s called mining only because the people who do it are the ones who get new bitcoins, and because bitcoin is a finite resource liberated in small amounts over time, like gold, or anything else that is mined. (The size of each batch of coins drops by half roughly every four years, and around 2140, it will be cut to zero, capping the total number of bitcoins in circulation at 21 million.) But the analogy ends there.bitcoin roll bitcoin direct
bitcoin earn 2 bitcoin
bitcoin индекс bitcoin создатель майнер monero bitcoin zona bitcoin обмен
bitcoin motherboard bitcoin analytics machine bitcoin 2In the real world, you wouldn’t want to store your life savings in your leather wallet, would you? This is the same when storing your Litecoin!production cryptocurrency bitcoin книга playstation bitcoin deep bitcoin bitcoin окупаемость 1 ethereum прогноз ethereum pool bitcoin ethereum blockchain location bitcoin карты bitcoin
As is well known, digital information can be infinitely reproduced — and distributed widely thanks to the internet. This has given web users globally a goldmine of free content. However, copyright holders have not been so lucky, losing control over their intellectual property and suffering financially as a consequence. Smart contracts can protect copyright and automate the sale of creative works online, eliminating the risk of file copying and redistribution.ethereum 1070 cryptocurrency charts bitcoin froggy mindgate bitcoin From Wikipedia, the free encyclopediaсуть bitcoin ethereum developer bitcoin png bitcoin nvidia uk bitcoin ютуб bitcoin bitcoin eu bitcoin банкнота coinder bitcoin monero график bitcoin xyz bitcoin qiwi magic bitcoin ethereum доллар maps bitcoin tether скачать planet bitcoin
finex bitcoin client ethereum 4 bitcoin monero minergate bitcoin china arbitrage cryptocurrency куплю ethereum goldmine bitcoin hashrate ethereum bitcoin lion buy tether лото bitcoin перевести bitcoin etherium bitcoin rx580 monero bitcoin вирус bitcoin создатель mikrotik bitcoin bitcoin комиссия gif bitcoin bitcoin location habrahabr bitcoin water bitcoin bitcoin автомат bitcoin ether