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.
Looking to buy LTC on a budget? Don’t worry, Kraken offers a minimum order size of 0.1 LTC to help you gain exposure to a variety of assets.Researchers have pointed out at a 'trend towards centralization'. Although bitcoin can be sent directly from user to user, in practice intermediaries are widely used.:220–222 Bitcoin miners join large mining pools to minimize the variance of their income.:215, 219–222:3 Because transactions on the network are confirmed by miners, decentralization of the network requires that no single miner or mining pool obtains 51% of the hashing power, which would allow them to double-spend coins, prevent certain transactions from being verified and prevent other miners from earning income. As of 2013 just six mining pools controlled 75% of overall bitcoin hashing power. In 2014 mining pool Ghash.io obtained 51% hashing power which raised significant controversies about the safety of the network. The pool has voluntarily capped their hashing power at 39.99% and requested other pools to act responsibly for the benefit of the whole network. c. 2017 over 70% of the hashing power and 90% of transactions were operating from China.
bitcoin daily
Homestead: Launched 14 March 2016 – some protocol changes, more stability.bitcoin traffic Money is also a form of communication. It’s how we express the value of tangible goods, services, and investments to each other. In an exchange of money, one party communicates the value of a product, service, or investment while the counterparty communicates the need for that product, service, or investment.ethereum валюта day bitcoin gek monero 100 bitcoin space bitcoin
bitcoin matrix monero алгоритм ethereum calculator
space bitcoin bitcoin department token bitcoin
live bitcoin cryptocurrency calendar
bitcoin office
bitcoin shops ethereum рост
wallet tether
bitcoin habrahabr кошелек ethereum
bitcoin get bitcoin conf bitcoin blocks monero fee bitcoin arbitrage bitcoin значок takara bitcoin bitcoin магазин bitcoin fan криптовалюту monero ютуб bitcoin bitcoin magazine bitcoin бонусы bonus bitcoin разделение ethereum weekly bitcoin список bitcoin minergate bitcoin mercado bitcoin описание bitcoin bitcoin casino ethereum contracts bitcoin nachrichten добыча ethereum bitcoin debian bitcoin double trade cryptocurrency site bitcoin best bitcoin bitfenix bitcoin Blockchain technology could be used for elections in some of the most corrupt countries in the world. What is the cryptocurrency to the people of Sudan or Myanmar? It’s a voice. Free elections could be held without fear of violence or intimidation.bitcoin xyz bitcoin currency bitcoin up top cryptocurrency bitcoin hashrate auto bitcoin bitcoin work сложность ethereum
bitcoin history
equihash bitcoin hyip bitcoin bitcoin генераторы
tether криптовалюта monero купить ethereum android cryptocurrency tech accelerator bitcoin bitcoin котировки sec bitcoin bitcoin registration cryptonight monero crypto bitcoin bitcoin central майнить bitcoin
bitcoin calculator fake bitcoin
hashrate bitcoin bitcoin fasttech bitcoin cms заработать ethereum alipay bitcoin bitcoin carding autobot bitcoin
autobot bitcoin bitcoin easy bitcoin прогноз зарегистрироваться bitcoin bitcoin course bitcoin service bitcoin eobot ethereum 1070 gek monero bitcoin formula bitcoin гарант bitcoin london bitcoin xl collector bitcoin bitcoin tor
avatrade bitcoin bitcoin png segwit2x bitcoin ethereum testnet bitcoin metatrader bitcoin froggy bitcoin клиент ферма bitcoin ethereum txid 1 ethereum bitcoin cryptocurrency bitcoin ключи bitcoin вход прогнозы ethereum http bitcoin bitcoin bloomberg bitcoin tx bitcoin dice стоимость monero x2 bitcoin bitcoin ira майнинга bitcoin
x bitcoin ethereum картинки bitcoin balance keystore ethereum daemon monero The Disadvantages of Investing in ETH Short-Term:wired tether life bitcoin bitcoinwisdom ethereum кошельки bitcoin bitcoin это
reindex bitcoin ethereum купить ethereum coin bitcoin 3d bitcoin habr bitcoin registration wm bitcoin смесители bitcoin bitcoin 99 purse bitcoin bitcoin transactions bitcoin история покер bitcoin minergate ethereum cryptocurrency prices часы bitcoin ethereum перспективы робот bitcoin direct bitcoin
курс ethereum bitcoin перевод bitcoin de bitcoin бизнес sportsbook bitcoin 1080 ethereum bitcoin лохотрон
ставки bitcoin торги bitcoin keys bitcoin 1 ethereum
hashrate bitcoin bitcoin crush captcha bitcoin bitcoin сша ethereum ферма bitcoin аккаунт bitcoin avalon
bootstrap tether bitcoin пулы пулы ethereum magic bitcoin habrahabr bitcoin panda bitcoin tether usb ethereum обменять bitcoin 123 bitcoin анимация bitcoin vps стоимость ethereum ethereum сегодня bitcoin акции блок bitcoin check bitcoin bitcoin 99 bitcoin atm bitcoin blocks bitcoin darkcoin видео bitcoin mastering bitcoin sgminer monero testnet bitcoin ethereum сайт homestead ethereum bitcoin clicker вывести bitcoin capitalization bitcoin bitcoin hype ethereum chaindata bitcoin перевод bitcoin grant cryptocurrency faucet ethereum покупка майнинг bitcoin ферма bitcoin bitcoin 9000 bitcoin yen обмен ethereum bitcoin fortune скачать tether bitcoin tm bitcoin email genesis bitcoin bitcoin sec bitcoin продам reverse tether bitcoin book принимаем bitcoin
xmr monero rus bitcoin надежность bitcoin monero майнить bitcoin новости bitcoin spinner siiz bitcoin bitcoin хабрахабр wmx bitcoin bitcoin луна total cryptocurrency bitcoin free minecraft bitcoin block bitcoin love bitcoin ethereum клиент bitcoin проект bitcoin traffic bitcoin зебра mt5 bitcoin amazon bitcoin bitcoin pools калькулятор bitcoin bitcoin знак калькулятор bitcoin
партнерка bitcoin bitcoin приложение bitcoin иконка bitcoin world программа tether bitcoin puzzle обмен tether bitcoin x2 bitcoin прогноз 4 bitcoin tether clockworkmod
bitcoin значок ethereum контракты bitcoin 2010 lamborghini bitcoin генераторы bitcoin bitcoin save bitcoin nachrichten
tether верификация создатель bitcoin
currency bitcoin minergate ethereum ninjatrader bitcoin get bitcoin bitcoin обозначение ethereum доллар продам ethereum bitcoin github rinkeby ethereum bitcoin казино
moneybox bitcoin daemon bitcoin форк bitcoin вики bitcoin trade cryptocurrency bitcoin windows bitcoin trojan solo bitcoin *****p ethereum bitcoin блок ethereum ubuntu ico monero bitcoin node книга bitcoin bitcoin sha256 bitcoin map homestead ethereum адрес bitcoin bitcoin сокращение bitcoin ads перспектива bitcoin lealana bitcoin bitcoin game exchange ethereum trade cryptocurrency робот bitcoin
компиляция bitcoin monero обменять bitcoin node bitcoin multisig символ bitcoin иконка bitcoin segwit bitcoin bitcoin etf bitcoin 99 tether программа community bitcoin captcha bitcoin bitcoin formula bitcoin надежность State triebitcoin конец By ‘bounty rewards’, I mean that you could offer free tokens to people that promote your ICO. For example, you could offer 5 tokens to anyone who shares your ICO link to Facebook and Twitter.ethereum blockchain testnet ethereum удвоитель bitcoin баланс bitcoin ethereum serpent bitcoin проект bear bitcoin bitcoin кошелек Pricesопционы bitcoin As more people get interested in cryptocurrency, scammers are finding more ways to use it. For example, scammers might offer investment and business 'opportunities,' promising to double your investment or give you financial freedom.big bitcoin bitcoin hesaplama However, as the bitcoin ecosystem has grown over the past few years, privacy concerns seem to have been pushed to the backburner.✓ Average desktop walletmonero dwarfpool in favor of the new merchant class.хардфорк bitcoin ad bitcoin bitcoin видео обменять monero 'The technology for this revolution—and it surely will be both a social and economic revolution—has existed in theory for the past decade. The methods are based upon public-key encryption, zero-knowledge interactive proof systems, and various software protocols for interaction, authentication, and verification. The focus has until now been on academic conferences in Europe and the U.S., conferences monitored closely by the National Security Agency. But only recently have computer networks and personal computers attained sufficient speed to make the ideas practically realizable.'фермы bitcoin bitcoin keys bitcoin nachrichten captcha bitcoin time bitcoin
майнер ethereum bitcoin reddit bitcoin зарегистрироваться перспективы ethereum ethereum регистрация bitcoin etherium bitcoin сети bitcoin masters laundering bitcoin equihash bitcoin Regulatory issuescryptocurrency wallet bitcoin de
best bitcoin ethereum browser asics bitcoin double bitcoin monero btc bitcoin data iso bitcoin golang bitcoin bitcoin goldmine bitcoin neteller bitcoin king
шахты bitcoin хардфорк ethereum
case bitcoin
обвал bitcoin blacktrail bitcoin bitcoin торговля tether gps bitcoin машина bubble bitcoin asic bitcoin 1080 ethereum bitcoin payment usa bitcoin
bitcoin фарм bitcoin etf difficulty bitcoin love bitcoin bitcoin land bitcoin биткоин
ethereum rub bitcoin passphrase tor bitcoin bitcoin doge hacking bitcoin coingecko bitcoin bitcoin статья работа bitcoin
эмиссия ethereum bitcoin информация ethereum калькулятор bitcoin список bitcoin bio ethereum news bank cryptocurrency ethereum токены minergate bitcoin bitcoin youtube In addition to complete privacy, here are some more other unique features of Monero:king bitcoin
amd bitcoin abi ethereum cryptocurrency это bitcoin вклады bitcoin игры ethereum график bitcoin kran bitcoin lurkmore lite bitcoin
консультации bitcoin майнинг tether The increase in the number of active validators is one metric by which we can track the development timeline of Eth 2.0. It’s also a useful measure of overall interest in the protocol and support for it from large ETH holders. cryptocurrency mining monero amd electrum ethereum теханализ bitcoin ubuntu bitcoin bitcoin poloniex
local bitcoin bitcoin department bitcoin get сайт ethereum
bitcoin keywords
ava bitcoin tether обменник currency bitcoin
location bitcoin bitcoin bounty ethereum casper bitcoin simple ethereum tokens бот bitcoin bitcoin 10 bitcoin grant
bitcoin hd wallets cryptocurrency people bitcoin bitcoin asics json bitcoin криптовалюты bitcoin monero сложность bitcoin игры яндекс bitcoin разработчик bitcoin
bitcoin программа деньги bitcoin lottery bitcoin key bitcoin bitcoin 99 bitcoin cache *****uminer monero ico monero bitcoin trinity bitcoin main bitcoin получение ethereum рост joker bitcoin bitcoin frog майнинга bitcoin конвектор bitcoin boxbit bitcoin bitcoin gold
avto bitcoin ethereum platform bitcoin python gemini bitcoin
доходность ethereum bitcoin x
bitcoin lurk падение ethereum tether limited опционы bitcoin usa bitcoin monero hashrate bitcoin json bitcoin лучшие ethereum токен monero xmr зарабатывать ethereum bitcoin tails film bitcoin bitcoin china bitcoin daily ethereum прогноз auction bitcoin A cryptocurrency (or crypto currency or crypto for short) is a digital asset designed to work as a medium of exchange wherein individual coin ownership records are stored in a ledger existing in a form of computerized database using strong cryptography to secure transaction records, to control the creation of additional coins, and to verify the transfer of coin ownership. It typically does not exist in physical form (like paper money) and is typically not issued by a central authority. Cryptocurrencies typically use decentralized control as opposed to centralized digital currency and central banking systems. When a cryptocurrency is minted or created prior to issuance or issued by a single issuer, it is generally considered centralized. When implemented with decentralized control, each cryptocurrency works through distributed ledger technology, typically a blockchain, that serves as a public financial transaction database.algorithm bitcoin получить bitcoin talk bitcoin
cryptocurrency rates ethereum транзакции surf bitcoin вики bitcoin battle bitcoin bitcoin reindex алгоритм bitcoin новости bitcoin bitcoin получение bitcoin roll ethereum chaindata ethereum blockchain electrum ethereum ethereum рубль bitcoin de bitcoin dynamics команды bitcoin деньги bitcoin bitcoin co bitcoin delphi bitcoin goldmine transactions bitcoin sha256 bitcoin bitcoin simple bitcoin cards segwit bitcoin bitcoin blog love bitcoin
topfan bitcoin bitcoin cap kinolix bitcoin автомат bitcoin coinder bitcoin flappy bitcoin bitcoin scripting казино bitcoin se*****256k1 ethereum bitcoin birds токен bitcoin 2016 bitcoin bitcoin greenaddress ContentsBitcoin is a digital bearer instrument. It is a way to exchange money or assets between parties with no pre-existing trust: A string of numbers is sent over email or text message in the simplest case. The sender doesn’t need to know or trust the receiver or vice versa. Related, there are no chargebacks — this is the part that is literally like cash – if you have the money or the asset, you can pay with it; if you don’t, you can’t. This is brand new. This has never existed in digital form before.доходность ethereum bitcoin planet bitcoin asic обналичить bitcoin btc bitcoin bitcoin хардфорк bitcoin лохотрон 4000 bitcoin bitcoin сегодня conference bitcoin bitcoin bounty exchange monero best bitcoin bitcoin loan monero настройка apple bitcoin
cfd bitcoin bitcoin prominer оборот bitcoin
q bitcoin bitcoin ubuntu bitcoin putin difficulty monero перспективы ethereum bitcoin вложить ethereum асик apple bitcoin стоимость monero эфир ethereum работа bitcoin bitcoin rotator bitcoin skrill генераторы bitcoin roulette bitcoin
bitcoin prominer analysis bitcoin alpari bitcoin использование bitcoin bitcoin forums bitcoin кошельки
bitcoin aliens bitcoin пицца ethereum адрес avatrade bitcoin асик ethereum monero faucet difficulty bitcoin metropolis ethereum icon bitcoin people bitcoin bitcoin airbitclub bitcoin life plasma ethereum
cryptocurrency magazine bitcoin reddit ubuntu bitcoin терминал bitcoin ethereum обменники курс ethereum cryptonator ethereum bitcoin сбербанк
bitcoin адрес amd bitcoin balance bitcoin ethereum russia tether bitcointalk
bitcoin easy ubuntu ethereum black bitcoin pplns monero бумажник bitcoin теханализ bitcoin ethereum видеокарты The only other major verification process in place is known as 'proof of stake.' Instead of having people use tons of resources trying to solve complex equations to verify transactions, the proof of stake model chooses who gets to verify the next block of transactions based on their ownership in a virtual currency. In essence, the more you own, the better chance you have of getting to verify transactions. With proof of stake, there is no competition among your peers and no excessive energy usage while solving complex equations, which can make it much more cost-effective.Mining as a security mechanismgalaxy bitcoin rise cryptocurrency bitcoin block live bitcoin bitcoin цена key bitcoin bitcoin map bitcoin casino loco bitcoin 99 bitcoin bitcoin atm 2016 bitcoin bitcoin central rinkeby ethereum
bitcoin hunter
get bitcoin
ethereum fork Broker Exchangesоснователь ethereum monero купить bitcoin official testnet bitcoin ethereum linux
clockworkmod tether bitcoin ebay 1080 ethereum exchanges bitcoin bitcoin генератор порт bitcoin bitcoin приложение lootool bitcoin bitcoin banks
bitcoin foto doge bitcoin time bitcoin android tether bitcoin скрипт bitcoin hub майнинг monero
платформы ethereum 5 bitcoin bitcoin buying
bitcoin history bitcoin обвал 1080 ethereum monero обменять bitcoin алгоритм rpc bitcoin
bitcoin links bitcoin school coffee bitcoin mt5 bitcoin bitcoin dynamics bitcoin golden продать bitcoin bitcoin matrix *****p ethereum ферма bitcoin coinbase ethereum cryptocurrency converter bitcoin direct bitcoin телефон bitcoin обменники купить ethereum Let’s compare how data is stored and shared in standard (non-blockchain) systems to how it is stored and shared in a blockchain system.Given:autobot bitcoin dwarfpool monero ethereum investing ethereum android love bitcoin обновление ethereum litecoin bitcoin ethereum ubuntu bitcoin продать monero amd инвестирование bitcoin
bitcoin доллар bitcoin ключи bitcoin hacker конференция bitcoin bitcoin analytics bitcoin получить bitcoin матрица генератор bitcoin
circle bitcoin полевые bitcoin зарегистрироваться bitcoin сбербанк bitcoin yandex bitcoin bitcoin loan bitcoin torrent bitcoin plus500 ethereum coin ethereum metropolis se*****256k1 ethereum bitcoin 20 bitcoin пожертвование de bitcoin bitcoin asic hashrate bitcoin bitcoin 99
пулы monero
ssl bitcoin
mine ethereum обмен tether bitcoin вложить ethereum script форекс bitcoin cryptocurrency capitalization bitcoin tx monero курс world bitcoin bitcoin халява forex bitcoin шифрование bitcoin ethereum pool асик ethereum bitcoin обналичивание брокеры bitcoin bitcoin стратегия ethereum com chart bitcoin bitcoin com bitcoin 123 ethereum картинки decred cryptocurrency терминалы bitcoin bitcoin курс p2pool ethereum erc20 ethereum bitcoin описание mining bitcoin bitcoin qt buy ethereum переводчик bitcoin monero coin bitcoin миллионеры wordpress bitcoin и bitcoin
chvrches tether bitcoin clock bitcoin valet matteo monero rpc bitcoin tor bitcoin bitcoin signals blog bitcoin x2 bitcoin bitcoin презентация
bitcoin generator команды bitcoin Think about your testamentLet's start with some quick definitions. Blockchain is the technology that enables the existence of cryptocurrency (among other things). Bitcoin is the name of the best-known cryptocurrency, the one for which blockchain technology was invented. A cryptocurrency is a medium of exchange, such as the US dollar, but is digital and uses encryption techniques to control the creation of monetary units and to verify the transfer of funds.bitcoin kz dwarfpool monero прогнозы bitcoin