Directed Chatter
Release
As we near re-freezing the Phase 0 specification, this PR tightens things up a bit. Other than generally cleaning up and adding clarifications, the meat of this release lies in #1476 and #1477.
#1476 provides explicit instructions to validators on which attestation subnets to join and when. The concept of RANDOM_SUBNETS_PER_VALIDATOR
was introduced to provide subnet stability during Phase 0 before this is more naturally provided by shard duty assignments in subsequent phases.
#1477 does an additional round of hardening of the fork choice. The fork choice now requires that the attestation
target is known as well as the attestation
beacon block. The PR also prevents attestations from voting on blocks from future slots (thanks @paulhauner and @nrryuya for discussions regarding this scenario).
Changelog
PR showing full diff can be found here: #1488
Phase 0
Beacon chain
- remove
Hash
alias and addRoot
alias forBytes32
(#1478) - minor refactor to some vars and functions in aggregation strategy to meet repo standards (#1484)
- reduce minimum genesis validator count in mainnet config (#1467)
Fork choice
- harden fork choice to a few scenarios (#1477)
Validator
- provide explicit directives to validators on which attestation topics to join and when (#1476)
Networking
Some minor changes due to the above PRs (naming, etc)
Deposit contract
Stable
Simple Serialize
Stable
BLS
Warning: Bug exists in BLS hash to G2 in the current spec. The hash and increment approach will be deprecated after standardization so the bug is to be untouched for now_
Significant changes still expected as we standardize BLS12-381 across blockchains. The proposed standard has moved forward in the IETF process and is deemed stable. A PR updating to this version of the BLS spec is under review in #1398.
Phase 1 spec (warning: not stable)
The Phase 1 spec is currently being redesigned in accordance with the new sharding proposal. Because of this redesign, the spec is highly in flux and not currently executable, thus the Phase 1 tests are currently disabled in CI.
Light client spec (warning: not stable)
Light client sync spec is under redesign in the context of the phase 1 redesign. The current light client spec can be used for general educational purposes to understand the approach we are considering, but will see heavy redesign after phase 1 stabilizes.