Skip to content

Handling L1 provider unavailability and signaling optimistic sync #252

@jonastheis

Description

@jonastheis

If the L1 provider is unavailable there won't be any L1 messages or batches relayed from L1 to the rollup node. Eventually, this will lead to the rollup node rejecting L2 blocks with unknown L1 messages and thus the L2 halting for the rollup node.

  • This behavior is safe as the rollup node does not trust any L1 messages without being able to verify them itself from L1.
  • However, a node is not live in this scenario.

We should not compromise the safety of the node: if the node doesn't verify L1 messages, the sequencer print money on L2. It would be desirable if the node could keep processing the L2 chain either by switching in optimistic block sync (similar to start up) or processing blocks optimistically but not setting the latest tag. This way the node could keep processing but not expose the unsafe information to users. Once the L1 provider recovers the node could quickly verify the information and become synced faster.

Similarly, we should consider signaling optimistic sync mode after startup so that we can distinguish when a node is done syncing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions