Move to peerdas eip
This commit is contained in:
parent
f25aac6adf
commit
db717702a8
|
@ -17,6 +17,7 @@
|
|||
- [`verify_data_column_sidecar_kzg_proofs`](#verify_data_column_sidecar_kzg_proofs)
|
||||
- [`verify_data_column_sidecar_inclusion_proof`](#verify_data_column_sidecar_inclusion_proof)
|
||||
- [`compute_subnet_for_data_column_sidecar`](#compute_subnet_for_data_column_sidecar)
|
||||
- [MetaData](#metadata)
|
||||
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
||||
- [Topics and messages](#topics-and-messages)
|
||||
- [Blob subnets](#blob-subnets)
|
||||
|
@ -26,6 +27,7 @@
|
|||
- [Messages](#messages)
|
||||
- [DataColumnSidecarsByRoot v1](#datacolumnsidecarsbyroot-v1)
|
||||
- [DataColumnSidecarsByRange v1](#datacolumnsidecarsbyrange-v1)
|
||||
- [GetMetaData v3](#getmetadata-v3)
|
||||
- [The discovery domain: discv5](#the-discovery-domain-discv5)
|
||||
- [ENR structure](#enr-structure)
|
||||
- [Custody subnet count](#custody-subnet-count)
|
||||
|
@ -110,6 +112,24 @@ def compute_subnet_for_data_column_sidecar(column_index: ColumnIndex) -> SubnetI
|
|||
return SubnetID(column_index % DATA_COLUMN_SIDECAR_SUBNET_COUNT)
|
||||
```
|
||||
|
||||
### MetaData
|
||||
|
||||
The `MetaData` stored locally by clients is updated with an additional field to communicate the custody subnet count.
|
||||
|
||||
```
|
||||
(
|
||||
seq_number: uint64
|
||||
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
|
||||
syncnets: Bitvector[SYNC_COMMITTEE_SUBNET_COUNT]
|
||||
custody_subnet_count: uint64
|
||||
)
|
||||
```
|
||||
|
||||
Where
|
||||
|
||||
- `seq_number`, `attnets`, and `syncnets` have the same meaning defined in the Altair document.
|
||||
- `custody_subnet_count` represents the node's custody subnet count. Clients MAY reject ENRs with a value less than `CUSTODY_REQUIREMENT`.
|
||||
|
||||
### The gossip domain: gossipsub
|
||||
|
||||
Some gossip meshes are upgraded in the EIP-7594 fork to support upgraded types.
|
||||
|
@ -280,6 +300,22 @@ Clients MUST respond with data column sidecars that are consistent from a single
|
|||
|
||||
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.
|
||||
|
||||
##### GetMetaData v3
|
||||
|
||||
**Protocol ID:** `/eth2/beacon_chain/req/metadata/3/`
|
||||
|
||||
No Request Content.
|
||||
|
||||
Response Content:
|
||||
|
||||
```
|
||||
(
|
||||
MetaData
|
||||
)
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
### The discovery domain: discv5
|
||||
|
||||
#### ENR structure
|
||||
|
|
|
@ -11,39 +11,17 @@ The specification of these changes continues in the same format as the network s
|
|||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
- [Modifications in Electra](#modifications-in-electra)
|
||||
- [MetaData](#metadata)
|
||||
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
||||
- [Topics and messages](#topics-and-messages)
|
||||
- [Global topics](#global-topics)
|
||||
- [`beacon_aggregate_and_proof`](#beacon_aggregate_and_proof)
|
||||
- [`beacon_attestation_{subnet_id}`](#beacon_attestation_subnet_id)
|
||||
- [The Req/Resp domain](#the-reqresp-domain)
|
||||
- [Messages](#messages)
|
||||
- [GetMetaData v3](#getmetadata-v3)
|
||||
|
||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- /TOC -->
|
||||
|
||||
## Modifications in Electra
|
||||
|
||||
### MetaData
|
||||
|
||||
The `MetaData` stored locally by clients is updated with an additional field to communicate the custody subnet count.
|
||||
|
||||
```
|
||||
(
|
||||
seq_number: uint64
|
||||
attnets: Bitvector[ATTESTATION_SUBNET_COUNT]
|
||||
syncnets: Bitvector[SYNC_COMMITTEE_SUBNET_COUNT]
|
||||
custody_subnet_count: uint64
|
||||
)
|
||||
```
|
||||
|
||||
Where
|
||||
|
||||
- `seq_number`, `attnets`, and `syncnets` have the same meaning defined in the Altair document.
|
||||
- `custody_subnet_count` represents the node's custody subnet count. Clients MAY reject ENRs with a value less than `CUSTODY_REQUIREMENT`.
|
||||
|
||||
### The gossip domain: gossipsub
|
||||
|
||||
Some gossip meshes are upgraded in the fork of Electra to support upgraded types.
|
||||
|
@ -79,23 +57,3 @@ The following convenience variables are re-defined
|
|||
The following validations are added:
|
||||
* [REJECT] `len(committee_indices) == 1`, where `committee_indices = get_committee_indices(attestation)`.
|
||||
* [REJECT] `attestation.data.index == 0`
|
||||
|
||||
### The Req/Resp domain
|
||||
|
||||
#### Messages
|
||||
|
||||
##### GetMetaData v3
|
||||
|
||||
**Protocol ID:** `/eth2/beacon_chain/req/metadata/3/`
|
||||
|
||||
No Request Content.
|
||||
|
||||
Response Content:
|
||||
|
||||
```
|
||||
(
|
||||
MetaData
|
||||
)
|
||||
```
|
||||
|
||||
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.
|
||||
|
|
Loading…
Reference in New Issue