Rollups on Tezos [Part II]
How will RollUps be implemented and what does "enshrined" mean? Learn more in Part II.
Originally published at Tezos Commons News
1,500 words, 8 minute read
In Part I of “Rollups on Tezos” we got a basic understanding of what rollups are, why we need them, and the differences between Optimistic and ZK rollups.
In Part II, it’s time to explore more specifically on how rollups will be implemented on Tezos and what “enshrined” rollups mean. A simple questions being asked right now is what type of rollups will be introduced to Tezos and what will their design be? As always, I will try to explain things in layman terms as there are already more technical documentations out there that I will link at the end along with the sources for the information I will be sharing in this article. So let’s dive into it!
“Enshrined” Rollups #
One of the main differences in the way rollups will be implemented on Tezos compared to other chains is that rollups on Tezos will be “enshrined”. But what does that mean exactly?
Tezos having “enshrined” rollups means that when the rollups are originated, they become part of the Tezos protocol (layer 1) and are not deployed as smart contracts like we see on other chains (i.e.; ethereum).
Tezos will be the first blockchain to implement enshrined rollups bringing along a lot of benefits. To name a few:
- There won’t be the need for any “admin keys” or multi-sigs that allow the originator or any single entity to have control over them.
- They will be much more computation and gas efficient for the Layer 1.
- They allow for more complex features to be enabled that would normally be nearly impossible to implement on a smart contract-based rollup.
Let’s take a look at how they will work.
Smart Optimistic Rollups (SORUs). This is the way. #
In Part 1 we talked about the two most popular types of rollups (Optimistic and ZK) and as their name gives away, Tezos’ Smart Optimistic Rollups will be an implementation of Optimistic rollups, which will allow for much more complex smart contracts, VMs, and other features to run on them compared to ZK rollups which in their current form are still limited to more basic transactions and require higher hardware requirements. Note, this might change as ZK rollups matures and are further developed.
In Tezos, anyone will be able to originate a rollup or deploy a rollup node so long as they have a minimum requirement of 10k tez. The 10k tez that are needed are used as a security deposit to prevent anything malicious.
Once a rollup is originated, it has its own address on the mainnet (starting with sr1) and anyone can deploy a roll up node to keep the rollup progressing. There are 4 different rollup node ‘modes’ that you can deploy but here we will only focus on the “operator” and the “accuser” modes which are the most important.
The operator rollup node is responsible for following the Layer 1 chain, updating the state, accepting transactions, batching them, regularly posting the commitments to Layer 1, and taking part in possible refutation games. This is basically a full-fledged node which keeps the rollup progressing.
On the other hand, the accuser rollup node is the node that keeps the rollup “in check” by following the Layer 1 chain and computing the same commitments that the operator node posts. The difference is that the accuser node doesn’t publish the commitments unless there is a conflict between its computations and those of the operator node.
In that case the accuser node publishes its own commitment and a refutation game begins between the two nodes where after pinpointing the conflict in the commitments, they each provide their proof and then the Layer 1 decides who is right and who is wrong. For these kind of decisions, a proof-generating Virtual machine (PVM) is added to the Tezos protocol (more on that later).
The rollup node that has posted the incorrect data will have its security deposit slashed and the honest node is rewarded with half the node’s security deposit that was slashed(the other half is burnt). In these refutation games, honest nodes are guaranteed to win so honest participants shouldn’t be worried about them.
Although we mentioned it in Part 1, it’s important to note again that due to the nature of optimistic rollups and the process mentioned above, the state of the Tezos rollups will take two weeks to be ‘finalized’ on the Layer 1 chain so there is enough time for “accuser nodes” to check the commitments of the rollup nodes.
Tezos Rollups Design #
How will these rollups work, what VMs will they have, and what language will be used to run applications on them?
Before we answer these questions, we need to understand a few more things about their design so we can better comprehend the answers.
As we said earlier, along with the rollups there will be a proof-generating Virtual Machine that will be added to the Tezos protocol, with which the Layer 1 will ultimately be able to decide which rollup data is valid and which are not.
This PVM, (initially) will be running the WebAssembly (WASM) language which you could think of as the base layer that other languages will compile to, similar to how Michelson is the language that Tezos uses for smart contracts but we can still use Python, LIGO, and other languages to write smart contracts that then compile to Michelson.
Since WASM is already a well established language, there are already good compilers for popular languages like C, C++ and Rust that could easily be used for the rollups as well. To use other languages like Michelson, Solidity etc., builders can use or build their own Kernels (think of them as the operating systems of the rollup) with which they could essentially add any Virtual Machine they want (ex. EVM) and use any language that compiles to WASM for their rollups.
The Kernel used for a specific rollup, is set at the origination of each rollup and while the protocol developing teams will provide some Kernels to begin with, anyone is welcome to develop their own innovative kernel.
(Hint: some teams are already actively working on new Kernels like "Tezos on Tezos" by the Baking Bad team and an EVM Kernel by Nomadic labs)
This Smart Optimistic Rollups’ (SORUs) architecture, makes Tezos rollups highly flexible and highly configurable which in turn opens up a vast variety of possible use cases and implementations.
Too much information? Let’s do a recap!
- Rollups are used to scale a blockchain horizontally so it can handle more users interacting with it at the same time while remaining decentralized.
- Tezos will be using an implementation of Optimistic rollups which require at least one rollup node (operator) to progress the rollup and one honest rollup node (accuser) for the rollup to be trustworthy.
- Tezos rollups will be “enshrined” and not smart contract based which makes them part of the main chain. This adds benefits like better computation efficiency and a more decentralized nature as they don’t require “admin keys” and other points of centralization.
- The validity of the rollups’ data is ultimately decided by the main Tezos chain (Layer 1) which makes Tezos rollups secure.
- Rollups on Tezos are permissionless, anyone can originate and/or progress a rollup or deploy a rollup node as long as they have the minimum 10k tez needed for the security deposit.
- Rollups on Tezos are highly configurable and with the use of Kernels, you can use any VM or programming language that compiles to WASM which is the base language of the Tezos rollups.
I hope this 2-part article has helped you to understand Tezos rollups a little better even if it is just the basics that we covered here. Even though this topic is extremely complicated, I’ve tried to keep things as simple as possible.
It’s important to remember that this is literally cutting-edge blockchain technology that we are trying to understand here so a lot of research is required to better comprehend the concept.
With that said, if you find this topic as exciting as I do, feel free to go through the following links which include my sources for the information shared in this article.
Sources and Tezos rollups related links:
- Why the next generation of optimistic rollups are a game-changer for Tezos
- The road to a million TPS (and beyond): Smart rollups are coming
- Smart Optimistic Rollups — Gitlab documentation
- Get ready to roll. Tezos is scaling
- Blockchain Evolved Show #3 — Tezos “Smart Optimistic Rollups” (SORUs) with Nomadic Labs!
- TezTalks Live #58: Nomadic Labs
- Scaling Tezos with rollups (presentation by developers)