From b4f4c2a0fe1e1154898062b761f036c0b77f688b Mon Sep 17 00:00:00 2001 From: Alex Stokes Date: Thu, 22 Aug 2024 14:13:58 -0600 Subject: [PATCH] update to add some notes about how to handle the maximum blob count --- EIPS/eip-7742.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/EIPS/eip-7742.md b/EIPS/eip-7742.md index 0f7cd445a6008..e62dd5cdfa5d2 100644 --- a/EIPS/eip-7742.md +++ b/EIPS/eip-7742.md @@ -21,9 +21,11 @@ The execution layer no longer verifies the blob maximum and receives the target Following EIP-4844, the execution layer (EL) maintains a hard-coded blob target value and blob maximum value. Given the relationship of the EL and the consensus layer (CL) node software, the verification of the blob maximum is redundant so it can be removed -entirely without any change in security. This EIP also changes how the EL sources the current blob target value for two reasons: +entirely without any change in security. The blob maximum is still provided during block construction via the Engine API. +This EIP also changes how the EL sources the current blob target value for two reasons: 1) Gain more flexibility over the value, rather than the static `TARGET == MAX // 2` relation in EIP-4844. + 2) Uncouple development and deployment of the CL and EL layers in the event it is desirable to change the blob target value. ## Specification @@ -87,11 +89,19 @@ Additionally, any reference to `TARGET_BLOB_GAS_PER_BLOCK` from EIP-4844 can be Otherwise, the specification of EIP-4844 is not changed. For example, blob base fee accounting and excess blob gas tracking occur in the exact same way. +### Block construction + +The Engine API is extended to provide both the `target_blob_count` and the `maximum_blob_count` when the CL requests the EL to construct a payload for proposal. + +These values should be used to ensure the correct number of blobs are included in any constructed payload, and to ensure that the blob base fee accounting is correctly computed. + ## Rationale ### Why not have the CL also compute the blob base fee and remove any notion of blob counts from EL processing? -TODO +Hoisting the full computation into the CL is possible, but it does violate the separation of concerns between these two layers of the protocol stack. +The CL maintains a maximum value to address e.g. DoS risks, and the EL maintains knowledge of the target value to address fee accounting. +Putting the target computation in the CL violates the respective responsibilities of each layer. ## Backwards Compatibility