nimbus-eth2/beacon_chain
Jacek Sieka 6b60a774e0
Lazy aggregated batch verification (#3212)
A novel optimisation for attestation and sync committee message
validation: when batching, we look for signatures of the same message
and aggregate these before batch-validating: this results in up to 60%
fewer signature verifications on a busy server, leading to a significant
reduction in CPU usage.

* increase batch size slightly which helps finding more aggregates
* add metrics for batch verification efficiency
* use simple `blsVerify` when there is only one signature to verify in
the batch, avoiding the RNG
2021-12-29 15:28:40 +01:00
..
consensus_object_pools use BeaconTime instead of Slot in fork choice (#3138) 2021-12-21 18:56:08 +00:00
eth1 Restore the build support of the -d:has_genesis_detection feature 2021-12-23 16:58:54 +02:00
fork_choice use BeaconTime instead of Slot in fork choice (#3138) 2021-12-21 18:56:08 +00:00
gossip_processing Lazy aggregated batch verification (#3212) 2021-12-29 15:28:40 +01:00
networking Bump libp2p (#3207) 2021-12-17 12:39:24 +01:00
rpc Validator monitoring (#2925) 2021-12-20 20:20:31 +01:00
spec Lazy aggregated batch verification (#3212) 2021-12-29 15:28:40 +01:00
sync fix type-conversions-to-self, unexport from nimbus_beacon_node, and rm unused vars/procs (#3211) 2021-12-20 12:21:17 +01:00
validator_client use BeaconTime instead of Slot in fork choice (#3138) 2021-12-21 18:56:08 +00:00
validators Validator monitoring (#2925) 2021-12-20 20:20:31 +01:00
.editorconfig Add .editorconfig file and remove trailing newlines 2021-09-14 12:12:49 +03:00
.gitignore Rename binaries; Mimic the original repo layout in the distribution 2020-11-09 11:38:52 +02:00
beacon_chain_db.nim Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
beacon_chain_db_immutable.nim v1.1.{5 -> 6} phase 0 and altair spec URL updates (#3157) 2021-12-03 17:40:23 +00:00
beacon_clock.nim use BeaconTime instead of Slot in fork choice (#3138) 2021-12-21 18:56:08 +00:00
beacon_node.nim Merge fork gossip support (#3213) 2021-12-21 15:24:23 +01:00
beacon_node_status.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
conf.nim Validator monitoring (#2925) 2021-12-20 20:20:31 +01:00
extras.nim use ForkedHashedBeaconState in StateData (#2634) 2021-06-11 20:51:46 +03:00
filepath.nim EH cleanup (#2455) 2021-03-26 07:52:01 +01:00
interop.nim bump `nim-stint` (#2969) 2021-10-14 14:13:51 +03:00
nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_beacon_node.nim Restore the build support of the -d:has_genesis_detection feature 2021-12-23 16:58:54 +02:00
nimbus_beacon_node.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_binary_common.nim Reduce the logging-related breaking changes (#3070) 2021-11-10 11:02:18 +02:00
nimbus_signing_node.nim batch-verify sync messages for a small perf boost (#3151) 2021-12-09 14:56:54 +02:00
nimbus_signing_node.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
nimbus_validator_client.nim Merge fork gossip support (#3213) 2021-12-21 15:24:23 +01:00
nimbus_validator_client.nim.cfg Revert writing backfill root to database (#3215) 2021-12-21 11:40:14 +01:00
sszdump.nim ncli_db: add putState, putBlock (#3096) 2021-11-18 13:02:43 +01:00
statediff.nim Keep cooked pubkeys in cache (#3122) 2021-11-25 19:41:54 +01:00
statusbar.nim switch result = foo to expression return; unexport rest of logtrace symbols (#2788) 2021-08-17 09:51:39 +00:00
version.nim Version 1.5.5 2021-12-03 20:04:38 +02:00