-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Determine step size in Steel history commitments #309
Comments
Possible Solution 1: Adaptive Block Increment One approach is to assume a maximum percentage ( Drawbacks:
|
Possible Solution 2: Timestamp-based Lookup If the block time is known (since this commitment pattern only works on Ethereum and not L2, it might be reasonable to always assume 12 seconds), we could determine the target block by calculating its timestamp: Drawbacks:
|
Possible Solution 3: Beacon API Leverage the Beacon API to directly query consensus blocks by slot number. This allows us to identify the last block within the 8191 slot window by iteratively decrementing the slot number until a valid block is found. The corresponding execution block can then be extracted from the returned consensus block's Drawbacks:
|
The Beacon roots contract in Ethereum stores the historical roots of the last 8191 slots. When building the chain of
state_commits
, we need to pinpoint the latest (or near-latest) block within each 8191 slot window. Simply incrementing the block number by 8191 works if no slots are missed, but this approach fails when slots are skipped. To guarantee accuracy, we need a more sophisticated mechanism to identify the correct block within the time window, accounting for potential missed slots.The text was updated successfully, but these errors were encountered: