diff --git a/specs/phase0/p2p-interface.md b/specs/phase0/p2p-interface.md index 9979cbb14..c60ba560c 100644 --- a/specs/phase0/p2p-interface.md +++ b/specs/phase0/p2p-interface.md @@ -276,10 +276,9 @@ Attestation subnets are used to propagate unaggregated attestations to subsectio - `committee_index{subnet_id}_beacon_attestation` - These topics are used to propagate unaggregated attestations to the subnet `subnet_id` (typically beacon and persistent committees) to be aggregated before being gossiped to `beacon_aggregate_and_proof`. The following validations MUST pass before forwarding the `attestation` on the subnet. - The attestation's committee index (`attestation.data.index`) is for the correct subnet. - - The attestation is the first attestation received for the participating validator for the slot, `attestation.data.slot` - `attestation.data.slot` is within the last `ATTESTATION_PROPAGATION_SLOT_RANGE` slots (within a `MAXIMUM_GOSSIP_CLOCK_DISPARITY` allowance) -- i.e. `attestation.data.slot + ATTESTATION_PROPAGATION_SLOT_RANGE >= current_slot >= attestation.data.slot`. - The attestation is unaggregated -- that is, it has exactly one participating validator (`len([bit for bit in attestation.aggregation_bits if bit == 0b1]) == 1`). - - This is the first attestation for the participating validator at this slot. + - The attestation is the first attestation received for the participating validator for the slot, `attestation.data.slot`. - The block being voted for (`attestation.data.beacon_block_root`) passes validation. - The signature of `attestation` is valid.