What's New in Eth2 - 19 November 2018
Edition 7. Archive. Trouble viewing? Load original.
Ben Edgington (PegaSys, ConsenSys — but views expressed are all my own)
The Merges and Splits Edition
Tl;dr - The beacon chain state has been merged; the beacon chain spec has been split.
Yay! High-level design goals have been added to the README. None of these is a surprise, but it is really important, in my view, that the goals/values be explicitly articulated. Especially for a decentralised development effort such as this.
The Ethereum 2.0 spec has been explicitly split out into two separate documents:
Reminder: take a look at the open issues marked RFC and get involved. Currently up for discussion:
Beacon chain specification
- Several updates together implement the merging of
ActiveState into a single
BeaconState, and the consequences of this. This is in line with the first of the stated Design Goals: "minimize complexity".
- Rework of Specials handling. Specials are basically events, and are now processed at every block. Currently defined are:
LOGOUT (a validator wishes to exit);
CASPER_SLASHING (validators that break the Casper Commandments are penalised and exited);
DEPOSIT_PROOF (induct a validator for which a deposit has been made on the PoW chain).
- Big update to implement Vitalik's RFC on chain initialization and main chain block inclusion. It includes the Vyper code for the PoW chain deposit contract. It looks a little too minimalist to me...
- The alternative withdrawal mechanism that rate-limits validators exiting the active set has been merged.
Shard chains specification
The specification of the Phase 1 shard data chains has been split out of the Phase 0 beacon chain spec. As a reminder, the shard chains in this phase will simply order transactions as blobs of data. They will not yet execute transactions or manage accounts.
The Phase 1 spec is beginning to take shape. New additions include:
- Shard block structure
- Shard block header verification rule
- Shard block fork choice rule
- Shard block body verification rule
- Crosslink verification rule
Specification of a "tree hashing" algorithm. It calculates the Merkle tree root for lists of data. It increases efficiency in cases where data structures are only partially updated.
The most recent call was on 15 November. **Update**: draft notes are available.
There don't seem to be any notes around, so pointers to the main discussion topics are below.
- [6:10] Lighthouse is using the AFL fuzzing library to give their SSZ implementation a work-out. [Hey, didn't I suggest that in the last edition?]
- [10:15] Prysmatic is looking at the Herumi mcl crypto library and finding it pretty pleasant.
- [18:24] Mamy from Status drew our attention to a couple of documents around testing from the Eth2.0 workshop: summary and meeting minutes.
- [21:40] Danny drew our attention to the Ethresear.ch post in which Vitalik proposes reverting to using Epochs in the fork-choice rule for LMD Ghost.
- [22:17] Discussion around beacon chain node and validator architecture.
- [26:57] Suggestion to have a validator implementer best practice guide, leading to discussion of key management.
- [31:25] Discussion around anonymity of validators. Seems to be a little complex.
- [39:55] Discussion around using SSZ for consensus only (not communications serialisation).
- [48:40] Discussion around using little-endian representation for the serialisation protocol.
- [50:57] The spec is now split into phases. Working hard to finalise Phase 0 beacon chain spec to enable implementers.
- [53:46] A Q1 workshop for Eth2.0 mooted, may be around EthDenver.
- [54:14] Ethereum Magicians are participating in FOSDEM. There is a Blockchain and Crypto Currencies devroom. Parity and Status/Nimbus will be there.
Justin's input on the latest with VDFs is below (his mic was not working on the call).
- Estimate down from $20m-$30m to less than $20m
- Initial discussions with Tezos
- "Effective A_max" of 4 * A_max (about 1 in a million change for an attacker controlling 2/3 of the slots to bias one bit)
- Will write an ethresearch post deep-diving into the various cryptographic and hardware assumptions
- Progress with MPC
- Ligero to publish academic paper in December
- Simulations with 256 participants for 256-bit modulus => very promising
- Writing custom code for 2048-bit bignum crypto
- Influx of interest after Devcon talk
- 3 Bitcoin mining companies
- Various individuals
- Shopping around for team to manage manufacturing
- More projects interested in using VDFs (e.g. a DEX using them to prevent front-running)
- Found a team of FinFET compressor experts
- Another VDF day on February 4
- Investigating hybrid Pietrzak–Wesolowski prover with nice tradeoff between prover and verifier overhead
- More on benchmarking numbers for elliptic curve pairings (BLS signature validation).
- Pointer to minimal libp2p discussion.
- Beginnings of a discussion on whether to move to little-endian representation in the serialisation format.
- Discussion around libp2p: avoiding supply chain attacks; name of the protocol vs name of the implementation.
- Call for participation in setting libp2p's 2019 roadmap.
- Announcing Prysmatic Labs' YAML test suite with a request for other client implementations to give it a try.
- Avalanche RANDAO. Diffie–Hellman secret sharing in a tree structure. This looks like a really interesting proposal for limiting how biasable the random number generation is. It has prompted a fair amount of discussion.
- Explaining the liveness guarantee. This relates to the second of the now-stated Design Goals: "to remain live through major network partitions and when very large portions of nodes going offline".
In other news...
Follow me on Twitter to be notified of updates.