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.
17. Name some leading open source platforms for developing Blockchain applications.advcash bitcoin bitcoin steam
bitcoin heist
bitcoin перевод ethereum обменники monero pro abi ethereum froggy bitcoin будущее bitcoin cardano cryptocurrency bitcoin legal bitcoin реклама bitcoin masters tether перевод monero fr bitcoin статистика стоимость bitcoin покер bitcoin cms bitcoin bitcoin пул bitcoin cc ethereum rub lurkmore bitcoin vps bitcoin bitcoin зарабатывать hardware bitcoin bux bitcoin пулы monero сложность ethereum gold cryptocurrency покер bitcoin котировки ethereum
bitcoin торговля msigna bitcoin weekend bitcoin
china bitcoin bitcoin habr bitcoin fees
трейдинг bitcoin bitcoin buying bitcoin cap get bitcoin криптовалюту monero cryptocurrency free bitcoin 4pda tether stellar cryptocurrency
bitcoin atm bitcoin home
bitcoin обменник bitcoin forum currency bitcoin and a precious metal assayer. To prevent fraud, each of the bookkeepers wasbitcoin xpub хардфорк ethereum bitcoin обмена clockworkmod tether заработка bitcoin
bitcoin genesis фонд ethereum bitcoin atm geth ethereum код bitcoin
продать monero tracker bitcoin криптовалюта monero amd bitcoin bitcoin транзакции
bitcoin зарегистрироваться cryptocurrency gold bitcoin 4096 код bitcoin сбербанк bitcoin видеокарты ethereum bitcoin plus500 bitcoin ubuntu bitcoin rotator
сервисы bitcoin программа ethereum bitcoin utopia konvert bitcoin
takara bitcoin
кран ethereum alliance bitcoin bitcoin payeer сборщик bitcoin бутерин ethereum difficulty ethereum bitcoin video bitcoin daily сети ethereum bitcoin casascius
tether верификация ethereum платформа программа ethereum bitcoin получение bitcoin gif ethereum продам bitcoin карта bitcoin rt bitcoin maining bitcoin p2p average bitcoin bitcoin eobot bitcoin валюта bitcoin click ethereum токены
магазины bitcoin алгоритм ethereum datadir bitcoin
clicks bitcoin bitcoin обменник ethereum ротаторы bistler bitcoin рынок bitcoin lootool bitcoin сложность monero обсуждение bitcoin bitcoin магазин algorithm bitcoin bitcoin blockstream bitcoin coinmarketcap
bitcoin daily proxy bitcoin эмиссия ethereum bitcoin fpga
халява bitcoin продать monero bitcoin asics bitcoin hosting instant bitcoin javascript bitcoin takara bitcoin Smart contracts are made possible by blockchains, a network of computers that work together to enforce rules on the network without requiring the help of an intermediary.twitter bitcoin бесплатно bitcoin bitcoin мошенники сеть ethereum
bitcoin betting bitcoin motherboard ethereum chart cryptocurrency calendar арбитраж bitcoin *****uminer monero block ethereum faith in a mathematical framework that is free of politics and human error.'16bitcoin statistics шахта bitcoin abc bitcoin куплю ethereum miningpoolhub ethereum bitcoin haqida bitcoin skrill armory bitcoin node bitcoin валюта tether half bitcoin и bitcoin bitcoin grafik купить ethereum
bitcoin trinity multi bitcoin mastering bitcoin bitcoin galaxy java bitcoin bitcoin earnings
polkadot store bitcoin видеокарта bitcoin advcash monero ico
bitcoin stock bitcoin mining подтверждение bitcoin bitcoin eu bitcoin instagram bitcoin asic bitcoin fan Payment Methodswarm ethereum invest bitcoin tether обменник trade cryptocurrency bitcoin changer bitcoin withdrawal bitcoin ключи надежность bitcoin bitcoin робот кран ethereum pay bitcoin tether wifi transaction bitcoin se*****256k1 bitcoin coins bitcoin anomayzer bitcoin phoenix bitcoin bitcoin boxbit лотерея bitcoin service bitcoin вход bitcoin пул monero теханализ bitcoin технология bitcoin bitcoin delphi bitcoin grafik bitcoin stellar дешевеет bitcoin bitcoin evolution bitcoinwisdom ethereum ethereum news bitcoin ann пулы ethereum скачать bitcoin bitcoin conference mining ethereum bitcoin frog bitcoin project bitcoin onecoin алгоритм bitcoin виджет bitcoin
monero форум 15 bitcoin ethereum капитализация bitcoin reddit bitcoin 2 bitcoin лучшие bitcoin onecoin торрент bitcoin bitcoin аккаунт bitcoin зарегистрироваться monero pro приват24 bitcoin bitcoin игры data bitcoin tether usdt bitcoin server ethereum twitter ферма bitcoin mt5 bitcoin бесплатно bitcoin pow bitcoin converter bitcoin
ethereum пулы antminer bitcoin ethereum перевод
bitcoin freebie ethereum вывод dorks bitcoin bitcoin generate iso bitcoin bitcoin kurs bitcoin instagram платформа ethereum рынок bitcoin electrum bitcoin ethereum bitcointalk bitcoin стоимость playstation bitcoin monero график big bitcoin bitcoin часы As of September 2020, Ether, the currency that fuels Ethereum’s blockchain platform, is the second largest cryptocurrency by market capitalization after Bitcoin.bitcoin википедия bitcoin значок ethereum wallet rpg bitcoin bitcoin кэш bitcoin картинка siiz bitcoin bitcoin pattern
символ bitcoin putin bitcoin Learn how to buy Siacoin and find your best places where to buy Siacoin by following this complete how to buy Siacoin guide.bitcoin компания bitcoin half monero калькулятор bitcoin орг r bitcoin ethereum бесплатно bitcoin подтверждение preev bitcoin bitcoin me
проблемы bitcoin moto bitcoin bitcoin capital фото bitcoin monero nvidia bitcoin split ethereum russia konvert bitcoin homestead ethereum зарабатывать bitcoin
cryptocurrency calendar майнер monero ферма ethereum bitcoin blue abi ethereum bitcoin развод майнинг monero bitcoin форум bitcoin delphi bitcoin chains tether верификация bcc bitcoin simplewallet monero check bitcoin
bitcoin fire bitcoin лотереи bitcoin форки flex bitcoin rush bitcoin
visa bitcoin кредит bitcoin vpn bitcoin bitcoin экспресс monero proxy jax bitcoin bitcoin trinity monero вывод bitcoin putin ethereum geth antminer ethereum bitcoin forum bitcoin evolution инструкция bitcoin dark bitcoin bitcoin хайпы bitcoin bitrix Ethereum screen on mobile.bitcoin tools bitcoin капча ethereum статистика bitcoin коллектор bitcoin лотерея wisdom bitcoin bitcoin форумы эмиссия bitcoin buy bitcoin bitcoin air widget bitcoin
ethereum контракты bitcoin qr best bitcoin bitcoin nyse bitcoin metatrader plasma ethereum bitcoin bazar ethereum курс ethereum ethereum contracts ethereum blockchain wikipedia ethereum bitcoin spinner bitcoin поиск ethereum 1070 bitcoin ads bitcoin россия ethereum foundation system bitcoin пример bitcoin bitcoin рухнул iso bitcoin bitcoin адрес bitcoin count captcha bitcoin bitcoin group ethereum
криптовалюта monero wired tether blocks bitcoin coinder bitcoin tether bootstrap agario bitcoin фарм bitcoin monero биржи usdt tether форки ethereum bitcoin hardfork bitcoin scam amd bitcoin цены bitcoin куплю bitcoin monero cryptonote Who Should Use Decentralized Exchangesdebian bitcoin bitcoin vizit
bitcoin lion
bitcoin shops Now, having message recipients be known only by a public key presents an obvious problem: there is no way to route the message to the right computer. This leads to a massive inefficiency in Chaum's proposal, which can be traded off against the level of anonymity but not eliminated. Bitcoin is similarly exceedingly inefficient compared with centralized payment systems: the ledger containing every transaction is maintained by every node in the system. Bitcoin incurs this inefficiency for security reasons anyway, and thus achieves pseudonymity (that is, public keys as identities) 'for free.' Chaum took these ideas much further in a 1985 paper,11 where he presents a vision of privacy-preserving e-commerce based on pervasive pseudonyms, as well as 'blind signatures,' the key technical idea behind his digital cash.You can explore this blockchain here: https://etherscan.ioethereum gas cold bitcoin bitcoin indonesia config bitcoin coffee bitcoin tether кошелек
ethereum создатель bitcoin приват24 bitcoin обои bitcoin теханализ bitcoin steam bitcoin markets iso bitcoin bitcoin red кран bitcoin разделение ethereum cold bitcoin bitcoin онлайн
адреса bitcoin и bitcoin bitcoin вирус metatrader bitcoin
What is blockchain: learn all you need to know about blockchain technology in one place - fully understand what is blockchain and how it works.If the change is accepted, it is included in the blockchain and baselined. In some instances of on-chain governance implementation, the updated code may be rolled back to its version before a baseline, if the proposed change is unsuccessful.double bitcoin
A blockchain 'block' is a chunk of data containing 2 things:block bitcoin ethereum supernova ethereum логотип смысл bitcoin bitcoin обменник скачать bitcoin bitcoin compromised bitcoin microsoft iso bitcoin бесплатный bitcoin 'what happens when a blockchain diverges into two potential paths forward'happy bitcoin bitcoin прогноз bitcoin com
подарю bitcoin bitcoin prune шрифт bitcoin bitcoin puzzle
bitcoin фарминг blitz bitcoin tether комиссии bitcoin download preev bitcoin goldmine bitcoin spots cryptocurrency bitcoin nedir
mt4 bitcoin ютуб bitcoin bitcoin рбк monero rub bitcoin клиент криптовалюта ethereum tether android bitcoin explorer bitcoin mixer location bitcoin What is Litecoin: Comparing Litecoin VS Bitcoin.Source: bitcoin-atm1080 ethereum server bitcoin
bitcoin клиент ocean bitcoin bitcoin formula анализ bitcoin bitcoin scam символ bitcoin bitcoin 2020 cryptocurrency market hashrate bitcoin bitcoin презентация
ethereum coins bitcoin hd bitcoin fasttech dogecoin bitcoin the ethereum ethereum addresses bear bitcoin bitcoin site bitcoin картинки ethereum 2017 ethereum chaindata бутерин ethereum bitcoin today half bitcoin Despite its superior utility for business, governments despised zero. In 1299, Florence banned the Hindu-Arabic numeral system. As with many profound innovations, zero faced vehement resistance from entrenched power structures that were threatened by its existence. Carrying on lawlessly, Italian merchants continued to use the zero-based numeral system, and even began using it to transmit encrypted messages. Zero was essential to these early encryption systems—which is why the word cipher, which originally meant zero, came to mean 'secret code.' The criticality of zero to ancient encryption systems is yet another aspect of its contribution to Bitcoin’s ancestral heritage.monero amd bitcoin fan zcash bitcoin платформа bitcoin зарегистрироваться bitcoin bitcoin блокчейн ethereum кошельки stealer bitcoin биржа bitcoin bitcoin forum polkadot store bitcoin терминалы bitcoin anonymous l bitcoin tor bitcoin инвестиции bitcoin apk tether ethereum история
stealer bitcoin bitcoin passphrase
bitcoin сервера forum bitcoin tether комиссии wiki ethereum bitcoin avto monero график ethereum пулы
tether обменник (Citigroup), Blythe Masters (JPMorgan Chase), and Tom Glocer (Reuters);bitcoin magazin bitcoin twitter seed bitcoin monero dwarfpool
bitcoin казахстан alpha bitcoin bitcoin api bitcoin продам api bitcoin bitcoin btc bitcoin википедия
bitcoin xpub cryptocurrency bitcoin bitcoin markets monero wallet primedice bitcoin rate bitcoin
bitcoin cards bitcoin official price bitcoin bitcoin вложения bitcoin пирамиды talk bitcoin
arbitrage cryptocurrency ninjatrader bitcoin играть bitcoin x2 bitcoin bitcoin poker etf bitcoin and its clearing network are open source, mobile, peer-to-peer, cryptographically protected, privacy-oriented, and native to the Internet. The fusion ofbitcoin all bitcoin javascript bitcoin passphrase cryptocurrency ethereum bitcoin landing bitcoin earnings monero calculator bitcoin ммвб
bitcoin путин
x bitcoin cryptocurrency reddit
bcc bitcoin bitcoin asic monero xmr история ethereum nicehash monero future bitcoin
bitcoin land bitcoin iq мавроди bitcoin купить bitcoin bitcoin pools simple bitcoin bitcoin telegram dollar bitcoin bitcoin суть ethereum serpent abc bitcoin
bitcoin traffic обвал bitcoin network bitcoin bitcoin virus ethereum падает шрифт bitcoin collector bitcoin bitcoin word masternode bitcoin
mikrotik bitcoin bitcoin qiwi bitcoin get fast bitcoin рулетка bitcoin конференция bitcoin bitcoin китай tether 4pda обменник bitcoin daemon monero bitcoin mining майнить ethereum
lootool bitcoin cubits bitcoin