Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP: Add blob schedule to EL config files #9129

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

lightclient
Copy link
Member

Adds a new object to the EL genesis chain config:

of the shape:

"blobSchedule": {
  "prague": { "target": 6, "max": 9 },
  "osaka":   { "target": 12, "max": 16},
  ...
}

@lightclient lightclient requested a review from eth-bot as a code owner December 12, 2024 15:17
@github-actions github-actions bot added c-new Creates a brand new proposal s-draft This EIP is a Draft t-core labels Dec 12, 2024
@eth-bot
Copy link
Collaborator

eth-bot commented Dec 12, 2024

File EIPS/eip-7840.md

Requires 1 more reviewers from @g11tech, @SamWilsn

@eth-bot eth-bot added the e-consensus Waiting on editor consensus label Dec 12, 2024
@github-actions github-actions bot added the w-ci Waiting on CI to pass label Dec 12, 2024
EIPS/blob-config.md Outdated Show resolved Hide resolved
EIPS/blob-config.md Outdated Show resolved Hide resolved
@eth-bot eth-bot added the e-review Waiting on editor to review label Dec 13, 2024
@eth-bot eth-bot changed the title Add blob config eip Add EIP: Add blob schedule to execution client configuration files Dec 13, 2024
@github-actions github-actions bot added w-ci Waiting on CI to pass and removed w-ci Waiting on CI to pass labels Dec 13, 2024
@eth-bot eth-bot changed the title Add EIP: Add blob schedule to execution client configuration files Add EIP: Add blob schedule to EL client configuration files Dec 13, 2024
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Dec 13, 2024
Copy link

The commit 16a6427 (as a parent of 6586687) contains errors.
Please inspect the Run Summary for details.

@eth-bot eth-bot changed the title Add EIP: Add blob schedule to EL client configuration files Add EIP: Add blob schedule to EL config files Dec 13, 2024
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Dec 13, 2024
EIPS/eip-7840.md Outdated Show resolved Hide resolved

## Test Cases

TODO
Copy link
Contributor

Choose a reason for hiding this comment

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

<-- TODO --> tag for tracking via bot


## Security Considerations

Needs discussion.
Copy link
Contributor

Choose a reason for hiding this comment

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

<-- TODO --> tag

EIPS/eip-7840.md Outdated Show resolved Hide resolved
Copy link
Contributor

@MarekM25 MarekM25 left a comment

Choose a reason for hiding this comment

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

Nethermind team is okay with this change. Signaling support 👍

@siladu
Copy link

siladu commented Dec 17, 2024

Besu is ok with this change to get us through Prague and have a prototype implementation ready hyperledger/besu#8042

@marioevz
Copy link
Member

I prototyped the test changes required in this PR: ethereum/execution-spec-tests#1040

Feedback is appreciated.

@klkvr
Copy link

klkvr commented Dec 23, 2024

Should we configure update fraction in this object as well? Given that EIP-7691 defines different update fractions for Cancun and Prague it seems reasonable to handle it in the same way as target/max blob count?

@klkvr klkvr mentioned this pull request Dec 23, 2024
3 tasks
@g11tech
Copy link
Contributor

g11tech commented Dec 23, 2024

i think in interop call was discussed that upgrade fraction should also be provided with the config butt it only matters w.r.t. to handle the max swing on the asymmetry schedule (drop is bigger on empty blobs compared to full blobs block)

7691 already modifies that for 6/9 so not sure if we need to provide it here. although there could be later EIPs to deal with assymetry (like normalization) so we don't really need it.

@parithosh
Copy link
Member

i think in interop call was discussed that upgrade fraction should also be provided with the config butt it only matters w.r.t. to handle the max swing on the asymmetry schedule (drop is bigger on empty blobs compared to full blobs block)

7691 already modifies that for 6/9 so not sure if we need to provide it here. although there could be later EIPs to deal with assymetry (like normalization) so we don't really need it.

However, without the update fraction being specified in the genesis files - we can't properly test future blob increases on testnets (atleast not with proper gas markets). E.g if we set 10/20 as the blob target/max on pectra (in order to do some load testing), we will have a situation where the wrong update fraction is applied for this blob limit. Allowing us to specify everything in the genesis file will fix this.

@g11tech
Copy link
Contributor

g11tech commented Dec 23, 2024

However, without the update fraction being specified in the genesis files - we can't properly test future blob increases on testnets (atleast not with proper gas markets). E.g if we set 10/20 as the blob target/max on pectra (in order to do some load testing), we will have a situation where the wrong update fraction is applied for this blob limit. Allowing us to specify everything in the genesis file will fix this.

this EIP itself is baffling,

  1. so do we expect node runners to be able to play with these values for their clients like how they signal change to the gaslimit? if this is the case one should only be able to change their "soft max" locally which only impose limit on amx blobs their client can include

  2. or this is just a testing tool? in that case why is this an EIP on core track, it will never be activated in mainnet? may be this could be an informational EIP for client testnet tooling that goes into "living status" and not "final" status

@parithosh
Copy link
Member

However, without the update fraction being specified in the genesis files - we can't properly test future blob increases on testnets (atleast not with proper gas markets). E.g if we set 10/20 as the blob target/max on pectra (in order to do some load testing), we will have a situation where the wrong update fraction is applied for this blob limit. Allowing us to specify everything in the genesis file will fix this.

this EIP itself is baffling,

1. so do we expect node runners to be able to play with these values for their clients like how they signal change to the gaslimit? if this is the case one should only be able to change their "soft max" locally which only impose limit on amx blobs their client can include

2. or this is just a testing tool? in that case why is this an EIP on core track, it will never be activated in mainnet? may be this could be an informational EIP for client testnet tooling that goes into "living status" and not "final" status

For 1. I don't imagine node runners using any signaling as the canonical files for mainnet are coded into the client implementations. This is mostly just for testnets and testing purposes that we care about specifying the values instead of just hardcoding it.
2. I would agree that its an informational, but its @lightclient 's EIP so i'd let him justify that bit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c-new Creates a brand new proposal e-consensus Waiting on editor consensus e-review Waiting on editor to review s-draft This EIP is a Draft t-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.