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.

Specification updates

General

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:

Proposal to use SSZ for consensus only. It's generating a fair amount of discussion!

Beacon chain specification

Several updates together implement the merging of CrystallizedState and ActiveState into a single BeaconState , and the consequences of this. This is in line with the first of the stated Design Goals: "minimize complexity".

and into a single , 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).

(a validator wishes to exit); (validators that break the Casper Commandments are penalised and exited); (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

Simple Serialize

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.

Implementers' call

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).

Costs

Estimate down from $20m-$30m to less than $20m Initial discussions with Tezos

Security

"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

Gitter

More on benchmarking numbers for elliptic curve pairings (BLS signature validation).

Pointer to minimal libp2p discussion.

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.

: avoiding supply chain attacks; name of the protocol name of the implementation. Call for participation in setting libp2p 's 2019 roadmap.

's 2019 roadmap. Announcing Prysmatic Labs' YAML test suite with a request for other client implementations to give it a try.

Ethresear.ch

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...

Brainstorm about validator privacy.

Ethereum 2.0 explainers. Status is hosting a "peer-reviewed" repository of Ethereum 2.0 articles, such as explaining validators. Everyone is invited to get involved!

Main sources:

Follow me on Twitter to be notified of updates.