Rob Behnke
November 8th, 2023
Some of the main challenges that many blockchains face are throughput and scalability. Recording all transaction data on-chain creates challenges because blocks can only hold so much data, and blockchain nodes must store and process all of this data.
Rollups were introduced as a Layer 2 protocol that sits on top of a traditional Layer 1 blockchain. These protocols help to enhance the scalability and efficiency of the blockchain by moving transactions — and much of their associated data — off-chain. However, these rollups do have their downsides, including the potential for centralization at certain stages of the process.
The concept of shared sequencing is designed to enhance the decentralization of rollup architectures. By sharing sequencing architecture across multiple rollups, it both reduces the risks of centralization and provides additional benefits to the rollups.
On the blockchain, transactions are added to the distributed ledger as part of blocks. Inside each of these blocks, transactions are organized into a sequence. When a node executes the transactions in a block, they do so in order.
It’s possible that some transactions in a block may produce different results if they are ordered in different ways. For example, when interacting with a DeFi contract, exchange rates for a token pair may change from one transaction to another. Imposing a strict ordering on transactions helps to ensure that all nodes in the blockchain network reach the same state after executing a block.
Sequencing is the process of organizing transactions into blocks. Typically, this isn’t done on a first-come-first-served basis. Instead, transactions are organized into blocks based on the associated transaction fees and maximum extractable value (MEV).
A Layer 1 blockchain like Ethereum has a single set of transactions that it needs to include in its blocks. When a new Ethereum transaction is created, it is stored temporarily in mempools until it is added to a new block.
The concept of shared sequencing comes into play with the introduction of rollups, a Layer 2 scaling solution for Ethereum and other smart contract platforms. Rollups are designed to help improve the scalability and throughput of the blockchain by moving transactions off-chain. Rollups collect several off-chain transactions into a bundle and record only the net state update on-chain.
This is accomplished in a couple of different ways. The two types of rollups are:
Optimistic Rollup: An Optimistic Rollup assumes that the transactions contained in a bundle are correct until proven otherwise. Transactions are not finalized until a challenge period has been completed.
ZK-Rollups: ZK-Rollups use zero-knowledge proofs to demonstrate the correctness of the state update summarizing a transaction bundle. Transactions on a ZK-Rollup are finalized once a bundle has been recorded to the blockchain.
In both architectures, transactions are performed off-chain and bundled into smaller, on-chain transactions. The role of a sequencer in a rollup is to take the transactions submitted to the rollup and organize them into a bundle. They’ll also generate the proof or state update for the bundle before passing it on to the proposer to generate the new state root.
Rollups provide the ability to scale Ethereum and other blockchains, and many rollups are currently active. However, there are two main limitations to this architecture that shared sequencing is designed to resolve:
Most rollups use a single sequencer to organize their transactions, introducing the threat of centralization and censorship.
Various rollups exist, and these different architectures are not cross-compatible.
With shared sequencing, a single, rollup-agnostic network of sequencers will support several different rollups. The various rollups will submit transactions to the sequencing network, which will organize them into shared bundles for inclusion in the Layer 1 blockchain’s digital ledger.
A shared sequencing network is rollup-agnostic. This means that it can support multiple types of rollups, including both Optimistic and ZK-Rollups.
Shared sequencing moves the task of sequencing rollup transactions from a set of rollup-specific sequencers to a shared network. This provides a few benefits for the rollups and their users, including:
Decentralization: A shared sequencing network can use multiple independent sequencers to support the needs of several rollups. This protects against the potential centralization of power with a single sequencer.
Greater Efficiency: A shared sequencer uses the same system to support multiple rollups. By eliminating redundancy and ensuring that each bundle is full, it increases the overall efficiency of the system.
Faster Transactions: A rollup may wait to build a batch of transactions until it has a sufficient number to be worthwhile. By combining transactions from multiple rollups, a shared sequencing network fills up bundles more quickly, decreasing the time that rollup users need to wait to have their transactions recorded on-chain.
Cross-Rollup Compatibility: A shared sequencing network supports multiple different rollups. This creates cross-rollup compatibility since transactions are all bundled using the same sequencer.
Global Transaction Ordering: By bundling multiple rollups’ transactions in a single bundle, a shared sequencer imposes a strict ordering on these transactions. This creates an ordering that spans multiple rollups that didn’t exist when they operated completely independently.
Improved Security: A shared sequencing architecture uses the same implementation to support multiple different rollups. This decreases the probability that a particular rollup will have design or implementation errors that undermine its security.
Rollups offer a promising method of enhancing the scalability, throughput, and customizability of blockchain architecture. A rollup records transactions off-chain and can offer features and customizations unavailable on a Layer 1 protocol. However, all transactions performed on the rollup are eventually recorded on the Layer 1 blockchain in a more condensed fashion.
Shared sequencing helps to improve the rollup ecosystem by eliminating the potential for centralization and corruption of rollup sequencers. By sharing a sequencing network with other rollups, a rollup eliminates its reliance on a single sequencer.
This architecture also provides several benefits to the rollup and its users. For example, shared sequencing improves the efficiency and security of the rollup architecture and enables rollup transactions to be more quickly recorded on the Layer 1 blockchain.