You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note that the ForkDigestValue path segment of the topic separates the old and the new beacon_block topics.
283
+
276
284
Clients MUST reject (fail validation) messages containing an incorrect type, or invalid payload.
277
285
278
286
When processing incoming gossip, clients MAY descore or disconnect peers who fail to observe these constraints.
@@ -323,6 +331,26 @@ The following validations MUST pass before forwarding the `signed_beacon_block`
323
331
the block MAY be queued for later processing while proposers for the block's branch are calculated --
324
332
in such a case _do not_`REJECT`, instead `IGNORE` this message.
325
333
334
+
Modified in Bellatrix due to the inner `BeaconBlockBody` change.
335
+
In addition to the gossip validations for this topic from prior specifications,
336
+
the following validations MUST pass before forwarding the `signed_beacon_block` on the network.
337
+
Alias `block = signed_beacon_block.message`, `execution_payload = block.body.execution_payload`.
338
+
339
+
- If the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`
340
+
then validate the following:
341
+
-_[REJECT]_ The block's execution payload timestamp is correct with respect to the slot
342
+
-- i.e. `execution_payload.timestamp == compute_timestamp_at_slot(state, block.slot)`.
343
+
- If `exection_payload` verification of block's parent by an execution node is *not* complete:
344
+
-[REJECT] The block's parent (defined by `block.parent_root`) passes all
345
+
validation (excluding execution node verification of the `block.body.execution_payload`).
346
+
- otherwise:
347
+
-[IGNORE] The block's parent (defined by `block.parent_root`) passes all
348
+
validation (including execution node verification of the `block.body.execution_payload`).
349
+
350
+
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)`:
351
+
352
+
-[REJECT] The block's parent (defined by `block.parent_root`) passes validation.
353
+
326
354
###### `beacon_aggregate_and_proof`
327
355
328
356
The `beacon_aggregate_and_proof` topic is used to propagate aggregated attestations (as `SignedAggregateAndProof`s)
@@ -910,6 +938,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`:
0 commit comments