-
Notifications
You must be signed in to change notification settings - Fork 267
Description
Brief Description of the Docs Request
Our docs site is missing a key piece of the OP Stack protocol, the derivation pipeline.
Description of the Documentation You'd Like
The OP Stack section of the docs should have a high level overview of the derivation pipeline and link to the specs to drill down deeper.
Links to Related Pages
Additional Context
https://specs.optimism.io/protocol/derivation.html
This great explanation of the sequencer window would be a good piece in this page:
if the 12h sequencing window is exceeded without a valid batch being discovered on L1 to advance the Safe Head, the node will revert all Unsafe Blocks from the period, and will begin making forward progress using a default block, which is empty besides deposits. The network may return to health if the sequencer can start submitting batches built from this new implicitly derived head.
If a chain increases the window size to 24 hours, that network should simply operate with that higher limit. Nodes would wait twice as long before reorging out unsafe blocks, and the batcher could wait twice as long before submitting a batch. I don't think there's anything in code which makes assumptions on 12h window. Having said that, the change may have effects which are undesirable:
Nodes reorging out 24h of blocks could be harder on those nodes, causing more to hit resource constraints or otherwise fail
Batcher submitting half as often could lead to difficulty processing large batches
For high throughput chains, the batch submission rate tends to be controlled by fullness rather than timing
Perhaps other timing windows would have to be similarly adjusted? Like, maybe Fault Proofs would need a larger window? Not sure about this.
There's a question here about why someone would want a 24h sequencing window. 12h is already very large, and doubling it doesn't have any advantages I'm aware of. A chain operator does not want to flirt with the window, for risk of causing a massive unsafe head reorg, so the difference between 12h and 24h is not very meaningful to me.
As for if it's a requirement, a standard, a recommendation, or just a default, I leave that to the interpretation of our guides and you excellent solutions engineer folks.
Finally, how to change the window size -- looks like sequencerWindowSize is part of deployment configurations, which are set up at the same time as things like ChainID. It's not clear to me if there's a way to modify the value in the L1 system config. I suspect this value is hard to change once set.