By
Zhivko Todorov
November 7, 2024
7 Min Read
Up until recently, the Ethereum Virtual Machine (EVM) was the de facto standard in blockchain development, establishing the foundational paradigm for deterministic computation in decentralized networks. However, the needs and expectations of the communities that build and use these networks have been evolving and this has led to the creation of a new wave of alternative virtual machines, both within the Ethereum ecosystem and beyond.
In this article, we explore some of the limitations of the EVM and examine emerging alternative VMs, like Arbitrum Stylus, the Solana Virtual Machine (SVM) and Move-based virtual machines.
We also present a benchmark analysis of actual on-chain performance, comparing Rust-based smart contracts with the EVM.
The Ethereum Virtual Machine (EVM), while significantly contributing to the development of blockchain technology, is starting to exhibit several architectural limitations rooted in its first-generation design choices.
While the EVM established the foundational paradigm for deterministic computation in decentralized networks, a new wave of alternative virtual machines have emerged, both within the Ethereum ecosystem and beyond. These are the constraints that continue to affect the development of decentralized applications and the overall blockchain ecosystem:
In response to these limitations and the evolving needs of decentralized networks, the Solana Virtual Machine (SVM) introduced parallel transaction processing and a unique proof-of-history mechanism. Meanwhile, Move-based virtual machines, as implemented in platforms like Sui and Aptos, have introduced resource-oriented programming models that enhance asset safety and composability.
More recent innovations, such as Arbitrum Stylus, have further pushed boundaries by enabling developers to write smart contracts in languages like Rust and C++, marking a departure from the traditional Solidity-centric model.
Arbitrum Stylus marks a significant shift from traditional EVM-based smart contract development by allowing developers to write and deploy smart contracts in programming languages that compile to WASM, such as Rust and C++, while ensuring full compatibility with the EVM.
Additionally, Arbitrum Stylus lowers the onboarding barrier for millions of developers unfamiliar with Solidity. You can also make the case that this innovation enhances on-chain performance, particularly regarding gas costs.
For further info on Stylus, developers can now compare the multiVM Arbitrum One network with other EVM-based rollups on rollup.codes.
To verify this, we conducted a benchmark to compare the performance of Stylus against the standard EVM implementation on Arbitrum. For this evaluation, we utilized a standard ERC20 implementation in Solidity and compared it with a Rust-based equivalent. In addition, we benchmarked a more computationally intensive contract, specifically an Ed25519 signature verification. Below are the findings.
We utilized a standard ERC20 contract in Solidity from the OpenZeppelin library and ran a comparative test with the Rust implementation of an ERC20 developed by Offchain Labs. The summary of the results indicate that the Solidity version significantly outperforms the Stylus version in terms of gas costs while it also requires more gas for deploy, mint and transfer.
Stylus truly excels with purely computational contracts like Ed25519. In fact, signature verifications in Rust consume 75% less gas compared to their Solidity counterparts.
For a deeper dive into our benchmarking results, check out the repository on GitHub.
In summary, our benchmarks demonstrate that Arbitrum Stylus significantly reduces gas costs for more computationally complex smart contracts. Coupled with the already low gas fees on Arbitrum's Layer 2, this presents exciting new opportunities for developers of decentralized applications. Moreover, Arbitrum Stylus introduces multi-VM functionality to Ethereum for the first time.
However, looking beyond the Ethereum ecosystem, the exploration of alternatives to the EVM is not a new concept.
The emergence of alternative Layer 1 networks has brought forth innovative approaches to blockchain execution environments, each offering unique architectural advantages. The Solana Virtual Machine (SVM) has pioneered a fundamentally different method with its parallel transaction processing model, allowing multiple transactions to execute simultaneously without competing for the same resources. This parallelization, coupled with Solana's proof-of-history mechanism, facilitates significantly higher theoretical throughput compared to the EVM's sequential execution model.
Meanwhile, the Move programming language, originally developed by Facebook for the Libra/Diem blockchain, has given rise to its own ecosystem of virtual machines via platforms like Aptos and Sui. Move-based VMs stand out by treating digital assets as first-class resources, providing enhanced security measures that make it more challenging to accidentally duplicate or lose assets compared to traditional EVM-based smart contracts. Additionally, these platforms implement parallel execution models, albeit through different technical methodologies than Solana, with Sui specifically emphasizing horizontal scalability through object-centric data models.
Innovation beyond Ethereum has naturally spurred advancements within the ecosystem as well. As the smart contract-based network with the largest liquidity, Ethereum developers are focused on enhancing the performance of the network, particularly its Layer 2 solutions.
We are beginning to see hybrid implementations of the Solana Virtual Machine as Layer 2 networks on Ethereum, with notable examples including Eclipse and the Rome Protocol. Additionally, Neon Labs has developed what can be best described as an EVM-based sidechain to Solana.
Furthermore, the Move programming language is poised to make a significant impact on the Ethereum ecosystem, exemplified by Movement, an upcoming Layer 2 network that will feature a Move-based virtual machine called MoveVM.
Another Layer 2 solution developing an alternative VM is Fuel, which operates on the FuelVM and employs the Sway programming language (based on Rust). In the FuelVM full nodes can identify the accounts touched by a transaction and map out dependencies prior to execution, thereby enhancing computational performance.
It is important to note that, while these approaches are both novel and exciting, most of these networks are still either in testnet phases (not yet live) or relatively new, indicating that they have yet to be thoroughly battle-tested.
As we look ahead, the future of blockchain technology is indeed promising, with many barriers for developers and users on the verge of being dismantled. At LimeChain, we’re excited to help forward-thinking organizations and entrepreneurs realize the potential of blockchain and empower developers across various ecosystems with cutting-edge infrastructure and developer tools. If you too are driven by the need to innovate and create in the web3 space, reach out and let’s discuss ideas: hi@limechain.tech