ethereum-optimism / ethereum-optimism/specs
Add rollup config data to SystemConfig
- Dominant language
- Python
- Stars
- 178
- Forks
- 206
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 6
Description
## Background
Currently, critical rollup configuration values (`block_time`, `seq_window_size`, `max_sequencer_drift`) are only committed on-chain within the opaque absolute prestate hash.
This issue is the result of a request made by @lucadonnoh.
This makes these values difficult to access and verify onchain.
## Proposal
Make the RollupConfig parameters directly available on-chain through the SystemConfig contract, rather than only existing in the prestate hash.
This would:
1. Improve transparency of critical chain parameters
2. Enable on-chain verification of these values
3. Support future proof systems by allowing the RollupConfig to be used as a local input to the Fault Proof Program (FPP)
## Scope
### Parameters to expose:
- `block_time`
- `seq_window_size`
- `max_sequencer_drift`
### Key Considerations
- These values would remain static (not dynamically updatable) in this implementation
- The values would still be committed in the prestate hash for backward compatibility
- This approach aligns with existing implementations like op-succinct, which stores a hash of the serialized rollup config on L1
## Non-Goals
- Making these parameters dynamically updateable (would require significant additional complexity)
- Removing these values from the prestate hash
- Changes to L1 info transactions
## Open Questions
- Should we include any additional parameters beyond the three identified?
- What's the best way to verify these values match the prestate hash during deployment?
Contributor guide
Research direction
Start by reviewing the SystemConfig contract, RollupConfig parameters, and the deployment and prestate-hash handling described in the issue. Confirm how block_time, seq_window_size, and max_sequencer_drift could be exposed while remaining static and preserving the existing commitment. Done means the three values are available on-chain, remain in the prestate hash, and the verification approach is agreed with maintainers.
Written by the indexing model from the issue text.
Assessment
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100