Skip to content

Backport blob schedule to deneb#4313

Closed
jtraglia wants to merge 18 commits into
ethereum:devfrom
jtraglia:backport-blob-schedule-to-deneb
Closed

Backport blob schedule to deneb#4313
jtraglia wants to merge 18 commits into
ethereum:devfrom
jtraglia:backport-blob-schedule-to-deneb

Conversation

@jtraglia

@jtraglia jtraglia commented May 13, 2025

Copy link
Copy Markdown
Member

This PR moves the blob schedule from Fulu to Deneb. It was added here:

@jtraglia jtraglia added the deneb label May 13, 2025
Comment thread specs/deneb/p2p-interface.md Outdated
@jtraglia jtraglia marked this pull request as ready for review May 14, 2025 19:20
@jtraglia jtraglia mentioned this pull request May 14, 2025
10 tasks
Comment thread configs/mainnet.yaml
# 6 subnets
BLOB_SIDECAR_SUBNET_COUNT: 6
# 6 blobs
MAX_BLOBS_PER_BLOCK: 6

@nflaig nflaig May 16, 2025

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.

removing this constant might be more problematic then what we discussed in the other PR #4322 (comment) as it is consensus critical and at least lodestar vc enforces this right now at startup

however we can make this more lax now already to avoid potential interop issues

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

it sounds like people are more willing to wear the pain than i'd like so whatever is decided on that other ticket is arguably equally applicable here.

return entry["MAX_BLOBS_PER_BLOCK"]

# Only for testing. Should never reach this in the real world.
return min(entry["MAX_BLOBS_PER_BLOCK"] for entry in BLOB_SCHEDULE)

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.

wouldn't it be better to use max blobs of the smallest epoch instead? Since BLOB_SCHEDULE can have entries that decrease max blobs it might be unexpected if such a entry is picked for unscheduled epochs

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Eh it shouldn't really matter. This line will only be executed in tests.

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.

was mostly thinking about kurtosis testing, if you override the blob schedule it's possible to reach this line as well, but might not be worth to change this now

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

The real issue with this line is that under the minimal preset, it will return 6 for all forks (including Electra and Fulu). But there's really not a good solution to this other than revamping the testing infrastructure so that minimal uses realistic fork epoch values.

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.

I think the fork epochs in minimal doesn't have to be the same as mainnet, but they should be different numbers not all the same. Why are all the same?

It worries me that we add this because people will read this, in general, not as something for testing but prescription for their clients. The comment fixes this, but it would be neater to don't have things in the spec that the clients should implement other way.

Another separate thing:

What about adding to the blob schedule (Epoch:0, MAX_BLOBS_PER_BLOCK: 0) it is a more elegant way to represent that there are no blobs before.

@jtraglia

Copy link
Copy Markdown
Member Author

This PR doesn't have the necessary support to be merged. Going to close it.

@jtraglia jtraglia closed this May 27, 2025
ensi321 pushed a commit to ChainSafe/lodestar that referenced this pull request May 28, 2025
**Motivation**

The PR to backport blob schedule to deneb/electra
(ethereum/consensus-specs#4313) has been closed
and the entries for deneb/electra have been removed from CL spec as well
since ethereum/consensus-specs#4341.

**Description**

- Remove blob schedule entries for deneb/electra
- Update `getMaxBlobsPerBlock` to default to electra limit
- Only return `BLOB_SCHEDULE` from `GET /eth/v1/config/spec` api if fulu
is scheduled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants