Update gossip conditions

This commit is contained in:
Paul Hauner 2022-01-18 11:12:55 +11:00
parent 15ef2f30d2
commit b1ec9bcfbc
No known key found for this signature in database
GPG Key ID: 5E2CFF9B75FA63DF

View File

@ -95,12 +95,14 @@ the following validations MUST pass before forwarding the `signed_beacon_block`
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 execution is enabled for the block -- 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: 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_timestamp_at_slot(state, block.slot)`. -- i.e. `execution_payload.timestamp == compute_timestamp_at_slot(state, block.slot)`.
- [REJECT] The block's parent (defined by `block.parent_root`) passes all - If `exection_payload` verification of block's parent by an execution node is *not* complete:
validation, excluding verification of the `block.body.execution_payload`. - [REJECT] The block's parent (defined by `block.parent_root`) passes all
- [IGNORE] The block's parent (defined by `block.parent_root`) passes all validation (excluding execution node verification of the `block.body.execution_payload`).
validation, including verification of the `block.body.execution_payload`. - otherwise:
- [IGNORE] The block's parent (defined by `block.parent_root`) passes all
validation (including execution node verification of the `block.body.execution_payload`).
The following gossip validation from prior specifications MUST NOT be applied if the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`: The following gossip validation from prior specifications MUST NOT be applied if the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`:
- [REJECT] The block's parent (defined by `block.parent_root`) passes validation. - [REJECT] The block's parent (defined by `block.parent_root`) passes validation.