Ethereum 2.0 Specifications Released (Version 0.12)

Ethereum 2.0 Specifications

Final specifications of supposedly Ethereum 2.0 Phase 0 were released today. These will used in Phase 0 mainnet release unless critical security issues are found.

Ethereum 2.0 Specifications V0.12

Beacon Chain

Adjust INACTIVITY_PENALTY_QUOTIENT to accurately reflect intention (#1712)
Rename SigningRoot to SigningData (#1740)
Remove PERSISTENT_ COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD (#1783)
Disallow empty aggregation bits in attestations (#1780)
Change MAX_ATTESTER_SLASHINGS from 1 to 2 (#1794)
Ensure balances remain unchanged for optimal validators during inactivity leak (#1830)
Non-substantive:
Fix some ValidatorIndex type casting (#1714)
Minor typing fixes (#1731)
Clarify eth1 timestamp can be less than genesis time (#1756)
Clarify that eth1 blocks must be deep enough in chain for consideration for genesis (#1834)
Structure rewards/penalties to allow for more granular testing (#1747, #1826)

Fork Choice

Add FFG-LMD vote consistency checks (#1742)
[Non-substantive] Remove redundant check in validate_on_attestation (#1755)
Validator
Use all attestation subnets in Phase 0 (#1804)
Ensure eth1data voting can’t move to past eth1data states (#1836)
[Non-substantive] Minor cleanups and validator sanity tests (#1745)

Networking

Require “seen” aggregates to be valid to bound cache (#1749)
Clarify beacon committee assignments are not added to attnets ENR entry (#1775)
Remove interop from p2p spec (#1767)
Bump gossipsub to v1.1 and note extended validator enums for gossip conditions (#1796, #1828)
Clarify blocks in BlocksByRange must be from a single chain (#1795)
Req/Resp sizes constrained by SSZ bounds (#1800)
Loosen restrictions for aggregate propagation to not require aggregator in bitfield (#1801)
Use all attestation subnets in Phase 0 (#1804)
Restrict and clarify BlocksByRange request (#1835)

Deposit contract – Stable!

Simple Serialize – Fix bitfield_bytes type error (#1806)

BLS – Update BLS to use IETF bls draft 2 with hash-to-curve draft 7 (#1799)