The Ethereum Virtual Machine (EVM) is a virtual state machine that functions as a runtime environment for smart contracts in Ethereum. Smart contract code that executes in the EVM is isolated from the network, filesystem, and other processes of Ethereum.
The EVM is a quasi Turing-complete system. This means that the EVM is capable of executing code of arbitrary algorithmic complexity in order to solve any computable problem, given that enough resources are dedicated. However, the amount of possible computations is intrinsically bounded by gas, which is why the EVM is only 'quasi' Turing-complete.
In order to facilitate Keccak-256 cryptographic hash scheme, the EVM is a stack-based architecture with a word size of 256-bits. This architecture also allows for the use of elliptic-curve cryptography in Ethereum's signature scheme for validating the origin and integrity of transactions.
Ethereum has been called a "global/world computer" because every node in the Ethereum network runs the EVM and executes identical instructions as all of the other nodes in order to achieve and maintain consensus about the state of the system. This makes computation on Ethereum slow and costly relative to a regular computer, but it provides several advantages over regular computers including high Byzantine fault tolerance, greater data integrity, and censorship-resistance.
Ethereum Secure Decentralised Generalised Transaction Ledger
Dr. Gavin Wood
What is Ethereum?
Documentaries, videos and podcasts
Blockchain at Berkley Lecture 08: Ethereum Virtual Machine (EVM)
April 9, 2018
- EthereumEthereum is an open-source, public, distributed blockchain computing platform featuring smart contract (scripting) functionality, which facilitates online contractual agreements.
- Public-key cryptographyCryptographic system requiring two separate keys, one of which is secret and one of which is public
- SolidityObject-oriented programming language for writing smart contracts
- Smart contract (blockchain)A smart contract (self-executing contract, blockchain contract) is an agreement between parties that is enforced by a program encoded onto a blockchain which executes code exactly as originally written.
- Decentralized application (dApp)A decentralized application (dApp) is a service that provides direct interaction between providers and end users providers through a blockchain or distributed ledger.