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 homestead However, the scripting language as implemented in Bitcoin has several important limitations:There are three types of mining hardware:отзыв bitcoin
отдам bitcoin
bitcoin qiwi
bitcoin block ethereum faucets шрифт bitcoin
bitcoin slots ethereum dao doge bitcoin bitcoin casascius bitcoin space
99 bitcoin bitcoin транзакции Miners operate special computer hardware devoted to a cryptocurrency network, and in turn receive a 'reward' in the form of bitcoins. This is how Bitcoin and similar networks emit currency. The process of mining is explained in detail in the following pages, but it suffices to say that the activities of miners require IT skills including system administration and a strong understanding of networking. A background in electrical engineering is helpful if operating a large-scale mine, where the power infrastructure may be sophisticated.bitcoin greenaddress bitcoin cash окупаемость bitcoin bitcoin advertising x bitcoin vpn bitcoin bitcoin qiwi joker bitcoin bitcoin blue protocol bitcoin monero rub
moon bitcoin tether криптовалюта monero poloniex coindesk bitcoin bitcoin home claim bitcoin
ethereum скачать bitcoin s water bitcoin bitcoin symbol opencart bitcoin Database management between businesses is much easier;bitcoin pay bitcoin multisig bitcoin uk ethereum продать monero usd bitcoin timer security bitcoin
проверить bitcoin партнерка bitcoin asus bitcoin ccminer monero вывод monero bitcoin me
вложения bitcoin
мастернода ethereum
monero client film bitcoin ethereum вывод According to the Library of Congress, an 'absolute ban' on trading or using cryptocurrencies applies in nine countries: Algeria, Bolivia, Egypt, Iraq, Morocco, Nepal, Pakistan, Vietnam, and the United Arab Emirates. An 'implicit ban' applies in another 15 countries, which include Bahrain, Bangladesh, China, Colombia, the Dominican Republic, Indonesia, Kuwait, Lesotho, Lithuania, Macau, Oman, Qatar, Saudi Arabia and Taiwan.casper ethereum bitcoin motherboard day bitcoin
bitcoin мониторинг youtube bitcoin
If you are ASIC mining, your hardware likely comes pre-installed with mining software. If you are *****U or GPU mining, you will need to choose your own software, keeping security in mind. A software package could contain malware. You should also watch out for other tricky, if not outright malicious, behavior. It's easy enough to find yourself accidentally mining on behalf of the software's developer because their system configures their worker as the default.bitcoin луна добыча bitcoin bitcoin forum транзакция bitcoin ethereum course bitcoin валюты автокран bitcoin ethereum 1070 аккаунт bitcoin reward bitcoin cryptocurrency calculator
курс ethereum Will you own a stake in the company or just currency or tokens? This distinction is important. Owning a stake means you get to participate in its earnings (you’re an owner), while buying tokens simply means you're entitled to use them, like chips in a casino.bitcoin реклама bitcoin prosto erc20 ethereum having a fundamentally different and greatly improved value proposition. Everything else that purports to be easier to mine, faster toкотировка bitcoin invest bitcoin alpha bitcoin
The two main differences are that Litecoin aims to finalize transactions faster and that it uses a different mining algorithm. On Litecoin, new blocks are added to the blockchain roughly every 2.5 minutes (as opposed to 10 minutes on Bitcoin).bitcoin ru ethereum википедия invest bitcoin Cryptocurrencies such as Bitcoin, Dash, Ethereum and Monero offer a certain level of anonymity to users. Why? Because the cryptomining process involves the use of the public key encryption and hashing functions we talked about earlier.exchange monero куплю bitcoin bitcoin мошенники gain bitcoin bitcoin кэш bitcoin journal monero bitcoin russia рулетка bitcoin ethereum info
1080 ethereum korbit bitcoin bitcoin qr bitcoin center maining bitcoin of 70% as a minimum.bitcoin p2p bitcoin advcash bitcoin обмен
nicehash bitcoin ethereum клиент kinolix bitcoin bitcoin mail payza bitcoin
bitcoin сложность to bitcoin зарегистрироваться bitcoin monero fee live bitcoin арбитраж bitcoin
ethereum перспективы bitcoin payeer
daily bitcoin bear bitcoin monero minergate bitcoin earn algorithm bitcoin bitcoin блоки 2016 bitcoin bitcoin froggy bitcoin account
masternode bitcoin bitcoin capitalization ethereum faucets
bitcoin vip
bitcoin ledger bitcoin wordpress bitcoin скачать rpg bitcoin avto bitcoin
se*****256k1 ethereum zebra bitcoin
торги bitcoin bitcoin unlimited super bitcoin bitcoin оборудование solo bitcoin ethereum метрополис ethereum статистика форки ethereum
хешрейт ethereum bitcoin frog kraken bitcoin Eobot Review: Eobot offers Litecoin cloud mining contracts with 0.0071 LTC monthly payouts.bitcoin gold консультации bitcoin neo cryptocurrency bitcoin doge bitcoin generate инвестиции bitcoin bitcoin pump monero minergate майнер monero dash cryptocurrency cryptocurrency calendar bitcoin scripting bitcoin multiplier bitcoin matrix bitcoin surf прогнозы bitcoin
ethereum видеокарты
bitcoin graph bitcoin grafik bitcoin earnings bitcoin автор bitcoin qiwi bitcoin сигналы проверить bitcoin отдам bitcoin bitcoin курс
mikrotik bitcoin bitcoin обменники pull bitcoin bitcoin easy bitcoin auto
обменять monero ethereum валюта ethereum видеокарты кран bitcoin ethereum сегодня email bitcoin майнинга bitcoin python bitcoin bitcoin курс avatrade bitcoin bitcoin hype new cryptocurrency капитализация bitcoin bitcoin skrill продам bitcoin bitcoin государство обои bitcoin биржа ethereum bitcoin спекуляция
prune bitcoin bitcoin index bitcoin capital ethereum 4pda программа ethereum кошельки ethereum
bitcoin novosti
cfd bitcoin sgminer monero bitcoin прогноз bitcoin конвертер ethereum algorithm raiden ethereum форумы bitcoin rigname ethereum
bitcoin картинка bitcoin motherboard bitcoin видеокарты bitcoin таблица проект bitcoin rigname ethereum ethereum проекты bitcoin конверт блокчейна ethereum bitcoin шахта зарегистрировать bitcoin
bitcoin сервисы foto bitcoin стратегия bitcoin bitcoin transactions bitcoin matrix ann monero кран ethereum Ключевое слово bitcoin golden bitcoin монет bitcoin investing курсы bitcoin bitcoin шахта surf bitcoin ethereum mining claymore monero mining cryptocurrency ethereum обменять bitcoin деньги cryptocurrency trading bye bitcoin bitcoin faucet cnbc bitcoin bitcoin фарминг bitcoin ether is bitcoin bitcoin тинькофф monero proxy bitcoin poker bitcoin оборот adc bitcoin exchange ethereum information bitcoin frontier ethereum bitcoin аналоги bitcoin video график monero master bitcoin развод bitcoin tracker bitcoin
xronos cryptocurrency fpga bitcoin monero client
майнеры ethereum reddit cryptocurrency bitcoin maps ubuntu ethereum компьютер bitcoin cryptocurrency calculator bitcoin gadget
bounty bitcoin bitcoin история bitcoin блокчейн lealana bitcoin
bitcoin mercado
monero difficulty bitcoin торговля ethereum install One of the primary functions of money is to be a store of value: a mechanism to transferрегистрация bitcoin q bitcoin лото bitcoin ubuntu bitcoin 1 ethereum homestead ethereum bitcoin synchronization bitcoin 2000 half bitcoin hashrate bitcoin эмиссия ethereum monero minergate ethereum проекты bitcoin 10 rus bitcoin bitcoin компьютер abi ethereum excel bitcoin bitcoin metal bitfenix bitcoin бонусы bitcoin ethereum markets monero proxy programming bitcoin cryptocurrency charts bitcoin адреса будущее ethereum tether пополнить galaxy bitcoin pull bitcoin metatrader bitcoin monero новости nicehash monero
ethereum википедия bitcoin mmgp bitcoin создать
bitcoin mining bitcoin приложение film bitcoin bitcoin курс ethereum кошельки bitcoin государство инструкция bitcoin hyip bitcoin fox bitcoin 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 bitcoin conference
clockworkmod tether phoenix bitcoin шахта bitcoin bitcoin multibit delphi bitcoin bitcoin server bitcoin motherboard hourly bitcoin platinum bitcoin ethereum icon кран bitcoin bitcoin луна bitcoin блог
ethereum siacoin bitcoin vps bitcoin maps bitcoin stellar bitcoin monkey amazon bitcoin отзывы ethereum
dollar bitcoin putin bitcoin tor bitcoin faucet cryptocurrency bitcoin сша bitcoin дешевеет bitcoin оборот bitcoin 4pda kaspersky bitcoin мастернода bitcoin вклады bitcoin air bitcoin
trade cryptocurrency For example, a software security company called Guardtime offers blockchain-based products and services. unconfirmed monero bitcoin blog foto bitcoin
bitcoin gif bitcoin click coinmarketcap bitcoin 100 bitcoin ethereum pow bitcoin автосборщик today bitcoin bitcoin сделки genesis bitcoin mercado bitcoin bitcoin пулы bitcoin wiki monero xmr matteo monero keystore ethereum робот bitcoin bitcoin сети bitcoin магазины зарабатывать bitcoin bitcoin server валюта bitcoin difficulty bitcoin пожертвование bitcoin ssl bitcoin bye bitcoin ethereum биржи
auto bitcoin системе bitcoin cardano cryptocurrency криптовалют ethereum cryptocurrency converter Economists and journalists get very caught up around the question, why does Bitcoin have value? The answer is easy: because it’s useful and scarce.bitcoin fpga bitcoin приложение bitcoin markets wallets cryptocurrency trade cryptocurrency ethereum игра
заработок bitcoin cryptocurrency prices технология bitcoin ферма bitcoin bitcoin софт bitcoin server ethereum токены bitcoin dollar bitcoin monero обменять monero bitcoin регистрация чат bitcoin joker bitcoin
love bitcoin ethereum gas bitcoin code bitcoin ваучер
ultimate bitcoin статистика ethereum биткоин bitcoin новости ethereum wifi tether алгоритм bitcoin pro100business bitcoin polkadot cadaver lootool bitcoin bitcoin qazanmaq ethereum complexity
bitcoin knots bitcoin онлайн monero proxy ethereum cryptocurrency андроид bitcoin bitcoin депозит miner bitcoin doubler bitcoin bitcoin dollar keepkey bitcoin bitcoin lion пример bitcoin solo bitcoin bitcoin начало konvertor bitcoin ethereum картинки bitcoin register simple bitcoin bitcoin ios bitcoin 4000
There are two types of rollups:bitcoin видеокарта roboforex bitcoin generator bitcoin fast bitcoin moneybox bitcoin исходники bitcoin blockchain ethereum ethereum хешрейт bitcoin 20 abi ethereum moneybox bitcoin bitcoin symbol bitcoin scan дешевеет bitcoin monero hashrate ethereum mine doubler bitcoin bitcoin microsoft bitcoin сокращение bitcoin вывести tether android value bitcoin эфир ethereum bitcoin spinner
cryptocurrency exchanges reward bitcoin If the peers of the network disagree about only one single, minor balance, everything is broken. They need an absolute consensus. Usually, you take, again, a central authority to declare the correct state of balances. But how can you achieve consensus without a central authority?Only unstoppable ideas can break otherwise immovable institutions: zero brought The Church to its knees and Bitcoin is bringing the false church of The Fed into the sunlight of its long-awaited judgement day.rigname ethereum
криптовалюту bitcoin cfd bitcoin котировки ethereum bitcoin world ферма ethereum bitcoin p2p
заработай bitcoin хардфорк monero bitcoin multibit курс ethereum cryptocurrency calendar bitcoin кэш bitcoin майнинг bitcoin mt5 bitcoin перспективы
rocket bitcoin bitcoin coins bitcoin xpub bitcoin бесплатно dogecoin bitcoin The block reward’s declining mechanism will end up releasing all bitcoin that approaches twenty-one million. As what the current Bitcoin protocol said, the cap of bitcoin is 21 million and you can no longer mine anymore the moment it will reach that number.bitcoin комбайн monero pro bitcoin ключи ethereum бесплатно настройка monero bitcoin king ethereum регистрация coinmarketcap bitcoin bitcoin значок bitcoin магазины freeman bitcoin bitcoin purchase trezor bitcoin habrahabr bitcoin ninjatrader bitcoin land bitcoin tether перевод ad bitcoin airbit bitcoin bitcoin gadget bitcoin биткоин ethereum blockchain bitcoin machine сложность monero monero кран bitcoin service bitcoin форк bitcoin игры bitcoin value bitcoin адреса bitcoin motherboard майнинг bitcoin
ltd bitcoin ico monero bitcoin казино bitcoin club взлом bitcoin bitcoin yandex вики bitcoin golden bitcoin bitcoin обучение bitcoin nodes production cryptocurrency bitcoin analytics bitcoin перевод bitcoin автоматически ethereum покупка difficulty bitcoin tether usb bitcoin fork
bitcoin инструкция pull bitcoin total cryptocurrency boxbit bitcoin ethereum contracts ethereum supernova взлом bitcoin контракты ethereum bitcoin anonymous
bitcoin froggy краны monero bitcoin exchanges s bitcoin пул ethereum ethereum отзывы бесплатный bitcoin today bitcoin bitcoin автоматически bitcoin конец bitcoin china testnet bitcoin monero криптовалюта monero gpu matrix bitcoin blitz bitcoin bitcoin автосерфинг app bitcoin bitcoin novosti bitcoin project monero rub monero кран alien bitcoin
ethereum mine tether верификация bitcoin airbit bitcoin yen bitcoin опционы запросы bitcoin bitcoin sha256 ethereum хешрейт bitcoin rub банкомат bitcoin
bitcoin даром ethereum free рулетка bitcoin ethereum platform скачать tether monero node bitcoin login trezor ethereum
bitcoin динамика chain bitcoin сбербанк bitcoin ethereum claymore кости bitcoin genesis bitcoin ethereum casper Okay, so we know that Ethereum’s global state consists of a mapping between account addresses and the account states. This mapping is stored in a data structure known as a Merkle Patricia tree.bitcoin trojan ethereum android bitcoin png
bitcoin футболка polkadot stingray bitcoin карты In 2010, a programmer bought two pizzas for 10,000 BTC in one of the first real-world bitcoin transactions. Today, 10,000 BTC is equal to roughly $38.1 million - a big price to pay for satisfying hunger pangs.bitcoin ann
алгоритм monero дешевеет bitcoin decred ethereum monero fork bitcoin tm bitcoin easy lazy bitcoin
golden bitcoin system bitcoin iphone tether bitcoin protocol ethereum btc new cryptocurrency lite bitcoin script bitcoin make bitcoin bitcoin timer
java bitcoin bitcoin выиграть 7. What is cryptography? What is its role in Blockchain?bitcoin goldmine bitcoin cny криптовалюта tether обновление ethereum
ethereum telegram bitcoin кости bitcoin эмиссия bitcoin фарминг сеть ethereum
monero logo tether bitcointalk cryptocurrency ethereum ethereum usd tether обменник
bitcoin 2020 bitcoin investment установка bitcoin bitcoin knots ethereum стоимость запросы bitcoin bitcoin coin tether 4pda bitcoin config 6000 bitcoin майнеры monero
golden bitcoin cryptocurrency calendar ninjatrader bitcoin вывод ethereum amd bitcoin multisig bitcoin пополнить bitcoin bitcoin gpu bitcoin prune биржа ethereum bitcoin мастернода вложения bitcoin bitcoin net бесплатный bitcoin скачать bitcoin вклады bitcoin bitcoin tor bitcoin рубль bitcoin virus coinbase ethereum bitcoin видеокарта monero вывод agario bitcoin Cost - $400 - 500bitcoin аналоги A different research field, fault-tolerant distributed computing, has studied this problem, where it goes by different names, including state replication. A solution to this problem is one that enables a set of nodes to apply the same state transitions in the same order—typically, the precise order does not matter, only that all nodes are consistent. For a digital currency, the state to be replicated is the set of balances, and transactions are state transitions. Early solutions, including Paxos, proposed by Turing Award winner Leslie Lamport in 1989,28,29 consider state replication when communication channels are unreliable and when a minority of nodes may exhibit certain 'realistic' faults, such as going offline forever or rebooting and sending outdated messages from when it first went offline. A prolific literature followed with more adverse settings and efficiency trade-offs.The three main properties of Blockchain Technology which have helped it gain widespread acclaim are as follows:bitcoin 4000 bitcoin withdraw
transaction bitcoin In July 2019, the IRS started sending letters to cryptocurrency owners warning them to amend their returns and pay taxes.Bitcoin was made to replace real money, while Ethereum was created to help people develop decentralized apps (dApps) with custom smart contracts.total cryptocurrency $8.3 billionbitcoin xpub краны monero bitcoin символ wmz bitcoin by bitcoin *****p ethereum
bitcoin global hosting bitcoin ethereum cryptocurrency bitcoin telegram форум bitcoin statistics bitcoin nodes bitcoin блоки bitcoin bitcoin перевод bitcoin news xpub bitcoin bitcoin tor ethereum php bitcoin wallpaper
bitcoin statistics ethereum кошелек bazar bitcoin bitcoin airbit пул ethereum analysis bitcoin cardano cryptocurrency bitcoin отследить monero обменять keystore ethereum bitcoin bazar bitcoin обменять алгоритм monero webmoney bitcoin bitcoin 4096 nvidia monero bitcoin etherium
bitcoin зарегистрировать fork ethereum bitcoin token security bitcoin apple bitcoin zebra bitcoin network bitcoin
bitcoin vip
bitcoin mail bubble bitcoin bitcoin сша bitcoin коллектор Cost-EffectiveSince you started reading this guide, you’ve been getting closer and closer to understanding cryptocurrency. There’s just one more question I’d like to answer. What is cryptocurrency going to do for the world?Can Cryptocurrency Save the World?сложность monero vk bitcoin bitcoin easy bitcoin xt ethereum usd майнить ethereum