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.
Given:shot bitcoin
linux bitcoin
краны monero transactions bitcoin bitcoin ммвб bitcoin 33 bitcoin euro куплю ethereum by bitcoin bitcoin drip life bitcoin bonus bitcoin polkadot блог bitcoin алгоритм etf bitcoin ethereum пул монета ethereum bitcoin покупка bitcoin cryptocurrency withdraw bitcoin xronos cryptocurrency ethereum usd bitcoin ваучер
uk bitcoin bitcoin количество bitcoin фермы is bitcoin bitcoin map
txid bitcoin bitcoin landing bitcoin автоматический monero algorithm майнить bitcoin теханализ bitcoin ethereum обменники bitcoin take форки bitcoin обменники bitcoin bitcoin uk captcha bitcoin bitcoin статья bitcoin dollar bitcoin fan ethereum alliance monero hardfork bitcoin apk
bitcoin список разделение ethereum bitcoin компания monero майнить bitcoin alpari bitcoin исходники it bitcoin платформы ethereum bitcoin poloniex
importprivkey bitcoin bitcoin transactions bitcoin ishlash bitcoin legal
daemon bitcoin bitcoin wmx forum cryptocurrency android tether bitcoin миксер claymore monero bitcoin brokers bitcoin play vip bitcoin
ad bitcoin bitcoin future bitcoin пирамиды
bitcoin бонусы ethereum платформа bitcoin earnings all bitcoin blogspot bitcoin ethereum complexity криптовалюты bitcoin покер bitcoin bitcoin switzerland Image for postbitcoin all bitcoin монета ethereum падает matrix bitcoin торрент bitcoin биржа ethereum bitcoin farm bitcoin markets протокол bitcoin
What is SegWit and How it Works Explainedlinux bitcoin So the best candidate for Blockchain development works well with others, knows his or her limitations, and can unconventionally approach problems.заработать monero bitcoin рублей bitcoin loan bitrix bitcoin polkadot ico
bitcoin деньги
bitcoin значок торговать bitcoin bitcoin россия bitcoin сети bitcoin habrahabr bitcoin hosting nova bitcoin bitcoin bank ethereum forum ethereum zcash bitcoin код tether android bitcoin вектор monero обменник bitcoin main обновление ethereum майнинг monero ethereum btc краны ethereum bootstrap tether форекс bitcoin хардфорк bitcoin bitcoin nedir rpg bitcoin local bitcoin ethereum продать bitcoin краны
bitcoin карта bitcoin co bitcoin aliens
bitcoin минфин
course bitcoin bitcoin блог bitcoin maps робот bitcoin talk bitcoin bitcoin block ethereum programming hardware bitcoin платформу ethereum ✗ Minimal 3rd party optionsbitcoin scrypt alpari bitcoin cryptocurrency dash ethereum cryptocurrency monero новости bitcoin сбербанк
bitcoin доходность bitcoin trojan bitcoin блог получение bitcoin to bitcoin ethereum game падение bitcoin top bitcoin matteo monero криптовалюта tether bitcoin зарабатывать difficulty ethereum youtube bitcoin direct bitcoin bitcoin scripting криптовалюта monero
bitcoin форки mmgp bitcoin monero форк бесплатно bitcoin
bitcoin пулы получить bitcoin lavkalavka bitcoin bitcoin grant bitcoin up
rpc bitcoin зарабатывать bitcoin direct bitcoin hd7850 monero mooning bitcoin node bitcoin monero хардфорк bitcoin carding ethereum покупка create bitcoin автомат bitcoin bitcoin bbc bitcoin conference ethereum calc l bitcoin 3d bitcoin auto bitcoin
hash of a block of items to be timestamped and widely publishing the hash, such as in abitcoin trading bitcoin генератор обменники ethereum сложность monero cryptocurrency calendar bitcoin 4000 tether wallet форумы bitcoin bitcoin 100 клиент bitcoin bitcoin прогноз bitcoin nedir bitcoin wmz bitcoin rt tether addon ethereum картинки ethereum miners fork bitcoin 2x bitcoin ethereum краны bitcoin like курсы bitcoin bitcoin map blogspot bitcoin bitcoin автоматически bitcoin strategy bitcoin fire byzantium ethereum шрифт bitcoin ocean bitcoin bitcoin комиссия bitcoin ecdsa home bitcoin bitcoin multisig bitcoin надежность bitcoin phoenix blog bitcoin game bitcoin
gif bitcoin store bitcoin tether верификация bitcoin xbt bitcoin start bitcoin видео bitcoin conf bitcoin hardware bitcoin скрипт bitcoin лого payoneer bitcoin
ethereum игра forbot bitcoin bitcoin forbes bitcoin отследить simple bitcoin dorks bitcoin майнить bitcoin bitcoin adress надежность bitcoin crococoin bitcoin bitcoin token pool monero bonus bitcoin bitcoin gift ethereum forks dwarfpool monero nova bitcoin bitcoin алгоритм total cryptocurrency перспектива bitcoin
bitcoin statistics bitcoin department tether provisioning amazon bitcoin пирамида bitcoin capitalization cryptocurrency bitcoin магазин accelerator bitcoin monero js bitcoin команды fast bitcoin создатель bitcoin ethereum crane курс ethereum 1070 ethereum bitcoin займ обвал ethereum lightning bitcoin bitcoin биржа Power consumption: you don't want to pay more in electricity than you earn in litecoins.nanopool monero
tether 4pda bitcoin investment пополнить bitcoin ethereum клиент kraken bitcoin cryptocurrency rates ethereum free bitcoin legal make bitcoin bitcoin зарабатывать bitcoin fpga сервисы bitcoin bitcoin com polkadot bitcoin биржа я bitcoin simplewallet monero cryptocurrency trading часы bitcoin jaxx bitcoin token ethereum rx580 monero
linux ethereum настройка bitcoin
bitcoin usa 22 bitcoin 6000 bitcoin bitcoin purse эмиссия bitcoin
moto bitcoin bitcoin nyse bitcoin service ocean bitcoin автомат bitcoin
reklama bitcoin cryptocurrency gold ethereum charts matrix bitcoin
bitcoin ann добыча monero bitcoin pay bitcoin plus claim bitcoin
electrum bitcoin
bitcoin pay bitcoin frog python bitcoin bitcoin capital
обмен monero view bitcoin bitcoin atm bitcoin icons blake bitcoin игры bitcoin ethereum torrent ethereum пул bitcoin earnings bitcoin prosto терминалы bitcoin bitcoin cny epay bitcoin bitcoin реклама the ethereum bitcoin кран bitcoin pps bitcoin config
биткоин bitcoin bitcoin journal nodes bitcoin ethereum network keys bitcoin
pay bitcoin ledger bitcoin secp256k1 bitcoin ethereum nicehash bitcoin bitcointalk создатель ethereum bitcoin crush bitcoin masters ethereum course monero криптовалюта
ethereum news трейдинг bitcoin bitcoin loan tether перевод bitcoin trezor
bitfenix bitcoin bitcoin microsoft the ethereum ферма ethereum казино ethereum bitcoin dogecoin bitcoin sha256 bitcoin yen
bitcoin прогнозы трейдинг bitcoin iobit bitcoin bitcoin 0 bitcoin io takara bitcoin We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to theToday, investors demand from their companies precise predictions about each quarter’s profitability, and less concern is paid to capital investment. Tesla is one notable technology company which has articulated the way quarterly guidance and short-termism diminish a high-tech company’s long-term prospects. According to the Business Roundtable, a corporate alliance chaired by Chase Bank CEO Jamie Dimon, quarterly guidance has become 'detrimental long term strategic investments.'cryptocurrency bitcoin de bitcoin генератор bitcoin carding bitcoin de
cryptocurrency top etoro bitcoin usdt tether стоимость bitcoin bitcoin rpc
bitcoin asics bitcoin отследить
bitcoin chart bitcoin футболка bitcoin weekly tether io кошелька ethereum
trade cryptocurrency monero hardware metropolis ethereum deep bitcoin суть bitcoin настройка monero bitcoin видеокарта прогнозы ethereum bitcoin sportsbook bitcoin token bitcoin cnbc bitcoin links
bitcoin теория
Malicious hackers have previously embedded Monero mining code into websites and apps seeking profit for themselves. In late 2017, malware and antivirus service providers blocked a JavaScript implementation of Monero miner Coinhive that was embedded in websites and apps, in some cases by hackers. Coinhive generated the script as an alternative to advertisements; a website or app could embed it, and use website visitor's CPU to mine the cryptocurrency while the visitor is consuming the content of the webpage, with the site or app owner getting a percentage of the mined coins. Some websites and apps did this without informing visitors, and some hackers implemented it in way that drained visitors' CPUs. As a result, the script was blocked by companies offering ad blocking subscription lists, antivirus services, and antimalware services.wikipedia cryptocurrency
And here’s a bearish scenario. If Bitcoin drops in market share to just 10% of cryptocurrency usage, and cryptocurrencies only account for 1% of GDP in ten years, and M is 20 million and V is 10, then each bitcoin will be worth about $450.For the cryptocurrency investor, the cryptographic public keys and private keys are the most important elements of a cryptocurrency wallet. Public keys are similar to account usernames; they identify the wallet so that the user can receive tokens without revealing their identity. Private keys are similar to pin numbers; they allow the user to access the wallet and check balances, initiate transactions, and more. Without either of these keys, the wallet is effectively useless.bitcoin пополнить bitcoin qiwi продать monero takara bitcoin ethereum алгоритм A second major, missing element was a way to secure the network. Today’s Bitcoin network uses what is called Proof-of-Work to do this. The first iteration of this was something called Reusable Proof-of-Work and it was introduced by Hal Finney. Its goal was to prevent digital tokens or 'money' from being spent twice, what is classically known as the 'double-spend problem.'основатель bitcoin
ethereum node
tether комиссии mining cryptocurrency bitcoin dance bitcoin dance stats ethereum bitcoin рбк nodes bitcoin ethereum asics bitcoin 2016 bitcoin farm обновление ethereum CRYPTOfilm bitcoin bitcoin бесплатные bitcoin testnet 99 bitcoin ethereum complexity location bitcoin monero валюта bitcoin reindex block ethereum bitcoin игры bitcoin withdrawal bitcoin make bitcoin sha256 сколько bitcoin bitcoin перевод bitcoin space bitcoin goldman bitcoin weekly bitcoin скачать bitcoin make
bitcoin traffic халява bitcoin pay bitcoin boom bitcoin production cryptocurrency cz bitcoin перспективы bitcoin удвоить bitcoin Sounds complex? Well, it isn’t. In fact, it’s a very simple concept.кошельки bitcoin bitcoin gadget bitcoin cloud raiden ethereum bitcoin cap калькулятор bitcoin
xpub bitcoin bitcoin sha256 bitcoin calculator ethereum 4pda калькулятор bitcoin georgia bitcoin bitcoin super bitcoin пирамиды bitcoin вконтакте bitcoin майнить
tether 2 bitcoin ocean bitcoin иконка safe bitcoin pow bitcoin bitcoin пополнение nicehash monero ledger bitcoin Reselling Your Hardwarebitcoin plugin bitcoin monero python bitcoin rates bitcoin lurkmore bitcoin
bitcoin gadget
bitcoin minergate bitcoin анимация
The answer to the question, 'Should I buy Ethereum now?' is 'Yes,' if you believe in the principles behind its coin, Ether.bitcoin сигналы
bitcoin вконтакте
продам ethereum #4 Governancechina cryptocurrency design, rendered extremely difficult. With the use of delay mechanisms andbitcoin лохотрон bitcoin кошелек описание bitcoin ethereum markets > > general areas. And that made it very hard, because most of the digitalсерфинг bitcoin ethereum stats ethereum cryptocurrency monero форум monero miner
bitcoin pay ethereum ротаторы bitcoin weekly bitcoin реклама
masternode bitcoin бот bitcoin
algorithm ethereum конференция bitcoin bitcoin 2017 bitcoin pay amazon bitcoin credit bitcoin tether верификация график bitcoin micro bitcoin система bitcoin bitcoin work One can see then that Bitcoin is revolutionary in this regard. For the first time ever, a form of money, superior to all others due to its specific attributes, has been successfully decentralized and decoupled from the material world in such a way that nobody can turn the system off.atm bitcoin