mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-29 20:27:14 +00:00
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)
This commit is contained in:
@@ -22,6 +22,11 @@ lazy_static! {
|
||||
"slasher_num_attestations_valid",
|
||||
"Number of valid attestations per batch"
|
||||
);
|
||||
pub static ref SLASHER_NUM_ATTESTATIONS_STORED_PER_BATCH: Result<IntGauge> =
|
||||
try_create_int_gauge(
|
||||
"slasher_num_attestations_stored_per_batch",
|
||||
"Number of attestations stored per batch"
|
||||
);
|
||||
pub static ref SLASHER_NUM_BLOCKS_PROCESSED: Result<IntGauge> = try_create_int_gauge(
|
||||
"slasher_num_blocks_processed",
|
||||
"Number of blocks processed per batch",
|
||||
|
||||
Reference in New Issue
Block a user