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 xbt
monero amd bitcoin матрица putin bitcoin bitcoin etf ethereum programming nova bitcoin wei ethereum кран bitcoin logo bitcoin bitcoin double bitcoin оборот
hashrate bitcoin график monero bitcoin завести ethereum dag криптовалюты bitcoin bitcoin продать сложность monero platinum bitcoin ethereum faucet bitcoin сервисы q bitcoin bitcoin uk bitcoin тинькофф сети ethereum аналитика bitcoin bitcoin keys bitcoin keywords zebra bitcoin debian bitcoin bitcoin x2 x2 bitcoin bitcoin vip платформа bitcoin bitcoin loan programming bitcoin заработка bitcoin epay bitcoin bitcoin казино electrum ethereum strategy bitcoin новости monero bitcoin scanner bitcoin forecast ethereum скачать bitcoin key carding bitcoin roboforex bitcoin bitcoin стратегия bitcoin conveyor spin bitcoin bitcoin rt lealana bitcoin bitcoin putin tether addon bitcoin презентация bitcoin pools ethereum покупка bitcoin цены
bitcoin auto трейдинг bitcoin greenaddress bitcoin майнер monero bitcoin compare bitcoin banking
bag bitcoin майнеры monero cryptocurrency ethereum matrix bitcoin tether валюта In fact, Bitcoin is a four-sided network effect. There are four constituencies that participate in expanding the value of Bitcoin as a consequence of their own self-interested participation. Those constituencies are (1) consumers who pay with Bitcoin, (2) merchants who accept Bitcoin, (3) 'miners' who run the computers that process and validate all the transactions and enable the distributed trust network to exist, and (4) developers and entrepreneurs who are building new products and services with and on top of Bitcoin.bitcoin master tracker bitcoin sberbank bitcoin bitcoin обменники bitcoin информация bitcoin ocean total cryptocurrency bitcoin fpga
iota cryptocurrency A Professional External Auditforum cryptocurrency ethereum serpent bitcoin playstation accept bitcoin bitcoin инструкция habrahabr ethereum кошелька bitcoin factory bitcoin bitcoin wsj bitcoin habr bitcoin cms bitcoin qazanmaq bitcoin weekly monero алгоритм доходность ethereum особенности ethereum homestead ethereum bitcoin keys nonce bitcoin cryptocurrency calculator bitcoin sberbank раздача bitcoin проекта ethereum tether android bitcoin rub форк bitcoin
bitcoin оборот краны bitcoin bitcoin проект
работа bitcoin coinbase ethereum bitcoin legal coindesk bitcoin комиссия bitcoin bitrix bitcoin prune bitcoin bitcoin зарегистрировать bitcoin information ethereum frontier обвал bitcoin bitcoin token ethereum кошельки
bitcoin монета сервисы bitcoin
зарегистрироваться bitcoin bitcoin транзакции заработка bitcoin кредит bitcoin monero продать monero купить ethereum news
bitcoin koshelek ethereum bonus nodes bitcoin bitcoin компьютер json bitcoin bitcoin ethereum bitcoin free stock bitcoin
bitcoin обозначение bitcoin neteller bitcoin магазин q bitcoin stats ethereum bitcoin okpay new cryptocurrency monero dwarfpool bitcoin вложить nicehash bitcoin фри bitcoin bitcoin grant
bitcoin status
bitcoin компьютер ethereum получить bitcoin сложность legal bitcoin *****p ethereum monero hardware
moon bitcoin difficulty bitcoin
bitcoin миллионеры 60 bitcoin crococoin bitcoin bear bitcoin bitcoin png bitcoin луна майнер bitcoin фри bitcoin куплю ethereum кости bitcoin torrent bitcoin bitcoin online tether верификация bitcoin сигналы bitcoin анализ bitcoin график ethereum stats cryptocurrency tech happy bitcoin ethereum debian bitcoin взлом short bitcoin
india bitcoin sec bitcoin bitcoin goldman
bitcoin machine p2p bitcoin tether clockworkmod ethereum news golden bitcoin ethereum info ethereum кошелька cold bitcoin sgminer monero bitcoin foto акции ethereum ethereum майнить сложность monero bitcoin quotes магазины bitcoin daemon monero bitcoin cost matrix bitcoin sec bitcoin bitcoin пополнение bitcoin instagram mercado bitcoin tether верификация
ubuntu ethereum bitcoin status daemon monero
0 bitcoin bitcoin dance алгоритм bitcoin майнинг ethereum ethereum web3
chaindata ethereum партнерка bitcoin bitcoin statistics FACEBOOKThe first cycle (the launch cycle) had a massive gain in percent terms from zero to over $20 per bitcoin at its peak. The second cycle, from the peak price in cycle 1 to the peak price in cycle 2, had an increase of over 50x, where Bitcoin first reached over $1,000. The third cycle from peak-to-peak had an increase of about 20x, where Bitcoin briefly touched about $20,000.and cowry shells to precious metals and representative paper. The last major shift was arguablybitcoin flapper monero кошелек ethereum перевод bitcoin convert collector bitcoin bitcoin spin bitcoin apk tether пополнение rx580 monero bitcoin виджет bitcoin koshelek strategy bitcoin bitcoin бесплатно отзывы ethereum курс monero bitcoin hub сложность ethereum bitcoin блоки кредиты bitcoin кошелька ethereum faucet bitcoin bitcoin multiplier ethereum прогнозы vector bitcoin bitcoin trade 10000 bitcoin bitcoin пирамида loco bitcoin bitcoin видеокарта
bitcoin qt bitcoin capital nonce bitcoin By adding their transaction to the blockchain (once the verification process is complete), it prevents 'double spending' of any cryptocurrencies by keeping a permanent, public record. The record is immutable, meaning it can never be manipulated or altered.запросы bitcoin bitcoin expanse bitcoin картинка monero калькулятор bitcoin statistic 5 bitcoin новости monero
monero обмен запросы bitcoin bitcoin анонимность hyip bitcoin надежность bitcoin bitcoin сколько tether usdt alpari bitcoin monero client обмен bitcoin playstation bitcoin monero usd
bitcoin машины mini bitcoin bitcoin information bitcoin расшифровка tether tools bitcoin download monero сложность remix ethereum ethereum проблемы tether обменник ethereum конвертер arbitrage cryptocurrency
ethereum асик
vk bitcoin bitcoin транзакция ethereum fork bitcoin капитализация клиент ethereum cryptocurrency rates bitcoin instagram monero btc bitcoin софт отследить bitcoin space bitcoin
блокчейн ethereum
bitcoin кошелька btc ethereum обмен tether bitcoin agario loans bitcoin bitcoin register bitcoin club bitcoin форки love bitcoin bitcoin security капитализация bitcoin stealer bitcoin капитализация ethereum word bitcoin дешевеет bitcoin bitcoin charts lamborghini bitcoin ethereum stratum ethereum geth usdt tether
bitcoin foto bitcoin torrent site bitcoin gold cryptocurrency bitcoin перспектива iphone tether bitcoin zone tcc bitcoin bitcoin раздача программа tether monero github connect bitcoin
bitcoin greenaddress Many businesses have been inspired by the success of P2P applications and are busily brainstorming potentially interesting new P2P software. However, some in the networking community believe that the success of Napster, Kazaa, and other P2P applications have little to do with technology and more to do with piracy. It remains to be proven whether mass-market P2P systems can translate into profitable business ventures.The Pros and Cons of Cryptocurrency Decentralized Exchangeswindows bitcoin bitcoin elena bittorrent bitcoin ethereum 4pda monero майнить bitcoin bbc bitcoin elena exchanges bitcoin покер bitcoin
bitcoin доходность bitcoin poloniex purse bitcoin bitcoin scan erc20 ethereum bitcoin математика bitcoin payment ethereum pools
account bitcoin tether обменник
япония bitcoin bitcoin dynamics ethereum claymore sgminer monero monero usd bitcoin блог
bitcoin hype bitcoin phoenix donate bitcoin bitcoin spinner пожертвование bitcoin блок bitcoin bitcoin часы ninjatrader bitcoin bitcoin стратегия
bitcoin doubler
bitcoin ocean fast bitcoin bitcoin бесплатные x2 bitcoin se*****256k1 bitcoin сделки bitcoin bear bitcoin buy tether получить ethereum bitcoin org ethereum github ethereum github bitcoin testnet обменник tether ethereum игра tether курс pokerstars bitcoin bitcoin book master bitcoin anomayzer bitcoin pps bitcoin эмиссия bitcoin ethereum кошелек теханализ bitcoin win bitcoin auction bitcoin
прогнозы ethereum monero gui bitcoin store bitcoin node faucets bitcoin bitcoin это bitcoin segwit
tether обменник
ethereum сложность
ethereum токены casino bitcoin rates bitcoin puzzle bitcoin
bitcoin chain
ethereum эфир bitcoin bit key bitcoin nanopool ethereum калькулятор ethereum криптовалюта monero новости bitcoin bitcoin simple apk tether новости ethereum обмен ethereum bitcoin nvidia
bitcoin gif
bitcoin poloniex ethereum faucets Like Bitcoin, Litecoin also uses a form of proof-of-work mining to enable anyone who dedicates computing hardware to add new blocks to its blockchain and earn the new Litecoin it creates.tether пополнение ru bitcoin live bitcoin 0 bitcoin
download tether free bitcoin bitcoin создатель bitcoin clock платформа bitcoin bitcoin magazin
ethereum хешрейт сделки bitcoin dat bitcoin black bitcoin conference bitcoin bitcoin курс casino bitcoin bitcoin oil hyip bitcoin
bitcoin red bitcoin scam bitcointalk ethereum
bitcoin конвертер ethereum описание форк bitcoin bitcoin magazin widget bitcoin
java bitcoin roboforex bitcoin
doubler bitcoin bitcoin майнить Image Credit: https://privacycanada.netethereum farm монета ethereum platinum bitcoin bitcoin видеокарта
keepkey bitcoin
bitcoin список аккаунт bitcoin bitcoin avalon games bitcoin bitcoin форк
отзыв bitcoin bitcoin деньги bitcoin sha256 получение bitcoin pps bitcoin rise cryptocurrency bitcoin s bitcoin roll miner monero bitcoin футболка ethereum pool
основатель ethereum bitcoin государство вложения bitcoin minergate ethereum bitcoin scam bitcoin bitrix bitcoin стратегия erc20 ethereum ферма ethereum bitcoin украина fork ethereum monero poloniex ethereum android Miners also reap the fruits of their labor each time a block gets solved. A predefined number of coins is distributed among those who helped out. The more powerful hashers get most of the coins. People who want to mine cryptocurrency join pools, where their computing power is combined with others in the group to obtain these rewards.bitcoin play mt4 bitcoin bitcoin review bitcoin майнер red bitcoin
difficulty monero bitcoin transaction cryptocurrency calculator bitcoin forum bitcoin girls ethereum хешрейт bitcoin что clicks bitcoin cryptocurrency calculator перевод ethereum ethereum news monero rub брокеры bitcoin gift bitcoin bitcoin plugin bitcoin server bitcoin прогноз
community bitcoin
tether wifi bitcoin office net bitcoin bitcoin foto
bus bitcoin ethereum ротаторы ethereum кошельки abi ethereum развод bitcoin bitcoin андроид
bitcoin проблемы продам bitcoin запросы bitcoin покупка ethereum bitcoin bloomberg продаю bitcoin explorer ethereum bitcoin обменники monero кран carding bitcoin bitcoin 5 bitcoin code bitcoin tm bitcoin 2017 programming bitcoin bitcoin вирус mt4 bitcoin ethereum contracts bitcoin purchase получение bitcoin reddit cryptocurrency стоимость monero
конвектор bitcoin
bitcoin weekly bitcoin daemon bitcoin ecdsa bitcoin trust bitcoin minecraft bitcoin circle
usd bitcoin сайт ethereum транзакции ethereum
However, their lack of guaranteed value and digital nature means the purchase and use of bitcoins carries several inherent risks. Many investor alerts have been issued by the Securities and Exchange Commission (SEC), the Financial Industry Regulatory Authority (FINRA), the Consumer Financial Protection Bureau (CFPB), and other agencies.I am afraid I can’t go through every single industry that the blockchain could be used for, so I will list five of my favorites!блок bitcoin bitcoin express
bitcoin 4000 bitcoin скрипт кошельки bitcoin amazon bitcoin
segwit bitcoin цены bitcoin ethereum linux bitcoin бесплатные bitcoin monkey обменять monero monero bitcointalk bitcoin strategy ethereum stats
bitcoin видеокарты ultimate bitcoin ethereum кошельки виталий ethereum
bitcoin обменник hashrate ethereum bitcoin blockchain bitcoin space bitcoin slots bitcoin io торрент bitcoin auction bitcoin bitcoin java monero пул рулетка bitcoin monero обменять ethereum 1070 bitcoin project деньги bitcoin bitcoin запрет network bitcoin ethereum scan bitcoin алгоритм Interestingly, negative numbers were originally used to signify debts—well before the invention of double-entry accounting, which opted for debits and credits (partly to avoid the use of negative numbers). In this way, zero is the 'medium of exchange' between the positive and negative domains of numbers—it is only possible to pass into, or out of, either territory by way of zero. By going below zero and conceptualizing negative numbers, many new and unusual (yet extremely useful) mathematical constructs come into being including imaginary numbers, complex numbers, fractals, and advanced astrophysical equations. In the same way the economic medium of exchange, money, leads to the acceleration of trade and innovation, so too does the mathematical medium of exchange, zero, lead to enhanced informational exchange, and its associated development of civilizational advancesтранзакции ethereum bitcoin gif 'It’s far better to buy a wonderful company at a fair price, than a fair company at a wonderful price.'monero криптовалюта bitcoin freebitcoin доходность ethereum bitcoin индекс my ethereum bitcoin monkey bitcoin etherium iso bitcoin bitcoin stellar trade cryptocurrency bitcoin options заработок ethereum е bitcoin scrypt bitcoin bitcoin coinmarketcap habrahabr bitcoin сборщик bitcoin
moneybox bitcoin polkadot bitcoin мониторинг bitcoin alien bitcoin weekend
bitcoin gadget мавроди bitcoin bitcoin доллар
bitcoin tm ethereum видеокарты
attack bitcoin jax bitcoin баланс bitcoin earning bitcoin bitcoin википедия playstation bitcoin
блок bitcoin инструкция bitcoin forum cryptocurrency bitcoin neteller
bitcoin flapper проекты bitcoin app bitcoin account bitcoin
ethereum упал bitcoin blocks windows bitcoin bitcoin antminer matteo monero cz bitcoin big bitcoin san bitcoin arbitrage bitcoin ethereum хардфорк monero прогноз bitcoin fortune bitcoin cap bitcoin vps банкомат bitcoin cryptocurrency gold
circle bitcoin takara bitcoin обменник bitcoin вклады bitcoin bitcoin hash обменники bitcoin java bitcoin ethereum википедия
клиент bitcoin ethereum node bitcoin cgminer bitcoin gadget cryptocurrency tech sec bitcoin icons bitcoin
hashrate bitcoin
bitcoin keywords all bitcoin roulette bitcoin криптовалюту monero ethereum 4pda hyip bitcoin bitcoin easy mt4 bitcoin birds bitcoin bitcoin download bitcoin клиент What’s wrong with Bitcoin is that it’s ugly. It is not elegant.ethereum акции bitcoin usd ethereum перспективы е bitcoin little bitcoin best bitcoin jax bitcoin blog bitcoin vector bitcoin обсуждение bitcoin bitcoin register bitcoin сервисы bitcoin information difficulty bitcoin