Skip to content

Commit 83aec1c

Browse files
committed
Capella
1 parent 9c18102 commit 83aec1c

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

spec/p2p-interface.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ It consists of four main sections:
2929
- [Global topics](#global-topics)
3030
- [`beacon_block`](#beacon_block)
3131
- [`beacon_aggregate_and_proof`](#beacon_aggregate_and_proof)
32+
- [`bls_to_execution_change`](#bls_to_execution_change)
3233
- [`voluntary_exit`](#voluntary_exit)
3334
- [`proposer_slashing`](#proposer_slashing)
3435
- [`attester_slashing`](#attester_slashing)
@@ -279,7 +280,14 @@ Bellatrix:
279280
| - | - |
280281
| `beacon_block` | `SignedBeaconBlock` (modified) |
281282

282-
Note that the ForkDigestValue path segment of the topic separates the old and the new beacon_block topics.
283+
Capella:
284+
285+
| Name | Message Type |
286+
| - | - |
287+
| `beacon_block` | `SignedBeaconBlock` (modified) |
288+
| `bls_to_execution_change` | `SignedBLSToExecutionChange` |
289+
290+
Note that the `ForkDigestValue` path segment of the topic separates the old and the new `beacon_block` topics.
283291

284292
Clients MUST reject (fail validation) messages containing an incorrect type, or invalid payload.
285293

@@ -332,6 +340,7 @@ The following validations MUST pass before forwarding the `signed_beacon_block`
332340
in such a case _do not_ `REJECT`, instead `IGNORE` this message.
333341

334342
Modified in Bellatrix due to the inner `BeaconBlockBody` change.
343+
335344
In addition to the gossip validations for this topic from prior specifications,
336345
the following validations MUST pass before forwarding the `signed_beacon_block` on the network.
337346
Alias `block = signed_beacon_block.message`, `execution_payload = block.body.execution_payload`.
@@ -351,6 +360,10 @@ The following gossip validation from prior specifications MUST NOT be applied if
351360

352361
- [REJECT] The block's parent (defined by `block.parent_root`) passes validation.
353362

363+
Modified in Capella:
364+
The *type* of the payload of this topic changes to the (modified) `SignedBeaconBlock` found in Capella.
365+
Specifically, this type changes with the addition of `bls_to_execution_changes` to the inner `BeaconBlockBody`.
366+
354367
###### `beacon_aggregate_and_proof`
355368

356369
The `beacon_aggregate_and_proof` topic is used to propagate aggregated attestations (as `SignedAggregateAndProof`s)
@@ -385,6 +398,19 @@ The following validations MUST pass before forwarding the `signed_aggregate_and_
385398
`get_checkpoint_block(store, aggregate.data.beacon_block_root, finalized_checkpoint.epoch)
386399
== store.finalized_checkpoint.root`
387400

401+
###### `bls_to_execution_change`
402+
403+
(Added in Capella)
404+
405+
This topic is used to propagate signed bls to execution change messages to be included in future blocks.
406+
407+
The following validations MUST pass before forwarding the `signed_bls_to_execution_change` on the network:
408+
409+
- _[IGNORE]_ `current_epoch >= CAPELLA_FORK_EPOCH`,
410+
where `current_epoch` is defined by the current wall-clock time.
411+
- _[IGNORE]_ The `signed_bls_to_execution_change` is the first valid signed bls to execution change received
412+
for the validator with index `signed_bls_to_execution_change.message.validator_index`.
413+
- _[REJECT]_ All of the conditions within `process_bls_to_execution_change` pass validation.
388414

389415
###### `voluntary_exit`
390416

@@ -939,6 +965,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`:
939965
| `GENESIS_FORK_VERSION` | `phase0.SignedBeaconBlock` |
940966
| `ALTAIR_FORK_VERSION` | `altair.SignedBeaconBlock` |
941967
| `BELLATRIX_FORK_VERSION` | `bellatrix.SignedBeaconBlock` |
968+
| `CAPELLA_FORK_VERSION` | `capella.SignedBeaconBlock` |
942969

943970
##### BeaconBlocksByRoot
944971

@@ -995,6 +1022,7 @@ Per `context = compute_fork_digest(fork_version, genesis_validators_root)`:
9951022
| `GENESIS_FORK_VERSION` | `phase0.SignedBeaconBlock` |
9961023
| `ALTAIR_FORK_VERSION` | `altair.SignedBeaconBlock` |
9971024
| `BELLATRIX_FORK_VERSION` | `bellatrix.SignedBeaconBlock` |
1025+
| `CAPELLA_FORK_VERSION` | `capella.SignedBeaconBlock` |
9981026

9991027
##### Ping
10001028

0 commit comments

Comments
 (0)