diff --git a/configs/mainnet/altair.yaml b/configs/mainnet/altair.yaml index 6fbd4d4c8..2a2552da4 100644 --- a/configs/mainnet/altair.yaml +++ b/configs/mainnet/altair.yaml @@ -40,7 +40,7 @@ DOMAIN_CONTRIBUTION_AND_PROOF: 0x09000000 # 0x01000000 ALTAIR_FORK_VERSION: 0x01000000 # TBD -ALTAIR_FORK_SLOT: 0 +ALTAIR_FORK_SLOT: 18446744073709551615 # Sync protocol diff --git a/configs/minimal/altair.yaml b/configs/minimal/altair.yaml index 9aab21a2e..b852e13c0 100644 --- a/configs/minimal/altair.yaml +++ b/configs/minimal/altair.yaml @@ -40,7 +40,7 @@ DOMAIN_CONTRIBUTION_AND_PROOF: 0x09000000 # [customized] Highest byte set to 0x01 to avoid collisions with mainnet versioning ALTAIR_FORK_VERSION: 0x01000001 # [customized] -ALTAIR_FORK_SLOT: 0 +ALTAIR_FORK_SLOT: 18446744073709551615 # Sync protocol diff --git a/specs/altair/fork.md b/specs/altair/fork.md index df85f7c3c..b51466c1e 100644 --- a/specs/altair/fork.md +++ b/specs/altair/fork.md @@ -26,7 +26,7 @@ Warning: this configuration is not definitive. | Name | Value | | - | - | | `ALTAIR_FORK_VERSION` | `Version('0x01000000')` | -| `ALTAIR_FORK_SLOT` | `Slot(0)` **TBD** | +| `ALTAIR_FORK_SLOT` | `Slot(18446744073709551615)` **TBD** | ## Fork to Altair diff --git a/specs/altair/p2p-interface.md b/specs/altair/p2p-interface.md index 0d5af0a71..6d400c0a2 100644 --- a/specs/altair/p2p-interface.md +++ b/specs/altair/p2p-interface.md @@ -89,10 +89,10 @@ The following validations MUST pass before forwarding the `signed_contribution_a - _[IGNORE]_ The block being signed over (`contribution.beacon_block_root`) has been seen (via both gossip and non-gossip sources). - _[REJECT]_ The subcommittee index is in the allowed range, i.e. `contribution.subcommittee_index < SYNC_COMMITTEE_SUBNET_COUNT`. - _[IGNORE]_ The sync committee contribution is the first valid contribution received for the aggregator with index `contribution_and_proof.aggregator_index` for the slot `contribution.slot`. -- _[REJECT]_ The aggregator's validator index is within the current sync committee -- - i.e. `state.validators[aggregate_and_proof.aggregator_index].pubkey in state.current_sync_committee.pubkeys`. -- _[REJECT]_ The `contribution_and_proof.selection_proof` is a valid signature of the `contribution.slot` by the validator with index `contribution_and_proof.aggregator_index`. - _[REJECT]_ `contribution_and_proof.selection_proof` selects the validator as an aggregator for the slot -- i.e. `is_sync_committee_aggregator(state, contribution.slot, contribution_and_proof.selection_proof)` returns `True`. +- _[REJECT]_ The aggregator's validator index is within the current sync committee -- + i.e. `state.validators[contribution_and_proof.aggregator_index].pubkey in state.current_sync_committee.pubkeys`. +- _[REJECT]_ The `contribution_and_proof.selection_proof` is a valid signature of the `contribution.slot` by the validator with index `contribution_and_proof.aggregator_index`. - _[REJECT]_ The aggregator signature, `signed_contribution_and_proof.signature`, is valid. - _[REJECT]_ The aggregate signature is valid for the message `beacon_block_root` and aggregate pubkey derived from the participation info in `aggregation_bits` for the subcommittee specified by the `subcommittee_index`.