Solia saysEach slot, 1/32 of validators attest to the head and the FFG checkpoints; BLS aggregation collapses millions of signatures into a handful of bytes per epoch.
Every active validator attests once per epoch. The set is split into 32 slot committees — one per slot — and within each slot further into up to 64 sub-committees that aggregate in parallel. Each attestation carries three claims: a head vote (LMD-GHOST), an FFG source checkpoint, and an FFG target.
Without aggregation, a million validators each emitting a 96-byte BLS signature per epoch would be ~100 MB. BLS signature aggregation collapses that to one signature per committee per slot — kilobytes. The demo computes the committee math and the aggregation savings for a 1M-validator set.
Power-ups you unlock
Every active validator attests once per epoch
1/32 attest per slot → 64 sub-committees parallelize aggregation
Each attestation: head vote + FFG source + FFG target
BLS aggregation collapses millions of sigs to KB per epoch
Late or missing attestations cost the validator small rewards
The Reentrancy Reaper attacks — common mistakes
Confusing slot committees with sync committees
Assuming attestations need to be unique per validator on the wire (aggregation hides them)
Ignoring inclusion delay — late attestations earn less
Treating attestations as votes only for the head (they also vote FFG)
Boss battleGiven 1M validators and 32 slots/epoch, compute per-slot attesters, per-committee size, and the aggregation byte savings.