--- tags: eth2devs description: Notes from the regular Eth2 implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # Eth2 Implementers’ Call #33 - 2020-02-06 [Quick contemporaneous notes by Ben Edgington] Agenda: https://github.com/ethereum/eth2.0-pm/issues/126 Livestream: https://www.youtube.com/watch?v=c8BhhPfdy0A ## Testing and Release updates Ongoing audit by Least Authority. Expecting initial report for EF review in next couple of days. Will be shared soon. Aim to get out updated spec asap, taking into account the audit, plus some networking updates. Danny is working on fork choice tests, building on work by the Harmony team. Is there value in doing per-function unit tests? Most clients are using more sophisticated, optimised algorithms than the spec defines, so it may not make sense. [Mamy] We should retain the reference implementation to test against, even if we are using a fancier implementation. [PaulH] Some low-level aspects need testing, but testing block-processing within fork choice does probably not make sense, for example. [Mikhail] Harmony's test format should be suitable for any arbitrary implementation of fork choice. [Terence] Lighthouse has end-to-end tests that Prysm has also used. These are quite simple, and easy to generate. Danny to take a look. Proto is working on a comprehensive test tool, [Eth2-lurk](https://github.com/protolambda/eth2-lurk). ## Client updates **Teku (formerly Artemis)** Getting sync running. Testing against Prysm's network. Interpretation of the number of blocks requested was a point of confusion (include skip slots or not). Working on Merkle hashing. v0.10.1 BLS is good to go. Other stability impovements. Processing Eth1 client deposits at follow-distance. [Jacek] Question about how to handle the case of receiving fewer blocks than requested. Follow up offline. **Nimbus** Set up mobile phone testnet! Defined a new way to communicate milestones for Nimbus publicly. Beacon chain: updated SSZ parser to better handle malformed SSZ. Sync refactor 90% done. Ironing out v0.10.1 bugs, and fuzzing bug. Currently hiring: junior dev; tech writer. **Trinity** v0.10.1 updates. Separate out validator client from beacon node. Discv5. Libp2p new library. **Lodestar** Still integrating new SSZ implementation. Passing 0.9.4 tests, but need to update fork choice. Researching new BLS - using Herumi. Planning to test latest release. Reporting some Typescript issues upstream. **Prysm** Testnet: first voluntary exit has been performed. Vaildator slashing protection is in place. Micro-optimisations: avoid copy-on-read in Go. Proto's new forkchoice is getting more stable. Decreasing resource usage, and improving sync times. **Lighthouse** RFP deadline for UI has passed. Several applicants, will decide this week. Hiring devs - 20 applicants. Rearchitedted concurrency logs. Work on network upgrade (Noise, Snappy,...) v0.10.1 to be merged soon. Starting a 100k validator testnet. Just optimising now. E.g. attestation processing. Dealing with memory fragmentation. **Nethermind** Already have Snappy, networking, BLS, discv5. End of Feb or mid-March expect to have a testnet, and then connect to multiclient testnets after that. ## Research Updates **Vitalik** Working on longer-term problems like 51% attack detection and recovery. Some ideas how to move in this direction. E.g. include beacon chain uncle blocks. Nothing concrete yet on this. Are there backwards-compatible ways to detect edge cases caused by attackers, e.g. temporary censorship? How would we end up dealing with successful 51% attacks? Revert chain, or is there an alternative? Planning a post on these topics. **Quilt** Eth2 book underway with Kelvin Fichter. Five chapters in. Ben Edgington (:wave:) is also involved. Aiming for initial release in 2-3 months, and then to iterate. Will solicit feedback as it becomes more complete. There are higher-level questions on Ph2 that need to be answered. Quilt has been putting together some end-to-end scenarios to be able to explore this. E.g. dynamic vs. static state access. Eth1 uses dynamic state access; moving towards static may give advantages for Eth2. Have extended Solidity compiler to do taint analysis: look at the existing Eth1 patterns; prepare tooling for devs to help them use static patterns. Also some hand-analysis of contracts, such as Uniswap. It looks like that could be moved to static access fairly easily. Tool suite around EE development and shard simulation. working on "The Ganache of Eth2", plus Ease simulator: the "Truffle of Eth2". **TX/RX** Construction for a clock-sync protocol compatible with the beacon chain. Helping Quilt with some EE tooling. Paper for 1-way and 2-way bridges between Eth1 and Eth2. Cross-shard transaction simulation in Pyton. [Eth222](https://www.eventbrite.com/myevent?eid=90667602239): Feb 22 after SBC. There is also a slot for Eth2 at the Consensus 2020 conference in NYC in May. **Leo** Working with Proto on write-up of (an abstract) [client implementation](https://hackmd.io/Zc8wlp_LRfChQ6TyLC1kxA). Looking to get a first draft before Eth Barcelona in mid May. Invitation to client devs to contribute. NB the Eth2 education channel exists on Telegram/discord. ## Networking There was a call last week. Some [notes](https://hackmd.io/@benjaminion/HJTHyWyf8) available. Snappy compression - there is a PR in progress about how the length is specified. Using Snappy frame or block compression? Take a look if you haven't yet. Libp2p Noise protocol is now specified. The only handshake we need is the XX handshake. [Adrian] has put in a PR on this. Next networking call in 2 weeks. ## Spec discussion Effective balance calculation may be modified to make it less severe if a validator loses a little bit of balance initially. There is an [issue open](https://github.com/ethereum/eth2.0-specs/issues/1609). ## Open discussion EthDenver coming soon. Then SBC. The Eth2 discord has a conferences chat section we can use to coordinate. * * * # Chat highlights From danny to Everyone: 02:02 PM : https://github.com/ethereum/eth2.0-pm/issues/126 From danny to Everyone: 02:11 PM : https://github.com/protolambda/eth2-lurk From Joseph Delong to Everyone: 02:41 PM : Eth 222 in Stanford, CA Feb. 22nd https://www.eventbrite.com/myevent?eid=90667602239 From danny to Everyone: 02:41 PM : https://hackmd.io/Zc8wlp_LRfChQ6TyLC1kxA From Will Villanueva to Everyone: 02:42 PM : Where is the education channel? link? From Hsiao-Wei Wang to Everyone: 02:44 PM : @Will it’s on Eth2 discord server https://discord.gg/dtqe2TR From Joseph Delong to Everyone: 02:44 PM : Details: Pooja has been coordinating with Consensus 2020 to make a slot available for Ethereum 2.0. Currently there will be an opening for 2-3 hours in a 100 person room. HMU on Telegram (@josephdelong) if you would like to help/ present. Here is an overview: https://hackmd.io/@353yQn6WTImF5o12LQXXfQ/SkzfeCuMU From Ivan to Everyone: 02:50 PM : https://github.com/ethereum/eth2.0-specs/issues/1609