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

Update EIP-7691: add update fraction specification #9060

Merged
merged 4 commits into from
Dec 5, 2024

Conversation

adietrichs
Copy link
Member

@adietrichs adietrichs commented Nov 28, 2024

wip

todo:

  • add rationale to EIP
  • list and compare alternative values for update fraction here, to inform a decision
  • double-check the update fraction calculations

@github-actions github-actions bot added c-update Modifies an existing proposal s-draft This EIP is a Draft t-core labels Nov 28, 2024
@eth-bot
Copy link
Collaborator

eth-bot commented Nov 28, 2024

✅ All reviewers have approved.

@eth-bot eth-bot added the a-review Waiting on author to review label Nov 28, 2024
@nerolation
Copy link
Contributor

Thanks for opening this one. To add some context, as agreed on ACD, we may want to increase the update base fee fraction in 7691 in order to ensure the base fee scales appropriately.

usually we would do something like "target_blob_gas / ln(1.125)" but since we're moving away from symmetric base fee scaling we might want to lower the update fraction relative to the target blob gas we currently use. I'm fine with the value as-is in this PR.

@adietrichs
Copy link
Member Author

Added rationale to EIP:

The original target and max values from EIP-4844 were at a 1:2 ratio. As a consequence, responsiveness to full and empty blob sections was symmetrical:

  • full blobs: basefee increases by ~12.5%
  • no blobs: basefee decreases by ~11.1%

The new target and max values from this EIP are at a 2:3 ratio, which breaks that symmetry.As a consequence, the basefee becomes significantly more responsive to empty blob sections (that are 6 blobs under target) than to full ones (that are 3 blobs over target). This is by design, as it takes two blocks with full blobs in a row to make up for a single block with no blobs. However, it creates the challenge of finding a good compromise base fee sensitivity level.

The BLOB_BASE_FEE_UPDATE_FRACTION_ELECTRA value in this EIP is chosen as the mid-point between keeping the responsiveness to full blobs and no blobs constant:

  • full blobs: basefee increases by ~8.2%
  • no blobs: basefee decreases by ~14.5%

The alternative options we would have:

Keep update fraction at today's value:

  • full blobs: basefee increases by ~12.5%
  • no blobs: basefee decreases by ~21.0%

Keep update fraction proportional to target (i.e. double it):

  • full blobs: basefee increases by ~6.1%
  • no blobs: basefee decreases by ~11.1%

I'd argue the mid-point value chosen in the PR is the simplest available compromise, but happy to change it if people disagree.

DISCLAIMER: I haven't double checked any of these numbers yet, there could be a mistake somewhere.

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

The commit f8da514 (as a parent of cc53043) contains errors.
Please inspect the Run Summary for details.

@github-actions github-actions bot added the w-ci Waiting on CI to pass label Nov 28, 2024
@g11tech
Copy link
Contributor

g11tech commented Nov 29, 2024

Added rationale to EIP:

yes rationale looks good to me

@adietrichs adietrichs force-pushed the 7691-update-fraction branch from f8da514 to 280cf83 Compare December 5, 2024 13:21
@github-actions github-actions bot removed the w-ci Waiting on CI to pass label Dec 5, 2024
adietrichs and others added 2 commits December 5, 2024 05:31
@adietrichs adietrichs marked this pull request as ready for review December 5, 2024 13:46
@adietrichs adietrichs requested a review from eth-bot as a code owner December 5, 2024 13:46
* full blobs: basefee increases by ~12.5%
* no blobs: basefee decreases by ~11.1%

The new target and max values from this EIP are at a 2:3 ratio, which breaks that symmetry.As a consequence, the basefee becomes significantly more responsive to empty blob sections (that are 6 blobs under target) than to full ones (that are 3 blobs over target). This is by design, as it takes two blocks with full blobs in a row to make up for a single block with no blobs. However, it creates the challenge of finding a good compromise base fee sensitivity level.
Copy link
Contributor

Choose a reason for hiding this comment

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

Add space between "symmetry" and "As a consequence"

@eth-bot eth-bot enabled auto-merge (squash) December 5, 2024 14:09
Copy link
Collaborator

@eth-bot eth-bot left a comment

Choose a reason for hiding this comment

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

All Reviewers Have Approved; Performing Automatic Merge...

@eth-bot eth-bot merged commit b45ee37 into ethereum:master Dec 5, 2024
16 checks passed
@adietrichs adietrichs deleted the 7691-update-fraction branch December 5, 2024 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-review Waiting on author to review c-update Modifies an existing proposal s-draft This EIP is a Draft t-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants