Skip to content
This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Commit 8c5fc17

Browse files
committed
reorganize Sequencing
1 parent 7f66010 commit 8c5fc17

6 files changed

Lines changed: 58 additions & 6 deletions

File tree

.vitepress/config.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,16 @@ function sidebarHome() {
199199
text: "Data Availability",
200200
link: "/learn/data-availability",
201201
},
202+
{
203+
text: "Sequencing",
204+
collapsed: true,
205+
items: [
206+
{ text: "Overview", link: "/lean/sequencing/overview" },
207+
{ text: "Single", link: "/lean/sequencing/single" },
208+
{ text: "Based", link: "/lean/sequencing/based" },
209+
{ text: "Forced Inclusion", link: "/lean/sequencing/forced-inclusion" },
210+
],
211+
},
202212
{
203213
text: "Resources",
204214
collapsed: true,

guides/sequencing/single.md

Lines changed: 0 additions & 1 deletion
This file was deleted.
File renamed without changes.
Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ It mainly consists of:
2222

2323
## Sequencing Implementations {#sequencing-implementations}
2424

25-
An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above. For example, [single-sequencer](https://github.com/rollkit/rollkit/blob/main/sequencers/single/README.md) is the refactored functionality from the Rollkit prior to `v1.0.0`. The single sequencer is the middleware run by the aggregator node of the Rollkit rollup. The aggregator node relays rollup transactions to single sequencer which then submits them to the DA network (Celestia). The header producer node then retrieves (via `GetNextBatch`) the batched transaction from the single sequencer to execute the transactions and produce the updated rollup state. Similarly, there are other sequencing middlewares which can be built for various sequencing strategies or even for connecting to different third-party sequencing networks.
25+
An implementation of the sequencing interface mainly acts as a middleware that connects Rollkit rollup and the sequencing layer. It implements the sequencing interface functions described above.
26+
There are several implementations of the sequencor:
2627

27-
The sequencing implementations that are currently work in progress:
28-
<!-- * [single-sequencer](single) -->
29-
* [based-sequencer](/guides/sequencing/based.md)
30-
* [forced-inclusion-sequencer](/guides/sequencing/forced-inclusion.md)
28+
* [single-sequencer](/guides/sequencing/single.md) - The simplest and most widely used sequencing model, where a single node (the sequencer) is responsible for ordering transactions and producing blocks.
29+
30+
* [based-sequencer](/guides/sequencing/based.md) - A more decentralized model where multiple sequencers work together to order transactions and produce blocks, improving censorship resistance (Not available yet).
31+
32+
* [forced-inclusion-sequencer](/guides/sequencing/forced-inclusion.md) - A model that ensures all transactions are included in the rollup, even if they are not ordered by the sequencer, providing strong guarantees against censorship. (Not available yet).

learn/sequencing/single.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Single Sequencer
2+
3+
A single sequencer is the simplest sequencing architecture for a Rollkit-based rollup. In this model, one node (the sequencer) is responsible for ordering transactions, producing blocks, and submitting data to the data availability (DA) layer.
4+
5+
## How the Single Sequencer Model Works
6+
7+
1. **Transaction Submission:**
8+
- Users submit transactions directly to the sequencer node via RPC or other interfaces.
9+
2. **Transaction Ordering:**
10+
- The sequencer collects transactions from users and orders them into blocks according to the rollup's rules.
11+
3. **Block Production:**
12+
- The sequencer produces new blocks at regular intervals or when enough transactions are collected.
13+
- Each block contains a batch of ordered transactions and metadata.
14+
15+
4. **Data Availability Posting:**
16+
- The sequencer posts the block data to the configured DA layer (e.g., Celestia, Avail, etc.).
17+
- This ensures that anyone can access the data needed to reconstruct the rollup state.
18+
19+
5. **State Update:**
20+
- The sequencer updates the rollup state based on the new block and makes the updated state available to light clients and full nodes.
21+
22+
## Advantages
23+
24+
- **Simplicity:** Easy to set up and operate, making it ideal for development, testing, and small-scale deployments.
25+
- **Low Latency:** Fast block production and transaction inclusion, since there is no consensus overhead among multiple sequencers.
26+
27+
## Considerations
28+
29+
- **Centralization:** The sequencer is a single point of control. However, this is often acceptable for many applications, especially in early stages or permissioned environments.
30+
- **No Fault Tolerance:** If the sequencer is unavailable, the rollup cannot make progress. High-availability setups and monitoring can mitigate this risk.
31+
32+
## Use Cases
33+
34+
- Production rollups seeking simplicity and performance
35+
- Prototyping and development
36+
- Private or permissioned rollups
37+
- Projects that value deterministic ordering and operational control
38+
39+
## Future-Proofing
40+
41+
While the single sequencer model is robust and production-ready, Rollkit is designed to support more advanced sequencing architectures in the future. Projects can seamlessly upgrade to decentralized sequencing when the technology and their needs mature.

0 commit comments

Comments
 (0)