Is it time to Move beyond Solidity?

Disclosure: Placeholder is an investor in Movement Labs and holds APT and SUI. 

The EVM has been the most popular blockchain operating system since Ethereum launched almost a decade ago. However, few developers love developing with its native programming language, Solidity; some even compare the experience to “chewing glass.” Nevertheless, entrepreneurs choose it because it facilitates access to Ethereum’s users, assets, and liquidity. But if we want to have 10x the number of onchain applications, we must have 100x the number of developers able to build them. To do that, we have to make it much easier for the average programmer to write sophisticated smart contracts while increasing the security and scalability properties of the underlying infrastructure. That’s the central promise behind the Move programming language and the emerging ecosystem of networks that employ it.

Solidity developers struggle because its execution environment doesn’t scale easily out of the box, lacks fundamental security features, and imposes unintuitive programming paradigms. Clever engineers and thousands of dollars in audits can work around these three issues, but that’s precisely the problem: it takes highly sophisticated developers and a lot of money to deliver secure, scalable, and complex smart contract applications on EVM networks. 

Move is a programming language for smart contracts developed by Facebook as part of their Libra blockchain project. Libra died of Politics in 2020, but they left behind some great open-source technology built for global scale. Move was created around three principal values: security, capability, and usability. It provides strong security protections by default and can power highly complex applications while remaining simple and easy to work with. If we had to summarize the effect in one provocative sentence, a 1x Move developer can deliver better applications than a 10x Solidity developer

Aptos and Sui

Of course, the applications you write in Move ultimately run on top of a blockchain. The Aptos and Sui networks both spun out of the Libra project. They belong to the next generation of blockchains that provide ultra-high throughput for low transaction fees, similar to Solana (a more mature ecosystem with many advantages but higher talent requirements to build applications given the complexities of Rust). Aptos and Sui use variants of Move with different network architectures underneath. Aptos Move is closest to the original specification developed at Libra, and the network uses a familiar consensus mechanism. Sui Move introduces an object-oriented programming paradigm to smart contracts, which is more familiar to traditional non-crypto devs, while the network uses a DAG-based consensus system architecture instead of a typical blockchain. Each approach has its tradeoffs, and much has been written about the differences (see also), so we don’t have to repeat the details here. What’s more important is that developers can choose what suits them the best. 

Although they are both emerging networks, Aptos and Sui stand out as formidable contenders for the top echelons of the network wars. Few other chains can deliver equally high performance at minimal cost with an uncompromising developer experience that translates to better applications that are much easier to create.

Modular Move

While Move as a language directly challenges Solidity, Aptos and Sui compete more with highly integrated networks like Solana than Ethereum. Alternative VMs and languages should not offend Ethereans, given that one of the main selling points of the modular movement is the ability to layer custom execution environments on top of ETH’s ledger. So, if you like Move but prefer the Ethereum ecosystem, its modularity allows you to have your cake and settle it, too. 

That’s precisely what Movement Labs enables with its new rollup and SDK. Their stack of tools and services consists of (1) a public Move VM (MVM) Ethereum Layer 2 called M2, (2) the Movement SDK, and (3) a decentralized shared sequencer. 

M2 is the first Move-based L2 on Ethereum, which allows developers to write applications in Move that settle on Ethereum. It can run both Aptos and Sui Move, so developers who need features from either don’t have to compromise. It also includes an EVM proxy, enabling developers to mix and match Move and Solidity contracts in the same execution environment. It also allows users to use Move apps with their existing Ethereum wallets and pay transaction fees in ETH. They call it “Move-EVM” or MEVM. Think of it as a multi-execution environment that maximizes developer choice without sacrificing access to established EVM infrastructure. 

M2 is built with the Movement SDK, an open-source framework for deploying custom MEVM rollups on Ethereum or other EVM networks. This SDK allows developers to launch Move-based application-specific rollups using the same technologies that power M2. Due to its architecture, M2 cannot match Aptos’ or Sui’s absolute performance. However, as a tradeoff, M2 can do things Aptos and Sui can’t, and the Movement SDK provides a path for developers who need that level of scale to deploy their own MEVM environment and combine it with other emerging technologies if they want to (e.g., M2 uses Celestia for Data Availability). 

Finally, the shared sequencer manages the connection between all MEVM rollups (including M2) and Ethereum. Because it is decentralized, it guarantees the security of all MEVM networks. Because it is shared, it reduces costs for all who use it, as it can bundle transactions from multiple parallel rollups in the same batch, making them interoperable. 

The main criticism against modularity is the complexity of managing multiple components, which is true. But it doesn’t detract from the long-term value of modularity. In the case of Movement, it allows them to combine elements of Aptos, Sui, and Ethereum in a way that none of those individual networks could on their own. The combination maximizes developer flexibility without sacrificing access to existing EVM resources and infrastructure. 

Moving Forward

The lack of scalability and high transaction fees used to be the main bottlenecks of Web3. Today, blockspace is abundant, and transaction fees are low, but it’s still quite difficult for most developers to build secure smart contracts. Most developers are not crypto developers yet; to change that, we need to ruthlessly improve the developer experience until it is easier to develop on Web3 than on Web2. Our bet on Move comes from the belief that it provides a superior entry point for new developers to build onchain applications thanks to the security and scalability features inherent to Move. 

This does not mean we are no longer bullish on any of the ecosystems we support, including Ethereum and Solana (on top of which Anza is controversially working to add Move support). Tribalism leads many to believe that being in favor of one option requires being against its perceived antagonist, e.g., that being in favor of Solana means being against Ethereum, or that being in favor of the Move ecosystem means being against Solana, and so on. This dualistic mode of thinking ignores the broader reality that industries thrive on consumer choice and competition. 

It’s also worth highlighting that, despite the limitations, the EVM standard will not go away any time soon, and its continued dominance is a testament to the power of first-mover advantages and network effects. Instead, its limitations will be transcended by the layers of abstraction built above it. In hindsight, the evolution of blockchain operating systems will resemble that of computers: we start with primitive versions and create increasingly complex, yet more developer- and user-friendly, systems on top. Consider how the BIOS in a computer is the lowest-level operating system that handles the communications between the hardware and the OS, yet most users never interact with it, and few are aware of its existence. Or how, for the first ten years, Windows was built on top of the more primitive MS-DOS. The EVM could very well follow a similar path and become a lower-level primitive on top of which more powerful systems are built, which is why including the EVM in the Movement Labs stack is particularly interesting. 

Having lived through the arc of Web2, it is clear that there has been a direct correlation between ease of development and application quality over the years. What Aptos, Sui, and Movement are bringing to the space brings us closer to that vision, and we’re excited to see what developers build with them.