From d9a183b5cb049f4f0bce966365d40533d1403851 Mon Sep 17 00:00:00 2001 From: Mark Mackey Date: Thu, 23 Sep 2021 13:30:43 -0500 Subject: [PATCH 1/2] Modify Merge Gossip Block Validation Conditions --- specs/merge/p2p-interface.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/specs/merge/p2p-interface.md b/specs/merge/p2p-interface.md index 85a96c31eb..73bacbdde8 100644 --- a/specs/merge/p2p-interface.md +++ b/specs/merge/p2p-interface.md @@ -68,12 +68,10 @@ See the Merge [state transition document](./beacon-chain.md#beaconblockbody) for In addition to the gossip validations for this topic from prior specifications, the following validations MUST pass before forwarding the `signed_beacon_block` on the network. Alias `block = signed_beacon_block.message`, `execution_payload = block.body.execution_payload`. -- If the merge is complete with respect to the head state -- i.e. `is_merge_complete(state)` -- +- If the execution is enabled for the block or the block state -- i.e. `is_execution_enabled(state, block.body)` then validate the following: - _[REJECT]_ The block's execution payload must be non-empty -- i.e. `execution_payload != ExecutionPayload()` -- If the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)` - then validate the following: - _[REJECT]_ The block's execution payload timestamp is correct with respect to the slot -- i.e. `execution_payload.timestamp == compute_time_at_slot(state, block.slot)`. - _[REJECT]_ Gas used is less than the gas limit -- From d7665681a2bffb0e6405fa48f21b28342eff0fea Mon Sep 17 00:00:00 2001 From: Danny Ryan Date: Fri, 24 Sep 2021 06:08:01 -0600 Subject: [PATCH 2/2] simplify merge block gossip conditions --- specs/merge/p2p-interface.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/specs/merge/p2p-interface.md b/specs/merge/p2p-interface.md index 73bacbdde8..487b8f8642 100644 --- a/specs/merge/p2p-interface.md +++ b/specs/merge/p2p-interface.md @@ -68,10 +68,8 @@ See the Merge [state transition document](./beacon-chain.md#beaconblockbody) for In addition to the gossip validations for this topic from prior specifications, the following validations MUST pass before forwarding the `signed_beacon_block` on the network. Alias `block = signed_beacon_block.message`, `execution_payload = block.body.execution_payload`. -- If the execution is enabled for the block or the block state -- i.e. `is_execution_enabled(state, block.body)` +- If the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)` then validate the following: - - _[REJECT]_ The block's execution payload must be non-empty -- - i.e. `execution_payload != ExecutionPayload()` - _[REJECT]_ The block's execution payload timestamp is correct with respect to the slot -- i.e. `execution_payload.timestamp == compute_time_at_slot(state, block.slot)`. - _[REJECT]_ Gas used is less than the gas limit --