description |
---|
An overview of attestations |
Every Epoch (~6.4 minutes) a validator proposes an attestation (vote) to the network.
This vote consists of the following segments:
- Committee
- Validator Index
- Finality vote
- Signature
- Chain head vote (vote on what the validator believes is the head of the chain)
If we multiply that with the information included in each Attestation per Epoch, it adds up quickly. Therefore, the consensus layer aggregates all of that information and minimises the data growth.\
Each block one or more committees are chosen to attest. A committee has a minimum of 128 validators, of which 16 are randomly selected to become an aggregator.
As shown below, the validators broadcast their unaggregated attestation to the aggregators (red arrow). The aggregators then merge the attestations and forward a single aggregated attestation to the block proposer.
- Generation
- Propagation
- Aggregation
- Propagation
- Inclusion
The attestation reward is dependent on two variables, the base reward and the inclusion delay.
The best case for the inclusion delay is to be 1.
(Validator effective balance * 2**6) / SQRT(Effective balance of all active validators)
At the time when the validators voted on the head of the chain (Block 0), Block 1
was not proposed yet.
Therefore attestations naturally get included one block later; so all attestations who voted on Block 0
being the chain head got included in Block 1
and, the inclusion delay is 1.
As shown below, an Inclusion delay of 2 causes the the reward to drop by 50%.
Missing Voting Validator
These validators have a maximum of 1 epoch to submit their attestation. If the attestation was missed in epoch 0, they can submit it with an inclusion delay in epoch 1.
There are 16 Aggregators per epoch in total, additionally, random validators from the beacon-chain subscribe to two subnets for 256 Epochs and serve as a backup in case aggregators are missing.
Note that in some cases a lucky aggregator may also become the block proposer. If the attestation was not included because the block proposer has gone missing, the next block proposer would pick the aggregated attestation up and include it into the next block. However, the inclusion delay will increase by one.\
Credits
Attestation effectiveness - AttestantIO
Attestation Inclusion - Adrian Sutton (Consensys)\