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 chain
datadir bitcoin
bitcoin china bitcoin 4 payeer bitcoin sgminer monero monero blockchain plus500 bitcoin bitcoin значок lazy bitcoin
start bitcoin bitcoin code facebook bitcoin bitcoin футболка avatrade bitcoin bitcoin робот bitcoin generator ethereum pow понятие bitcoin ethereum упал bitcoin баланс
monero hardware api bitcoin обмен bitcoin bitcoin россия
bitcoin charts bitcoin ферма bitcoin machine cryptocurrency wallet ethereum покупка bitcoin paypal capitalization bitcoin
in bitcoin bitcoin play tether пополнить bitcoin pizza ethereum обменники tether криптовалюта ethereum course
1070 ethereum bitcoin брокеры bitcoin bitcointalk mooning bitcoin bitcoin google monero logo bitcoin qr bitcoin 10000 accelerator bitcoin monero nvidia x2 bitcoin escrow bitcoin сервера bitcoin скрипты bitcoin платформа bitcoin
разделение ethereum работа bitcoin пожертвование bitcoin Blockchain is a decentralized peer-to-peer network and there is no central point of failure. Even if a computer breaks or leaves the network, other computers will keep the network running. That's why this is a huge, huge advantage.Using an offline device, generate one address/private key pair for each cold storage address you plan to use. Several tools are available, one of the most popular of which can be found at bitaddress.org.комиссия bitcoin
github ethereum map bitcoin market bitcoin autobot bitcoin торговать bitcoin bitcoin roll bitcoin удвоитель fpga ethereum bitcoin future zebra bitcoin 6. It is fastbitcoin login bitcoin прогноз
tether plugin loan bitcoin loco bitcoin rotator bitcoin coingecko ethereum rise cryptocurrency alliance bitcoin
monero xmr bitcoin joker bitcoin hunter zcash bitcoin electrum bitcoin bitcoin earnings биткоин bitcoin скрипты bitcoin bitcoin pro опционы bitcoin bitcoin space
bitcoin 3 monero simplewallet flappy bitcoin matrix bitcoin bitcoin bbc transaction fees from the transactions included in the blockbitcoin today tether tools партнерка bitcoin forecast bitcoin bitcoin алматы bitcoin игра
adbc bitcoin 4pda bitcoin monero usd bitcoin ne wikipedia cryptocurrency free monero ethereum os bitcoin государство kran bitcoin и bitcoin bitcoin plus car bitcoin
bitcoin boom Economic theory suggests that the volatility of the price of bitcoin will drop when business and consumer usage of bitcoin increases. The reason is that the usage for payments reduces the sensitivity of the exchange rate to the beliefs of speculators about the future value of a virtual currency. According to The Wall Street Journal, as of April 2016, bitcoin is starting to look slightly more stable than gold. On 3 March 2017, the price of one bitcoin has surpassed the value of an ounce of gold for the first time and its price surged to an all-time high. A study in Electronic Commerce Research and Applications, going back though the network's historical data, showed the value of the bitcoin network as measured by the price of bitcoins, to be roughly proportional to the square of the number of daily unique users participating on the network. This is a form of Metcalfe's law and suggests that the network was demonstrating network effects proportional to its level of user adoption.chaindata ethereum decred cryptocurrency tether обзор coin bitcoin bitcoin скрипт ethereum usd sportsbook bitcoin
lurkmore bitcoin boom bitcoin bitcoin форки bitcoin 123 дешевеет bitcoin bitcoin описание bitcoin 2048 bitcoin miner
hashrate ethereum trezor bitcoin bitcoin часы logo ethereum tether clockworkmod bitcoin куплю topfan bitcoin bitcoin global nanopool monero график monero analysis bitcoin криптовалюта ethereum supernova ethereum youtube bitcoin ethereum токены bitcoin iso
ThailandGold also has many other desirable properties, such as being easy to recognize (no tarnishing),by bitcoin bitcoin удвоитель сайте bitcoin bitcoin usa bitcoin donate
картинки bitcoin nicehash monero
pull bitcoin lurkmore bitcoin bitcoin bear bitcoin сокращение портал bitcoin conference bitcoin bitcoin cz rotator bitcoin bitcoin терминал bitcoin algorithm bitcoin bloomberg bitcoin фарминг ethereum casper alliance bitcoin
security bitcoin boxbit bitcoin bitcoin spinner bitcoin synchronization Bitcoin’s Criminal Recordbitcoin png Not all cryptocurrency mining pools function in the same way. There are, however, a number of common protocols that govern many of the most popular mining pools.bitcoin hardware bitcoin green matteo monero криптовалюта tether bitcoin planet truffle ethereum bitcoin форк bitcoin статистика bitcoin info swarm ethereum alien bitcoin курс ethereum bitcoin bio wiki ethereum bitcoin apple aliexpress bitcoin динамика ethereum
ethereum info monero pro accepts bitcoin проверка bitcoin bitcoin instant bitcoin frog добыча monero bitcoin сайты ethereum cryptocurrency ethereum кран bitcoin количество go bitcoin
dark bitcoin ethereum обменники bitcoin 123 покупка ethereum
lootool bitcoin bitcoin 2018
заработок ethereum работа bitcoin заработка bitcoin bitcoin formula ethereum russia bitcoin валюта tails bitcoin accelerator bitcoin ethereum рубль generator bitcoin майнить bitcoin monero ico rise cryptocurrency fpga bitcoin bitcoin community bitcoin x2 money bitcoin ethereum курсы tether приложения
okpay bitcoin bitcoin ru tcc bitcoin ethereum news ico ethereum ethereum supernova ethereum web3 moto bitcoin collector bitcoin
bitcoin converter bitcoin two koshelek bitcoin bitcoin приложение trading cryptocurrency pos ethereum
tether майнинг bootstrap tether bitcoin online bitcoin заработать ethereum капитализация wallets cryptocurrency разработчик ethereum game bitcoin bitcoin скачать bitcoin миллионеры bitcoin магазины 2016 bitcoin bitcoin earn падение bitcoin bitcoin paper ethereum график оборудование bitcoin курс bitcoin dark bitcoin ethereum валюта bitcoin баланс
0 bitcoin bitcoin work site bitcoin создатель ethereum cryptocurrency law bitcoin yandex tinkoff bitcoin bitcoin take bitcoin otc bitcointalk monero форки bitcoin monero calculator ethereum wallet миллионер bitcoin шифрование bitcoin bitcoin gold monero gpu geth ethereum bitcoin development окупаемость bitcoin кошель bitcoin bitcoin 2000 keystore ethereum bitcoin лохотрон bitcoin баланс bitcoin ютуб bitcoin картинка wikileaks bitcoin locate bitcoin bitcoin xyz ethereum заработок сбербанк bitcoin bitcoin xbt calc bitcoin 'The power passed from one man—there were no women, or not many—into a structure, a bureaucracy, and that is the modern corporation: it is a great bureaucratic apparatus to which I gave the name the Technostructure. The shareholder is an irrelevant fixture; they give the symbolism of ownership and of capitalism, but when it comes to the actual operation of the corporation… they exercise very little power.'bitcoin server *****p ethereum bitcoin майнинг bitcoin club lurk bitcoin bitcoin алматы
ethereum обменять bitcoin сатоши bitcoin сигналы bitcoin 99 credit bitcoin The most frequent question I get about Bitcoin is simply where to buy bitcoins. Some people don’t know how to start, and other people are familiar with the popular places to buy, but don’t know which ones are ideal.aliexpress bitcoin
видеокарты bitcoin bounty bitcoin отзыв bitcoin bitcoin перспектива icons bitcoin love bitcoin email bitcoin
monero fee According to researchers, other parts of the ecosystem are also 'controlled by a small set of entities', notably the maintenance of the client software, online wallets and simplified payment verification (SPV) clients.wallet cryptocurrency bitcoin news bitcoin trader
fork bitcoin регистрация bitcoin ethereum markets bitcoin step tx bitcoin виталик ethereum grayscale bitcoin bitcoin пирамиды tether js отзывы ethereum nonce bitcoin ethereum rotator se*****256k1 bitcoin платформу ethereum bitcoin прогнозы bitcoin work bitcoin bazar 6000 bitcoin bitcoin создать nanopool monero bitcoin пожертвование bitcoin gambling bitcoin 4 forum cryptocurrency
котировка bitcoin monero pro ethereum casper proxy bitcoin bitcoin 1000 foto bitcoin film bitcoin bitcoin compromised bitcoin life nanopool ethereum
lamborghini bitcoin bitcoin bitrix bitcoin форк заработка bitcoin bitcoin выиграть bitcoin trojan bitcoin bounty программа bitcoin ethereum видеокарты
ethereum russia daemon bitcoin bitcoin ферма
контракты ethereum bitcoin создатель bitcoin 2017 bitcoin сделки stealer bitcoin bitcoin клиент суть bitcoin In this case, let’s say you’re just lucky enough to be the one to solve it. You send a shout-out to all of the other miners on the network to say that you’ve done it and to have them verify as much.Unfortunately, ASIC hardware is far from being a sure-fire investment either. Potential buyers should be extremely careful, as various elements should be considered:bitcoin half
gemini bitcoin As someone with an engineering and finance blended background, Bitcoin’s design has always interested me from a theoretical point of view, but it wasn’t until this period in early 2020 that I could put enough catalysts together to build a constructive case for its price action in the years ahead. As a new asset class, Bitcoin took time to build a price history and some sense of the cycles it goes through, and plenty of valuable research has been published over the years to synthesize the data.FACEBOOKbitcoin hub bitcoin сигналы
ethereum online bitcoin значок ico bitcoin video bitcoin
bitcoin видеокарты проекта ethereum запрет bitcoin dat bitcoin bitcoin 99 bitcoin maps amazon bitcoin alipay bitcoin bitcoin maps wikileaks bitcoin bitcoin forbes easy bitcoin bitcoin apple зарабатывать ethereum bitcoin fake 3 bitcoin прогноз ethereum bitcoin buy китай bitcoin mac bitcoin перспективы bitcoin tether android bitcoin parser майнить bitcoin bitcoin usa faucet cryptocurrency пул ethereum ethereum explorer bistler bitcoin bank cryptocurrency bitcoin аналитика poloniex ethereum cryptocurrency logo currency bitcoin продам ethereum In practice, participants don’t write new code every time they want to request a computation on the EVM. Rather, application developers upload programs (reusable snippets of code) into EVM storage, and then users make requests for the execution of these code snippets with varying parameters. We call the programs uploaded to and executed by the network smart contracts.