## Issue Addressed
Closes https://github.com/sigp/lighthouse/issues/2112
Closes https://github.com/sigp/lighthouse/issues/1861
## Proposed Changes
Collect attestations by validator index in the slasher, and use the magic of reference counting to automatically discard redundant attestations. This results in us storing only 1-2% of the attestations observed when subscribed to all subnets, which carries over to a 50-100x reduction in data stored 🎉
## Additional Info
There's some nuance to the configuration of the `slot-offset`. It has a profound effect on the effictiveness of de-duplication, see the docs added to the book for an explanation:
|
||
|---|---|---|
| .. | ||
| array.rs | ||
| attestation_queue.rs | ||
| attester_record.rs | ||
| batch_stats.rs | ||
| block_queue.rs | ||
| config.rs | ||
| database.rs | ||
| error.rs | ||
| lib.rs | ||
| metrics.rs | ||
| migrate.rs | ||
| slasher.rs | ||
| test_utils.rs | ||
| utils.rs | ||