optimism
optimism copied to clipboard
Holocene-D: Holocene Derivation Changes
Summary
The Holocene hardfork introduces several changes to block derivation rules that render the derivation pipeline mostly stricter and simpler, improve worst-case scenarios for Fault Proofs and Interop. The changes are:
- Strict Batch Ordering required batches within and across channels to be strictly ordered.
- Partial Span Batch Validity determines the validity of singular batches from a span batch individually, only invalidating the remaining span batch upon the first invalid singular batch.
- Fast Channel Invalidation, similarly to Partial Span Batch Validity applied to the channel layer, forward-invalidates a channel upon finding an invalid batch.
- Steady Block Derivation derives invalid payload attributes immediately as deposit-only blocks. The combined effect of these changes is that the impact of an invalid batch is contained to the block number at hand, instead of propagating forwards or backwards in the safe chain, while also containing invalid payloads at the engine stage to the engine, not propagating backwards in the derivation pipeline.
Specs: https://specs.optimism.io/protocol/holocene/derivation.html Owner: @sebastianst
DoD
This consensus change is set to be included in the next hardfork Holocene. The project is done when
- All invalid payloads are derived as deposit-only blocks, starting with Holocene activation.
- All out of oder frames and batches are discarded.
- Holocene is activated on mainnet.
- Possible downstream effects of this change have been derisked with Proofs and Interop teams.
Tasks
See individual task descriptions for details.
- [x] #11313
Implementation
- [x] #11314
- [ ] #11316
- [ ] #11317
- [ ] #11330
- [ ] #11318
- [ ] #12157
- [ ] #12449
- [ ] #12120
Auxiliary
- [x] #11321
Risks
See
See Also
-@sebastianst