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
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions EIPS/eip-7691.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,16 @@ The current long term plan of Ethereum is to implement peerDAS as specified by [

### Parameters

| Constant | Value |
|----------------------------------|---------------------|
| `PECTRA_FORK_EPOCH` | `tbd` <!-- TODO --> |
| `MAX_BLOBS_PER_BLOCK_ELECTRA` | `9` |
| `TARGET_BLOBS_PER_BLOCK_ELECTRA` | `6` |
| Constant | Value |
|------------------------------------------|---------------------|
| `PECTRA_FORK_EPOCH` | `tbd` <!-- TODO --> |
| `MAX_BLOBS_PER_BLOCK_ELECTRA` | `9` |
| `TARGET_BLOBS_PER_BLOCK_ELECTRA` | `6` |
| `BLOB_BASE_FEE_UPDATE_FRACTION_ELECTRA` | `5007716` |

The values defined are consumed by the consensus layer clients and are passed via the engineAPI to the execution layer clients. The mechanism describing this uncoupling is specified in [EIP-7742](./eip-7742.md).
`MAX_BLOBS_PER_BLOCK_ELECTRA` and `TARGET_BLOBS_PER_BLOCK_ELECTRA` are consumed by the consensus layer clients, and starting at `PECTRA_FORK_EPOCH` replace the respective old max and target values. `TARGET_BLOBS_PER_BLOCK_ELECTRA` is then passed via the engineAPI to the execution layer clients. The mechanism describing this uncoupling is specified in [EIP-7742](./eip-7742.md).

`BLOB_BASE_FEE_UPDATE_FRACTION_ELECTRA` is consumed by the execution layer clients, and starting at `PECTRA_FORK_EPOCH` timestamp replaces the old update fraction value.

## Rationale

Expand All @@ -51,6 +54,20 @@ While this EIP may not achieve the new optimal blob limit, it offers a compromis

Through the use of big block/blob tests on Ethereum mainnet as well as testnets, we can earn a high degree of certainity that the blob limit increase would not negatively impact the network. These tests as well as the associated analysis can be performed mostly by non-client team entities, with minimal input required. Since the changes are quite contained, the EIP should be able to reduce the risk of the blob limit increase.

### Update Fraction

The original target and max values from [EIP-4844](./eip-4844.md) 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.
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"


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%

## Backwards Compatibility

The consensus clients would continue to use `MAX_BLOBS_PER_BLOCK` for the deneb fork and once the `ELECTRA` fork is active, they would use `MAX_BLOBS_PER_BLOCK_ELECTRA`.
Expand Down
Loading