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_kzg_proofs`](#verify_data_column_sidecar_kzg_proofs)
|
||||||
- [`verify_data_column_sidecar_inclusion_proof`](#verify_data_column_sidecar_inclusion_proof)
|
- [`verify_data_column_sidecar_inclusion_proof`](#verify_data_column_sidecar_inclusion_proof)
|
||||||
- [`compute_subnet_for_data_column_sidecar`](#compute_subnet_for_data_column_sidecar)
|
- [`compute_subnet_for_data_column_sidecar`](#compute_subnet_for_data_column_sidecar)
|
||||||
|
- [MetaData](#metadata)
|
||||||
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
||||||
- [Topics and messages](#topics-and-messages)
|
- [Topics and messages](#topics-and-messages)
|
||||||
- [Blob subnets](#blob-subnets)
|
- [Blob subnets](#blob-subnets)
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
- [Messages](#messages)
|
- [Messages](#messages)
|
||||||
- [DataColumnSidecarsByRoot v1](#datacolumnsidecarsbyroot-v1)
|
- [DataColumnSidecarsByRoot v1](#datacolumnsidecarsbyroot-v1)
|
||||||
- [DataColumnSidecarsByRange v1](#datacolumnsidecarsbyrange-v1)
|
- [DataColumnSidecarsByRange v1](#datacolumnsidecarsbyrange-v1)
|
||||||
|
- [GetMetaData v3](#getmetadata-v3)
|
||||||
- [The discovery domain: discv5](#the-discovery-domain-discv5)
|
- [The discovery domain: discv5](#the-discovery-domain-discv5)
|
||||||
- [ENR structure](#enr-structure)
|
- [ENR structure](#enr-structure)
|
||||||
- [Custody subnet count](#custody-subnet-count)
|
- [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)
|
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
|
### The gossip domain: gossipsub
|
||||||
|
|
||||||
Some gossip meshes are upgraded in the EIP-7594 fork to support upgraded types.
|
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.
|
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
|
### The discovery domain: discv5
|
||||||
|
|
||||||
#### ENR structure
|
#### 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 -->
|
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||||
|
|
||||||
- [Modifications in Electra](#modifications-in-electra)
|
- [Modifications in Electra](#modifications-in-electra)
|
||||||
- [MetaData](#metadata)
|
|
||||||
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
- [The gossip domain: gossipsub](#the-gossip-domain-gossipsub)
|
||||||
- [Topics and messages](#topics-and-messages)
|
- [Topics and messages](#topics-and-messages)
|
||||||
- [Global topics](#global-topics)
|
- [Global topics](#global-topics)
|
||||||
- [`beacon_aggregate_and_proof`](#beacon_aggregate_and_proof)
|
- [`beacon_aggregate_and_proof`](#beacon_aggregate_and_proof)
|
||||||
- [`beacon_attestation_{subnet_id}`](#beacon_attestation_subnet_id)
|
- [`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 -->
|
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||||
<!-- /TOC -->
|
<!-- /TOC -->
|
||||||
|
|
||||||
## Modifications in Electra
|
## 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
|
### The gossip domain: gossipsub
|
||||||
|
|
||||||
Some gossip meshes are upgraded in the fork of Electra to support upgraded types.
|
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:
|
The following validations are added:
|
||||||
* [REJECT] `len(committee_indices) == 1`, where `committee_indices = get_committee_indices(attestation)`.
|
* [REJECT] `len(committee_indices) == 1`, where `committee_indices = get_committee_indices(attestation)`.
|
||||||
* [REJECT] `attestation.data.index == 0`
|
* [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