--- tags: eth2devs description: Notes from the regular Eth2 implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # Eth2 Implementers’ Call #54 - 2020-12-17 [Quick contemporaneous notes by Ben Edgington] Agenda: https://github.com/ethereum/eth2.0-pm/issues/196 Livestream: https://youtu.be/Eo7H8fZA23E ## Testing and Release updates Some activity on the spec repo: minor features planned for a hardfork early- to mid- next year. To be firmed up in January, with consultation/discussion. Things like accounting reform (per Vitalik's doc), and adding light client sync committees. There are existing GitHub issues and PRs for much of this already in the spec repo. Highly recommend that devs review these and get familiar with them. Some ongoing changes to the test case model to make it more sustainable. Beaconfuzz: no new crashes found recently. Too many false positives in HongFuzz engine - trying to improve this. Adding BLS serialisation tests to test vectors: https://github.com/ethereum/eth2.0-spec-tests/issues/24 - after gathering feedback, plan to continue to implement this. But interface may change. ## Client updates **Teku** Focus on optimising epoch processing, especially first block of epoch. Improved Eth1 receipt search. Huge speedup in SSZ serialisation and deserialisation. Fix bug around creating aggregates when not scheduled to do so. **Prysm** Added runtime database backups. Support reading graffiti from a file. Peer scoring enabled by default. Reduced disk io. Implemented Eth1 node fallback. **Lighthouse** Enhancing the slasher; added options for slashings to be broadcast. Some DB corruption fixes. Added Eth1 fallback option. Simplified beacon lock files (now using OS locks). Gossipsub scoring improvements and aggregation improvements. Reducing block proposal time from 500ms to 100ms. Experimenting with a new peer scoring parameter. **Nimbus** Released v1.0.4. Biggest changes: properly handling termination signals, eg. flushing the slashing DB. New performance scoring to check that system can keep up. Fixed a bug where some bad aggregations were forwarded to the network. Fixed Gossipsub issue that reduced attestation effectiveness. Now improving disk IO performance, accelerating state transition using a state diff, multi-threading implementation - expected in 3 weeks from now. **Lodestar** Have now implemented the debug API. Implemented BLS batch verification. Lots of profiling and dealing with low-hanging fruit in optimisation, e.g. in JS libp2p. Making final steps towards having a responsive beacon node. Plan releases every two weeks. Lodestar works on Pyrmont (master branch or NPM) - it will sometimes pause and not be responsive right now. ## Research Updates **Vitalik** On sharding, data availability sampling for sharding is now a PR. Includes beacon chain transitions and links to explainer doc. Dankrad has been optimising proof generation: could be 8x faster than previously expected. Q: What is the complexity of generating Kate commitments? You need a library that exposes BLS elliptic curve operations: addition, multiplication, multi-exponentiation (fast linear combinations). With this, it's not too hard. Committing to data is easy; verifying an inclusion proof is just a single pairing check; generating all the inclusion proofs is harder, ~50 lines of Python code. Enough is known to work on it today. FFT is needed in a couple of places: the algorithm just mentioned; and, converting trusted set-up data also requires FFT. Regarding Blst, they plan to expose the required operations in a later release. The Gnark and Goff implementations from ConsenSys have the required functions, as does Zexe in Rust. Snark libraries could be fruitful. Want to get some data on the runtime in practice of implementations. Suggestion: do some education and knowledge transfer in January. **Justin** Looking at hiring a networking expert to the EF to look into improved DHT implementations. ## Networking Had [a call last week](https://hackmd.io/@benjaminion/HySRGsJ2D). ## Spec discussion Suggest at least one member of each team tracks the specs repo as there is quite a lot going on. Will do some knowledge-transfer seminars staring in the New Year. ## Open discussion There are some small tweaks to the fork choice being considered to mitigate some theoretical liveness issues. Will pick up discussion on this in the New Year. Making liveness more robust in general is a goal. * * * # Chat highlights From Terence to Everyone: 02:05 PM : Accounting reform: https://github.com/ethereum/eth2.0-specs/pull/2140 From Vitalik to Everyone: 02:06 PM : And https://github.com/ethereum/eth2.0-specs/pull/2150 From Hsiao-Wei Wang to Everyone: 02:06 PM : https://github.com/ethereum/eth2.0-spec-tests/issues/24 From Terence to Everyone: 02:18 PM : https://github.com/ethereum/eth2.0-specs/pull/2146 From Mamy to Everyone: 02:26 PM : Consensys Gnarks/Goff and Zexe/arkwork-rs the consensys work is nice because it's quite stand alone you just copy paste those files: https://github.com/ConsenSys/goff/tree/master/examples/bls381