5828ff1204
This is an implementation of a slasher that lives inside the BN and can be enabled via `lighthouse bn --slasher`. Features included in this PR: - [x] Detection of attester slashing conditions (double votes, surrounds existing, surrounded by existing) - [x] Integration into Lighthouse's attestation verification flow - [x] Detection of proposer slashing conditions - [x] Extraction of attestations from blocks as they are verified - [x] Compression of chunks - [x] Configurable history length - [x] Pruning of old attestations and blocks - [x] More tests Future work: * Focus on a slice of history separate from the most recent N epochs (e.g. epochs `current - K` to `current - M`) * Run out-of-process * Ingest attestations from the chain without a resync Design notes are here https://hackmd.io/@sproul/HJSEklmPL |
||
---|---|---|
.. | ||
attestation_verification.rs | ||
beacon_chain.rs | ||
beacon_fork_choice_store.rs | ||
beacon_snapshot.rs | ||
block_verification.rs | ||
builder.rs | ||
chain_config.rs | ||
errors.rs | ||
eth1_chain.rs | ||
events.rs | ||
head_tracker.rs | ||
lib.rs | ||
metrics.rs | ||
migrate.rs | ||
naive_aggregation_pool.rs | ||
observed_attestations.rs | ||
observed_attesters.rs | ||
observed_block_producers.rs | ||
observed_operations.rs | ||
persisted_beacon_chain.rs | ||
persisted_fork_choice.rs | ||
shuffling_cache.rs | ||
snapshot_cache.rs | ||
test_utils.rs | ||
timeout_rw_lock.rs | ||
validator_pubkey_cache.rs |