fix up some p2p validation conditions based on PR feedback
This commit is contained in:
parent
fd633d2467
commit
5ee1f9b545
|
@ -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.
|
- `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'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`.
|
- `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`).
|
- 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 block being voted for (`attestation.data.beacon_block_root`) passes validation.
|
||||||
- The signature of `attestation` is valid.
|
- The signature of `attestation` is valid.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue