[Quick contemporaneous notes by Ben Edgington]
Agenda: https://github.com/ethereum/eth2.0-pm/issues/123
Livestream: https://www.youtube.com/watch?v=kt59-FEeWTI
Some issues with the v0.10.0 test generators. There is a PR to fix. The BLS tests are being stripped back to just the essentials. There will be a release to v0.10.1 with a couple of minor bug fixes and updated tests. Release by end of tomorrow.
Proto working on getting repo upto Pythin 3.8. Working on remerkleable to be able to do funky things with the spec. Getting Ph1 spec prepared, ready to merge into dev branch.
Beacon fuzz update [Mehdi]. Published a blog post. Confirmed a bug in Nimbus. Found an issue in Trinity as well. Improving client on-boarding. Working to onboard Artemis/Harmony in the next days to onboard. New blog post coming in the next week or so. [Danny] Need to update pyspec tests to cover these failures.
Q: [Jacek] How do we approach states that do not result from normal operations? General recommendation is to allow clent to recover gracefully - but how to achieve this? Sometimes possible; sometimes not. Preference is not to crash but to flag the situation. This is a kind of discussion.
Forkchoice spec test? There are now two independent formats for this (Paul's and Harmony's). Neither is integrated into pyspec yet, but can be used to begin work on fork choice testing. Danny to pick this up.
Proto: binary tree backed SSZ library (remerkleable) for parts of the state is very effective. Particularly memoisation.
Artemis
Lodestar
v0.9.2 merged. Working on 0.9.3. Integrating new SSZ library - this has a lot of gains, 1000x faster for some operations, immutable merkle trees as SSZ objects. Working on swapping out beacon state object for a merkle tree backed object, which is much faster. This is TypeScript, now WASM.
simpleserialize.com site has not yet been updated. Expect it in 1+ weeks.
New team member, Frankie, being onboarded.
Nethermind
Working on peer-to-peer comms, using the Rust library. dotNet example is working on osX.
Trinity
Updating to v0.9.3. Moving on to v0.10.0. Moving networking to a new library for stability. Discv5 - experimenting with connecting to Lighthouse.
Prysm
Mainnet testnet running for 2 weeks. 29k active validators, 32k total. Working with users on UX, resolving memory consumption issues, and other performance inssues. Improvements to forkchoice have given good speedup. Added slashing protection to the client. Already have a network-level slashing detector.
How many nodes on the network? Average node has 80-100 peers. eth2stats.io - Prysm is running only 7 themselves.
Lighthouse
Adapting proto-array forkchoice for Eth2. Seeing some good improvement and believe this is a good approach.
v0.10.0 done, target next week for testnet release.
Dealing with locks during heavy API load during syncing. Found a fork choice bug in the testnet, and patching other bugs. Syncing progress. Handling of adversarial peers.
Seeing a lot more community engagement. Including validator UI RFP (deadline is next week).
Progress with hiring 1-2 more rust devs and devops.
Biggest testnet challenge: dealing with fork choice. About 16k validators, 20 peers per node. [Danny] Interested in seeing testnets with more nodes - 1k-10k would be about right.
Nimbus
v0.10.0 implemented except for BLS. Should be done by Monday. Looking at how to reuse Eth1 Nimbus code for Eth2 Ph2.
Team attending FOSDEM in Brussels, and the following week. Will hold a kind of interop event with Prysm and Lighthouse. Feb 1-7.
A community member built Nimbus on Android and ran it on a phone. Jacek has made binding for Rust to Nim.
On testnet: balance implementing new features vs stability. Discv5 is merged; experimenting with connecting to Lighthouse. Issues arise in longer-running testnets - when nodes are restarted, some datastructures are not reinitialised correctly. 20 nodes in the network.
Looking for something relatively stable for Ph1 specs in next couple of weeks.
RV verification of deposit contract bytecode has been published. Links below, please review.
Dankrad
Looking at changing proof of custody to 256 bit blocks for performance. Is it doable in the MPC (multiparty compute). Binary FFT implemented to test data availability proofs.
TXRX
Quilt
Phase 2 call discussed transition to Ph2 planning. Push and pull models of state provision. Simulator for different state provider models. Cross-shard scenarios for Eth and balances.
Call in ~6 days.
Danny interested seeing some load testing, especially wrt to number of nodes.
The Noise protocol is now in the libp2p spec repo.
Proto: the naive attestation aggregation technique is being improved. Believes we can make incremental improvements. Working with Protocol Labs to make this possible.
Proposal for dual-key voluntary exits. Use case would allow clients of custodial staking services (who do not have the signing key) to exit unilaterally, without being held hostage. Could be implemented via a pre-signed voluntary exit message, but this becomes invalid after forks.
Spec is not very intuitive. Ben is putting together an annotated spec as a side project. Phase0 for humans is also available.
Add Discord channels to coordinate the following:
There are rumours of an Eth2 client summit around EDCON in Vienna.