From 7d0a8c6335b2dca9d7e8f749cc886c733633d4db Mon Sep 17 00:00:00 2001 From: Stefan Bratanov Date: Tue, 20 Aug 2024 13:54:36 +0300 Subject: [PATCH 1/5] EIP-7732: Modify `ExecutionPayloadEnvelopeByRoot` --- configs/mainnet.yaml | 3 +++ configs/minimal.yaml | 3 +++ specs/_features/eip7732/p2p-interface.md | 24 ++++++++++++++++-------- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/configs/mainnet.yaml b/configs/mainnet.yaml index 1c2911f8f5..cb051ce883 100644 --- a/configs/mainnet.yaml +++ b/configs/mainnet.yaml @@ -170,3 +170,6 @@ CUSTODY_REQUIREMENT: 4 # [New in Electra:EIP7251] MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000 # 2**7 * 10**9 (= 128,000,000,000) MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000 # 2**8 * 10**9 (= 256,000,000,000) + +# EIP7732 +MAX_REQUEST_PAYLOADS: 128 diff --git a/configs/minimal.yaml b/configs/minimal.yaml index eb4f77aa26..a7c89ec1dd 100644 --- a/configs/minimal.yaml +++ b/configs/minimal.yaml @@ -169,3 +169,6 @@ CUSTODY_REQUIREMENT: 4 # [New in Electra:EIP7251] MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 64000000000 # 2**6 * 10**9 (= 64,000,000,000) MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000 # 2**7 * 10**9 (= 128,000,000,000) + +# EIP7732 +MAX_REQUEST_PAYLOADS: 128 diff --git a/specs/_features/eip7732/p2p-interface.md b/specs/_features/eip7732/p2p-interface.md index 86ab89568c..cd48b79aa9 100644 --- a/specs/_features/eip7732/p2p-interface.md +++ b/specs/_features/eip7732/p2p-interface.md @@ -23,7 +23,7 @@ This document contains the consensus-layer networking specification for EIP7732. - [BeaconBlocksByRange v3](#beaconblocksbyrange-v3) - [BeaconBlocksByRoot v3](#beaconblocksbyroot-v3) - [BlobSidecarsByRoot v2](#blobsidecarsbyroot-v2) - - [ExecutionPayloadEnvelopeByRoot v1](#executionpayloadenvelopebyroot-v1) + - [ExecutionPayloadEnvelopesByRoot v1](#executionpayloadenvelopesbyroot-v1) @@ -37,6 +37,14 @@ This document contains the consensus-layer networking specification for EIP7732. |------------------------------------------|-----------------------------------|---------------------------------------------------------------------| | `KZG_COMMITMENT_INCLUSION_PROOF_DEPTH_EIP7732` | `13` # TODO: Compute it when the spec stabilizes | Merkle proof depth for the `blob_kzg_commitments` list item | +### Configuration + +*[Modified in EIP-7732]* + +| Name | Value | Description | +|------------------------------------------|-----------------------------------|---------------------------------------------------------------------| +| `MAX_REQUEST_PAYLOADS` | `2**7` (= 128) | Maximum number of execution payload envelopes in a single request | + ### Containers @@ -225,9 +233,9 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`: | `EIP7732_FORK_VERSION` | `eip7732.BlobSidecar` | -##### ExecutionPayloadEnvelopeByRoot v1 +##### ExecutionPayloadEnvelopesByRoot v1 -**Protocol ID:** `/eth2/beacon_chain/req/execution_payload_envelope_by_root/1/` +**Protocol ID:** `/eth2/beacon_chain/req/execution_payload_envelopes_by_root/1/` The `` field is calculated as `context = compute_fork_digest(fork_version, genesis_validators_root)`: @@ -241,7 +249,7 @@ Request Content: ``` ( - List[Root, MAX_REQUEST_PAYLOAD] + List[Root, MAX_REQUEST_PAYLOADS] ) ``` @@ -249,14 +257,14 @@ Response Content: ``` ( - List[SignedExecutionPayloadEnvelope, MAX_REQUEST_PAYLOAD] + List[SignedExecutionPayloadEnvelope, MAX_REQUEST_PAYLOADS] ) ``` -Requests execution payload envelope by `signed_execution_payload_envelope.message.block_root`. The response is a list of `SignedExecutionPayloadEnvelope` whose length is less than or equal to the number of requested execution payload envelopes. It may be less in the case that the responding peer is missing payload envelopes. +Requests execution payload envelopes by `signed_execution_payload_envelope.message.block_root`. The response is a list of `SignedExecutionPayloadEnvelope` whose length is less than or equal to the number of requested execution payload envelopes. It may be less in the case that the responding peer is missing payload envelopes. -No more than `MAX_REQUEST_PAYLOAD` may be requested at a time. +No more than `MAX_REQUEST_PAYLOADS` may be requested at a time. -ExecutionPayloadEnvelopeByRoot is primarily used to recover recent execution payload envelope (e.g. when receiving a payload attestation with revealed status as true but never received a payload). +ExecutionPayloadEnvelopesByRoot is primarily used to recover recent execution payload envelopes (e.g. when receiving a payload attestation with revealed status as true but never received a payload). The request MUST be encoded as an SSZ-field. From 679cb60ee2b0426be8b36282f3f472b526cb920e Mon Sep 17 00:00:00 2001 From: Stefan Bratanov Date: Tue, 20 Aug 2024 13:58:09 +0300 Subject: [PATCH 2/5] Add to table of contents --- specs/_features/eip7732/p2p-interface.md | 1 + 1 file changed, 1 insertion(+) diff --git a/specs/_features/eip7732/p2p-interface.md b/specs/_features/eip7732/p2p-interface.md index cd48b79aa9..3cbfab1e86 100644 --- a/specs/_features/eip7732/p2p-interface.md +++ b/specs/_features/eip7732/p2p-interface.md @@ -7,6 +7,7 @@ This document contains the consensus-layer networking specification for EIP7732. - [Modification in EIP-7732](#modification-in-eip-7732) - [Preset](#preset) + - [Configuration](#configuration) - [Containers](#containers) - [`BlobSidecar`](#blobsidecar) - [Helpers](#helpers) From edf0ddea3cd7ffae333bce994527b21525f736ca Mon Sep 17 00:00:00 2001 From: Stefan Bratanov Date: Tue, 20 Aug 2024 13:59:29 +0300 Subject: [PATCH 3/5] change to new --- specs/_features/eip7732/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/_features/eip7732/p2p-interface.md b/specs/_features/eip7732/p2p-interface.md index 3cbfab1e86..0de7adcfdd 100644 --- a/specs/_features/eip7732/p2p-interface.md +++ b/specs/_features/eip7732/p2p-interface.md @@ -40,7 +40,7 @@ This document contains the consensus-layer networking specification for EIP7732. ### Configuration -*[Modified in EIP-7732]* +*[New in EIP-7732]* | Name | Value | Description | |------------------------------------------|-----------------------------------|---------------------------------------------------------------------| From 24aecf554d0e4a8c92c241a633508dca95246b87 Mon Sep 17 00:00:00 2001 From: Stefan Bratanov Date: Tue, 20 Aug 2024 20:18:47 +0300 Subject: [PATCH 4/5] Update specs/_features/eip7732/p2p-interface.md Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com> --- specs/_features/eip7732/p2p-interface.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specs/_features/eip7732/p2p-interface.md b/specs/_features/eip7732/p2p-interface.md index 0de7adcfdd..b0522ac98c 100644 --- a/specs/_features/eip7732/p2p-interface.md +++ b/specs/_features/eip7732/p2p-interface.md @@ -42,9 +42,9 @@ This document contains the consensus-layer networking specification for EIP7732. *[New in EIP-7732]* -| Name | Value | Description | -|------------------------------------------|-----------------------------------|---------------------------------------------------------------------| -| `MAX_REQUEST_PAYLOADS` | `2**7` (= 128) | Maximum number of execution payload envelopes in a single request | +| Name | Value | Description | +|------------------------|----------------|-------------------------------------------------------------------| +| `MAX_REQUEST_PAYLOADS` | `2**7` (= 128) | Maximum number of execution payload envelopes in a single request | ### Containers From ba99f8bb16f59b4cd01ca8260e3db6f2032c9bff Mon Sep 17 00:00:00 2001 From: Stefan Bratanov Date: Tue, 20 Aug 2024 20:18:55 +0300 Subject: [PATCH 5/5] Update specs/_features/eip7732/p2p-interface.md Co-authored-by: Justin Traglia <95511699+jtraglia@users.noreply.github.com> --- specs/_features/eip7732/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/_features/eip7732/p2p-interface.md b/specs/_features/eip7732/p2p-interface.md index b0522ac98c..b101cc3670 100644 --- a/specs/_features/eip7732/p2p-interface.md +++ b/specs/_features/eip7732/p2p-interface.md @@ -40,7 +40,7 @@ This document contains the consensus-layer networking specification for EIP7732. ### Configuration -*[New in EIP-7732]* +*[New in EIP7732]* | Name | Value | Description | |------------------------|----------------|-------------------------------------------------------------------|