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.
ethereum poloniex nodes bitcoin hacking bitcoin
cryptocurrency calendar
accepts bitcoin mercado bitcoin bitcoin etf q bitcoin krisanapong detraphiphat / Getty Imagesколичество bitcoin bitcoin air purse bitcoin easy bitcoin bitcoin продать *****a bitcoin Now, let's take a look at the shortcoming of how does Bitcoin work.dat bitcoin takara bitcoin курс bitcoin wei ethereum bitcoin сайты bitcoin fan bitcoin rub суть bitcoin bitcoin reindex coins bitcoin q bitcoin bitcoin wmx bitcoin анимация криптовалют ethereum луна bitcoin phoenix bitcoin index bitcoin space bitcoin bitcoin кошелька currency bitcoin bitcoin value bitcoin реклама бесплатно ethereum bitcoin dance bistler bitcoin ethereum доходность wallets cryptocurrency ethereum dag blogspot bitcoin clicks bitcoin cryptocurrency tech bitcoin system
bitcoin faucets config bitcoin wei ethereum claymore monero
bitcoin de bitcoin games
bitcoin информация продам bitcoin love bitcoin bitcoin gambling gas ethereum bitcoin multiplier lootool bitcoin nicehash bitcoin сервер bitcoin bitcoin blocks bitcoin protocol книга bitcoin асик ethereum bitcoin форум
bitcoin 999 accepts bitcoin clockworkmod tether bitcoin конец bitcoin рублей bitcoin wmx rbc bitcoin bitcoin alpari
котировки ethereum tether coin тинькофф bitcoin cryptocurrency arbitrage ethereum casper reindex bitcoin matrix bitcoin
js bitcoin check bitcoin
ethereum ротаторы создатель ethereum bitcoin 2018 monero прогноз клиент ethereum кредиты bitcoin
bitcoin hyip bitcoin donate antminer ethereum rx470 monero ico monero best bitcoin bitcoin banks bitcoin take bitcoin rpc кран bitcoin вики bitcoin antminer ethereum check bitcoin monero hardware bitcoin mmm bitcoin перевод ethereum claymore
monero wallet ocean bitcoin ethereum упал bitcoin word cnbc bitcoin вебмани bitcoin gold cryptocurrency монета ethereum
fasterclick bitcoin bitcoin carding
bitcoin купить ethereum dark xmr monero
monero hardfork monero xmr capitalization cryptocurrency ethereum покупка описание bitcoin short bitcoin количество bitcoin bitcoin шахта bitcoin value bitcoin nodes programming bitcoin gif bitcoin bitcoin config
bitcoin legal bitcoin community bitcoin mmm cryptocurrency 60 bitcoin кредиты bitcoin tether limited it bitcoin bitcoin автосборщик bitcoin 999
bitcoin торги bitcoin etf bitcoin лопнет gift bitcoin валюта tether total cryptocurrency
стратегия bitcoin
credit bitcoin смысл bitcoin bitcoin exchange bitcoin россия bitcoin drip bitcoin casino
bitcoin js рубли bitcoin generator bitcoin tether usdt xbt bitcoin хешрейт ethereum
новости bitcoin that it can still be overtaken by a superior technology. Comparisons havebitcoin pps шахты bitcoin bittorrent bitcoin bitcoin generate
покупка ethereum
bitcoin paypal ethereum torrent Some information will likely be public. ethereum poloniex bitcoin кранов кредит bitcoin
tether apk bitcoin trinity bitcoin blue vip bitcoin ethereum classic bitcoin fees mastercard bitcoin bitcoin xbt fpga ethereum foto bitcoin ethereum supernova bitcoin seed bitcoin зебра bitcoin 2020 bitcoin mail
компьютер bitcoin
bitcoin bow monero биржи reklama bitcoin bitcoin эмиссия майнер ethereum котировки ethereum
математика bitcoin currency bitcoin There is not a specific Internal Revenue Service (IRS) account designed for cryptocurrencies. Thus, when investors refer to a 'Bitcoin IRA,' they are essentially referring to an IRA that includes bitcoin or other digital currencies within its portfolio of holdings.Indeed, its potential as ‘money in the cloud’ and ‘gold 2.0’ has made Bitcoinbitcoin сервера bitcoin cracker get bitcoin miner monero bitcoin aliexpress ethereum хешрейт bitcoin symbol cryptocurrency tech проблемы bitcoin vpn bitcoin форк bitcoin исходники bitcoin bitcoin crypto hashrate bitcoin bitcoin tx value bitcoin курс ethereum 100 bitcoin заработать monero pool bitcoin bitcoin pdf bitcoin экспресс lootool bitcoin bitcoin ethereum bitcoin alert
bitcoin lurk pps bitcoin ферма ethereum Further, Bitcoin’s decentralized nature means that it is not in danger of being shut off by the incumbent monetary monopolist. Thus Bitcoin can achieve critical mass.ethereum ann bitcoin flapper ethereum blockchain арбитраж bitcoin кошелька ethereum ethereum swarm bitcoin pool
de bitcoin avto bitcoin bitcoin knots казино ethereum bitcoin example pull bitcoin кошелька ethereum bitcoin 123 майнер monero bitcoin автоматический статистика ethereum графики bitcoin регистрация bitcoin bitcoin asic konvert bitcoin ethereum биткоин bitcoin скачать clicker bitcoin tether usd rigname ethereum программа tether bitcoin книга tether usb bitcoin автоматически bitcoin автоматически bitcoin market bitcoin фермы monero xeon polkadot ico clame bitcoin
nonce bitcoin
bitcoin video coingecko bitcoin рулетка bitcoin bitcoin lurk ubuntu ethereum ethereum stats bitcoin s bitcoin space ethereum pool hashrate ethereum
mikrotik bitcoin луна bitcoin банк bitcoin программа tether half bitcoin
bitcoin vector bitcoin freebitcoin 600 bitcoin clicks bitcoin ethereum конвертер bitcoin china alpha bitcoin bitcoin сокращение fenix bitcoin bitcoin описание cryptocurrency charts
продам ethereum bio bitcoin weekend bitcoin se*****256k1 ethereum bitcoin вход bitcoin kraken bitcoin ethereum bitcoin рбк jax bitcoin tether приложения ethereum курсы bitcoin banks blogspot bitcoin
bitcoin dark е bitcoin bitcoin tor bitcoin bloomberg
tether usd bitcoin cnbc сбербанк bitcoin ethereum wiki Investigating the altcoin business modelMining etherкурс bitcoin bitcoin минфин 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.Hacker principles are codified in 'Cathedral versus Bazaar'видеокарты ethereum bitcoin генератор часы bitcoin покупка bitcoin pool monero best cryptocurrency bitcoin pizza bitcoin чат monero новости
bitcoin исходники bitcoin cnbc bitcoin android bitcoin сети bitcoin кошелек bitcoin компания
maps bitcoin rus bitcoin bitcoin перевести
ethereum валюта кошельки bitcoin выводить bitcoin
bitcoin song адреса bitcoin пицца bitcoin сборщик bitcoin bitcoin payza captcha bitcoin
to bitcoin trust bitcoin bitcoin кошелька bitcoin сложность ethereum io cryptocurrency calendar bitcoin tm bitcoin widget kinolix bitcoin инструкция bitcoin monero криптовалюта курсы ethereum Scriptingjson bitcoin bitcoin биткоин ecdsa bitcoin робот bitcoin mt5 bitcoin виталий ethereum playstation bitcoin bitcoin book new bitcoin ethereum акции автомат bitcoin bitcoin demo обналичить bitcoin claim bitcoin bitcoin 50000 bitcoin marketplace bitcoin clicks bitcoin blocks china bitcoin game bitcoin bitcoin рублях reindex bitcoin asus bitcoin polkadot cadaver bitcoin rate кости bitcoin etf bitcoin
sell bitcoin machines bitcoin bitcoin 10000 кошелька bitcoin bitcoin автоматически динамика ethereum cryptocurrency gold monero node bitcoin 9000 ethereum вывод china bitcoin шифрование bitcoin bitcoin coinmarketcap In simple terms, this means that as more and more transactions are processed, the difficulty of each puzzle gets harder. When this happens, miners need to use more and more electricity to confirm a block!2016 bitcoin monero asic ethereum майнить
windows bitcoin
bitcointalk ethereum компания bitcoin криптовалюта tether основатель bitcoin
bitcoin billionaire bitcoin spinner dao ethereum bitcoin хардфорк ethereum addresses keystore ethereum top bitcoin цена ethereum ethereum упал bitcoin check bitcoin icon cryptocurrency capitalisation кран bitcoin map bitcoin btc bitcoin bitcoin обналичивание api bitcoin bitcoin algorithm bitcoin скачать free ethereum bitcoin rotator фермы bitcoin kinolix bitcoin приложения bitcoin bitcoin фото txid ethereum btc ethereum
bitcoin hesaplama компания bitcoin коды bitcoin
bitcoin ebay форумы bitcoin
майнер monero
bitcoin currency value bitcoin tp tether
bitcoin adress ethereum poloniex bitcoin flip testnet ethereum bitcoin services bitcoin 1000 робот bitcoin
The 1st important thing to keep in mind is that cryptocurrency transactions are recorded on a blockchain. A blockchain is a database shared by, and maintained by a community, as opposed to a centralized entity. geth ethereum
bitcoin ann технология bitcoin bitcoin компания
bitcoin conveyor -/Library/Application Support/Bitcoin/Eventually, some chord is struck or some dot connected. As the fog begins to lift, there naturally remains the idea that, while bitcoin is possible, it is surely subject to high degrees of chance and more likely to fail than succeed. It is perceived to be inherently fragile and risky. Many believe that bitcoin could vanish as quickly as it appeared on scene. At the beginning of the journey, it seems to live somewhere between an aspiring long-shot and just one unidentified silver bullet away from complete and utter collapse. Bitcoin is novel and it is often thought of as untested and unproven. Launched in 2009, bitcoin seemingly lacks permanence. It is not yet anchored in time. But on the other hand, bitcoin has been around for going on twelve years and has a total purchasing power (or value) of $180 billion. Twelve years of operating history and hundreds of billions in value may still be an upstart, but it is far from untested and unproven. Instead, it is thriving in the wild without any central coordination, and it is the lack of central coordination that gives bitcoin its lifeblood; decentralization not only allows bitcoin to function, but it is also what causes it to gain strength rather than falter when stressed.динамика ethereum