Skip to content
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

Improve compression robustness - Part 1 #1520

Merged
merged 6 commits into from
Sep 14, 2023

Conversation

tudor-malene
Copy link
Collaborator

Why this change is needed

The sequencer creates and compresses rollups relative to an l1 block it thinks is canonical at that time.
If it then turns out that block is a reorg and some validators don't have it, they can't decompress.

The solution is:

  1. for the sequencer to recompress and resubmit the rollup relative to the new l1 head, when there is a reorg on a block that was used for a rollup.
  2. To minimise the chance there will be a delay added. You never include in the rollup the batches from the current l1 head.

This PR implements 2. and fixes the headers

What changes were made as part of this PR

  • remove unused field from the rollup header and replace with the : CompressionL1Head
  • modify the rollup creation to include the delay
  • remove extra rollup compression

PR checks pre-merging

Please indicate below by ticking the checkbox that you have read and performed the required
PR checks

  • PR checks reviewed and performed

@tudor-malene tudor-malene merged commit fca6786 into main Sep 14, 2023
3 checks passed
@tudor-malene tudor-malene deleted the tudor/rollup_compression_reorg_fix branch September 14, 2023 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants