From 306fc95c60a29dd9817ad3267e9217f5cfad1368 Mon Sep 17 00:00:00 2001 From: protolambda Date: Thu, 18 Mar 2021 00:33:07 +0100 Subject: [PATCH] Update doc names and sharding readme section --- README.md | 21 +++++++++++++++---- specs/das/{das-internals.md => das-core.md} | 2 +- specs/das/fork-choice.md | 2 +- specs/das/{das-p2p.md => p2p-interface.md} | 10 ++++----- .../das/{das-participation.md => sampling.md} | 2 +- .../{p2p-phase1.md => p2p-interface.md} | 0 6 files changed, 25 insertions(+), 12 deletions(-) rename specs/das/{das-internals.md => das-core.md} (99%) rename specs/das/{das-p2p.md => p2p-interface.md} (96%) rename specs/das/{das-participation.md => sampling.md} (98%) rename specs/sharding/{p2p-phase1.md => p2p-interface.md} (100%) diff --git a/README.md b/README.md index 42ad7e71ff..1bae65f968 100644 --- a/README.md +++ b/README.md @@ -27,14 +27,27 @@ Core specifications for Eth2 clients be found in [specs](specs/). These are divi * [Altair fork](specs/altair/fork.md) * [Light client sync protocol](specs/altair/sync-protocol.md) -### Sharding - -The sharding spec is still actively in R&D; see the most recent available pull request [here](https://github.com/ethereum/eth2.0-specs/pull/2146) and some technical details [here](https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/B1YJPGkpD). - ### Merge The merge is still actively in R&D; see an [ethresear.ch](https://ethresear.ch) post describing the proposed basic mechanism [here](https://ethresear.ch/t/the-eth1-eth2-transition/6265) and the section of [ethereum.org](https://ethereum.org) describing the merge at a high level [here](https://ethereum.org/en/eth2/docking/). +### Sharding + +Sharding follows the merge, and is divided into three parts: + +* Sharding base functionality + * [Beacon Chain changes](specs/sharding/beacon-chain.md) + * [P2P Network changes](specs/sharding/p2p-interface.md) +* Proof of Custody + * [Custody Game](specs/custody/custody-game.md) + * [Validator custody work](specs/custody/validator.md) +* Data Availability Sampling + * Technical details [here](https://hackmd.io/@HWeNw8hNRimMm2m2GH56Cw/B1YJPGkpD). + * [Core types and functions](specs/das/das-core.md) + * [P2P Networking](specs/das/p2p-interface.md) + * [Fork Choice](specs/das/fork-choice.md) + * [Sampling process](specs/das/sampling.md) + ### Accompanying documents can be found in [specs](specs) and include: * [SimpleSerialize (SSZ) spec](ssz/simple-serialize.md) diff --git a/specs/das/das-internals.md b/specs/das/das-core.md similarity index 99% rename from specs/das/das-internals.md rename to specs/das/das-core.md index 1b65eeacd9..5cfb9af1c8 100644 --- a/specs/das/das-internals.md +++ b/specs/das/das-core.md @@ -1,4 +1,4 @@ -# Ethereum 2.0 Phase 1 -- Data Availability Sampling - Internals +# Ethereum 2.0 Data Availability Sampling Core **Notice**: This document is a work-in-progress for researchers and implementers. diff --git a/specs/das/fork-choice.md b/specs/das/fork-choice.md index 4512e5b68e..ae105c8ef8 100644 --- a/specs/das/fork-choice.md +++ b/specs/das/fork-choice.md @@ -1,4 +1,4 @@ -# Ethereum 2.0 Phase 1 -- Beacon Chain Fork Choice +# Ethereum 2.0 Data Availability Sampling Fork Choice **Notice**: This document is a work-in-progress for researchers and implementers. diff --git a/specs/das/das-p2p.md b/specs/das/p2p-interface.md similarity index 96% rename from specs/das/das-p2p.md rename to specs/das/p2p-interface.md index 33c4f2726f..0c8c211d4b 100644 --- a/specs/das/das-p2p.md +++ b/specs/das/p2p-interface.md @@ -1,4 +1,4 @@ -# Ethereum 2.0 Phase 1 -- Data Availability Sampling - Network specification +# Ethereum 2.0 Data Availability Sampling Network specification **Notice**: This document is a work-in-progress for researchers and implementers. @@ -32,7 +32,7 @@ ## Introduction -For an introduction about DAS itself, see [the DAS participation spec](./das-participation.md#data-availability-sampling). +For an introduction about DAS itself, see [the DAS participation spec](sampling.md#data-availability-sampling). This is not a pre-requisite for the network layer, but will give you valuable context. For sampling, all nodes need to query for `k` random samples each slot. @@ -132,11 +132,11 @@ These subscriptions rotate slowly, and with different offsets per node identity # TODO hash function: (node, time)->subnets ``` -Backbone subscription work is outlined in the [DAS participation spec](./das-participation.md#slow-rotation-backbone) +Backbone subscription work is outlined in the [DAS participation spec](sampling.md#slow-rotation-backbone) #### Quick Rotation: Sampling -A node MUST maintain `k` random subscriptions to topics, and rotate these according to the [DAS participation spec](./das-participation.md#quick-rotation-sampling). +A node MUST maintain `k` random subscriptions to topics, and rotate these according to the [DAS participation spec](sampling.md#quick-rotation-sampling). If the node does not already have connected peers on the topic it needs to sample, it can search its peerstore, and if necessary in the DHT, for peers in the topic backbone. ## DAS in the Gossip domain: Push @@ -161,7 +161,7 @@ Take `blob = signed_blob.blob`: 2. Create samples with proofs: `samples = sample_data(blob.slot, blob.shard, extended_data)` 3. Fanout-publish the samples to the vertical subnets of its peers (not all vertical subnets may be reached). -The [DAS participation spec](./das-participation.md#horizontal-subnets) outlines when and where to participate in DAS on horizontal subnets. +The [DAS participation spec](sampling.md#horizontal-subnets) outlines when and where to participate in DAS on horizontal subnets. #### Vertical subnets: `das_sample_{subnet_index}` diff --git a/specs/das/das-participation.md b/specs/das/sampling.md similarity index 98% rename from specs/das/das-participation.md rename to specs/das/sampling.md index fd432ea8ea..aedcf5fd5f 100644 --- a/specs/das/das-participation.md +++ b/specs/das/sampling.md @@ -1,4 +1,4 @@ -# Ethereum 2.0 Phase 1 -- Data Availability Sampling - Participation +# Ethereum 2.0 Data Availability Sampling **Notice**: This document is a work-in-progress for researchers and implementers. diff --git a/specs/sharding/p2p-phase1.md b/specs/sharding/p2p-interface.md similarity index 100% rename from specs/sharding/p2p-phase1.md rename to specs/sharding/p2p-interface.md