What is an Ethereum Virtual Machine (EVM)?
Ethereum Virtual Machines (EVM) are a decentralized virtual computing environment running on the Ethereum blockchain. It serves as a platform for executing distributed applications, also known as smart contracts. It is written in a Turing-complete language and provides a runtime environment for executing programs written in Solidity, Serpent, or LLL.
EVMs are a sandboxed environment with its own memory, stack, and registers. It allows developers to create smart contracts that are self-executing and autonomous, eliminating the need for manual involvement. EVMs also enable developers to deploy immutable and safe applications on a public blockchain. This allows them to access a decentralized, trustless, and global blockchain network without the need to rely on centralized authorities.
EVMs are an innovative platform which provides users with an open source environment to create applications without having to worry about security or scalability issues. It allows developers to deploy applications which are resistant to tampering and manipulation, giving them the assurance that their applications are reliable and secure.
EVMs are considered the backbone of the Ethereum blockchain, as it allows developers to write their own smart contracts and execute them safely and securely. By deploying a wide range of decentralized applications, it has become the platform of choice for developers building blockchain-based applications. It has allowed developers to create applications that are secure, fast, and cost-effective, while also providing an abundance of opportunities for developers to create innovative projects.
Simplified Example
An Ethereum virtual machine (EVM) is like a big, magical box where you can put your instructions and make things happen. Imagine you have a toy factory, and you want to make a toy car that moves on its own. To do this, you need to write down a set of instructions for how the toy car should move. You put these instructions into the big, magical box (the EVM), close the lid, and turn it on. The EVM then uses its magic to make the toy car move exactly as you instructed.
In the same way, an Ethereum virtual machine is a computer system that can execute instructions written in a programming language called Solidity. When a smart contract is written in Solidity and uploaded to the Ethereum blockchain, it is executed by the EVM. The EVM takes the instructions in the smart contract and makes sure that everything happens as it's supposed to, just like the toy car moving exactly as you instructed. The EVM makes sure that the rules in the smart contract are followed and that all transactions are processed correctly, so that everyone can trust the results.
Who Invented Ethereum Virtual Machines (EVM)?
In the early development of Ethereum, founder Vitalik Buterin conceived a platform where decentralized applications and smart contracts could thrive. Central to this vision was the Ethereum Virtual Machine (EVM), which provided a standardized environment for executing these applications and contracts. Co-founder Gavin Wood played a pivotal role in the initial development of the EVM, contributing to its architecture, specifications, and opcodes. The Ethereum Yellow Paper, published in 2013, formally introduced the EVM's concept and technical details, serving as a key resource for disseminating information and attracting developers to the Ethereum platform. Ethereum Improvement Proposals (EIPs) became instrumental in refining the EVM's functionality and security through a standardized process for proposing and implementing changes to the Ethereum protocol. To support developers, the Ethereum Foundation and community developed tools like the Solidity programming language and Truffle framework, fostering the widespread adoption of the EVM as a primary platform for decentralized application development.
Examples
Ethereum Virtual Machine (EVM): The EVM is the original virtual machine used by the Ethereum network to execute smart contracts. It is a register-based virtual machine that runs bytecode and is responsible for executing all the instructions specified in a smart contract.
Parity Virtual Machine (PVM): The PVM is an alternative virtual machine to the EVM and was developed by Parity Technologies. It is designed to be faster and more efficient than the EVM and uses a stack-based architecture.
eWASM: eWASM is an experimental virtual machine that is being developed as part of the Ethereum 2.0 upgrade. It aims to replace the EVM with a more efficient and secure virtual machine that supports WebAssembly (WASM) as its underlying instruction set. eWASM is designed to support more complex use cases and to allow for easier development of smart contracts.
Related Terms
Network-Enhanced Virtual Machine: Designed to facilitate better management and control of cloud-based resources.
Ethereum Transaction: A digital contract that enables a user to send digital currency or other related assets like tokens, digital certificates, etc. over a distributed, decentralized, public ledger called the Ethereum blockchain.