As you might know, the first programmable blockchain was Ethereum. Launched in July of 2015, the chain saw incredible growth due to the unique opportunities it provided both its users and developers. What you might not know is that at the core of Ethereum’s functionality lies the Ethereum Virtual Machine (EVM).
What Is the EVM?
The success of Ethereum sparked the creation of many other blockchains built using a direct copy of its source code or a copy of its architecture. These are called EVM-compatible chains.
The EVM is Ethereum’s computation layer. It is software that runs on Ethereum’s nodes and handles the deployment and execution of smart contacts (programs running on the blockchain).
How Does the EVM Work?
Smart contracts interact with each other – and Ethereum’s millions of users – through basic inputs and outputs. Because Ethereum was built to act as a sort of general-purpose computer, these interactions can be incredibly simple or wildly complex. In theory, anything you can imagine in terms of functionality can be created on the network (as long as it doesn’t violate any of its foundational rules of operation).
From block to block, a new valid state of the network is recorded. With each block, smart contracts perform actions based on the inputs they receive. The EVM is where the outcomes of these actions are computed to be immortalized in the next block.
Where Is the EVM?
The EVM isn't something that exists in a specific place: It’s a runtime environment. In computer science terms, this is a collection of functionalities and resources that enable a program to run.
The EVM has many individual instances which run on Ethereum’s nodes.
What Languages Does the EVM Use?
The EVM exists in a few different languages (e.g. Go, C++, C#, Python, Rust, Java, JavaScript). The smart contracts it runs can also be written in a few different programming languages.
1. Solidity
By far the most popular programming language for developing smart contracts, Solidity is widely used throughout the crypto industry. Created by the Ethereum team, it’s a Turing-complete, object-oriented, statically-typed language that borrows heavily from C++. Relatively beginner-friendly, Solidity has been in high demand in recent years.
2. Vyper
The second most popular smart contract development language is Vyper. Turing-complete, strongly-typed, and based on the very popular Python, this language has much (but not all) of the functionality of object-oriented programming languages. It's secure and easier to audit.
3. Yul and Yul+
These are the original and “upgraded” versions of the same language. These low-level, functional languages are (naturally) more difficult to learn and use properly, however, they offer greater access to the EVM which helps with things like gas usage optimization.
4. Fe
Fe is a new, beginner-friendly, smart contract programming language that’s still in development. It’s statically-typed and borrows heavily from Rust and Python.
Why Is EVM Compatibility Important?
Until recently, each blockchain network was akin to a walled garden. It’s true that blockchains like Ethereum hosted an impressive amount of features applications and services and created never-before-possible opportunities for innovation. However, they still remained an arm's length away from the true promise of decentralization and the egalitarianism that crypto and blockchain tech is associated with.
This isn’t due to their functionality: It’s purely because monopolies of any kind go against the idea of decentralization. A closed-off blockchain is incapable of easily communicating with others, locks its users in, and makes them overly reliant on itself.
Achieving widespread interoperability is an essential step in making sure blockchain technology stays honest to its original purpose. Over the past few years, major strides have been made in this direction. One is the proliferation of EVM-compatible blockchains.
Open-Source Code: A Tenet of the Blockchain Era
A quick note about how blockchain, crypto, and Web3 generally work:
The blockchain space was built on the principles of open-source, community-driven development, and iteration. The source code behind Ethereum, Bitcoin, and almost all other blockchains is completely open to view, copy, and experiment with, by anyone. The same goes for all decentralized applications (DApps).
In terms of accessibility, this makes iterating and improving upon other people’s work incredibly simple. It’s also the reason that we’re seeing new blockchains and applications constantly forking from old ones.
Forking is the action of copying a blockchain or application’s code in order to create a new one.
When it comes to blockchains, it can be done for various reasons. One prominent example is when the original Ethereum blockchain split into two separate chains (Ethereum and Ethereum Classic) after an infamous hack.
Some developers don't even make any changes, they just rebrand a service like a Decentralized Finance (DeFi) swap with cosmetic changes to the front-end, shipping it as a “whole new thing”.
Others, on the other hand, make improvements and drive innovation at a consistent pace. New products with small (but significant) changes appear constantly. Each takes advantage of the mistakes and progress made by its predecessors, as well as the features and qualities of its home blockchain.
Current Benefits of EVM
Following this principle of open-source development and iteration, many new blockchains have recently adopted Ethereum’s EVM structure. This has allotted them the chance to focus on other things (like pushing the boundaries of the Blockchain Trilemma).
Instead of developing their own computation engine, these projects continue to push the envelope in other areas like network speed, methods of achieving consensus, and finding their own niches in the industry (e.g. decentralized file storage, NFTs).
Crypto’s open-source nature – and the interoperability available to EVM-compatible blockchains and their apps – creates the perfect cocktail for rapid innovation.
It’s easier for companies and developers to build better tools and services for an already established user base. For users, EVM compatibility leads to more decentralization, thanks to an abundance of choice, more opportunities, and greater competition (which drives innovation).
Disadvantages of EVM
As the saying goes, “There’s no such thing as a free lunch.” Any operation that requires spending computational resources needs to be paid for – and that’s where gas fees come in.
Gas is the unit of measurement for the computational resources the EVM needs to complete any given operation.
Ethereum gas can become incredibly expensive, especially during times of heavy network congestion. This is a direct result of Ethereum’s popularity and it’s something the project’s developers are working tirelessly to address in a series of upgrades (see: “The Merge”).
How Many EVM Networks Are There?
There’s an impressive amount of EVM networks out there. Beyond those, there are even more that can connect with Ethereum using EVM-compatible sidechains.
17.2% – Community Grants
11.4% – Operation Grants
11.7% – Early Ecosystem
10% – Foundation Endowment
14% – Core Contributors
6.1% – Small Backers
17.6% – Backers
12% – Community Sale
The Top 3 EVM-Compatible Chains
Some of the biggest blockchains by both users and market cap are EVM-compatible. Data and assets can be exchanged between all of these through the use of cross-chain bridges. Bridges exist for non-EVM-compatible chains as well, but the compatibility makes the design of bridges – and the facilitation of communication between blockchains – considerably simpler.
1. BNB Smart Chain (BSC)
Recently renamed from Binance Smart Chain to BNB Chain (to better reflect the emphasis on BNB’s utility within the ecosystem), this smart-contract-enabled, EVM-compatible blockchain was launched by the Binance exchange in September 2020.
Due to its low gas fees, fast speeds, and the BNB token’s underlying utility within the Binance ecosystem, it was an instrumental part of the 2021 DeFi boom. These factors led to its impressive jump in popularity, as well as the massive increase in BNB’s price.
2. Fantom (FTM)
Fantom’s mainnet (OPERA) was launched in December 2019. It’s another smart contract platform designed with speed in mind and featuring a unique consensus mechanism called Lachesis. The Fantom team reports the mechanism can deliver sub-two-second transaction finalization, as well as improve security for the network.
3. Polygon (MATIC)
As one of the most popular Layer 2 scaling solutions for Ethereum, Polygon features many types of sidechains that can be deployed for virtually any purpose. It’s quick and secure with low gas fees. This makes it a go-to choice for many developers who want to make use of Ethereum’s power, community, and infrastructure but want to escape its current congestion issues and impracticality for certain applications.
The EVM Accelerates Innovation
Blockchain technology is rapidly overhauling industries, making previously unimaginable products, services, and applications accessible to millions – without restrictions.
Due to its decentralized, transparent nature, the EVM is enforcing the standard of open-source development in the best way possible. It’s more advantageous to be a part of the system than not and to share your progress with that of all other builders in the community. It’s a space where innovation and experimentation are inherently incentivized, thanks to very well-thought-out foundations.
If sharing knowledge and information is the key to this progress, interoperability is surely an incredibly important development. EVM continues to play an essential role – right at the core of the blockchain space.
Sonar is releasing a multichain, non-custodial Web3 wallet that’s packed with innovative features. From the first version, it will have full compatibility with all EVM networks. Subscribe to our newsletter to be among the first to use the Sonar Wallet when it’s released!