Skip to content

Commit

Permalink
Merge pull request #2452 from Nashatyrev/fix/no-committee-for-shard-case
Browse files Browse the repository at this point in the history
[Sharding] Handle the case when committee count < active shards
  • Loading branch information
protolambda authored Jun 4, 2021
2 parents f679a0a + 0ae9a85 commit 44f6453
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions specs/sharding/p2p-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ The following validations MUST pass before forwarding the `signed_blob` (with in
(a client MAY queue future blobs for processing at the appropriate slot).
- _[IGNORE]_ The `blob` is new enough to be still be processed --
i.e. validate that `compute_epoch_at_slot(blob.slot) >= get_previous_epoch(state)`
- _[REJECT]_ The shard should have a committee at slot --
i.e. validate that `compute_committee_index_from_shard(state, blob.slot, blob.shard)` doesn't raise an error
- _[REJECT]_ The shard blob is for the correct subnet --
i.e. `compute_subnet_for_shard_blob(state, blob.slot, blob.shard) == subnet_id`
- _[IGNORE]_ The blob is the first blob with valid signature received for the `(blob.proposer_index, blob.slot, blob.shard)` combination.
Expand Down Expand Up @@ -152,6 +154,8 @@ The following validations MUST pass before forwarding the `signed_shard_blob_hea
- _[IGNORE]_ The `header` is new enough to be still be processed --
i.e. validate that `compute_epoch_at_slot(header.slot) >= get_previous_epoch(state)`
- _[IGNORE]_ The header is the first header with valid signature received for the `(header.proposer_index, header.slot, header.shard)` combination.
- _[REJECT]_ The shard should have a committee at slot --
i.e. validate that `compute_committee_index_from_shard(state, header.slot, header.shard)` doesn't raise an error
- _[REJECT]_ The proposer signature, `signed_shard_blob_header.signature`, is valid with respect to the `proposer_index` pubkey.
- _[REJECT]_ The header is proposed by the expected `proposer_index` for the block's slot
in the context of the current shuffling (defined by `header.body_summary.beacon_block_root`/`slot`).
Expand Down

0 comments on commit 44f6453

Please sign in to comment.