Overview
Investors are often overwhelmed by the wealth of technical information available about blockchain projects and find it difficult to gauge how a particular network upgrade may impact their portfolios. In this article, we explain what the often-discussed Ethereum Virtual Machine (EVM) is and provide context for the different ways the crypto investor may come across it in the news. A major upgrade is planned for the serenity phase of the Ethereum roadmap in which the network will move away from the EVM to a different virtual machine, called Ethereum WebAssembly (eWASM). We project that this will significantly open up Ethereum’s ecosystem to a new generation of developers.
Key insights
- Smart contract blockchains usually use a simulated computer, a so-called Virtual machine to run their smart contracts.
- The EVM (Ethereum Virtual Machine) is less efficient than currently available alternatives, but has become an encrusted industry standard in the blockchain space that will remain dominant in the near future.
- Code for the EVM has to be written in a special programming language called Solidity, which has fewer developers available than some general purpose languages. The median UK salary of a Solidity developer was at £120k and was thus significantly higher than that of developers for other languages.
Concept
All smart contract blockchains that are common today follow roughly the same approach to securing their contracts: Every full node on the network walks through all the computational steps involved in every smart contract execution to verify that they are correct. On Ethereum, this includes every single token swap, ERC-20 transfer, loan liquidation or NFT issuance. All steps involved in these operations are public.
However, people run Ethereum nodes on different kinds of hardware with different operating systems. For a developer, it is difficult to ensure that a complex piece of software like an Ethereum node behaves in exactly the same way on every setup, despite different processors, firmware and software environments. If Ethereum nodes disagreed about the correct state of the blockchain, this could lead to a network split, which would have disastrous consequences.
To avoid this, smart contract blockchains make their nodes simulate a simpler computing machine that provides a stable execution environment for smart contracts. These simple computers that every node client simulates, execute the smart contracts. They are the ‘virtual machines’ that are on everyone’s lips in the blockchain space.
Smart contract developers write code that is compiled for and run on such virtual machines, usually the Ethereum Virtual Machine, rather than the physical computing hardware directly. More precisely, smart contract developers usually use a programming language called Solidity that is compiled (i.e. converted) to EVM-bytecode, the language that the EVM natively understands.
If a smart contract blockchain is EVM-compatible, this means that smart contract applications from Ethereum can easily be ported to its ecosystem. It is also easy for developers already familiar with Solidity to write new code that will run on such blockchain platforms. As long as Ethereum remains the dominant ecosystem and keeps using the EVM, other EVM-compatible chains have it easier to capture developers from the ecosystem than their non-EVM compatible competitors.
On technical level EVM compatibility can mean one of several things:
- The VM used by the compatible blockchain understands EVM bytecode instructions. The BNB chain is an example.
- There is a way to compile Solidity code to the VM of the compatible network. This is how the Tron Virtual Machine (TVM) manages to be EVM compatible.
- Either a) or b) is possible on a layer-2 scaling solution or sidechain of the network in question. This is how EVM compatibility is introduced to Cardano and NEAR.
Algorand appears to be the only major layer one chain that currently doesn’t have any form of EVM compatibility. However, a $ 20 M grant was announced in 2022 for development efforts that would lead up to EVM compatibility.
Disadvantages of EVM
Solidity development
It is important to realize that within the greater landscape of computer science, Solidity is a niche programming language. It is specific to blockchain applications. It is not taught in the standard university syllabus for computer science, so experienced Solidity developers have been hard to come by. This makes Solidity developers, and consequently the expansion of the Web3 ecosystem expensive. Itjobswatch quoted a median UK salary of £120k p.a. for Solidity developers. This figure is far higher than the median salary for general-purpose programming languages. These languages could also be used for smart contract development if the EVM was not the industry standard.
- Solidity developer salary (p.a.): £120,000
- Rust developer salary (p.a.): £85,000
- C++ developer salary (p.a.): £52,500
Thus, if the industry moved away from the EVM, this would significantly lower the cost of developing smart contract applications. The underlying job market for other languages is less heated and a wider pool of developers could easily make the career switch to Web3.
EVM throughput
The EVM is also an early piece of blockchain engineering that currently constitutes one of the major performance bottlenecks for Ethereum. The Ethereum Virtual machine uses a comparatively slow and simple stack-based architecture that is not optimised to run fast on modern computer processors. This is one of the reasons for why Ethereum is planning to switch from the EVM to Ethereum Web Assembly (eWASM) in its road map. Web Assembly is a virtual machine project that aims to ensure complex Web pages are displayed efficiently and in a way that is uniform across different browsers. It has already received a lot of development by big tech companies such as Mozilla, Google, Microsoft and Apple. Unlike the EVM, a WASM-based virtual machine would allow for the creation of smart contracts in a range of programming languages. Projects like Polkadot, EOS and Elrond have already implemented WASM-like virtual machines which perform much better on benchmarks than the EVM. This demonstrates that non-EVM based blockchains can have an advantage when it comes to performance without necessarily sacrificing decentralization.
Conclusion
Investors in the blockchain space should pay attention to the switch from the Ethereum Virtual Machine (EVM) to Ethereum WebAssembly (eWASM) in the serenity phase of the Ethereum roadmap. This move is expected to significantly expand Ethereum’s ecosystem to a new generation of developers and potentially lower the cost of developing smart contract applications. However, for now, this update appears to have been deprioritised in favor of steps that will have an even greater impact on transaction throughput, such as sharding. In the near term, the EVM will reign supreme as an industry standard, despite its lower performance compared to WASM-based VMs. If Algorand manages to introduce EVM compatibility, it could result in a significant boost to its ecosystem and increase its valuation.
This article is for information purposes only and represents neither investment advice nor an investment analysis or an invitation to buy or sell financial instruments. Specifically, the document does not serve as a substitute for individual investment or other advice.