Skip to content

Commit b2f2102

Browse files
authored
Merge pull request #3556 from ethereum/blob-subnets
Move `blob_sidecar_{subnet_id}` to `Blob subnets` section
2 parents 4420c64 + c43173e commit b2f2102

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

specs/deneb/p2p-interface.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,9 @@ The specification of these changes continues in the same format as the network s
2323
- [Topics and messages](#topics-and-messages)
2424
- [Global topics](#global-topics)
2525
- [`beacon_block`](#beacon_block)
26-
- [`blob_sidecar_{subnet_id}`](#blob_sidecar_subnet_id)
2726
- [`beacon_aggregate_and_proof`](#beacon_aggregate_and_proof)
27+
- [Blob subnets](#blob-subnets)
28+
- [`blob_sidecar_{subnet_id}`](#blob_sidecar_subnet_id)
2829
- [Attestation subnets](#attestation-subnets)
2930
- [`beacon_attestation_{subnet_id}`](#beacon_attestation_subnet_id)
3031
- [Transitioning the gossip](#transitioning-the-gossip)
@@ -133,8 +134,6 @@ The new topics along with the type of the `data` field of a gossipsub message ar
133134

134135
##### Global topics
135136

136-
Deneb introduces new global topics for blob sidecars.
137-
138137
###### `beacon_block`
139138

140139
The *type* of the payload of this topic changes to the (modified) `SignedBeaconBlock` found in Deneb.
@@ -146,6 +145,25 @@ New validation:
146145
- _[REJECT]_ The length of KZG commitments is less than or equal to the limitation defined in Consensus Layer --
147146
i.e. validate that `len(body.signed_beacon_block.message.blob_kzg_commitments) <= MAX_BLOBS_PER_BLOCK`
148147

148+
###### `beacon_aggregate_and_proof`
149+
150+
*[Modified in Deneb:EIP7045]*
151+
152+
The following validation is removed:
153+
* _[IGNORE]_ `aggregate.data.slot` is within the last `ATTESTATION_PROPAGATION_SLOT_RANGE` slots (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
154+
i.e. `aggregate.data.slot + ATTESTATION_PROPAGATION_SLOT_RANGE >= current_slot >= aggregate.data.slot`
155+
(a client MAY queue future aggregates for processing at the appropriate slot).
156+
157+
The following validations are added in its place:
158+
* _[IGNORE]_ `aggregate.data.slot` is equal to or earlier than the `current_slot` (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
159+
i.e. `aggregate.data.slot <= current_slot`
160+
(a client MAY queue future aggregates for processing at the appropriate slot).
161+
* _[IGNORE]_ the epoch of `aggregate.data.slot` is either the current or previous epoch
162+
(with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
163+
i.e. `compute_epoch_at_slot(aggregate.data.slot) in (get_previous_epoch(state), get_current_epoch(state))`
164+
165+
##### Blob subnets
166+
149167
###### `blob_sidecar_{subnet_id}`
150168

151169
*[New in Deneb:EIP4844]*
@@ -169,23 +187,6 @@ The following validations MUST pass before forwarding the `blob_sidecar` on the
169187
- _[REJECT]_ The sidecar is proposed by the expected `proposer_index` for the block's slot in the context of the current shuffling (defined by `block_header.parent_root`/`block_header.slot`).
170188
If the `proposer_index` cannot immediately be verified against the expected shuffling, the sidecar MAY be queued for later processing while proposers for the block's branch are calculated -- in such a case _do not_ `REJECT`, instead `IGNORE` this message.
171189

172-
###### `beacon_aggregate_and_proof`
173-
174-
*[Modified in Deneb:EIP7045]*
175-
176-
The following validation is removed:
177-
* _[IGNORE]_ `aggregate.data.slot` is within the last `ATTESTATION_PROPAGATION_SLOT_RANGE` slots (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
178-
i.e. `aggregate.data.slot + ATTESTATION_PROPAGATION_SLOT_RANGE >= current_slot >= aggregate.data.slot`
179-
(a client MAY queue future aggregates for processing at the appropriate slot).
180-
181-
The following validations are added in its place:
182-
* _[IGNORE]_ `aggregate.data.slot` is equal to or earlier than the `current_slot` (with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
183-
i.e. `aggregate.data.slot <= current_slot`
184-
(a client MAY queue future aggregates for processing at the appropriate slot).
185-
* _[IGNORE]_ the epoch of `aggregate.data.slot` is either the current or previous epoch
186-
(with a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) --
187-
i.e. `compute_epoch_at_slot(aggregate.data.slot) in (get_previous_epoch(state), get_current_epoch(state))`
188-
189190
##### Attestation subnets
190191

191192
###### `beacon_attestation_{subnet_id}`

0 commit comments

Comments
 (0)