Hi David. Nice protocol.
All rollups should have a way to decentralise sequencing.
Here are a few questions and suggestions after a quick read.
- Do sequencers coordinate?
Since anyone can be a sequencer, it means there must either be a gossip protocol, or a way for users to discover where to publish transactions. A normal user would probably publish the transaction to multiple sequencers to make sure it gets included quickly.
The reason why it is important to consider coordination is that publishing batches to the L1 is quite expensive. If the same L2 transactions get included in multiple batches, it might raise the costs.
If there is a gossip protocol, then it’s even worse since all transactions might end up included multiple times.
- Do aggregators coordinate?
Similar question.
If all aggregators are watching the L1 for published batches and have similar incentives, they will attempt to submit the proof at the same time. Which can be relatively expensive. One could think of various attacks where a competing aggregator front-runs adversaries to push them out of business.
- Fee distribution.
It’s not clear why an aggregator would distribute the fee to the sequencers. Is that behaviour somehow verified by the next proof?