Modify Merge Gossip Block Validation Conditions

This commit is contained in:
Mark Mackey 2021-09-23 13:30:43 -05:00
parent d8da784af1
commit d9a183b5cb

View File

@ -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, 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. 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`. 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: then validate the following:
- _[REJECT]_ The block's execution payload must be non-empty -- - _[REJECT]_ The block's execution payload must be non-empty --
i.e. `execution_payload != ExecutionPayload()` 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 - _[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)`. -- i.e. `execution_payload.timestamp == compute_time_at_slot(state, block.slot)`.
- _[REJECT]_ Gas used is less than the gas limit -- - _[REJECT]_ Gas used is less than the gas limit --