EVM, or Ethereum Virtual Machine, is an important part of the Ethereum blockchain platform. It is responsible for executing smart contracts, which are self-executing contracts where the terms of the agreement between buyer and seller are written directly into lines of computer code.
If you think of Ethereum as a complete ecosystem of a currency and a smart contract platform, you can imagine EVM as the engine or brain within. This engine can understand the programming and thus the smart contracts that are built. In this way, anyone be it a developer or even a user like you can use this brain to build and launch decentralized applications or decentralized applications or Dapps on the Ethereum network.
When a smart contract is deployed on the Ethereum network, it runs on the EVM, which processes transactions and ensures that the contract behaves as intended. The execution of the smart contracts on the EVM allows Dapps to run on the Ethereum blockchain.
Be it a decentralized exchange (DEX), or another DeFi Dapp like a lending system, or even a game or an NFT marketplace, every Dapp launched on Ethereum is controlled by this EVM.
It all started when Ethereum co-founder Vitalik Buterin suggested that one of the earliest examples of a Dapp was BitTorrent – the software that changed the way people downloaded and shared files by splitting large files into multiple parts to facilitate downloads. to speed up.
Not only did BitTorrent make it easier and faster to share files, it’s still around, more than 20 years after its development by Bram Cohen. The file sharing protocol has spawned dozens of versions and people continue to share torrents, especially of hard-to-get files.
Its longevity is also remarkable when you consider that there have been multiple attempts to remove it – mainly due to alleged piracy of intellectual rights, associated with the sharing of protected content such as copyrighted books and movies.
Buterin’s equation probably refers to BitTorrent’s extensive network of distributed computers around the world. It’s not enough to shut down one or most of the computers it runs on – you’d have to shut down every computer running a BitTorrent client to kill the network.
So Ethereum wanted to do the same: be a virtual machine that has no physical limits, doesn’t require expensive computers, and can be used out of the box by most newcomers with basic computer knowledge.
While Bitcoin and early crypto networks required people to learn more about computers, understand bytes, cryptography, proof of work, you didn’t necessarily need to learn much more than a programming language to build an application on Ethereum.
Blockchains use EVM because it is a highly efficient and secure computing platform that allows developers to create Dapps on the blockchain network.
EVM is the execution environment (also known as the runtime environment) for smart contracts on the Ethereum blockchain and provides a platform for developers to write and run code in a decentralized manner without the need for a central authority or server.
In addition, EVM is capable of Turing completeness. In computer theory, Turing completeness refers to the capability of a machine – a simple machine that can implement an algorithm according to rules. In other words, EVM, which is Turing-complete, can recognize or decide data manipulation rulesets.
This means that smart contracts can perform any combination of code and complex calculations. This flexibility of performing complex calculations gives EVM the ability to be used for a variety of usage scenarios and applications.
All in all, Ethereum Dapps not only benefit from the security of a decentralized network, but also have the flexibility to build all kinds of decentralized apps.
For developers of Dapps, EVM itself is a beneficial package that promotes open coding as the codes uploaded to the EVM are transparent and immutable. It also allows developers to code in simpler programming languages compared to other systems.
Since most of the smart contract codes on Ethereum are open, it is also quite easy for developers to simply copy these smart contracts and adapt them to their needs to create different versions or add improvements to existing Dapps. Many Dapps out there are actually built from the same source code of their predecessors.
The success of EVM with its unique set of benefits has resulted in Ethereum remaining the most established and widely used platform.
Like any system, there are some drawbacks to the EVM. A major criticism is how expensive it can be.
Every interaction on Ethereum usually indicates a transaction. Aside from regular sending transactions where tokens are transferred, most other types of interaction require a smart contract to execute. Examples include approving a new type of interaction (such as approving a new USDT to ETH swap) or approving a request to place tokens in a liquidity pool (such as deploying ETH and USDT in a USDT/ETH exchange). liquidity pool on a DEX).
Every transaction on Ethereum also requires fees, which are referred to as gas. This gas is paid in Ether (ETH).
In the case of high network activity, gas costs increase. Sometimes an execution will fail and you’ll get your gas back – but if you run out of gas while the execution is happening (for example, if charges are increased before your trade is confirmed), then the execution will also fail.
Another suggested flaw is the many quirks of Solidity, the main programming language used to code on Ethereum. Although it is a fairly simple coding language, it has been subject to a series of bugs and exploits. The DAO exploit that caused Ethereum to split, and the Parity multi-sig wallet bug were some prominent examples that caused massive monetary losses.
The EVM needs to be flexible and may sacrifice some safety aspects such as inspection and traceability. Since anyone can upload Dapps, much of the encryption in the chain is unreadable to some and allows dangerous calls to remote smart contracts.
Finally, while Ethereum itself is decentralized, many of the Dapps actually rely on their creators or owners to continue using Ethereum. If the owner of a Dapp stops using Ethereum, there is a good chance that the service will also go down if the nodes stop working for it.
As a result, EVM-compatible alternatives such as Binance Smart Chain, Avalanche, Polygon and Fantom offer promising solutions to issues such as scalability, transaction costs and speed, they say.
There are several blockchain platforms that do not use the EVM.
Non-EVM blockchains are those that do not follow Ethereum principles and do not require constant monitoring of a calculator. Non-EVM-compatible chains are more likely to grow in trending categories and niches where new ideas emerge. Diverse public chains can thrive in areas such as NFTs, GameFi, and payments.
The most well-known non-EVM blockchain is Bitcoin, which uses a proof-of-work (PoW) consensus algorithm to validate transactions. Although it is considered a lot less vulnerable in terms of security exploits, this is mainly because Bitcoin was designed as a non-Turing complete system with limited functionality.
Bitcoin uses the Script programming language, with a highly targeted function for processing Bitcoin transactions, and cannot support more complex smart contract logic that requires multiple execution steps.
EOS was another blockchain platform that did not initially use EVM. It used a delegated proof-of-stake (DPoS) consensus algorithm, which does not require miners to validate transactions. Instead of Solidity, it used the WebAssembly (WASM) standard, which allowed developers to write code in any programming language that could run on any browser that supported WASM. It was thought that this would result in greater efficiency, speed and ease of use.
However, acknowledging that EVM is still the most widely used solution for Dapps today, EOS also developed an EVM-compatible version with a consensus mechanism upgrade in April 2024, making it by far the “fastest” EVM-compatible network to date. .
Web3 wallets are not EVMs in themselves, but they are designed to interact with the Ethereum blockchain, which is powered by the EVM. Web3 wallets differ from traditional wallets in that they have built-in support for interacting with smart contract networks, allowing users to sign transactions and approve smart contract interactions without leaving the wallet interface.
Many Web3 wallets also call themselves “EVM compatible”. MetaMask is such a wallet. This means that the wallet can communicate with Dapps that use an EVM chain.
On Ethereum, they allow users to securely store and manage their Ethereum-based assets, such as Ether and ERC-20 tokens, and interact with Dapps built on the Ethereum blockchain. On BNB Chain they do the same, but with BNB and BNB ERC-20 tokens.
Popular Web3 wallets include MetaMask, MyEtherWallet, Trust Wallet and Coinbase DApp Wallet, Bitpie, Brave, Wallet3 and XDEFI.