nimbus-eth2/beacon_chain/validators
Jacek Sieka abe0d7b4ae singe validator key cache
Instead of keeping a validator key list per EpochRef, this PR introduces
a single shared validator key list in ChainDAG, and cleans up some other
ChainDAG and key-related issues.

The PR does not introduce the validator key list in the state transition
- this is because we batch-check all signatures before entering the spec
code, thus the spec code never hits the cache.

A future refactor should _probably_ remove the threadvar altogether.

There's a few other small fixes in here that make the flow easier to
read:

* fix `var ChainDAGRef` -> `ChainDAGRef`
* fix `var QuarantineRef` -> `QuarantineRef`
* consistent `dag` variable name
* avoid using threadvar pubkey cache in most cases
* better error messages in batch signature checking
2021-06-01 20:43:44 +03:00
..
README.md Consolidate modules by areas [part 1] (#2365) 2021-03-02 11:27:45 +01:00
attestation_aggregation.nim Revamp attestation pool 2021-04-13 20:24:02 +03:00
keystore_management.nim singe validator key cache 2021-06-01 20:43:44 +03:00
slashing_protection.nim Merge stable into unstable (take 2) 2021-05-20 13:52:09 +03:00
slashing_protection_common.nim singe validator key cache 2021-06-01 20:43:44 +03:00
slashing_protection_v1.nim Merge stable into unstable 2021-05-20 13:50:40 +03:00
slashing_protection_v2.nim ncli_db: validator performance database tool 2021-05-27 19:14:26 +03:00
validator_duties.nim singe validator key cache 2021-06-01 20:43:44 +03:00
validator_pool.nim singe validator key cache 2021-06-01 20:43:44 +03:00

README.md

Validators

This folder holds all modules related to a Beacon Chain Validator besides the binaries they interact directly with (nimbus_validator_cliant and nimbus_signing_process):

  • Validator keystore
  • Validator slashing protection
  • Validator duties
  • Validator pool