Skip to content

Commit 572ca9e

Browse files
authored
Merge pull request #3821 from dapplion/csc
Add MetadataV3 with custody_subnet_count
2 parents 9515f3e + db71770 commit 572ca9e

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

specs/_features/eip7594/p2p-interface.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
- [`verify_data_column_sidecar_kzg_proofs`](#verify_data_column_sidecar_kzg_proofs)
1818
- [`verify_data_column_sidecar_inclusion_proof`](#verify_data_column_sidecar_inclusion_proof)
1919
- [`compute_subnet_for_data_column_sidecar`](#compute_subnet_for_data_column_sidecar)
20+
- [MetaData](#metadata)
2021
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
2122
- [Topics and messages](#topics-and-messages)
2223
- [Blob subnets](#blob-subnets)
@@ -26,6 +27,7 @@
2627
- [Messages](#messages)
2728
- [DataColumnSidecarsByRoot v1](#datacolumnsidecarsbyroot-v1)
2829
- [DataColumnSidecarsByRange v1](#datacolumnsidecarsbyrange-v1)
30+
- [GetMetaData v3](#getmetadata-v3)
2931
- [The discovery domain: discv5](#the-discovery-domain-discv5)
3032
- [ENR structure](#enr-structure)
3133
- [Custody subnet count](#custody-subnet-count)
@@ -109,6 +111,24 @@ def compute_subnet_for_data_column_sidecar(column_index: ColumnIndex) -> SubnetI
109111
return SubnetID(column_index % DATA_COLUMN_SIDECAR_SUBNET_COUNT)
110112
```
111113

114+
### MetaData
115+
116+
The `MetaData` stored locally by clients is updated with an additional field to communicate the custody subnet count.
117+
118+
```
119+
(
120+
seq_number: uint64
121+
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
122+
syncnets: Bitvector[SYNC_COMMITTEE_SUBNET_COUNT]
123+
custody_subnet_count: uint64
124+
)
125+
```
126+
127+
Where
128+
129+
- `seq_number`, `attnets`, and `syncnets` have the same meaning defined in the Altair document.
130+
- `custody_subnet_count` represents the node's custody subnet count. Clients MAY reject ENRs with a value less than `CUSTODY_REQUIREMENT`.
131+
112132
### The gossip domain: gossipsub
113133

114134
Some gossip meshes are upgraded in the EIP-7594 fork to support upgraded types.
@@ -279,6 +299,22 @@ Clients MUST respond with data column sidecars that are consistent from a single
279299

280300
After the initial data column sidecar, clients MAY stop in the process of responding if their fork choice changes the view of the chain in the context of the request.
281301

302+
##### GetMetaData v3
303+
304+
**Protocol ID:** `/eth2/beacon_chain/req/metadata/3/`
305+
306+
No Request Content.
307+
308+
Response Content:
309+
310+
```
311+
(
312+
MetaData
313+
)
314+
```
315+
316+
Requests the MetaData of a peer, using the new `MetaData` definition given above that is extended from Altair. Other conditions for the `GetMetaData` protocol are unchanged from the Altair p2p networking document.
317+
282318
### The discovery domain: discv5
283319

284320
#### ENR structure

0 commit comments

Comments
 (0)