From 6a92407702b8f3b21ec30fcfaa81794ae70f5f9c Mon Sep 17 00:00:00 2001 From: vbuterin Date: Mon, 25 Feb 2019 04:16:18 -0600 Subject: [PATCH 1/3] Developer notice --- specs/core/1_shard-data-chains.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/specs/core/1_shard-data-chains.md b/specs/core/1_shard-data-chains.md index 48eea7d2b..b68545c39 100644 --- a/specs/core/1_shard-data-chains.md +++ b/specs/core/1_shard-data-chains.md @@ -2,6 +2,8 @@ **NOTICE**: This document is a work-in-progress for researchers and implementers. It reflects recent spec changes and takes precedence over the [Python proof-of-concept implementation](https://github.com/ethereum/beacon_chain). +At the current stage, development teams are encouraged to treat the "Shard chains and crosslink data" section as reasonably close to the expected final form and worth starting development if they have spare resources, but the "Updates to the beacon chain" section, while fundamentally feature-complete, is still expected to undergo very considerable revision and review. + ## Table of contents @@ -15,26 +17,27 @@ - [Time parameters](#time-parameters) - [Max operations per block](#max-operations-per-block) - [Signature domains](#signature-domains) - - [Helper functions](#helper-functions) + - [Shard chains and crosslink data](#shard-chains-and-crosslink-data) + - [Helper functions](#helper-functions) - [`get_split_offset`](#get_split_offset) - [`get_shuffled_committee`](#get_shuffled_committee) - [`get_persistent_committee`](#get_persistent_committee) - [`get_shard_proposer_index`](#get_shard_proposer_index) - - [Data Structures](#data-structures) + - [Data Structures](#data-structures) - [Shard chain blocks](#shard-chain-blocks) - - [Shard block processing](#shard-block-processing) + - [Shard block processing](#shard-block-processing) - [Verifying shard block data](#verifying-shard-block-data) - [Verifying a crosslink](#verifying-a-crosslink) - [Shard block fork choice rule](#shard-block-fork-choice-rule) -- [Updates to the beacon chain](#updates-to-the-beacon-chain) - - [Data structures](#data-structures) + - [Updates to the beacon chain](#updates-to-the-beacon-chain) + - [Data structures](#data-structures) - [`Validator`](#validator) - [`BeaconBlockBody`](#beaconblockbody) - [`BranchChallenge`](#branchchallenge) - [`BranchResponse`](#branchresponse) - [`BranchChallengeRecord`](#branchchallengerecord) - [`SubkeyReveal`](#subkeyreveal) - - [Helpers](#helpers) + - [Helpers](#helpers) - [`get_attestation_merkle_depth`](#get_attestation_merkle_depth) - [`epoch_to_custody_period`](#epoch_to_custody_period) - [`slot_to_custody_period`](#slot_to_custody_period) @@ -42,13 +45,13 @@ - [`verify_custody_subkey_reveal`](#verify_custody_subkey_reveal) - [`prepare_validator_for_withdrawal`](#prepare_validator_for_withdrawal) - [`penalize_validator`](#penalize_validator) - - [Per-slot processing](#per-slot-processing) + - [Per-slot processing](#per-slot-processing) - [Operations](#operations) - [Branch challenges](#branch-challenges) - [Branch responses](#branch-responses) - [Subkey reveals](#subkey-reveals) - - [Per-epoch processing](#per-epoch-processing) - - [One-time phase 1 initiation transition](#one-time-phase-1-initiation-transition) + - [Per-epoch processing](#per-epoch-processing) + - [One-time phase 1 initiation transition](#one-time-phase-1-initiation-transition) @@ -98,6 +101,8 @@ Phase 1 depends upon all of the constants defined in [Phase 0](0_beacon-chain.md | `DOMAIN_SHARD_ATTESTER`| 130 | | `DOMAIN_CUSTODY_SUBKEY`| 131 | +# Shard chains and crosslink data + ## Helper functions #### `get_split_offset` From 05f6f68028d760ced717832dd2863a6748086863 Mon Sep 17 00:00:00 2001 From: vbuterin Date: Mon, 25 Feb 2019 16:45:57 -0600 Subject: [PATCH 2/3] Made developer notice less committal --- specs/core/1_shard-data-chains.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/core/1_shard-data-chains.md b/specs/core/1_shard-data-chains.md index b68545c39..6d292b421 100644 --- a/specs/core/1_shard-data-chains.md +++ b/specs/core/1_shard-data-chains.md @@ -2,7 +2,7 @@ **NOTICE**: This document is a work-in-progress for researchers and implementers. It reflects recent spec changes and takes precedence over the [Python proof-of-concept implementation](https://github.com/ethereum/beacon_chain). -At the current stage, development teams are encouraged to treat the "Shard chains and crosslink data" section as reasonably close to the expected final form and worth starting development if they have spare resources, but the "Updates to the beacon chain" section, while fundamentally feature-complete, is still expected to undergo very considerable revision and review. +At the current stage, Phase 1 is, while fundamentally feature-complete, is still subject to change. Development teams with spare resources may consider starting on the "Shard chains and crosslink data" section; at least basic properties, such as the fact that a shard block can get created every slot and is dependent on both a parent block in the same shard and a beacon chain block at or before that same slot, are unlikely to change, though details are likely to undergo similar kinds of changes to what Phase 0 has undergone since the start of the year. ## Table of contents From e9c3af54288b3ce0b4ad3975c66ed43d5de08cb5 Mon Sep 17 00:00:00 2001 From: vbuterin Date: Tue, 26 Feb 2019 18:00:20 -0600 Subject: [PATCH 3/3] Update 1_shard-data-chains.md --- specs/core/1_shard-data-chains.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specs/core/1_shard-data-chains.md b/specs/core/1_shard-data-chains.md index 6d292b421..1cd5d89de 100644 --- a/specs/core/1_shard-data-chains.md +++ b/specs/core/1_shard-data-chains.md @@ -2,7 +2,7 @@ **NOTICE**: This document is a work-in-progress for researchers and implementers. It reflects recent spec changes and takes precedence over the [Python proof-of-concept implementation](https://github.com/ethereum/beacon_chain). -At the current stage, Phase 1 is, while fundamentally feature-complete, is still subject to change. Development teams with spare resources may consider starting on the "Shard chains and crosslink data" section; at least basic properties, such as the fact that a shard block can get created every slot and is dependent on both a parent block in the same shard and a beacon chain block at or before that same slot, are unlikely to change, though details are likely to undergo similar kinds of changes to what Phase 0 has undergone since the start of the year. +At the current stage, Phase 1, while fundamentally feature-complete, is still subject to change. Development teams with spare resources may consider starting on the "Shard chains and crosslink data" section; at least basic properties, such as the fact that a shard block can get created every slot and is dependent on both a parent block in the same shard and a beacon chain block at or before that same slot, are unlikely to change, though details are likely to undergo similar kinds of changes to what Phase 0 has undergone since the start of the year. ## Table of contents