Owner: @Naqib Zarin
Purpose: The main purpose of this document is to synthesize everything I’ve learned in the past few days on sovereign rollups in order to better understand Nomos’ sovereign zones. Warning: the document is built around topics that confused me and may therefore not be comprehensive.
Rollups are a popular idea to scale blockchains. The rollup executes transactions and posts the result state root, along with the transaction data, to a blockchain they are built on . The underlying blockchain (L1) is also responsible for ordering the blocks. In other words, rollups are blockchain that post their blocks to another blockchain, and inherit the consensus and data availability of that blockchain [1].
One of the key issues blockchains systems face is scalability. This has led to a rich literature corpus exploring different blockchain scaling solutions: alternative blockchain consensus architectures, sharding, side-chains, and layer-two (L2) architecture.
Changing the consensus protocols often result in more responsibilities for the nodes in the network. The capability of the network of nodes is as good as the capability of the least capable node in the network. Adding more functions means that every node has to able to cover for the additional costs, leading to an increase in the cost of participation, more decentralization and ultimately worse security [10].
Sharding solutions change the blockchain by splitting nodes into x groups, and have them process different sets of transactions, but still resolve on some common state. This increases the transaction throughput by a factor of x.
Layer-two (L2) protocols have gained popularity recently. Contrary to the aforementioned solutions, L2 protocol scale blockchains without changing the L1 trust assumptions and they do not extend or replace the consensus mechanism [9]. In these rollups, the L2 allows transactions between users through the exchange of messages via a medium which is outside of, but tethered to, a L1 blockchain [9]. Authenticated assertions are submitted to the L1 only in cases of a dispute, with the L1 deciding the outcome of the dispute. Popular classes of L2s are side-chains, state-channels, plasma, and rollups [10].
Rollups are a prominent type of L2 solutions and the focus of this document. Rollups are blockchains that post their blocks to another blockchain (L1), and inherit the consensus and data availability of that blockchain [1]. Both the rollup and the L1 maintain a state. The state of the L1 is the history of transaction data, whereas the state of the rollup may be for example all the account addresses and token balances of the users at a single point in time.
TODO: INSERT THE LUCIDCHART DIAGRAM ON STATE
Generally speaking, the architecture of a typical rollup consists of four layers [8]: