What Is The Ethereum Virtual Machine (EVM)?
The Ethereum Virtual Machine (EVM) is a digital and decentralized environment, it is the master computer and backbone of the entire Ethereum blockchain. The Ethereum Virtual Machine is the hardware that facilitates all operations on the Ethereum blockchain, including the creation of smart contracts, and in turn decentralized applications (dApps). This is done through the execution of bytecode.
The EVM is a quasi-Turing-complete machine,[1]Ethereum Yellowpaper – Execution Model, Page 12 meaning it could solve any computation given enough time, but everything that the system can do is limited by the exchange of gas for computational power.[2]Micah Dameron – Beigepaper: An Ethereum Technical Specification, Page 1
How Does The Ethereum Virtual Machine (EVM) Work?
The Ethereum Virtual Machine is powered by numerous nodes, deployed on the system, working side by side to maintain consensus. The various nodes define the system as decentralized, despite a large portion of them being hosted on centralized servers, such as Amazon Web Services.
The EVM exists to execute bytecode. Smart contracts are typically written in high level programming language such as Solidity, although the machine doesn’t understand this language. Once written, they’re converted into bytecode to be deployed on the Ethereum blockchain, and then into operation codes (opcodes). The opcodes can only be understood by the EVM[3]Bernard Peh – Solidity Bytecode and Opcode Basics and allow it to execute certain tasks.
The EVM is a virtual machine, this means it doesn’t exist as a single entity rather it exists amongst all nodes on the network. It is also sandboxed, in the sense that the machine’s code is isolated from the network, storage systems, and host computer running the node.[4]Avalanche – What Is The Ethereum Virtual Machine?
References