Attestation

An overview of attestations

Attestation

Every Epoch (~6.4 minutes) a validator proposes an attestation (vote) to the network. This vote consists of the following segments:

  • 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.

Aggregated Attestation

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.

Attestation Inclusion Lifecycle

  1. Generation

  2. Propagation

  3. Aggregation

  4. Propagation

  5. Inclusion

Rewards

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.

Base reward

(Validator effective balance * 2**6) / SQRT(Effective balance of all active validators)

Inclusion delay

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.

The effects of the inclusion delay on the attestation reward

As shown below, an Inclusion delay of 2 causes the the reward to drop by 50%.

Attestation scenarios

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.

Missing Aggregator

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.

Missing block proposer

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)

Last updated