From e664d407ca52a83c6a9957dc7ef2442bb5c72f39 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 16 Nov 2023 17:29:16 +0100 Subject: [PATCH 01/18] Specify RPC byRoot blocks-sidecars elegibility --- specs/deneb/p2p-interface.md | 7 +++++++ specs/phase0/p2p-interface.md | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index f7b331e84..13aadf33d 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -252,6 +252,9 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`: No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. +*[Modified in Deneb:EIP4844]* +Clients SHOULD consider including a block in the response as soon as it it passes the gossip validation rules. + ##### BlobSidecarsByRoot v1 **Protocol ID:** `/eth2/beacon_chain/req/blob_sidecars_by_root/1/` @@ -300,6 +303,10 @@ Clients MUST support requesting sidecars since `minimum_request_epoch`, where `m Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. +Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. +Clients MUST NOT respond with sidecars that failed gossip vaildation. +Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. + ##### BlobSidecarsByRange v1 **Protocol ID:** `/eth2/beacon_chain/req/blob_sidecars_by_range/1/` diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index a374443b8..313c56ad0 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -856,6 +856,10 @@ Clients MUST support requesting blocks since the latest finalized epoch. Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. +Clients CAN consider including a block in the response as soon as it it passes the gossip validation rules. +Clients MUST NOT respond with blocks that failed gossip vaildation rules. +Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. + `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period. ##### Ping From c46c4ec7cbea9e74ac960a54d42039de15b9d829 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 16 Nov 2023 17:49:30 +0100 Subject: [PATCH 02/18] fix typo --- specs/deneb/p2p-interface.md | 2 +- specs/phase0/p2p-interface.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 13aadf33d..c5e85a58a 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -304,7 +304,7 @@ Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with sidecars that failed gossip vaildation. +Clients MUST NOT respond with sidecars that failed gossip validation. Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. ##### BlobSidecarsByRange v1 diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 313c56ad0..3de79cc44 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -857,7 +857,7 @@ Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. Clients CAN consider including a block in the response as soon as it it passes the gossip validation rules. -Clients MUST NOT respond with blocks that failed gossip vaildation rules. +Clients MUST NOT respond with blocks that failed gossip validation rules. Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period. From 6bbdeb88e0ed5b7b857227156d86f229337529ab Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 17 Nov 2023 09:02:15 +0100 Subject: [PATCH 03/18] Update specs/phase0/p2p-interface.md Co-authored-by: Mikhail Kalinin --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 3de79cc44..e838fe755 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -856,7 +856,7 @@ Clients MUST support requesting blocks since the latest finalized epoch. Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. -Clients CAN consider including a block in the response as soon as it it passes the gossip validation rules. +Clients MAY consider including a block in the response as soon as it it passes the gossip validation rules. Clients MUST NOT respond with blocks that failed gossip validation rules. Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. From ccf9e3419b87cfe260f78d9f3a91bc01532e1235 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 17 Nov 2023 09:02:21 +0100 Subject: [PATCH 04/18] Update specs/deneb/p2p-interface.md Co-authored-by: Mikhail Kalinin --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index c5e85a58a..858a0433e 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -253,7 +253,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`: No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. *[Modified in Deneb:EIP4844]* -Clients SHOULD consider including a block in the response as soon as it it passes the gossip validation rules. +Clients SHOULD consider including a block in the response as soon as it passes the gossip validation rules. ##### BlobSidecarsByRoot v1 From e2ca4b351999091ea64618f46b1ea162976ed716 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Wed, 22 Nov 2023 23:30:18 +0100 Subject: [PATCH 05/18] add failed on_block condition --- specs/deneb/p2p-interface.md | 1 + 1 file changed, 1 insertion(+) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 858a0433e..1b437c28c 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -306,6 +306,7 @@ Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with sidecars that failed gossip validation. Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. +Clients MAY continue serving blocks\sidecars after failed `fork_choice.on_block` only if the failure reason is due to `is_data_available` failing for missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block)." ##### BlobSidecarsByRange v1 From d749a49665097a56e1cc824bfcdb68bcb1f8cea9 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Wed, 22 Nov 2023 23:46:13 +0100 Subject: [PATCH 06/18] rephrase --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 1b437c28c..bc12f3714 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -306,7 +306,7 @@ Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with sidecars that failed gossip validation. Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. -Clients MAY continue serving blocks\sidecars after failed `fork_choice.on_block` only if the failure reason is due to `is_data_available` failing for missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block)." +Clients MAY continue serving blocks\sidecars after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). ##### BlobSidecarsByRange v1 From 4c5e5c886feab96287f9a180b7bad94d870a9f24 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Wed, 29 Nov 2023 14:55:07 +0100 Subject: [PATCH 07/18] Update specs/phase0/p2p-interface.md Co-authored-by: Mikhail Kalinin --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index e838fe755..efae68832 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -856,7 +856,7 @@ Clients MUST support requesting blocks since the latest finalized epoch. Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. -Clients MAY consider including a block in the response as soon as it it passes the gossip validation rules. +Clients MAY consider including a block in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with blocks that failed gossip validation rules. Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. From ccca4498c9f0975d4652c9badc04eed6c3f4a93c Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Wed, 29 Nov 2023 16:26:41 +0100 Subject: [PATCH 08/18] apply suggestion --- specs/deneb/p2p-interface.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index bc12f3714..8150dee8d 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -255,6 +255,9 @@ No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. *[Modified in Deneb:EIP4844]* Clients SHOULD consider including a block in the response as soon as it passes the gossip validation rules. +*[New in Deneb:EIP4844]* +Clients MAY continue serving blocks after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). + ##### BlobSidecarsByRoot v1 **Protocol ID:** `/eth2/beacon_chain/req/blob_sidecars_by_root/1/` @@ -306,7 +309,7 @@ Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with sidecars that failed gossip validation. Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. -Clients MAY continue serving blocks\sidecars after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). +Clients MAY continue serving sidecars after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). ##### BlobSidecarsByRange v1 From 88b1818e9ba46fcc412457a31010e4909205e255 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 30 Nov 2023 11:55:52 +0100 Subject: [PATCH 09/18] Update specs/deneb/p2p-interface.md Co-authored-by: danny --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 8150dee8d..928f872dc 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -253,7 +253,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`: No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. *[Modified in Deneb:EIP4844]* -Clients SHOULD consider including a block in the response as soon as it passes the gossip validation rules. +Clients SHOULD include a block in the response as soon as it passes the gossip validation rules. *[New in Deneb:EIP4844]* Clients MAY continue serving blocks after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). From b525e9ed35e932d46bcb97ff7e8e2336f0e8b9f8 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 30 Nov 2023 11:56:14 +0100 Subject: [PATCH 10/18] Update specs/deneb/p2p-interface.md Co-authored-by: danny --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 928f872dc..ac4b6c96c 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -306,7 +306,7 @@ Clients MUST support requesting sidecars since `minimum_request_epoch`, where `m Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. -Clients SHOULD consider including a sidecar in the response as soon as it passes the gossip validation rules. +Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with sidecars that failed gossip validation. Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. Clients MAY continue serving sidecars after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). From 662c6ebc386133ee5e115f57e3ce5a466ab799ec Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 30 Nov 2023 12:08:42 +0100 Subject: [PATCH 11/18] remove the last consider --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index efae68832..9391b3656 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -856,7 +856,7 @@ Clients MUST support requesting blocks since the latest finalized epoch. Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. -Clients MAY consider including a block in the response as soon as it passes the gossip validation rules. +Clients MAY include a block in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with blocks that failed gossip validation rules. Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. From bdac932ebbefd1b2db3ea52b3fc51701d88c5815 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 30 Nov 2023 15:20:27 +0100 Subject: [PATCH 12/18] from on_block to state_transition --- specs/deneb/p2p-interface.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index ac4b6c96c..2c6023a87 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -256,7 +256,9 @@ No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. Clients SHOULD include a block in the response as soon as it passes the gossip validation rules. *[New in Deneb:EIP4844]* -Clients MAY continue serving blocks after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). +Clients SHOULD NOT include blocks for which one of the following conditions is met: +- `state_transition(block)` fails. +- the kzg proof of an available blob is invalid with respect to `blob_kzg_commitments` in the `block` (i.e. `verify_blob_kzg_proof_batch` fails on one or more known blobs). ##### BlobSidecarsByRoot v1 @@ -307,9 +309,9 @@ Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with sidecars that failed gossip validation. -Clients MUST NOT respond with sidecars related to blocks that failed `fork_choice.on_block`. -Clients MAY continue serving sidecars after failed `fork_choice.on_block` if and only if the failure reason is due to missing blobs. (i.e. some sidecars are missing but the available ones have been fully verified against the fully validated block). +Clients SHOULD NOT include sidecars related to blocks for which one of the following conditions is met: +- `state_transition(block)` fails. +- the kzg proof of an available blob is invalid with respect to `blob_kzg_commitments` in the `block` (i.e. `verify_blob_kzg_proof_batch` fails on one or more known blobs). ##### BlobSidecarsByRange v1 From c661e20e60dc6d5f282f763146b8e8d84962d4a2 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Thu, 30 Nov 2023 16:11:33 +0100 Subject: [PATCH 13/18] simplify and add a new rule --- specs/deneb/p2p-interface.md | 11 +++-------- specs/phase0/p2p-interface.md | 4 ++-- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 2c6023a87..04fc9ecc7 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -255,11 +255,6 @@ No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. *[Modified in Deneb:EIP4844]* Clients SHOULD include a block in the response as soon as it passes the gossip validation rules. -*[New in Deneb:EIP4844]* -Clients SHOULD NOT include blocks for which one of the following conditions is met: -- `state_transition(block)` fails. -- the kzg proof of an available blob is invalid with respect to `blob_kzg_commitments` in the `block` (i.e. `verify_blob_kzg_proof_batch` fails on one or more known blobs). - ##### BlobSidecarsByRoot v1 **Protocol ID:** `/eth2/beacon_chain/req/blob_sidecars_by_root/1/` @@ -309,9 +304,9 @@ Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. -Clients SHOULD NOT include sidecars related to blocks for which one of the following conditions is met: -- `state_transition(block)` fails. -- the kzg proof of an available blob is invalid with respect to `blob_kzg_commitments` in the `block` (i.e. `verify_blob_kzg_proof_batch` fails on one or more known blobs). +Clients MUST NOT respond with sidecars that fails gossip validation rules. +Clients MUST NOT respond with sidecars related to blocks that fail gossip validation rules. +Clients SHOULD NOT include sidecars related to blocks that fail `state_transition(block)`. ##### BlobSidecarsByRange v1 diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 9391b3656..41b7a060a 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -857,8 +857,8 @@ Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. Clients MAY include a block in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with blocks that failed gossip validation rules. -Clients MUST NOT respond with blocks that failed `fork_choice.on_block`. +Clients MUST NOT respond with blocks that fail gossip validation rules. +Clients SHOULD NOT include blocks that fail `state_transition(block)`. `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period. From dad09f64b328dbb14571ae482992bc6c80bb2838 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 1 Dec 2023 08:28:29 +0100 Subject: [PATCH 14/18] Update specs/phase0/p2p-interface.md Co-authored-by: Mikhail Kalinin --- specs/phase0/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 41b7a060a..cbc5c8cb5 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -858,7 +858,7 @@ Clients MAY limit the number of blocks in the response. Clients MAY include a block in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with blocks that fail gossip validation rules. -Clients SHOULD NOT include blocks that fail `state_transition(block)`. +Clients SHOULD NOT respond with blocks that fail beacon chain state transition. `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period. From eed7a66b25d6379923d62d67d28f9492d857c9fa Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 1 Dec 2023 08:28:41 +0100 Subject: [PATCH 15/18] Update specs/deneb/p2p-interface.md Co-authored-by: Mikhail Kalinin --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 04fc9ecc7..363871ed8 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -305,7 +305,7 @@ Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. Clients MUST NOT respond with sidecars that fails gossip validation rules. -Clients MUST NOT respond with sidecars related to blocks that fail gossip validation rules. +Clients SHOULD NOT respond with sidecars related to blocks that fail gossip validation rules. Clients SHOULD NOT include sidecars related to blocks that fail `state_transition(block)`. ##### BlobSidecarsByRange v1 From cf39eeda3d8a4c77a4361199829e17f65ff3f46f Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 1 Dec 2023 17:29:54 +0100 Subject: [PATCH 16/18] Update specs/deneb/p2p-interface.md Co-authored-by: danny --- specs/deneb/p2p-interface.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 363871ed8..82dfa3cc2 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -304,7 +304,7 @@ Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with sidecars that fails gossip validation rules. +Clients MUST NOT respond with sidecars that fail gossip validation rules. Clients SHOULD NOT respond with sidecars related to blocks that fail gossip validation rules. Clients SHOULD NOT include sidecars related to blocks that fail `state_transition(block)`. From ba09761ec39636204b9a00aaa807326a7eb53a58 Mon Sep 17 00:00:00 2001 From: Enrico Del Fante Date: Fri, 1 Dec 2023 18:36:25 +0100 Subject: [PATCH 17/18] remove gossip failure rules --- specs/deneb/p2p-interface.md | 1 - specs/phase0/p2p-interface.md | 1 - 2 files changed, 2 deletions(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 82dfa3cc2..6f848823a 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -304,7 +304,6 @@ Clients MUST respond with at least one sidecar, if they have it. Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with sidecars that fail gossip validation rules. Clients SHOULD NOT respond with sidecars related to blocks that fail gossip validation rules. Clients SHOULD NOT include sidecars related to blocks that fail `state_transition(block)`. diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index cbc5c8cb5..f54405301 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -857,7 +857,6 @@ Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. Clients MAY include a block in the response as soon as it passes the gossip validation rules. -Clients MUST NOT respond with blocks that fail gossip validation rules. Clients SHOULD NOT respond with blocks that fail beacon chain state transition. `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period. From d343b6f1d908453ca5d9bdc2f8a856b0a6599700 Mon Sep 17 00:00:00 2001 From: danny Date: Mon, 4 Dec 2023 07:47:12 -0700 Subject: [PATCH 18/18] Apply suggestions from code review --- specs/deneb/p2p-interface.md | 3 ++- specs/phase0/p2p-interface.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/specs/deneb/p2p-interface.md b/specs/deneb/p2p-interface.md index 6f848823a..84357c40b 100644 --- a/specs/deneb/p2p-interface.md +++ b/specs/deneb/p2p-interface.md @@ -254,6 +254,7 @@ No more than `MAX_REQUEST_BLOCKS_DENEB` may be requested at a time. *[Modified in Deneb:EIP4844]* Clients SHOULD include a block in the response as soon as it passes the gossip validation rules. +Clients SHOULD NOT respond with blocks that fail the beacon chain state transition. ##### BlobSidecarsByRoot v1 @@ -305,7 +306,7 @@ Clients MAY limit the number of blocks and sidecars in the response. Clients SHOULD include a sidecar in the response as soon as it passes the gossip validation rules. Clients SHOULD NOT respond with sidecars related to blocks that fail gossip validation rules. -Clients SHOULD NOT include sidecars related to blocks that fail `state_transition(block)`. +Clients SHOULD NOT respond with sidecars related to blocks that fail the beacon chain state transition ##### BlobSidecarsByRange v1 diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index f54405301..e9d43e5a7 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -857,7 +857,7 @@ Clients MUST respond with at least one block, if they have it. Clients MAY limit the number of blocks in the response. Clients MAY include a block in the response as soon as it passes the gossip validation rules. -Clients SHOULD NOT respond with blocks that fail beacon chain state transition. +Clients SHOULD NOT respond with blocks that fail the beacon chain state transition. `/eth2/beacon_chain/req/beacon_blocks_by_root/1/` is deprecated. Clients MAY respond with an empty list during the deprecation transition period.