Skip to content

Serving blocks and blob_sidecars in RPC byRoot right after they passed gossip validation #3547

@tbenr

Description

@tbenr

Assuming a node has not received via gossip a block that has been imported by the majority of the network.

Before Deneb, a node can be aware of that block's root when:

  • it sees an attestation voting for it
  • it sees the next block building on top of it

In both cases it is likely that the node can lookup the block byRoot since both events signals that the block has been imported (probably) by the majority of the network.

After Deneb, there will be a third condition:

  • it sees a valid blob_sidecar carrying the block header.

This third event happens way before the the other two, probably before most of the nodes has successfully imported the block.
And this applies to blob_sidecars too.

Thus, while pre-Deneb, serving only fully imported blocks seems good enough for client missing them, in Deneb seems not be the case anymore.

Should we let clients serve byRoot requests for blocks and blob_sidecars that have passed gossip but has not yet fully imported to allow early byRoot recovery?

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