nimbus-eth2/beacon_chain/spec
Jacek Sieka 867d8f3223
Perform attestation check before broadcast (#2550)
Currently, we have a bit of a convoluted flow where when sending
attestations, we start broadcasting them over gossip then pass them to
the attestation validation to include them in the local attestation pool
- it should be the other way around: we should be checking attestations
_before_ gossipping them - this serves as an additional safety net to
ensure that we don't publish junk - this becomes more important when
publishing attestations from the API.

Also, the REST API was performing its own validation meaning
attestations coming from REST would be validated twice - finally, the
JSON RPC wasn't pre-validating and would happily broadcast invalid
attestations.

* Unified attestation production pipeline with the same flow for gossip,
locally and API-produced attestations: all are now validated and entered
into the pool, then broadcast/republished
* Refactor subnet handling with specific SubnetId alias, streamlining
where subnets are computed, avoiding the need to pass around the number
of active validators
* Move some of the subnet handling code to eth2_network
* Use BitArray throughout for subnet handling
2021-05-10 09:13:36 +02:00
..
datatypes Perform attestation check before broadcast (#2550) 2021-05-10 09:13:36 +02:00
eth2_apis Fixing issues after bump. 2021-04-09 21:42:13 +03:00
presets update some v1.1.0 alpha1 to alpha2 (#2457) 2021-03-29 19:17:48 +00:00
beaconstate.nim rename initialize_beacon_state to initialize_beacon_state_from_eth1 (#2536) 2021-05-04 12:19:11 +02:00
crypto.nim remove attestation/aggregate queue (#2519) 2021-04-26 22:39:44 +02:00
datatypes.nim allow multiple hard fork datatypes to coexist (#2328) 2021-03-02 10:13:39 +00:00
digest.nim json cleanups (#2456) 2021-03-26 15:11:06 +01:00
english_word_list.txt Bump testutils 2020-06-01 16:58:28 +03:00
helpers.nim add Altair domains and participation flags; clean up imports (#2462) 2021-04-04 16:24:45 +00:00
keystore.nim remove attestation/aggregate queue (#2519) 2021-04-26 22:39:44 +02:00
network.nim Perform attestation check before broadcast (#2550) 2021-05-10 09:13:36 +02:00
preset_values.nim add Altair domains and participation flags; clean up imports (#2462) 2021-04-04 16:24:45 +00:00
presets.nim add Altair domains and participation flags; clean up imports (#2462) 2021-04-04 16:24:45 +00:00
signatures.nim remove attestation/aggregate queue (#2519) 2021-04-26 22:39:44 +02:00
signatures_batch.nim remove attestation/aggregate queue (#2519) 2021-04-26 22:39:44 +02:00
state_transition.nim add attestation stats tool to ncli_db (#2539) 2021-05-07 13:36:21 +02:00
state_transition_block.nim avoid extraneous hash root calculation (#2537) 2021-05-05 08:54:21 +02:00
state_transition_epoch.nim add attestation stats tool to ncli_db (#2539) 2021-05-07 13:36:21 +02:00
validator.nim bump nim-eth2-scenarios to get merge SSZ test vectors (#2541) 2021-05-05 15:35:36 +00:00
weak_subjectivity.nim bump spec refs from v1.0.0 to v1.0.1 and update copyright years (#2357) 2021-02-25 13:37:22 +00:00