EIP-7840 - Add blob schedule to EL config files

Created 2024-12-12
Status Review
Type Informational
Authors

Abstract

Add a new object to client configuration files blobSchedule which lists the target blob count per block and max blob count per block for each fork.

Motivation

Specification

Extend client configuration files with the object blobSchedule, which has the following shape:

"blobSchedule": {
  "cancun": {
    "target": 3,
    "max": 6,
    "baseFeeUpdateFraction": 3338477
  },
  "prague": {
    "target": 6,
    "max": 9,
    "baseFeeUpdateFraction": 5007716
  }
}

Clients must configure the target, max and baseFeeUpdateFraction per-fork. The behavior when the configuration is missing or incomplete for a fork is undefined. Clients are free to choose how to handle this situation.

Rationale

Although maintaining the target and max blob only in the consensus client is desirable, we acknowledge the reality that execution clients need these values for various activities. For example, the eth_feeHistory RPC method returns a field blobGasUsedRatio that does require the max, even though the core protocol doesn't specifically need such value. Passing this value over the engine API every block seem overkill so we believe a configuration value is a good middle ground. Additionally, the baseFeeUpdateFraction parameter was added to adjust the responsiveness of blob gas pricing per fork.

Backwards Compatibility

No backward compatibility issues found.

Security Considerations

No security considerations found.

Copyright

Copyright and related rights waived via CC0.