Skip to content

How to handle reorg'ed blob txs #333

Description

@terencechain

When reorg happens, CL or EL clients take the reorg'ed objects (i.e. txs, attestations, exits... etc) and put them on the new canonical chain, so they are not lost. EL client handles txs reorging, but by itself, it's not sufficient to handle blob txs, because the blobs are not included within the blocks. EL clients may need more visibility to see all the blobs, such as flash bots inclusion. To satisfy this, CL needs to support EL. Here are a few options with tradeoffs:

  1. CL pushes blobs to EL on every newPayload call.

  2. CL pushes reorg'ed blobs hashes to EL on every forkchoiceUpdated call. EL can request them via p2p

1 and 2 are less ideal from our perspective. It couples EL and CL in ways we aren't comfortable with and in deeper ways than we had envisioned. CL clients will be required to make decisions about execution and deal with extra complexity. 1 also increases the latency, which delays state transition. It's probably best not to couple this resolution closing with engine API. Instead, the CL client could optionally call sendRawTransaction for reorg'ed blob txs, and the blob users could do the same too. It's also probably safe to assume blob users are more sophisticated, and they can also monitor blob txs status and resubmit in the event of reorg. Here is option 3

  1. CL optionally can call sendRawTransaction on reorg'ed blob tx

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions