diff --git a/specs/_features/eip7251/validator.md b/specs/_features/eip7251/validator.md deleted file mode 100644 index efa519f77..000000000 --- a/specs/_features/eip7251/validator.md +++ /dev/null @@ -1,40 +0,0 @@ -# Phase 0 -- Honest Validator - -This is an accompanying document to [Phase 0 -- The Beacon Chain](./beacon-chain.md), which describes the expected actions of a "validator" participating in the Ethereum proof-of-stake protocol. - -## Table of contents - - - - - -- [Introduction](#introduction) -- [Beacon chain responsibilities](#beacon-chain-responsibilities) - - [Attestation aggregation](#attestation-aggregation) - - [Aggregation selection](#aggregation-selection) - - - - -## Introduction - -This document represents the changes to be made in the code of an "honest validator" to implement Deneb. - -## Beacon chain responsibilities - -### Attestation aggregation - -#### Aggregation selection - -Aggregator selection is now balance based. `state` is the `BeaconState` at the previous epoch of `slot` to allow lookahead. - -```python -def is_aggregator(state: BeaconState, slot: Slot, index: CommitteeIndex, - slot_signature: BLSSignature, validator: ValidatorIndex) -> bool: - committee = get_beacon_committee(state, slot, index) - committee_balance = get_total_balance(state, set(committee)) - balance = state.balances[validator] - modulo = max(1, committee_balance // balance // TARGET_AGGREGATORS_PER_COMMITTEE) - return bytes_to_uint64(hash(slot_signature)[0:8]) % modulo == 0 -``` -