Going beyond the EVM with Arbitrum Stylus
Only 20k devs know solidity, while over 3m know Rust and 12m C++: this new software update promises to open up Arbitrum to the next wave of developers.
Arbitrum is getting a new software update: Stylus.
This update will allow developers to program in other languages, such as Rust, C, and C++ while being fully compatible with EVM languages, such as Solidity.
This piece provides context for the need for Stylus, how it works, and what this means for Arbitrum's future.
Why Stylus?
EVM languages such as Solidity have been fundamental to the blockchain tech stack and its initial development language. However, this language has limitations, as it’s new and has a limited pool of developers.
There are estimated to be about 20k Solidity developers, which pales compared to the 3 million Rust and 12 million C++ developers (as of August 2023).
Until nowadays, if developers wanted to build in a different language than Solidity, they had to do so on a different blockchain, which might not have the same number of apps or activities.
Blockchains must reflect this need for more languages and adapt accordingly, offering more flexibility.
This is the core reasoning behind the Arbitrum Stylus upgrade, which is expected in the upcoming weeks.
Going beyond EVM Languages
Stylus is defined as a “next-generation” programming language for Arbitrum.
Once Stylus goes live, developers can write code in any language they prefer, leveraging the efficiency of Rust, C, or C++ while benefiting from full EVM compatibility.
Stylus will go live in all Arbitrum chains, including Orbit Chains.
With this upgrade, all Arbitrum chains will support MultiVM, benefiting from:
10x more efficient computation
100x cheaper and more efficient memory
Cheaper transactions
Enabling operations previously not possible with EVM languages
Users can experience new applications, use cases, and save costs on Arbitrum.
How is Stylus built?
Stylus is a fully interoperable environment.
Devs can write code in Rust and talk to solidity contracts as they would normally, enabling support for adding all kinds of languages.
Stylus features 2 Virtual Machines:
• Ethereum VM: for Solidity
• WASM (using web assembly): Rust, C, C++
However, they are not separate and work together. Contracts in one VM may call the other VM and work together to affect state transition.
The implementation of a WASM VM in Stylus is made possible by the fraud proof mechanisms introduced by Arbitrum Nitro, which allows the protocols to “deterministically prove arbitrary WASM” operations.
Building the next wave of Arbitrum dApps
Aside from providing massive advantages for users via cheaper transactions, Stylus can be defined as a developer-focused upgrade to onboard the next wave of developers by lowering the barriers to entry to the Web3 industry and making it easier for them to build applications on Arbitrum using the programming languages they already know.
It unlocks access to more languages and provides better tooling for devs.
Furthermore, shortly, Stylus will also be able to support more languages, such as Go, Sway, Move, and Cairo.
According to Steven Goldberg, the founder of Arbitrum, the Stylus update is almost ready to launch soon.
The initial deployment of Stylus will also be supported by Phase 3 of the Arbitrum Foundation Grant Program, with the Stylus track, giving up to 150k USD in ARB as grants for projects.
Are you ready?
More on Stylus:
Great thread by Pedro:
https://x.com/0xpedro_eth/status/1787814749985788094
Last Stylus update from Arbitrum:
https://x.com/arbitrum/status/1788242493860983126
- on Arbitrum updates:
https://x.com/DeFiMinty/status/1787952523568980085
Seems a few catalysts are aligning for Arbitrum:
https://x.com/SizeChad/status/1792908621816226135
Last but not least, Rachel from OffChain provides a fantastic explanation of Stylus! A lot of the most technical explanations in this piece have been taken from her. Great presentation!