TezDev 2023 : It’s rollups time !
The more a blockchain grows, the more scalability limits become a painful issue. As the number of transactions increase, so does the gas price and the time for a transaction to be finalized. To prevent this issue, one common solution is horizontal scaling via a L2 rollup solution. Since the Mumbai upgrade, the Tezos protocol implements smart optimistic rollups. It’s a new feature (March 29, 2023) implemented in an original and unprecedented way in all web3 ecosystem. Needless to say that smart rollup is currently a hot topic in tezos ecosystem. Unsurprisingly, the TezDev 2023 conference that took place the 21 July in Paris, was mainly focused on rollup. It was the occasion to get a deep insight into this technology and get some glimpse of the future evolutions. In this article, we are going to talk about some interventions.
p.s. : In this article we are not going to dive into deep technical aspects of rollups functioning. For more detailed informations on how tezos smart rollup works, you can check Tezos documentation.
Rollups on Tezos
Contrary to rollup solutions developed on other blockchains, tezos rollup is said to be enshrined in the protocol which means it’s not implemented via smart contracts (like on Ethereum for example) but directly by the protocol. On Tezos, rollups are first class citizens, each one having it’s own address beginning with « sr1 ». This is more cost-efficient and future proof than smart contract implementation. It also enable more use cases since rollups are not limited by smart contract’s limitations. This is why the prefix « smart » is added to « smart optimistic rollup ».
By aillor, rollups are permissionless: : Every one can deploy a rollup node and defend it’s version of the rollup state by stacking 10k XTZ. Also every one can originate a new rollup by providing, among other thing, a web assembly (WASM) kernel responsible for input/output communication with L1 and rollup state update.
Developers are free to implement arbitrary logic in kernel as long as it remains compliant with the PVM (Proof-generating Virtual Machine) associated to the rollup. PVMs are provided by Tezos protocol and are used during the refutation game to check which one of the committed states is correct.
The cofounder of Tezos talks about rollups
The first thing one think when talking about rollups is scalability. However, if smart optimistic rollups aims at leveraging Tezos scalability by reaching a throughput of 1 million transactions per second (TPS) ; performance is not the only benefit rollups. The Tezos rollup technology is not only about throughput but also about interoperability. More precisely, interoperability beetween development languages and tools. Indeed, since the kernel of a rollup is expected to be written in WASM, developers are free to implement kernel in any language that compile to web assembly: C, C++, Rust, Go, EVM…
This diversity of language allows to cover a large panel of developers around the world. It allows, to a certain extend, to work with the Tezos blockchain without knowing Michelson. It also removes the need to create and maintain specific language and tools (IDE, framework, …) for rollups.
He also explained why Tezos rollups shouldn’t be seen and used through an app chain paradigm. The idea of app chain is to launch a new rollup instance for each new app to have app specific chains (like on Cosmos for example). Arthur Breitman argues that such conception make communication between app harder. Moreover, reasons for which a project may want to setup an app chain ; such as don’t having to shares chain’s resources with other apps or the ability to develop in a language the team master ; are already fulfilled by smart optimistic rollups. Indeed, there is going to be rollups compatible with a large panel of languages. In addition, as rollup provide high scalability, there shouldn’t be concerns about sharing chains resources with other apps.
However, setting up a rollup for a single app may still be pertinent for some specific cases
Finally, he said that in the future, the goal is to create, in addition to other rollups, a big UHT (Ultra High Throughput) rollup that is going to be compatible with a lot of language : Michelson, EVM, Rust, …
It would allow atomic call between smart contracts written is different languages which would avoid latency from hopping between rollups.
There would be solutions to migrate projects in UHT rollup from other rollups.
Some rollups in development
Jean Schmitt, lead developer at Ubisoft, presented the Hashcraft exploration game where players can discover and claim islands. It’s the first blockchain prototype game developed by the Strategic Innovation Lab of Ubisoft (they also developed other games having web3 components such as Rabbids, One Shot League or Quartz).
They upgraded Hashcraft using Tezos unity SDK. They developed a rollup in Rust to benefit from high throughput and low fees, but also to be able to implement new features, such as better player input validation process, that couldn’t be achieved via smart contracts.
When EVM and Michelson make peace
Pierrick Couderc and Valentin Chaboche, software engineers at Nomadic Lab, presented Etherlink, an EVM compatible smart rollup on Tezos. The kernel has been built in Rust. It uses the Rust implementation of EVM : SputnikVM
This rollup could be the entry point into the Tezos world for EVM developers. Indeed, Etherlink is compatible with all EVM tools: EVM wallet, Remix, …
Thanks to it’s inbuilt governance system, Tezos has smoothly and efficiently integrated optimistic rollups into its protocol. ZK rollups may be added in next upgrades.
If you couldn’t attend TezDev conference or for more informations on the topic, you can check tezos youtube channel (the conference interventions may be posted there next days)