From 9e4eb1d49cf4ad1de17a9720e5db7a10d9c059f5 Mon Sep 17 00:00:00 2001 From: lightclient Date: Thu, 12 Dec 2024 08:16:58 -0700 Subject: [PATCH 1/6] add blob config eip --- EIPS/blob-config.md | 69 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 EIPS/blob-config.md diff --git a/EIPS/blob-config.md b/EIPS/blob-config.md new file mode 100644 index 00000000000000..d335c60f669eaf --- /dev/null +++ b/EIPS/blob-config.md @@ -0,0 +1,69 @@ +--- +title: Add blob schedule to execution client configuration files +description: Include a per-fork schedule of max and target blob counts in client configuration files +author: lightclient (@lightclient) +discussions-to: +status: Draft +type: Standards Track +category: Core +created: 2024-12-12 +--- + + +## 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 + +- ensure there is a way to dynamically adjust the target and max blob counts per + block +- avoid complex handshake over engine API + +## Specification + +Extend the client configuration files with the object `blobSchedule` with the +following shape: + +```json +"blobSchedule": { + "cancun": { + "target": 3, + "max": 6 + }, + "prague": { + "target": 6, + "max": 9 + } +} +``` + +When there is no explicit configuration for the current fork, use the last +specified fork value. If last value is specified, set both to zero. + +## Rationale + +Although maintaining the target and max blob just in the consensus client is +desirable, we that the reality is execution clients need these values for +various core protocol and peripheral 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. + +## Backwards Compatibility + +No backward compatibility issues found. + +## Test Cases + +TODO + +## Security Considerations + +Needs discussion. + +## Copyright + +Copyright and related rights waived via [CC0](../LICENSE.md). From bd7fc9d4b9304ac9051126cc930fc5d5692a210e Mon Sep 17 00:00:00 2001 From: lightclient Date: Thu, 12 Dec 2024 08:18:56 -0700 Subject: [PATCH 2/6] add discussions-to --- EIPS/blob-config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/blob-config.md b/EIPS/blob-config.md index d335c60f669eaf..38a677cb217072 100644 --- a/EIPS/blob-config.md +++ b/EIPS/blob-config.md @@ -2,7 +2,7 @@ title: Add blob schedule to execution client configuration files description: Include a per-fork schedule of max and target blob counts in client configuration files author: lightclient (@lightclient) -discussions-to: +discussions-to: https://ethereum-magicians.org/t/add-blob-schedule-to-execution-client-configuration-files/22182 status: Draft type: Standards Track category: Core From 34b23b16899018660b7d052e4571ca2a2840b449 Mon Sep 17 00:00:00 2001 From: lightclient Date: Fri, 13 Dec 2024 08:18:03 -0700 Subject: [PATCH 3/6] apply eip number 7840 --- EIPS/{blob-config.md => eip-7840.md} | 1 + 1 file changed, 1 insertion(+) rename EIPS/{blob-config.md => eip-7840.md} (99%) diff --git a/EIPS/blob-config.md b/EIPS/eip-7840.md similarity index 99% rename from EIPS/blob-config.md rename to EIPS/eip-7840.md index 38a677cb217072..73da454097dda7 100644 --- a/EIPS/blob-config.md +++ b/EIPS/eip-7840.md @@ -1,4 +1,5 @@ --- +eip: 7840 title: Add blob schedule to execution client configuration files description: Include a per-fork schedule of max and target blob counts in client configuration files author: lightclient (@lightclient) From 16a64273c68257679b7c3588226b0f2fef570b71 Mon Sep 17 00:00:00 2001 From: lightclient Date: Fri, 13 Dec 2024 08:36:38 -0700 Subject: [PATCH 4/6] shorter title --- EIPS/eip-7840.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-7840.md b/EIPS/eip-7840.md index 73da454097dda7..ba64516c78c7e1 100644 --- a/EIPS/eip-7840.md +++ b/EIPS/eip-7840.md @@ -1,6 +1,6 @@ --- eip: 7840 -title: Add blob schedule to execution client configuration files +title: Add blob schedule to EL client configuration files description: Include a per-fork schedule of max and target blob counts in client configuration files author: lightclient (@lightclient) discussions-to: https://ethereum-magicians.org/t/add-blob-schedule-to-execution-client-configuration-files/22182 From b8dde8ea233c124ad2068483dacd1926be0a5607 Mon Sep 17 00:00:00 2001 From: lightclient Date: Fri, 13 Dec 2024 14:17:45 -0700 Subject: [PATCH 5/6] shorter title 2 --- EIPS/eip-7840.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EIPS/eip-7840.md b/EIPS/eip-7840.md index ba64516c78c7e1..d4c2ea7765b72b 100644 --- a/EIPS/eip-7840.md +++ b/EIPS/eip-7840.md @@ -1,6 +1,6 @@ --- eip: 7840 -title: Add blob schedule to EL client configuration files +title: Add blob schedule to EL config files description: Include a per-fork schedule of max and target blob counts in client configuration files author: lightclient (@lightclient) discussions-to: https://ethereum-magicians.org/t/add-blob-schedule-to-execution-client-configuration-files/22182 From 30d713d2f2d1f1a953064b8f1aa529ebfcdcf640 Mon Sep 17 00:00:00 2001 From: lightclient Date: Mon, 16 Dec 2024 08:45:52 -0700 Subject: [PATCH 6/6] 7840: review comments --- EIPS/eip-7840.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/EIPS/eip-7840.md b/EIPS/eip-7840.md index d4c2ea7765b72b..6894e1f8f77fce 100644 --- a/EIPS/eip-7840.md +++ b/EIPS/eip-7840.md @@ -41,17 +41,17 @@ following shape: ``` When there is no explicit configuration for the current fork, use the last -specified fork value. If last value is specified, set both to zero. +specified fork value. If no last value is specified, set both to zero. ## Rationale -Although maintaining the target and max blob just in the consensus client is -desirable, we that the reality is execution clients need these values for -various core protocol and peripheral 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. +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. ## Backwards Compatibility