specs icon indicating copy to clipboard operation
specs copied to clipboard

feat: Store historical block hashes to `L1Block`

Open pegahcarter opened this issue 11 months ago • 12 comments

Is your feature request related to a problem? Please describe. When it comes to updating the L2, the L1Block is regularly called to update its' state values, including the L1 block hash. This hash is extremely valuable as a user can create a proof for any state of the L1 at the current block hash.

The issue arises when dealing with historical data. As we are only ever using the most-recent hash within L1Block, we are unable to prove L1 state at a historical point in time on-chain without deploying our own contract with manually-synced block hashes.

The value of a chain is derived by the value of its' state. Therefore, by having the ability to prove state at a particular time in the past, we open up cross-chain communication.

An example of what this can be used for is to prove L1 token voting power at a particular point in time.

Describe the solution you'd like Have a mapping with L1Block to store historical hashes. The most simple way I've seen it done is through a basic mapping.

pegahcarter avatar Mar 01 '24 17:03 pegahcarter