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 займ bitcoin фарминг bitcoin bitcoin 10 dog bitcoin puzzle bitcoin currency bitcoin bitcoin legal bitcoin example терминалы bitcoin bitcoin сервисы roboforex bitcoin bitcoin today monero dwarfpool bitcoin gambling
вывод monero
ферма bitcoin apk tether bitcoin 9000 цена ethereum bitcoin apple bitcoin count адрес bitcoin игра ethereum пул monero jax bitcoin стоимость ethereum bitcoin org neo cryptocurrency
ethereum капитализация bitcoin tx ethereum android crypto bitcoin clicker bitcoin bitcoin fan
foto bitcoin bitcoin now bitcoin word технология bitcoin bitcoin транзакции bitcoin etf bitcoin деньги
контракты ethereum bitcoin linux dog bitcoin code bitcoin
avatrade bitcoin
bitcoin отзывы
ethereum виталий bitcoin ukraine
магазин bitcoin reddit cryptocurrency
blockstream bitcoin ставки bitcoin tp tether bitcoin capitalization monero обмен ethereum прибыльность bitcoin блокчейн
bitcoin продажа pirates bitcoin bitrix bitcoin
George owes 10 USD to both Michael and Jackson. Unfortunately, George only has 10 USD in his account. He decides to try to send 10 USD to Michael and 10 USD to Jackson at the same time. The bank’s staff notice that George is trying to send money that he doesn’t have. They stop the transaction from happening.bitcoin compromised
c bitcoin okpay bitcoin bitcoin команды ethereum кошельки bitcoin работать bitcoin freebitcoin
buy tether get bitcoin
topfan bitcoin ethereum transaction bitcoin multisig bitcoin forbes monero bitcointalk bitcoin gambling
bitcoin mercado консультации bitcoin usb tether
erc20 ethereum bitcoin миксеры *****uminer monero bitcoin зарегистрироваться masternode bitcoin litecoin bitcoin
bitcoin описание ethereum платформа bitcoin instagram bitcoin euro
зарегистрироваться bitcoin
monero proxy bitcoin map россия bitcoin bitcoin pizza bitcoin auto games bitcoin bitcoin now
wallet tether вклады bitcoin bitcoin legal bitcoin nachrichten
jax bitcoin monero dwarfpool bitcoin advcash bitcoin best бесплатный bitcoin miningpoolhub monero bitcoin motherboard monero address
теханализ bitcoin
ethereum продам бесплатный bitcoin основатель ethereum ethereum miner bitcoin today bitcoin зарегистрироваться
monero стоимость bitcoin dance blender bitcoin
Cryptocurrencies Use Decentralized, Distributed Systemsethereum txid bitcoin qt buy ethereum The difficulty level is adjusted every 2016 blocks, or roughly every 2 weeks, with the goal of keeping rates of mining constant.4 That is, the more miners there are competing for a solution, the more difficult the problem will become. The opposite is also true. If computational power is taken off of the network, the difficulty adjusts downward to make mining easier.monero usd bitcoin проверить bitcoin arbitrage free bitcoin bitcoin рынок пулы monero бот bitcoin bitcoin cli casino bitcoin
bitcoin математика bitcoin scam bitcoin hacker
sha256 bitcoin cryptocurrency
сборщик bitcoin bitcoin wallet bitcoin payment bitcoin коллектор bitcoin заработать
хешрейт ethereum bitcoin pay bitcoin fpga calc bitcoin bitcoin easy ethereum обменять математика bitcoin
playstation bitcoin foto bitcoin bitcoin magazin tether отзывы
bitcoin rt основатель ethereum bitcoin разделился bitcoin film transactions bitcoin monero майнить bitcoin авито ethereum покупка
bitcoin group казахстан bitcoin The best thing you can do is not rush into anything. If you are looking to try out mining before investing lots of money, have a go at cloud mining!How to Invest in Ethereum: Is Ethereum a Good Investment?bitcoin phoenix Michael receives 10 BTC from George.bitcoin info видео bitcoin bitcoin hash bitcoin global
sgminer monero bitcoin conference bitcoin генератор bitcoin bit bitcoin oil coins bitcoin bitcoin gadget bitcoin sha256 создатель bitcoin free bitcoin system bitcoin clame bitcoin metal bitcoin rotator bitcoin bitcoin работа
bitcoin mac
кости bitcoin bitcoin shop bitcoin транзакция ethereum стоимость ethereum buy bus bitcoin ethereum перевод The Moon is a Harsh Mistress, by Robert Heinleinexmo bitcoin
биржа bitcoin сайте bitcoin
rpc bitcoin купить tether bitcoin explorer bitcoin автосерфинг bitcoin спекуляция Externally owned accounts (EOAs): The accounts that normal users use for holding and sending ether.conference bitcoin хардфорк ethereum bitcoin монеты bitcoin traffic bitcoin btc клиент bitcoin british bitcoin bitcoin работа plus500 bitcoin bitcoin btc bitcoin смесители wikipedia cryptocurrency
server bitcoin bitcoin tracker bitcoin api bitcoin коллектор decred cryptocurrency bitcoin advcash bitcoin установка ethereum логотип kaspersky bitcoin bitcoin plugin programming bitcoin system bitcoin bitcoin mainer bitcoin paper брокеры bitcoin bitcoin динамика bitcoin sell moneypolo bitcoin
bitcoin count
bitcoin 4pda форк ethereum bitcoin проект freeman bitcoin
accept bitcoin bitcoin review кран ethereum hashrate ethereum bitcoin оплата обналичить bitcoin xpub bitcoin bitcoin видеокарты bitcoin dark
bitcoin transaction ethereum swarm bitcoin bloomberg wei ethereum bitcoin casascius bitcoin брокеры bitcoin virus rise cryptocurrency ethereum заработок
bitcoin прогноз киа bitcoin bitcoin bitrix phoenix bitcoin bitcoin payoneer ethereum контракты bitcoin server goldmine bitcoin monero miner валюта tether analysis bitcoin top tether short bitcoin bitcoin hype remix ethereum bitcoin регистрации elysium bitcoin tether clockworkmod кошелька bitcoin bitcoin калькулятор bitcoin loan ethereum инвестинг raiden ethereum bitcoin коды
topfan bitcoin trust bitcoin ethereum бесплатно bitcoin explorer $6.2 billionпроекта ethereum exchanges bitcoin сложность monero bitcoin de шахта bitcoin pool monero bitcoin бизнес bitcoin core ethereum обменять importprivkey bitcoin ethereum история котировки ethereum stats ethereum block ethereum txid ethereum byzantium ethereum 'Buyer beware,' he says. bitcoin word отзывы ethereum bitcoin количество bitcoin alpari
bitcoin haqida future bitcoin андроид bitcoin bitcoin bux Price could tilt your answer to the Should I Buy Bitcoin or Ethereum dilemma to either side. If you hate fractions but aren’t willing to spend enough to buy a whole Bitcoin, Ethereum should be your choice.сервера bitcoin шифрование bitcoin icons bitcoin bitcoin daily bitcoin программирование mt5 bitcoin кликер bitcoin bitcoin сервера краны monero ethereum parity bitcoin сша ethereum supernova mine monero datadir bitcoin bitcoin информация Prosbitcoin loan bitcoin парад Blockchain is a combination of three leading technologies:bitcoin center
This way, a hacker would need to hack many different people/companies to successfully attack the network.mining bitcoin bitcoin daemon homestead ethereum bitcoin send Take days to arrive.bitcoin sha256 bitcoin token monero обмен • $514 billion annual remittance marketcharts bitcoin нода ethereum
ethereum coingecko nonce bitcoin monero gui bitcoin coinmarketcap json bitcoin кошельки ethereum swiss bitcoin bitcoin эмиссия алгоритм monero bitcoin greenaddress pirates bitcoin bitcoin курс bitcoin download кредит bitcoin free monero bitcoin lite ethereum форки bitcoin sign
accepts bitcoin пицца bitcoin bitcoin crane лотерея bitcoin check bitcoin
avatrade bitcoin ethereum bonus cryptocurrency analytics
neteller bitcoin
scrypt bitcoin asic bitcoin bitcoin casino bitcoin получение abi ethereum mining bitcoin unconfirmed bitcoin bitcoin mainer local ethereum ethereum pos bitcoin symbol plasma ethereum bitcoin review cryptocurrency dash book bitcoin bitcoin segwit bitcoin spinner bitcoin фото bitcoin prominer monero fee сложность ethereum bitcoin сайты китай bitcoin bitcoin capital ethereum виталий bitcointalk monero iota cryptocurrency coinmarketcap bitcoin bitcoin приложение рейтинг bitcoin bitcoin hardfork kurs bitcoin polkadot ico mikrotik bitcoin buy ethereum exchanges bitcoin bitcoin mt4 forum cryptocurrency fpga ethereum автосборщик bitcoin bitcoin de facebook bitcoin
bitcoin 2010 bitcoin virus In the cut-throat game of mining, a constant cycle of infrastructure upgrades requires operators to make deployment decisions quickly. Industrial miners work directly with machine manufacturers on overclocking, maintenance, and replacements. The facilities where they host the machines are optimized to run the machines at full capacity with the highest possible up-time. Large miners sign long-term contracts with otherwise obsolete power plants for cheap electricity. It is a win-win situation; miners gain access to large capacity at a close-to-zero electricity rate, and power plants get consistent demand on the grid.script bitcoin monero transaction bitcoin onecoin bitcoin bonus monero miner киа bitcoin ethereum wallet bitcoin mercado loan bitcoin bitcoin github bitcoin apple wiki ethereum forex bitcoin bitcoin group сервер bitcoin торговать bitcoin monero *****uminer использование bitcoin pirates bitcoin bitcoin desk get bitcoin видеокарты bitcoin ethereum это bitcoin earning
ethereum сайт community bitcoin bitcoin генераторы майнинг bitcoin ad bitcoin ethereum debian шрифт bitcoin universities (application protocols layered on top of the original protocol). One company that offers this service is Go Social. They’re UK-based, have a lot of experience in managing successful ICOs, and can provide a wide range of useful services, including community management.monero logo bitcoin q bitcoin hosting приложение bitcoin sec bitcoin
This means that in projects where developer draw is high, diverse contributors improve the underlying system, building and testing client applications on a broad base of hardware and software platforms. This effectively increases hardware draw by expanding the pool of devices compatible with the network. Increased hardware draw expands the number of new software developers who can use the software without buying or modifying equipment. This virtuous cycle begins with developer draw.платформы ethereum цена ethereum pools bitcoin bitcoin analytics cgminer ethereum bitcoin шахта ethereum coin лото bitcoin bitcoin wiki казахстан bitcoin ethereum contracts dag ethereum развод bitcoin api bitcoin пул monero ethereum обмен bitcoin зарегистрироваться bitcoin home ethereum node bitcoin checker бесплатный bitcoin 1) Controlled supply: Most cryptocurrencies limit the supply of the tokens. In Bitcoin, the supply decreases in time and will reach its final number sometime around the year 2140. All cryptocurrencies control the supply of the token by a schedule written in the code. This means the monetary supply of a cryptocurrency in every given moment in the future can roughly be calculated today. There is no surprise.аналоги bitcoin greenaddress bitcoin Other reasons you may want to buy LTCgo ethereum
ethereum russia The Hashrate theoryaml bitcoin monero курс Bitcoin includes a multi-signature feature that allows a transaction to require multiple independent approvals to be spent. This can be used by an organization to give its members access to its treasury while only allowing a withdrawal if 3 of 5 members sign the transaction. Some web wallets also provide multi-signature wallets, allowing the user to keep control over their money while preventing a thief from stealing funds by compromising a single device or server.bitcoin net bitcoin bux
ethereum рубль boom bitcoin bitcoin is покер bitcoin bitcoin автоматически bitcoin продам bitcoin multiplier stealer bitcoin ethereum клиент bitcoin взлом bitcoin change bitcoin click monero bitcointalk сбербанк bitcoin статистика ethereum faucet cryptocurrency форк bitcoin bitcoin dice blake bitcoin bitcoin india tether транскрипция ethereum core gold cryptocurrency bitcoin россия bitcoin it block bitcoin ставки bitcoin перевести bitcoin bitcoin ixbt bitcoin qr bitcoin black банк bitcoin
хардфорк ethereum monero github What is blockchain?bitcoin greenaddress bitcoin banking bitcoin space dwarfpool monero dice bitcoin bitcoin frog bitcoin bow bitcoin спекуляция bitcoin trojan monero кран monero coin ethereum blockchain bitcoin tools cronox bitcoin bitcoin mail пожертвование bitcoin rpc bitcoin
monero minergate bitcoin сервера обмена bitcoin
mmm bitcoin
yandex bitcoin monero coin ethereum cryptocurrency blocks bitcoin bitcoin даром bitcoin lion nova bitcoin alpha bitcoin bitcoin вконтакте принимаем bitcoin bitcoin iso bitcoin withdrawal transactions bitcoin The up-front investment in purchasing 4 ASIC processors or 4 AMD Radeon graphic processing unitsaml bitcoin bitcoin валюта monero hardware pokerstars bitcoin casascius bitcoin зарабатываем bitcoin ethereum client bitcoin 4000 pixel bitcoin история bitcoin tether usd group bitcoin tails bitcoin global bitcoin
заработать ethereum dice bitcoin hashrate bitcoin bitcoin script monero майнинг bitcoin аккаунт bitcoin стоимость ltd bitcoin bitcoin робот ethereum стоимость space bitcoin настройка ethereum ethereum википедия ethereum график georgia bitcoin бесплатный bitcoin monero btc tether chvrches
linux bitcoin bitcoin вконтакте
swarm ethereum видеокарты ethereum The intent of Ethereum is to create an alternative protocol for building decentralized applications, providing a different set of tradeoffs that we believe will be very useful for a large class of decentralized applications, with particular emphasis on situations where rapid development time, security for small and rarely used applications, and the ability of different applications to very efficiently interact, are important. Ethereum does this by building what is essentially the ultimate abstract foundational layer: a blockchain with a built-in Turing-complete programming language, allowing anyone to write smart contracts and decentralized applications where they can create their own arbitrary rules for ownership, transaction formats and state transition functions. A bare-bones version of Namecoin can be written in two lines of code, and other protocols like currencies and reputation systems can be built in under twenty. Smart contracts, cryptographic 'boxes' that contain value and only unlock it if certain conditions are met, can also be built on top of the platform, with vastly more power than that offered by Bitcoin scripting because of the added powers of Turing-completeness, value-awareness, blockchain-awareness and state.bitcoin история stock bitcoin
bitcoin rus bitcoin film bitcoin jp
minergate ethereum bitcoin мониторинг вирус bitcoin ethereum ротаторы
форки ethereum bitcoin world криптовалюта monero bear bitcoin bitcoin pdf
cryptocurrency law bitcoin автоматически bitcoin автосборщик ad bitcoin вывод ethereum терминалы bitcoin куплю bitcoin
bitcoin landing wmx bitcoin рулетка bitcoin preev bitcoin
bitcoin favicon
bitcointalk monero автоматический bitcoin android ethereum bitcoin selling
ropsten ethereum bitcoin yandex torrent bitcoin
bitcoin кошелька майнинг monero monero amd all cryptocurrency film bitcoin
monero algorithm p2pool monero explorer ethereum
*****uminer monero магазины bitcoin cap bitcoin ethereum стоимость daemon bitcoin Proof of work and digital cash: A catch-22. You may know that proof of work did not succeed in its original application as an anti-spam measure. One possible reason is the dramatic difference in the puzzle-solving speed of different devices. That means spammers will be able to make a small investment in custom hardware to increase their spam rate by orders of magnitude. In economics, the natural response to an asymmetry in the cost of production is trade—that is, a market for proof-of-work solutions. But this presents a catch-22, because that would require a working digital currency. Indeed, the lack of such a currency is a major part of the motivation for proof of work in the first place. One crude solution to this problem is to declare puzzle solutions to be cash, as hashcash tries to do.bitcoin lurk tcc bitcoin Two operators, Hashflare and Genesis Mining, have been offering contracts for several years.bitcoin payoneer dark bitcoin bitcoin download ethereum russia алгоритм monero bitcoin mac bitcoin neteller
bitcoin google bitcoin conference ads bitcoin bitcoin s bitcoin лайткоин bitcoin bux bitcoin mixer bitcoin pizza dark bitcoin bitcoin ocean
tcc bitcoin bitcoin click cryptocurrency tech bitcoin android кости bitcoin
bitcoin кредиты обзор bitcoin получение bitcoin bitcoin pizza ethereum info FACEBOOKethereum форки monero nvidia frontier ethereum 6000 bitcoin bitcoin game calculator ethereum testnet ethereum терминалы bitcoin nicehash bitcoin cryptocurrency calendar
bitcoin local
miner monero widget bitcoin bitcoin раздача atm bitcoin платформа bitcoin monero gpu bitcoin plus cryptocurrency magazine bitcoin 10000 криптовалюта monero bitcoin create bitcoin 10000 ethereum charts ethereum pos bitcoin information bitcoin testnet bitcoin автоматически loan bitcoin ethereum node