lighthouse/beacon_node
Michael Sproul df02639b71 De-duplicate attestations in the slasher (#2767)
## 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: 5442e695e5/book/src/slasher.md (slot-offset)
2021-11-08 00:01:09 +00:00
..
beacon_chain Ensure dependent root consistency in head events (#2753) 2021-11-02 02:26:32 +00:00
client Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
eth1 Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
genesis Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
http_api Peer manager cfg (#2766) 2021-11-03 23:44:44 +00:00
http_metrics Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00
lighthouse_network Peer manager cfg (#2766) 2021-11-03 23:44:44 +00:00
network Do not compute metrics in the network service if the cli flag is not set (#2765) 2021-11-03 00:06:03 +00:00
operation_pool Add op pool metrics for attestations (#2758) 2021-11-01 05:52:31 +00:00
src De-duplicate attestations in the slasher (#2767) 2021-11-08 00:01:09 +00:00
store Add API version headers and map_fork_name! (#2745) 2021-10-28 01:18:04 +00:00
tests Altair consensus changes and refactors (#2279) 2021-07-09 06:15:32 +00:00
timer Remove unused deps (#2592) 2021-09-30 04:31:42 +00:00
websocket_server Server sent events (#1920) 2020-12-04 00:18:58 +00:00
Cargo.toml Rename eth2_libp2p to lighthouse_network (#2702) 2021-10-19 00:30:39 +00:00