lighthouse/common
Michael Sproul 5828ff1204 Implement slasher (#1567)
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
2020-11-23 03:43:22 +00:00
..
account_utils Added fn to count unicode characters (#1903) 2020-11-16 09:30:34 +00:00
clap_utils Update to spec v1.0.0-rc.0 and BLSv4 (#1765) 2020-10-28 22:19:38 +00:00
compare_fields Check for unused deps in CI (#1262) 2020-06-14 10:59:50 +10:00
compare_fields_derive Update external deps (#1711) 2020-10-05 08:22:19 +00:00
deposit_contract Update external deps (#1711) 2020-10-05 08:22:19 +00:00
directory Implement slasher (#1567) 2020-11-23 03:43:22 +00:00
eth2 Improve UX whilst VC is waiting for genesis (#1915) 2020-11-23 01:00:22 +00:00
eth2_config Add Pyrmont testnet (#1904) 2020-11-16 05:11:35 +00:00
eth2_interop_keypairs Update external deps (#1711) 2020-10-05 08:22:19 +00:00
eth2_testnet_config Add lighthouse bootnodes (#1929) 2020-11-18 07:07:45 +00:00
eth2_wallet_manager Reject invalid utf-8 characters during encryption (#1928) 2020-11-19 00:37:43 +00:00
hashset_delay Add UPnP support for Lighthouse (#1587) 2020-10-03 10:07:47 +10:00
lighthouse_metrics Implement slasher (#1567) 2020-11-23 03:43:22 +00:00
lighthouse_version Bump to v0.3.5 (#1927) 2020-11-18 00:44:28 +00:00
logging Update external deps (#1711) 2020-10-05 08:22:19 +00:00
lru_cache Keep track of failed head chains and prevent re-lookups (#1534) 2020-08-18 03:54:09 +00:00
remote_signer_consumer [Remote signer] Add signer consumer lib (#1763) 2020-11-19 04:04:52 +00:00
rest_types Add UPnP support for Lighthouse (#1587) 2020-10-03 10:07:47 +10:00
slot_clock Implement standard eth2.0 API (#1569) 2020-10-01 11:12:36 +10:00
task_executor Update to spec v1.0.0-rc.0 and BLSv4 (#1765) 2020-10-28 22:19:38 +00:00
test_random_derive Update external deps (#1711) 2020-10-05 08:22:19 +00:00
validator_dir Reject invalid utf-8 characters during encryption (#1928) 2020-11-19 00:37:43 +00:00
warp_utils Standard beacon api updates (#1831) 2020-11-09 23:13:56 +00:00
README.md Directory Restructure (#1163) 2020-05-18 21:24:23 +10:00

eth2

Common crates containing eth2-specific logic.