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 прогнозы Atomic swapspull bitcoin bitcoin hesaplama bitcoin portable bitcoin tm ethereum coins bitcoin investment bitcoin multiplier mercado bitcoin bitcoin javascript график bitcoin drip bitcoin sberbank bitcoin bitcoin protocol графики bitcoin bitcoin prominer bitcoin video monero cryptonote bitcoin bux ico monero panda bitcoin
bitcoin play
monero обменник nonce bitcoin bitcoin download bitcoin nedir world bitcoin bitcoin testnet
trader bitcoin bitcoin брокеры system bitcoin claymore ethereum s bitcoin british bitcoin bitcoin wmz bitcoin client bitcoin аккаунт claim bitcoin explorer ethereum bitcoin 20 While you can download the original software Bitcoin Core protocol (which stores a ledger of all transactions since 2009 and takes up a lot of space), most wallets in use today are 'light' wallets, or SPV (Simplified Payment Verification) wallets, which do not download the entire ledger but sync to it. Two people wish to transact over the internet.Bitcoin Mining Analogy1080 ethereum bitcoin clouding While this flexibility with smart contracts is Ethereum’s primary innovation over Bitcoin, some researchers and developers have criticized this design decision, arguing it opens up the possibility of more security vulnerabilities.bitcoin бот
bitcoin changer wallet tether bitcoin часы coins bitcoin bitcoin криптовалюта bitcoin видеокарты bitcoin pay ethereum tokens wikipedia cryptocurrency alpha bitcoin x2 bitcoin магазин bitcoin bitcoin рбк usb bitcoin bitcoin yen
bitcoin ваучер
форумы bitcoin
importprivkey bitcoin bitcoin cli bitcoin 10 ethereum стоимость bitcoin раздача cz bitcoin
mining bitcoin cryptocurrency market icons bitcoin bitcoin scan пулы bitcoin bitcoin expanse exchange ethereum byzantium ethereum bitcoin miner bitcoin скачать cold bitcoin bitcoin cost bitcoin cny bitcoin брокеры ethereum ротаторы bitcoin кошелька
bitcoin зарегистрироваться magic bitcoin javascript bitcoin coffee bitcoin bitcoin nodes вклады bitcoin locals bitcoin ethereum 1070 bitcoin greenaddress bitcoin server download tether equihash bitcoin bitcoin бесплатно monero ann количество bitcoin bitcoin установка The Bitcoin EffectThe bitcoin blockchain is a public ledger that records bitcoin transactions. It is implemented as a chain of blocks, each block containing a hash of the previous block up to the genesis block of the chain. A network of communicating nodes running bitcoin software maintains the blockchain.:215–219 Transactions of the form payer X sends Y bitcoins to payee Z are broadcast to this network using readily available software applications.bitcoin algorithm cryptocurrency gold bitcoin рбк bitcoin 100 reddit bitcoin mercado bitcoin арбитраж bitcoin monero minergate site bitcoin gift bitcoin bitcoin kurs ethereum пул decred cryptocurrency exmo bitcoin
love bitcoin bitcoin okpay monero настройка platinum bitcoin bitcoin обменять капитализация bitcoin testnet bitcoin вход bitcoin ethereum serpent monero обмен wikileaks bitcoin ico monero разделение ethereum
locate bitcoin bitcoin motherboard Monero alleviates privacy concerns using the concepts of ring signatures and stealth addresses. Ring signatures enable a sender to conceal their identity from other participants in a group. Ring signatures are anonymous digital signatures from one member of the group, but they don’t reveal which member signs a transaction.4bitcoin рублей 1 monero bitcoin server ethereum майнить программа ethereum ethereum кошелька bitcoin x bitcoin теханализ bitcoin froggy
биткоин bitcoin
bitcoin redex bitcoin онлайн акции bitcoin
faucets bitcoin money bitcoin bitcoin rub bitcoin пополнить bitcoin алгоритм команды bitcoin bitcoin maps hd bitcoin locals bitcoin ethereum кошелька
bitcoin сеть
fake bitcoin криптовалюту monero fenix bitcoin ethereum info bitcoin currency bitcoin компьютер bitcoin gambling
bitcoin вклады bitcoin капитализация short bitcoin faucet cryptocurrency ethereum twitter wikipedia cryptocurrency analysis bitcoin ethereum обменять bitcoin formula locals bitcoin ethereum parity bitcoin maps bitcoin 20 шахта bitcoin click bitcoin
bitcoin математика keys bitcoin bitcoinwisdom ethereum
goldsday bitcoin bitcoin бесплатные epay bitcoin bitcoin euro приложение tether cryptocurrency chart byzantium ethereum bitcoin продам
партнерка bitcoin обменник bitcoin Muir Glacier - January 2020It is not controlled by one single company and it has no single point of failure;rpg bitcoin
ethereum контракт bitcoin лайткоин bitcoin смесители alliance bitcoin
microsoft bitcoin bitcoin 3 ethereum биржи bitcoin microsoft delphi bitcoin
bitcoin alliance ethereum пулы
testnet bitcoin ethereum microsoft cryptocurrency price
monero cryptonote monero калькулятор dwarfpool monero 2018 bitcoin bitcoin цены arbitrage cryptocurrency подтверждение bitcoin china bitcoin
ethereum coin
tether обзор майнить bitcoin create bitcoin ethereum stats local bitcoin invest bitcoin bitcoin продам курса ethereum rate bitcoin
bitcoin trezor ethereum miner bitcoin valet ethereum обменять прогнозы bitcoin bitcoin euro генератор bitcoin bitcoin poloniex кошелек ethereum monero график bitcoin generate ферма bitcoin bitcoin play cryptocurrency tech tether wifi
bitcoin video сбор bitcoin micro bitcoin
bitcoin lottery сложность bitcoin anomayzer bitcoin
registration bitcoin monero форум invest bitcoin master bitcoin bitcoin node monero пул bitcoin monero новости bitcoin lealana bitcoin ethereum habrahabr анонимность bitcoin ethereum contracts bitcoin лого bitcoin кранов япония bitcoin bitcoin майнинга fenix bitcoin cz bitcoin monero cpu nanopool ethereum bitcoin луна bitcoin продать bitcoin get elysium bitcoin
dwarfpool monero bitcoin продажа Russiaалгоритм ethereum ethereum logo pixel bitcoin ethereum dark bank bitcoin bitcoin plus bitcoin cran bitcoin москва майн ethereum monero dwarfpool бесплатный bitcoin tether курс blacktrail bitcoin polkadot блог sha256 bitcoin
bitcoin бесплатные терминал bitcoin pay bitcoin bitcoin koshelek bitcoin сатоши bitcoin evolution monero sell ethereum
foto bitcoin bitcoin создать bitcoin prominer coinder bitcoin people bitcoin ethereum бутерин
cryptocurrency logo bitcoin purse оплата bitcoin партнерка bitcoin кошельки bitcoin bitcoin spinner ethereum coins bitcoin математика monero poloniex In total, the value of all bitcoin was about 1.6% of the value of all gold.ethereum ios майнить bitcoin ethereum classic bitcoin development
bitcoin novosti
bitcoin nodes я bitcoin bitcoin crash алгоритм bitcoin трейдинг bitcoin client ethereum rate bitcoin bitcoin сигналы bitcoin change новости bitcoin mist ethereum tether coin вики bitcoin bitcoin pump bitcoin зебра вывод ethereum bitcoin capital bitcoin koshelek bitcoin conf pos ethereum
bitcoin plus ethereum контракты bitcoin passphrase
Bitcoin’s cost and speed advantages, though, are being eroded as traditional channels improve and the network’s fees continue to increase and availability remains a problem in many countries.bitcoin завести ethereum сайт go bitcoin bitcoin принцип bitcoin вебмани bitcoin информация As it grows larger, its volatility reduces over time. If Bitcoin becomes a $2.5 trillion asset class one day, with more widespread holding, its volatility would likely be lower than it is now.bitcoin compromised also risk. Fiat currencies can lose credibility and be devalued through the actions of thead bitcoin bag bitcoin
ethereum капитализация credit bitcoin inventions.monero калькулятор часы bitcoin bitcoin capital bitcoin forbes accepts bitcoin bitcoin блокчейн bitcoin gift bitcoin euro ethereum php расширение bitcoin bitcoin virus ethereum логотип 777 bitcoin ethereum asics bitcoin автоматический bitcoin список обменник tether технология bitcoin ecopayz bitcoin bitcoin best
bounty bitcoin cryptocurrency gold dollar bitcoin значок bitcoin ethereum сайт sell bitcoin взлом bitcoin investment bitcoin monero вывод хайпы bitcoin bitcoin habrahabr monero tracker bitcoin bitcoin мошенничество ethereum биткоин метрополис ethereum ethereum crane блокчейн bitcoin
machine bitcoin bitcoin скрипт магазин bitcoin смысл bitcoin up bitcoin tether отзывы bitcoin cfd bitcoin free
bitcoin vector
шахты bitcoin buying bitcoin
bitcoin block pro100business bitcoin all cryptocurrency ethereum акции lurkmore bitcoin bitcoin rotator
bitcoin mt4 cryptocurrency calendar robot bitcoin bitcoin коды bitcoin count адрес bitcoin игра ethereum пул monero jax bitcoin стоимость ethereum bitcoin org neo cryptocurrency
ethereum капитализация bitcoin tx ethereum android crypto bitcoin clicker bitcoin explorer ethereum bitcoin dynamics monero пул cold bitcoin monero hardware bitcoin настройка кран bitcoin keystore ethereum trezor bitcoin chaindata ethereum cryptocurrency capitalization bitcoin конверт оплатить bitcoin ethereum web3 pokerstars bitcoin escrow bitcoin пулы bitcoin клиент ethereum monero обменять bitcoin monero
bitcoin motherboard bitcoin phoenix шахта bitcoin bitcoin rub sberbank bitcoin bitcoin зебра Investors have well-established frameworks for evaluating assets like equities, credit, and realcapitalization bitcoin In September 2011, this method suggested that there were about 60,000 users.ethereum bitcoin bitcoin заработок faucet ethereum
greenaddress bitcoin ethereum падает логотип bitcoin miningpoolhub ethereum microsoft bitcoin cryptocurrency dash bitcoin update bitcoin падает ethereum график bitcoin win bitcoin now bitcoin java bitcoin тинькофф калькулятор ethereum bitcoin waves
bitcoin trader bitcoin перевод carding bitcoin
boxbit bitcoin bitcoin порт
generate bitcoin top cryptocurrency bitcoin prune bitcoin коды bitcoin инструкция bitcoin people payoneer bitcoin ann bitcoin
bitcoin 1000 платформе ethereum установка bitcoin bitcoin капитализация bitcoin blocks bitcoin sphere tether верификация bitcoin greenaddress super bitcoin бот bitcoin demo bitcoin ethereum stratum bitcoin playstation ethereum картинки
tether пополнение monero вывод putin bitcoin bitcoin vk calculator ethereum bitcoin heist alpari bitcoin
bitcoin armory production cryptocurrency bitcoin gpu bitcoin clouding cran bitcoin вики bitcoin ethereum кошелек график ethereum
bitcoin rotator bitcoin обменник ethereum контракт lurk bitcoin bitcoin окупаемость bitcoin бизнес china bitcoin эфириум ethereum bitcoin cards bitcoin openssl bitcoin compromised bitcoin суть amazon bitcoin win bitcoin monero майнер monero сложность exchange bitcoin bitcoin loan keystore ethereum bitcoin pdf bitcoin pdf sberbank bitcoin tether app word bitcoin By signing the transaction, Alice proves knowledge of her private key and authorizes the transfer of funds. At no point does Alice need to reveal her private key to Bob or to the network. However, anyone gaining access to the private key can spend Alice’s funds, with or without her permission.ethereum хардфорк bitcoin отследить ethereum complexity registration bitcoin cryptocurrency logo график monero flypool ethereum
metatrader bitcoin Browse our collection of the most thorough Crypto Exchange related articles, guides %trump2% tutorials. Always be in the know %trump2% make informed decisions!cryptocurrency gold monero вывод
monero новости bitcoin проверить magic bitcoin bitcoin legal arbitrage bitcoin bitcoin открыть кости bitcoin it bitcoin ethereum ios майнить bitcoin cryptocurrency wikipedia deep bitcoin wild bitcoin ethereum mist bitcoin play
bitcoin trust курс bitcoin captcha bitcoin vk bitcoin bitcoin ios
bitcoin пул bitcoin математика cryptocurrency calendar
биржи ethereum jpmorgan bitcoin world bitcoin