Skip to content

eth2 and chill

Pre-release
Pre-release
Compare
Choose a tag to compare
@djrtwo djrtwo released this 11 Jun 23:14
· 6977 commits to master since this release
54c6b03

Release

v0.7.0 marks an iterative semi-major release prior to the end-of-june phase 0 spec freeze ❄️ . The focus here is continued clean-up and simplification of phase 0 along with some testing, network, and ssz updates.

The spec implementation of SSZ had a major overhaul to support cleaner and more intuitive typing (thanks @protolambda!).

Phase 1 is now executable and a general framework exists for writing tests across phases (thanks @CarlBeek!).

Progress is being made on the phase 0 networking and RPC specs. This has been majorly a community effort. Thank you for the great work from many sources :)

Lastly, the deposit contract is now back in the specs repo to better handle PR dependencies (thanks @hwwhww!).

Changelog

PR showing full diff can be found here: #1163

Phase 0

Beacon chain

  • features
    • Crosslink explicitly in AttestationData (#1044)
    • explicitly include state_transition() and other helper functions (#1018)
    • Crosslink stores start_epoch and end_epoch to enable phase 1 calculations (#1097)
  • simplifications
    • cleanup int_to_bytes to be generic (#1060)
    • verify_indexed_attestation -> validate_indexed_attestation (#1028)
    • remove get_state_root from beacon chain doc (#1015)
    • remove index from Deposit (#1122)
  • bugs
    • fix deposit domain (#1055)
    • avoid divisions by zero (#1123)
    • minor bugs related to ordering/typos/var-mismatch/etc (#1051)
  • misc

Fork choice

  • explicit note on how to compute fork choice near genesis (#1023)
  • minor formatting/types/etc PRs (#998)

Validator

Networking

  • use ssz union-type in RPC request/response (#974)
  • add initial libp2p standardization (#935)
  • minor formatting/types/etc PRs ()

Deposit contract

  • move deposit contract back to spec repo (#1127)
  • minor formatting/types/etc PRs (#1075, #1154)

Simple Serialize

  • clarity on merklization of a single chunk (#1058)
  • Fix union type example (#1073)
  • rewrite of SSZ to support more native typing (#1077)
  • misc (#1056, #1138, #1144)

BLS

  • insert bls spec warning into doc (#1103)
  • Warning: Bug exists in BLS hash to G2 in the current spec. The hash and increment approach will likely be deprecated after standardization so the bug is to be untouched for now

Significant changes still expected as we standardize BLS12-381 across blockchains

Phase 1 spec (warning: not stable)

  • minor changes to custody game (#866)
  • RANDAO reveal slashing, custody period staggering (#880)
  • allow multiple bit challenges and recovert withdrawability (#1035)
  • get_custody_chunk_count uses start_ and end_epoch (#1099)
  • clean up process_penalties_and_exits (#1116)
  • minor formatting/types/etc PRs (#1076, #1120)

Light client spec (warning: not stable)

  • no changes

Testing/CI

  • add linter (#1065, #1081)
  • make phase 1 executable and allow for testing across multiple phases (#1061)
  • specify phase when running generators from tests (#1165)
  • misc (#1132, #1134)