--- tags: eth2devs description: Notes from the regular Eth2 implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # Eth2 Implementers’ Call #40 - 2020-05-28 [Quick contemporaneous notes by Ben Edgington] Agenda: https://github.com/ethereum/eth2.0-pm/issues/154 Livestream: https://youtu.be/xvIk22HvTVE ## Testing and Release updates v0.12.0 was released last week. Upgraded BLS to latest IETF version. Fixed up rewards and penalties a little to not penalise good validators during a quadratic leak. Testing of rewards and penalties is now much more granular. Alex Vlasov's fork choice tests will go into v0.12.1. Look good, just need to work out best way to integrate. _Rumor_ is good for ad-hoc network testing. _Stethoscope_ network test tool is good for more structured testing. Network testing is becoming a priority. ## Testnets [Afri] Had a couple of attempts to launch a Schlesi replacement (Schlesi is now dead): the Witti testnet. Now have 3 clients rather than 2 in genesis: Teku, Lighthouse, Prysm. Some hiccups around genesis time, and some hot-fixing, but now running very well. People are encouraged to break it! Envison that we try to launch many testnets, small and fast-failing, before moving to more stabilised phase. Issue for discussion: [tune the time of day](https://github.com/ethereum/eth2.0-specs/issues/1849) testnets start. ## Client updates **Lodestar** Published new BLS library with Herumi compiled to Wasm. Going through v0.12 updates. Updating GossipSub to v1.1. **Nimbus** Networking: investigating interop issues with Lighthouse. Updated multinet script in repo to create 50/50 LH/Nimbus validator network. Snappy fixes. GossipSub assumes we can immediately validate attestations, but we need to wait for the blocks in reality. Implemented a Witti network option. Investigating syncing and peering issues. Can sync to ~100 blocks of head. BLS updates are merged, and config is switchable between v0.11/12. Now selecting vendors for audit. **Teku** Started a 2-week release cycle. Made updates to run on Witti. v0.12 updates: GossipSub1.1 almost done, BLS update is in review. Updated Eth1 handling data so we don't need historical state on Eth1 nodes. Work done on ENRs, JVM issues regarding large sync packets, and other stuff... :slightly_smiling_face: **Prysm** v0.12 done, running on testnets. Looking to do Topaz restart with this. Planning to merge experimental features in master. Attestation optimisation. Slasher is working better. Fuzz testing going well. Quantstamp audit going well. Slasher can detect historical offences back to genesis. Real time is harder. **Lighthouse** Started audit of consensus code with ToB. Networking audit part is delayed pending further work. Lots of debugging for Witti, improving metrics. Discv5 is using lots of CPU, so rewriting the implementation. Working on GossipSub 1.1. Internal peer reputation system and updates to v0.12 in progress. Have moved discv5 out of the Rust libp2p implementation. Lighthouse still uses the official Rust libp2p for GossipSub. **Trinity** New FT contributor! Merged big networking PR for latest p2p protocols. Next is to sync Witti, and then work on v0.12. **Nethermind** Working towards v0.11 [missed other updates]. Target end of June for joint testnet participation. ## Research Updates **TX/RX** - Write-ups on Discovery v5 analyses. - Onotole pyspec transpiler for the specification. Converts Ph1 spec to Kotlin. - This Kotlin code is being integrated into Teku as PoC. - Testnet analysis tooling and results. Autogenerated stats via CI job. - Write-up on probabilistic cross-shard transaction modelling. [See below for links.] **Quilt** Exploring account abstraction. Working within Geth right now, but plan to bring it to Eth2 as an account model. Integrating all the pieces. Basic MVP within the next week or two. Have made a tool to DoS the design to test its resilience. **Ewasm team** Eth1x64 work. Working on "yanking" as a layer 2 solution on top of Eth1x64 variant 1: on sender side contract serialises itself and sends itself via a receipt. On receiver side the storage can be recreated. Would need protocol support to be feasible, especially as memory in the EVM is expensive. Also studying caching. In Phase2, if there is a standard witness format, could have a short-lived shard-committee cache to reduce transaction witness size. Block witnesses would still be full. Looking at overall reduction in bandwidth achievable. Could also be applied to Eth1x. **EF team** EF research team is working through Phase 1 spec and making sure all the supporting documents are in good shape. ## Networking May do a call soon. Some teams working on GossipSub v1.1 - any observations to share? [Jacek] should we support v1.0 at all? [Danny] Current spec says v1 and v1.1 extensions must be supported. Will have a mix on testnets over next few weeks. [Felix] Discussing a [change to the Discv5 wire protocol](https://github.com/ethereum/devp2p/issues/152). Seems to be supported, but need a decision on this. Also looking at the proposal from TX/RX (Dmitry) on ENR attributes. Short term gains, but some concern that you can't find 100% of nodes with this, and percentage of nodes findable decreases with network size. Looking on whether this can be improved on. Discussion around use of QUIC - there is a lack of TLS1.3 support across different language implementations. Geth team is starting work on an official test suite for discovery. Hope to be done in 2-3 weeks. [Danny] That would be "badass". [Some Q&A I didn't follow well.] Discussion on use and usability of ENRs. Could create a readable representation of ENRs. ENRs are signed, which is nice in some ways, but a usability issue for administrators. Felix recommends multi-addr as the readable format, but to use ENRs in code. No impact on spec, it's up to client implementers. Thinking of using Ed25519 signing to speed up the handshake. ## Spec discussion Don't hesitate to contact Danny in case of any issues during v0.12 updates. ## Open discussion Nope. * * * # Chat highlights From danny to Everyone: 03:03 PM : https://github.com/ethereum/eth2.0-pm/issues/154 From danny to Everyone: 03:10 PM : https://github.com/ethereum/eth2.0-specs/issues/1849 From Carl Beekhuizen to Everyone: 03:13 PM : Thanks for the BLS update, @Lodestar team. We’re already using it in the Launchpad. From Joseph Delong to Everyone: 03:23 PM : Completed a write-up on Discv5 called "Comparing discovery advertisement features by efficiency: ENR attributes and topic advertisement" -- https://ethresear.ch/t/comparing-discovery-advertisement-features-by-efficiency-enr-attributes-and-topic-advertisement/7448 Completed a write-up called "Discovery peer advertisement efficiency analysis" -- https://hackmd.io/@zilm/BJGorvHzL From Jonathan Rhea to Everyone: 03:26 PM : https://txrx-research.github.io/prkl/testnet-analysis.html https://github.com/TXRX-Research/prkl From Joseph Delong to Everyone: 03:27 PM : https://twitter.com/JonnyRhea/status/1263151048199372801?s=19 Cross-shard Transaction Probabilistic Simulation -- https://ethresear.ch/t/cross-shard-transaction-probabilistic-simulation/7474 From Mamy to Everyone: 03:38 PM : in which repo is the wire protocol PR? From danny to Everyone: 03:38 PM : devp2p https://github.com/ethereum/devp2p/issues/152