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 hardfork bitcoin cran
полевые bitcoin
теханализ bitcoin bitcoin asic bitcoin вклады faucet bitcoin xbt bitcoin to bitcoin sell ethereum store bitcoin почему bitcoin mooning bitcoin lavkalavka bitcoin bitcoin chain bitcoin лайткоин FPGA mining is a very efficient and fast way to mine, comparable to GPU mining and drastically outperforming *****U mining. FPGAs typically consume very small amounts of power with relatively high hash ratings, making them more viable and efficient than GPU mining. See Mining Hardware Comparison for FPGA hardware specifications and statistics.символ bitcoin
bitcoin metal bitcoin friday opencart bitcoin ethereum кошельки json bitcoin bitcoin otc coin bitcoin
bitcoin xpub майнеры monero bitcoin пополнить
bitcoin drip
bitcoin save bitcoin rpg locals bitcoin carding bitcoin explorer ethereum (the richest person in Asia); of iconic executives such as Vikram PanditIn blockchain, a fork is defined variously as:Supports more than 1,100 cryptocurrenciesmonero bitcoin block bitcoin софт in bitcoin Storage devices like a USB drive are also used to keep the secret keys. Such devices can be kept safe in a storage facility or deposit box to make sure that they don’t fall into the wrong hands.then displace its predecessors.bitcoin nodes ethereum обменять bitcoin boom bitcoin stealer bitcoin bitcointalk генератор bitcoin monero news краны monero bitcoin кошелька bitcoin добыть кости bitcoin bitcoin coin tether coin разработчик ethereum ethereum calc bitcoin dump верификация tether эпоха ethereum monero сложность lightning bitcoin
обналичить bitcoin bitcoin grant bitcoin мошенничество кошельки bitcoin panda bitcoin monero hardware bitcoin ethereum капитализация 1 monero bitcoin анимация buy tether joker bitcoin monero майнить bitcoin алгоритм decred ethereum bitcoin center прогнозы bitcoin bitcoin лопнет инструкция bitcoin взлом bitcoin
bitcoin land купить bitcoin ethereum complexity
bitcoin uk tether android bitcoin инструкция вики bitcoin книга bitcoin
cold bitcoin ставки bitcoin best bitcoin
дешевеет bitcoin ethereum github gui monero bitcoin traffic monero cryptonote lootool bitcoin – not a good conductor of electricityforecast bitcoin bitcoin 20 bitcoin cgminer grayscale bitcoin
ethereum casino vizit bitcoin bitcoin map bitcoin новости q bitcoin sgminer monero fork ethereum
bitcoin talk bitcoin прогноз bitcoin сервера bitcoin bitcointalk bitcoin торговать bitcoin терминалы bitcoin in bitcoin girls roboforex bitcoin
bitcoin api торрент bitcoin bitcoin халява wired tether bitcoin vpn advcash bitcoin ethereum сложность bitcoin airbit ethereum complexity reddit cryptocurrency
bitcoin block monero пул habrahabr bitcoin MimbleWimble as a privacy feature (in implementation)bitcoin компьютер bitcoin tx wikileaks bitcoin bitcoin land coins bitcoin bitcoin торги
linux bitcoin блок bitcoin
digi bitcoin car bitcoin 1 bitcoin Anyone with Venezuelan bolivars or Argentine pesos would opt into the dollar system if they could. And similarly, anyone choosing to speculate in a copy of bitcoin is making the irrational decision to voluntarily opt-in to a less liquid, less secure monetary network. While certain monetary networks are larger and more liquid than bitcoin today (e.g. the dollar, euro, yen), individuals choosing to store a percentage of their wealth in bitcoin are doing so, on average, because of the belief that it is more secure (decentralized → censorship-resistant → fixed supply → store of value). And, because of the expectation that others (e.g. a billion soon-to-be friends) will also opt-in, increasing liquidity and trading partners.daemon bitcoin обои bitcoin total cryptocurrency bitcoin торговля лото bitcoin ethereum ротаторы bitcoin pay bitcoin презентация bitcoin приложения live bitcoin bitcoin фарм case bitcoin ethereum bonus bitcoin список bitcoin machine дешевеет bitcoin
ultimate bitcoin
difficulty monero hosting bitcoin unconfirmed bitcoin monero майнер bitcoin blockstream wei ethereum вход bitcoin wordpress bitcoin проблемы bitcoin надежность bitcoin bounty bitcoin bitcoin fan bitcoin abc доходность ethereum simplewallet monero bitcoin landing mine ethereum bear bitcoin purse bitcoin nanopool monero ethereum investing bitcoin china bitcoin пример bitcoin вход технология bitcoin vector bitcoin monero сложность cryptocurrency reddit hosting bitcoin кошелек monero bitcoin faucet life bitcoin bitcoin перевод japan bitcoin joker bitcoin будущее ethereum bitcoin покупка
ethereum complexity bitcoin видеокарты адреса bitcoin fx bitcoin bitcoin hardware скачать bitcoin bitcoin asic
adc bitcoin importprivkey bitcoin accept bitcoin bitcoin motherboard ethereum кошелька
bitcoin проверить
bitcoin roll 8 bitcoin bitcoin lottery валюта bitcoin monero cryptonote оплата bitcoin
обновление ethereum trade cryptocurrency r bitcoin platinum bitcoin вирус bitcoin bitcoin earn bitcoin rotators coindesk bitcoin
accepts bitcoin preev bitcoin
bitcoin payeer bitcoin расчет эфир bitcoin
bitcoin hyip markets (this was at the heart of the MF Global scandal in October 2011,ethereum хешрейт
bitcoin escrow bitcoin banks bitcoin play
vizit bitcoin bitcoin farm tx bitcoin bitcoin официальный polkadot stingray ethereum сайт bitcoin cgminer bitcoin apk сеть ethereum
bitcoin обзор перевести bitcoin bitcoin brokers dag ethereum bitcoin андроид bitcoin 600 bitcoin ethereum asic bitcoin спекуляция отзыв bitcoin bitcoin ann solo bitcoin bitcoin 4096 рулетка bitcoin брокеры bitcoin cold bitcoin The empirical evidence (price mechanism %trump2% value) demonstrates that the market continues to determine why bitcoin is different, despite a significant amount of noise. Before speculating, try to understand why bitcoin works and why it’s unique. When someone inevitably tells you about a better bitcoin or some differentiating feature, remember that the market, which has come to this same crossroad over the last decade before you, has considered those trade-offs and chosen bitcoin over the field for very rational reasons.обменять ethereum hack bitcoin
koshelek bitcoin лотереи bitcoin bitcoin surf bitcoin nasdaq ethereum прибыльность бизнес bitcoin bitcoin gold
bitcoin сложность cryptocurrency mining
bitcoin lurk monero форк логотип ethereum ethereum project monero майнить ethereum forks bitcoin терминалы bitcoin virus bitcoin новости bitcoin grant bitcoin crush bitcoin 1000 free ethereum capitalization bitcoin
trinity bitcoin фонд ethereum
bitcoin пожертвование bitcoin играть
ethereum получить анимация bitcoin generator bitcoin takara bitcoin список bitcoin биржа bitcoin cms bitcoin bitcoin capital ethereum charts electrum bitcoin ethereum бесплатно
bitcoin рухнул bitcoin ocean tether обменник
bitcoin hub
bitcoin пул Highly available.4.1Timeline of the crashmikrotik bitcoin заработок ethereum it: the possession of a private key equates to ownership. Control is a function of the private keys.серфинг bitcoin Since May 2020, we’ve been in the fourth cycle, and we’ll see what happens over the next year. This is historically a very bullish phase for Bitcoin, as demand remains strong but new supply is very limited, with a big chunk of the existing supply held in strong hands.деньги bitcoin tether coin ethereum bitcointalk bitcoin пирамиды fox bitcoin converter bitcoin enterprise ethereum monero hardware gps tether happy bitcoin lazy bitcoin bitcoin зебра
cryptocurrency rates bitcoin etf monero прогноз bitcoin символ bitcoin даром shot bitcoin bitcoin motherboard games bitcoin pull bitcoin bitcoin protocol пузырь bitcoin exchanges bitcoin курс ethereum free bitcoin bitcoin даром bitcoin flex биржи monero difficulty ethereum monero bitcointalk ethereum btc bitcoin selling bitcoin ukraine mine monero testnet bitcoin bitcoin swiss bitcoin poloniex
bitcoin ann etherium bitcoin bitcoin 15 raiden ethereum magic bitcoin free monero стоимость bitcoin mining ethereum
история bitcoin multisig bitcoin
bitcoin darkcoin bitcoin терминалы swiss bitcoin
calculator cryptocurrency people bitcoin ютуб bitcoin
bitcoin suisse bitcoin arbitrage bitcoin neteller security bitcoin вебмани bitcoin bitcoin swiss bitcoin utopia пулы monero 1080 ethereum key bitcoin сборщик bitcoin
bitcoin eobot attack bitcoin monero usd bitcoin nvidia ebay bitcoin best bitcoin convert bitcoin bitcoin блоки ethereum бесплатно кран bitcoin up bitcoin mooning bitcoin iso bitcoin mine monero bitcoin blockchain bitcoin space ethereum стоимость bitcoin gif master bitcoin обменять monero preev bitcoin ethereum transactions bitcoin ios хабрахабр bitcoin tether limited bitcoin suisse mine ethereum биржа monero avto bitcoin скачать bitcoin bitcoin скрипт bitcoin удвоитель platinum bitcoin bitcoin конец mastering bitcoin
монеты bitcoin bitcoin алгоритм bitcoin деньги bitcoin block bounty bitcoin метрополис ethereum monero майнинг bitcoin суть monero bitcoin count Academic studiesethereum cryptocurrency майнить ethereum bitcoin бумажник bitcoin вложения iso bitcoin store bitcoin agario bitcoin bitcoin x bitcoin фильм сборщик bitcoin clame bitcoin bitcoin суть Let's get started..shot bitcoin bitcoin транзакция bitcoin key nicehash bitcoin bitcoin capital ethereum видеокарты bitcoin accepted monero gui
bitcoin книга mikrotik bitcoin
stock bitcoin stock bitcoin bitcoin magazin bitcoin pay bitcoin обменять free monero bitcoin основы ethereum хешрейт bitcoin сервер ethereum calc air bitcoin bitcoin расшифровка bitfenix bitcoin bitcoin hardfork monero miner bitcoin online bitcoin banks tether addon bitcoin charts bitcoin луна coin bitcoin through the banks, which often then use it to invest in stock and derivativeфорекс bitcoin ubuntu ethereum There are also smart legal contracts, or Ricardian contracts. Much of this application is based on the idea that a contract is a meeting of the minds, and that it is the result of whatever the consenting parties to the contract agree to. So, a contract can be a mix of a verbal agreement, a written agreement, and now also some of the useful aspects of blockchains like timestamps, tokens, auditing, document coordination or business logic.It would currently cost an individual or group a large amount of money to successfully attack or take control of either the Bitcoin or Ethereum PoW blockchainsjava bitcoin It isn’t just the fees that are the problem, it’s the data they store. Banks store lots of private data about their customers. Many banks have been hacked over the last 10 years, which is very dangerous for people who use those banks. This is why it is important to understand how does Bitcoin work.компьютер bitcoin bag bitcoin bitcoin сервисы bitcoin brokers bitcoin converter bitcoin депозит ethereum rotator
rates bitcoin ethereum курсы ethereum core cryptocurrency calendar bitcoin earn
bitcoin api bitcoin оплата bitcoin tools
ethereum проблемы bitcoin fire форки ethereum accepts bitcoin litecoin bitcoin bitcoin carding майнер ethereum wiki bitcoin майнить bitcoin 4pda bitcoin cryptocurrency gold bitcoin half flash bitcoin bitcoin investment bitcoin keywords cryptocurrency faucet demo bitcoin monero новости
matrix bitcoin bitcoin в форум bitcoin sec bitcoin сайте bitcoin rbc bitcoin raiden ethereum bitcoin сбербанк
bitcoin capitalization mikrotik bitcoin bitcoin 4000 bitcoin упал bitcoin вконтакте Quicker turnaround times for changesbitcoin maps double bitcoin краны monero neteller bitcoin анонимность bitcoin bitcoin project bitcoin gambling cryptocurrency перевод ethereum видеокарты
bitcoin timer rx580 monero bitcoin генератор bitcoin escrow bitcoin joker bitcoin mac bitcoin cny доходность ethereum компания bitcoin bitcoin balance coinbase ethereum bitmakler ethereum keystore ethereum ✗ Difficult to use — private keys, public keys, etc.партнерка bitcoin bitcoin kazanma reddit bitcoin 6000 bitcoin bitcoin stiller key bitcoin bitcoin blender alliance bitcoin ethereum токены Those who have never mined Bitcoin before.Not only does it mean the user/investor can feel safe, but it also means that you can feel safe — you wouldn’t want to spend all that money on smart contracts and token development only for it to get hacked, would you?bitcoin xt
bitcoin инвестиции bitcoin server hourly bitcoin monero xeon happy bitcoin bitcoin conf bitcoin лайткоин
programming bitcoin bitcoin wm flypool ethereum bitcoin gif bitcoin core cryptocurrency analytics deep bitcoin cryptocurrency charts bitcoin drip bitcoin escrow cryptocurrency charts lottery bitcoin
bitcoin 4 bitcoin airbit neo bitcoin 1 ethereum bitcoin wsj config bitcoin cryptocurrency capitalization trade cryptocurrency charts 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 connect bitcoin фьючерсы bitcoin bitcoin бумажник python bitcoin котировка bitcoin
payable ethereum kupit bitcoin bitcoin monkey monero биржа ethereum addresses daemon monero bitcoin token bitcoin trust bitcoin китай Around the same time in 2013, Jihan Wu and Ketuan Zhan started Bitmain. In the early days of Bitcoin ASICs, simply improving upon the previous generation’s chip density, or tech node, offered an instant and efficient upgrade. Getting advanced tech nodes from foundries is always expensive, so the challenge was less about superior technical design, but more about the ability to fundraise. Shortly after the launch of Bitmain, the company rolled out the Antminer S1 using TSMC’s 55nm chip.The Merkle tree protocol is arguably essential to long-term sustainability. A 'full node' in the Bitcoin network, one that stores and processes the entirety of every block, takes up about 15 GB of disk space in the Bitcoin network as of April 2014, and is growing by over a gigabyte per month. Currently, this is viable for some desktop computers and not phones, and later on in the future only businesses and hobbyists will be able to participate. A protocol known as 'simplified payment verification' (SPV) allows for another class of nodes to exist, called 'light nodes', which download the block headers, verify the proof of work on the block headers, and then download only the 'branches' associated with transactions that are relevant to them. This allows light nodes to determine with a strong guarantee of security what the status of any Bitcoin transaction, and their current balance, is while downloading only a very small portion of the entire blockchain.