by mteam building based at Spire Labs
Much thanks to Ladislaus, George Spasov, Drew, JJ Alicea, Noah Pravecek, Murat
.
tl;dr: To understand how multiple sequencers can work together while one still has monopoly sequencing powers, we use forward inclusion list research. We propose a based rollup design "Forward Based Sequencing" that enables traditional shared sequencers to force-include transactions in a future rollup block. This design can be extended to improve the CR of based rollups independently of Ethereum itself.
.
Terminology and assumptions:
In this section, we explain the unique benefits of based sequencing and shared sequencing. We start from first principles and attempt to derive why based sequencing and shared sequencing are individually valuable, and then examine some ways to get both.
Shared sequencing enables atomic inclusion across opted-in rollups.
Based sequencing enables atomic inclusion across based rollups and the Ethereum L1.
For a single block, naive implementations of based sequencing and shared sequencing are simultaneously incompatible. This is because based sequencing (with preconfs) requires monopoly sequencing rights over the domain they sequence for their block. Put simply, the L1 Proposer cannot "share" their sequencing powers.
Note that based rollups without based preconfs do not suffer from this incompatibility (a rollup could become semi-based and allocate some of its blockspace to based sequencing and shared sequencing).
To understand how we can get based preconfs and shared sequencing, let's examine the different types of sequencing powers that a rollup can give to sequencers:
Next, let's examine which of these are required for based sequencing/preconfs and shared sequencing:
Let's talk through a few models of working around these requirements (or simply accepting them) that one might consider:
Because shared sequencing can work with partial sequencing powers, an L1 Proposer could give some of their L1 blockspace to a ShSq. In such a model, the L1 Proposer must put up some collateral to guarantee that they will actually allocate blockspace to a ShSq.
Side note: Is this even based sequencing? I don't think so.
Pros:
Cons:
Every rollup block includes two+ sub-blocks. (Or a rollup has two+ blocks proposed at once, logically these are the same.) Assume that there is some mechanism to resolve problems like a transaction appearing in both blocks.
Pros:
Cons:
Choose to use ShSqs or based sequencing for a given rollup slot. This can be done using Execution Tickets/Auctions. Can use a lookahead, external fast finality gadgets etc. Espresso has introduced the idea of the Right of First Refusal (ROFR) to give the L1 Proposer first access to a based rollup.
Pros:
Cons:
After examining a few of the ways to get interop between traditional rollups, based rollups, and the Ethereum L1 we realize a few things.
In any system where multiple different entities can influence sequencing simultaneously, preconfs must be coordinated between both. This adds complexity and is incompatible (afaict) with many traditional shared sequencer designs.
Interestingly, this same problem has been explored on Ethereum L1 with a focus on Censorship Resistance. The concept of Inclusion Lists (ILs) has been introduced to enable L1 Proposers to influence the sequencing of L1 blocks built by mev-boost builders.
Simply put, ILs are lists of transactions that must be included in/before a certain L1 block[s].
Over time, the research around ILs has evolved to become more robust.
from: my post here
A few important takeaways that we apply later:
Forward Inclusion Lists are created by the L1 Proposer at slot n
and applied to the block at slot n+x
.
… Forward inclusion lists increase censorship resistance (CR) of the chain, whereas spot inclusion lists do not.
The argument is as follows. Spot ILs are made by honest proposers, but they do not increase censorship-resistance since honest proposers do not connect to censoring builders anyways. Greedy proposers do not make a spot IL, since this would “turn off” the censoring builders they connect to. Censoring proposers also do not make a spot IL for themselves, so the amount of censorship remains the same as without spot ILs.
On the other hand, greedy proposers do not make a spot IL for themselves, but make a forward IL for others. This list may apply to honest proposers, for whom the list is “redundant”: Honest proposers were not connecting to censoring builders anyways. The increase in CR comes from honest or greedy proposers making a list for other greedy proposers. These proposers subjected to the list, while connected to all builders, can no longer receive bids from censoring builders, and thus CR is increased.
from: my post here
Cumulative Non-Expiring Inclusion Lists are a type of Forward Inclusion Lists.
As a recap. Having proposers set ILs for their own blocks doesn’t make much sense and it relies purely on altruism to include censored transactions into one’s own blocks.
Having forward-ILs makes sense, allowing the current proposer to constrain the next proposer. This means that the current proposer could create an IL that either the current proposer itself or the next proposer must satisfy.
The problem with one-slot-forward ILs is that parties with multiple validators have an economic incentive to not constrain the next proposer in the case the next proposer is controlled by the same entity.
– Cumulative, Non-Expiring Inclusion Lists - Toni Wahrstätter
The solution? Inclusion lists apply to many blocks to make the chances of an incentive misalignment very low.
ILs on Ethereum can be used to enable a L1 Proposer to influence the sequencing of transactions in future L1 blocks. This concept (influencing future sequencing instead of current sequencing) can be applied to based sequencing
Now it's time to apply what we've explored into a solution:
d
(for delay) blocks after being submitted, all transactions in a Forward Set are immediately added to the Inclusion Set. The Inclusion Set is somewhat similar to a "delayed inbox" in rollups like Arbitrum.d
slots in advance.d
be? There is something to be said for d = 1.
This design gives us the best CR and also makes execution preconfs easier to get (fewer preconfers to talk to). The downside of a low d
is that execution preconfs over multiple blocks are no longer possible, which is most likely an acceptable tradeoff but this is an open question.Pros:
Cons:
d
blocks in a row, they are incentivized to attempt to censor Forward Set inclusion, same as ILs on Ethereum.While progress is going well on based preconfs, I feel that the underlying based rollup technology is somewhat ignored by the research. A reminder: based preconfs run on based rollups.
MEV is an essential consideration of any sequencing architecture.
One design goal of a sequencing system is to capture MEV for the blockchain that is being sequenced. With based sequencing, this consideration is very underexplored.
First of all, popular MEV capture designs at the sequencer level today (execution tickets/auctions) attempt to capture MEV with sequencer election mechanisms. With based rollups, sequencer election is limited by the L1 lookahead, but wrappers around a simple sequencer election (with something like execution tickets) are possible. The most important thing to consider when deciding on a sequencer election mechanism is composability with other based rollups (based rollups are only composable between each other if they share an elected sequencer). This means sequencer election mechanisms are path-dependent on how based rollups launch and GTM.
Forward Based Sequencing enables two ways to capture MEV through sequencer election:
references and resources
TODO