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

By Cryptonio.tez


1,500 words, 8 minute read

Rollups on Tezos Part II image 1

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 #

Rollups on Tezos Part II, image 2

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:

Let’s take a look at how they will work.

Smart Optimistic Rollups (SORUs). This is the way. #

Rollups on Tezos Part II, image 3

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.

Rollups on Tezos Part II, image 4

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).

Rollups on Tezos Part II, image 5

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 #

Rollups on Tezos Part II, image 6

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.

Rollups on Tezos Part II, image 7

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.

Recap #

Rollups on Tezos Part I, image 6

Too much information? Let’s do a recap!

Rollups on Tezos Part II, image 9

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: