Skip to content

chore: reject blob sidecar with slot not higher than parent - #9740

Merged
nflaig merged 1 commit into
ChainSafe:unstablefrom
Alleysira:fix/blob-sidecar-parent-slot-reject
Jul 31, 2026
Merged

chore: reject blob sidecar with slot not higher than parent#9740
nflaig merged 1 commit into
ChainSafe:unstablefrom
Alleysira:fix/blob-sidecar-parent-slot-reject

Conversation

@Alleysira

Copy link
Copy Markdown
Contributor

Motivation

Fix a blob sidecar gossip validation spec violation.

Description

Closes #9738

  • Change NOT_LATER_THAN_PARENT handling from ignore to reject
  • Add a regression test
  • Verified with unit test blobSidecar.test.ts, passed

AI Assistance Disclosure

Used claude to help draft the regression test.

@nflaig nflaig left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @Alleysira, this is known, I have a branch where this is already fixed, I am happy to merge this one, but that code is effectively unused. I would probably remove the unit test though, since in #9372 we wire up gossip validation spec tests that also caught this problem. I really appreciate you opening these PRs and looking after lodestar 鉂わ笍

The gossip validator classified a blob sidecar whose slot is <= its known parent's slot as IGNORE, but the Deneb p2p spec requires REJECT (validate_gossip_blob_sidecar). The data-column sidecar path already uses REJECT for the same condition.
@Alleysira

Copy link
Copy Markdown
Contributor Author

Thanks for your quick response! @nflaig Good to hear it's already caught. Will drop the unit test and happy to help :)

@Alleysira
Alleysira force-pushed the fix/blob-sidecar-parent-slot-reject branch from 7b14c94 to dee376d Compare July 31, 2026 13:10
@nflaig nflaig changed the title fix: reject blob sidecar with slot not higher than parent chore: reject blob sidecar with slot not higher than parent Jul 31, 2026

@nflaig nflaig left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Alleysira awesome, I renamed the title to chore since there is no live network anymore that is on deneb, but this is a nice find, curious how you found it

@Alleysira

Copy link
Copy Markdown
Contributor Author

Cool. It came out of differential-testing the CL clients' gossip validation against the spec. I was walking each [REJECT] condition in validate_gossip_blob_sidecar and checking what action client actually returns on invalid cases.

@nflaig
nflaig merged commit 94030df into ChainSafe:unstable Jul 31, 2026
23 of 25 checks passed
@Alleysira
Alleysira deleted the fix/blob-sidecar-parent-slot-reject branch August 1, 2026 01:32
@wemeetagain

Copy link
Copy Markdown
Member

馃帀 This PR is included in v1.46.0 馃帀

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

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

[spec-violation] Blob sidecars with a slot not higher than their parent are not rejected

3 participants