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 код logo bitcoin nanopool ethereum bitcoin kran bitcoin future tether отзывы bitcoin putin microsoft bitcoin bitcoin api bitcoin картинка 999 bitcoin monero график matrix bitcoin перевод ethereum bitcoin bux ethereum contracts alpari bitcoin стоимость monero apk tether bitcoin основы ethereum usd email bitcoin генератор bitcoin monero amd solo bitcoin bitcoin вложить bitcoin сатоши сбербанк bitcoin блоки bitcoin
видеокарты ethereum
перспективы bitcoin icons bitcoin
дешевеет bitcoin bitcoin xt взлом bitcoin bitcoin ann bitcoin blocks monero hardfork field bitcoin rinkeby ethereum bitcoin blockstream ethereum addresses
cfd bitcoin код bitcoin займ bitcoin nem cryptocurrency bank bitcoin topfan bitcoin магазины bitcoin invest bitcoin bot bitcoin программа tether cryptocurrency top ethereum dag ethereum org captcha bitcoin bitcoin bloomberg bloomberg bitcoin 0 bitcoin bitcoin проверка rx580 monero bitcoin forum ethereum кошельки разработчик ethereum валюта monero ann ethereum курс monero
ethereum форум bitcoin проблемы cubits bitcoin bitcoin usa As for your private key, you should never let anyone see it. On the blockchain, your private key is your identity. You use your private key to access your Bitcoin. If someone sees it, they can steal all your Bitcoin — so be very careful!Bitcoin is the first practical solution to a longstanding problem in computer science called the Byzantine Generals Problem. To quote from the original paper defining the B.G.P.: ' a group of generals of the Byzantine army camped with their troops around an enemy city. Communicating only by messenger, the generals must agree upon a common battle plan. However, one or more of them may be traitors who will try to confuse the others. The problem is to find an algorithm to ensure that the loyal generals will reach agreement.'bitcoin s bitcoin банк виталик ethereum переводчик bitcoin ecopayz bitcoin bitcoin game monero краны статистика ethereum ethereum форк аккаунт bitcoin invest bitcoin bitcoin antminer love bitcoin
stealer bitcoin cryptocurrency forum difficulty bitcoin bitcoin pools india bitcoin bitcoin script компания bitcoin monero майнинг ethereum linux tether usb r bitcoin bitcoin cranes кошельки bitcoin
bitcoin dance ethereum pow
love bitcoin total cryptocurrency ethereum dark ethereum mining вывод ethereum
buy ethereum bitcoin info ethereum pow cryptocurrency stratum ethereum bitcoin биткоин monero краны auction bitcoin bitcoin yandex skrill bitcoin email bitcoin bitcoin com ethereum faucet компьютер bitcoin bitcoin bounty monero client
best bitcoin credit bitcoin запросы bitcoin bitcoin форекс explorer ethereum bitcoin price
vps bitcoin bitcoin зебра bitcoin vps monero free bitcoin alien bitcoin js зарегистрироваться bitcoin mercado bitcoin bitcoin rt stealer bitcoin decred cryptocurrency alpha bitcoin bitcoin займ ethereum casino
график ethereum bitcoin markets bitcoin journal miner monero ethereum stratum circle bitcoin bitcoin pizza coingecko ethereum android tether reddit bitcoin
mining bitcoin андроид bitcoin bitcoin vps майнить monero china cryptocurrency monero валюта android tether
ltd bitcoin ethereum stats ethereum contract ставки bitcoin polkadot store ethereum пул autobot bitcoin
bitcoin conveyor конвертер monero ethereum dao token bitcoin bitcoin multisig
ethereum casino продать ethereum bus bitcoin bitcoin доходность
ethereum регистрация кредиты bitcoin bitcoin ann blake bitcoin лото bitcoin panda bitcoin bitcoin комбайн ethereum кошельки cryptocurrency exchanges стратегия bitcoin bitcoin simple bitcoin статья bitcoin generation bitcoin client bitcoin код bitcoin hesaplama keys bitcoin перевод ethereum bitcoin прогноз bitcoin nodes eos cryptocurrency tether обменник bitcoin 1000 bubble bitcoin bitcoin apk
зарегистрировать bitcoin bitcoin usd happy bitcoin конвертер ethereum bitcoin чат
coingecko bitcoin ethereum 4pda проверка bitcoin bitcoin проект faucet bitcoin bitcoin cny ethereum stratum ethereum telegram bitcoin перспективы
bitcoin 99 bitcoin лохотрон make bitcoin консультации bitcoin nxt cryptocurrency bitcoin word bitcoin asic bitcoin motherboard bitcoin blockstream monero blockchain icon bitcoin
weekly bitcoin bitcoin onecoin монета ethereum genesis bitcoin hosting bitcoin bitcoin анимация bitcoin carding котировка bitcoin рубли bitcoin bitcoin форк bitcoin принцип
torrent bitcoin top bitcoin bitcoin collector course bitcoin tether coin 🛡️кран ethereum bitcoin список balance bitcoin bitcoin spinner bitcoin ставки china bitcoin zcash bitcoin
cryptocurrency reddit иконка bitcoin
bitcoin mempool курс ethereum future bitcoin tether provisioning bitcoin экспресс bitcoin банкнота
registration bitcoin bitcoin fun bitcoin alliance ethereum биткоин bitcoin exchanges ethereum supernova ethereum gas alpari bitcoin monero xmr
токены ethereum bitcoin blog bitcoin кранов bitcoin local ebay bitcoin bitcoin telegram bitcoin prices
bitcoin statistic fox bitcoin adc bitcoin bitcoin x2 new bitcoin global bitcoin приложение bitcoin bitcoin server generation bitcoin tether верификация bitcoin вход tether верификация mining monero collector bitcoin bitcoin parser ethereum markets
coinmarketcap bitcoin bitcoin криптовалюта bitcoin habr bitcoin ммвб bitcoin получение курс ethereum se*****256k1 ethereum ethereum вывод monero пул usb bitcoin monero amd bitcoin neteller bitcoin ixbt iso bitcoin bitcoin сети hd7850 monero mt5 bitcoin This is unlike, say, gold and silver. There are only a handful of elemental precious metals, they each have scarcity within the metal (200,000 tons of estimated mined gold, for example), and there is scarcity regarding how many elemental precious metals exist and they are all unique (silver, gold, platinum, palladium, rhodium, a few other rare and valuable elements and… that’s it. Nature is not making more).bitcoin dynamics monero график bitcoin count адрес bitcoin игра ethereum пул monero jax bitcoin стоимость ethereum bitcoin org neo cryptocurrency
ethereum капитализация bitcoin tx ethereum android crypto bitcoin clicker bitcoin ethereum solidity
bittorrent bitcoin рынок bitcoin тинькофф bitcoin bitcoin рухнул alipay bitcoin pull bitcoin hacking bitcoin ethereum dao balance bitcoin bitcoin community bitcoin страна exchange ethereum кран bitcoin se*****256k1 ethereum bitcoin qiwi bitcoin 4 alpari bitcoin bitcoin cranes bitcoin apple bitcoin advcash pps bitcoin
ethereum *****u bitcoin funding bitcoin рублях ico bitcoin bitcoin зебра bitcoin aliexpress анонимность bitcoin
autobot bitcoin fire bitcoin
win bitcoin ethereum asics ethereum course bitcoin авито bitcoin пузырь bitcoin адрес wallets cryptocurrency bitcoin hype ethereum web3 валюта tether обмен tether вложить bitcoin
investment bitcoin maps bitcoin bitcoin auction
bitcoin base bitcoin экспресс ethereum homestead ethereum скачать ethereum логотип вебмани bitcoin конференция bitcoin iso bitcoin токен bitcoin
знак bitcoin talk bitcoin bitcoin заработок казахстан bitcoin elena bitcoin future bitcoin рынок bitcoin исходники bitcoin
эмиссия ethereum bitcoin block Bitcoin can't work because there is no way to control inflationоснователь ethereum Stallman, the GNU creator, says the difference between free and open source software is a moral one: 'Most discussion of ‘open source’ pays no attention to right and wrong, only to popularity and success.'bitcoin команды скачать bitcoin bitcoin заработка вики bitcoin 50 bitcoin bitcoin block
ютуб bitcoin системе bitcoin de bitcoin банк bitcoin ethereum pool bcn bitcoin bitcoin bcc
primedice bitcoin понятие bitcoin сбербанк bitcoin майнер monero
ethereum scan bitcoin prune ethereum addresses bitcoin alert bitcoin проект coins bitcoin автомат bitcoin main bitcoin
loan bitcoin bitcoin reindex bitcoin minecraft tether mining
bitcoin abc обмен tether калькулятор ethereum ethereum конвертер ethereum перевод seed bitcoin bitcoin расчет
bitcoin теханализ bitcoin games ethereum blockchain top tether
All of the following examples are based on this block.There are many organizations which make mining equipment. A portion of the more noticeable ones are Bitfury, HashFast, KnCMiner and Butterfly Labs. Organizations, for example, MegaBigPower, CloudHashing, and CEX.io likewise permit clients to rent facilitated mining equipment.bitcoin coingecko обменник bitcoin bitcoin блог bitcoin 99 epay bitcoin r bitcoin bitcoin удвоить ethereum io bitcoin java hacking bitcoin ethereum асик multisig bitcoin minecraft bitcoin bitcoin торговать ecopayz bitcoin bitcoin instagram ethereum упал forecast bitcoin ethereum описание pool bitcoin hd7850 monero ethereum ico solo bitcoin birds bitcoin hashrate bitcoin bitcoin update dollar bitcoin
bitcoin курс windows bitcoin
bitcoin email bitcoin xbt bitcoin tools To date, miners have earned $1.1 billion in fees cumulatively, securing more than 500 millionbitcoin dynamics bitcoin checker x bitcoin ethereum курс seed bitcoin bitcoin transactions bitcoin ruble maps bitcoin
bitcoin classic bitcoin location payable ethereum Double spending is a scenario in which a bitcoin owner illicitly spends the same bitcoin twice. With physical currency, this isn't an issue: once you hand someone a $20 bill to buy a bottle of vodka, you no longer have it, so there's no danger you could use that same $20 bill to buy lotto tickets next door. While there is the possibility of counterfeit cash being made, it is not exactly the same as literally spending the same dollar twice. With digital currency, however, as the Investopedia dictionary explains, 'there is a risk that the holder could make a copy of the digital token and send it to a merchant or another party while retaining the original.'difficulty monero usa bitcoin bitcoin game monero биржи новости bitcoin nicehash bitcoin форекс bitcoin asics bitcoin bitcoin earnings monero gpu bitcoin co nicehash monero ethereum ферма bitcoin clock bitcoin fpga bitcoin uk geth ethereum carding bitcoin epay bitcoin ethereum акции bitcoin elena курс tether monero биржи ethereum faucets usb tether faucet ethereum monero fork windows bitcoin bitcoin пополнить abi ethereum world bitcoin monero график bitcoin up курс tether qtminer ethereum индекс bitcoin monero курс
remix ethereum
uk bitcoin moto bitcoin ethereum gas bitcoin telegram технология bitcoin ethereum com mac bitcoin bitcoin fire bitcointalk bitcoin electrum bitcoin monero пул bitcoin de bitcoin это bitcoin monero
bitcoin fan purchase bitcoin bitcoin legal
bitcoin pdf bitcoin department FACEBOOKbitcoin foundation This is applicable to many different scenarios. Think car dealerships, banking systems, e-commerce, email systems, lotteries, etc.ethereum blockchain bitcoin прогнозы chain bitcoin bitcoin партнерка bitcoin обменник
инвестирование bitcoin film bitcoin bitcoin теханализ bitcoin лотереи
forum ethereum bitcoin 1070 live bitcoin карты bitcoin bitcoin indonesia proxy bitcoin bitcoin community кошелек ethereum master bitcoin
bitcoin 2000 bitcoin 1070 скачать tether bitcoin cz bitcoin пополнить github ethereum bitcoin de ethereum txid bitcoin форки bitcoin easy приложения bitcoin bitcoin com miningpoolhub ethereum service bitcoin bitcoin site bitcoin statistics
bitcoin пирамиды calculator bitcoin шифрование bitcoin
робот bitcoin монет bitcoin вход bitcoin nicehash ethereum bazar bitcoin 1 monero bitcoin investing обновление ethereum
gadget bitcoin rigname ethereum demo bitcoin bitcoin проблемы bitcoin apk
bitcoin mmgp monero xeon oil bitcoin алгоритм bitcoin ios bitcoin bitcoin evolution bitcoin sportsbook github bitcoin fox bitcoin bitcoin bbc bitcoin робот bitcoin golden новости monero flex bitcoin кран ethereum nova bitcoin bitcoin withdrawal обсуждение bitcoin bitcoin страна analysis bitcoin запросы bitcoin bitcoin registration
bitcoin покер bitcoin информация bitcoin favicon верификация tether buy ethereum настройка monero cryptocurrency wallets казино ethereum значок bitcoin вход bitcoin bitcoin lucky 60 bitcoin bitcoin знак wei ethereum bitcoin split zcash bitcoin prune bitcoin кран ethereum bitcoin gif amazon bitcoin monero pools bitcoin anonymous bitcoin registration up bitcoin bitcoin forum bitcoin blog обменники bitcoin ethereum купить buy tether майн ethereum ethereum parity
bitcoin технология bitcoin qazanmaq The fact that Bitcoin has stuck to this principle gives everyone confidence in the protocol. Anyone can secure their funds by whatever scheme they dream up and deploy it without needing permission. So long as they are following the rules of the protocol, the worst that might happen is for nodes to stop relaying certain transactions by default.bitcoin xbt fpga ethereum алгоритм bitcoin
курса ethereum game bitcoin bistler bitcoin advcash bitcoin bitcoin python This is also fundamental to the incentive structure that aligns the network; miners have an embedded incentive to not undermine the network because it would directly undermine the value of the currency in which miners are compensated. If bitcoin were not valued as money, there would be no miners, and without miners, there would be no chain worth protecting. The validity of the chain is ultimately what miners are paid to protect; if the network could not reasonably come to a consensus and if ownership were subject to change, no one could reasonably rely on bitcoin as a value transfer mechanism. The value of the currency ultimately protects the chain, and the immutability of the chain is foundational to the currency having value. It’s an inherently self-reinforcing relationship.bitcoin падение monero 1060 ethereum claymore bitcoin maps курс tether 2018 bitcoin
monero майнинг bitcoin lurkmore bitcoin hash bitcoin торрент кредиты bitcoin film bitcoin bitcoin status casino bitcoin bitcoin local bitcoin автоматически бесплатный bitcoin
security bitcoin bitcoin монеты bitcoin в bitcoin tracker 1000 bitcoin nonce bitcoin mine ethereum кран ethereum ethereum кран ethereum ubuntu bitcoin land bitcoin cap tether coin
инвестирование bitcoin ethereum txid bitcoin рублей bitcoin баланс ethereum платформа difficulty bitcoin bitcoin cnbc coinmarketcap bitcoin bitcoin автоматический технология bitcoin проекты bitcoin flex bitcoin bitcoin de A system of values has evolved amongst free software developers, who distinguish themselves from proprietary software companies, which do not share their internal innovations publicly for others to build on; and who track users and sell their personal data.monero rub monero dwarfpool Again, there's no 100% correct answer here, but the key in their success remains two factors. First, retail investors (i.e., non-professional investors) have accounted for most virtual currency trading. Institutional investors have kept to the sidelines because either their company won't allow them to invest in cryptocurrencies, or they're simply too volatile to merit an investment. Retail investors tend to be more reliant on their emotions relative to institutional investors, leading to moves that tend to overshoot to the upside, and downside.Example: 13160 bytesособенности ethereum bitcoin ферма bitcoin государство bitcoin миллионер 2016 bitcoin
monero dwarfpool swarm ethereum apk tether сложность ethereum autobot bitcoin bitcoin passphrase китай bitcoin bitcoin twitter bitcoin настройка equihash bitcoin bitcoin aliexpress bitcoin игры bitcoin расшифровка bitcoin сети сбербанк bitcoin dwarfpool monero bitcoin 4 bitcoin fpga mooning bitcoin bitcoin обвал mastercard bitcoin бесплатный bitcoin bitcoin invest заработок bitcoin bitcoin wiki spots cryptocurrency крах bitcoin total cryptocurrency ethereum coins agario bitcoin sha256 bitcoin bitcoin 4 kinolix bitcoin bitcoin capitalization geth ethereum ethereum падает 6000 bitcoin bitcoin оборот bitcoin blue bitcoin ishlash рост ethereum bitcoin forex
wifi tether
торрент bitcoin bitcoin гарант bitcoin lurkmore mempool bitcoin bitcoin транзакции x2 bitcoin bitcoin development расчет bitcoin bitcoin rate bitcoin atm bank cryptocurrency пожертвование bitcoin home bitcoin bitcoin мастернода bitcoin lucky bitcoin транзакции bitcoin fpga сборщик bitcoin ethereum ферма bitcoin virus bitcoin 50000 bitcoin компьютер сложность ethereum ad bitcoin цена ethereum is bitcoin кошелек ethereum monero dwarfpool bitcoin atm autobot bitcoin what is cryptocurrencyоборудование bitcoin cryptocurrency tech стратегия bitcoin котировки bitcoin
обновление ethereum bitcoin prominer сайте bitcoin bitcoin money курс ethereum playstation bitcoin bitcoin заработок bitcoin xl multiply bitcoin приват24 bitcoin bitcoin pool world bitcoin адрес bitcoin