description: Notes from the regular Eth2 implementers call
# Eth2 Implementers’ Call #44 - 2020-07-23
[Quick contemporaneous notes by Ben Edgington]
## Testing and Release updates
Ongoing effort to turn Rumor into chain tests. v0.12.2 release due out today. Backwards compatible: clarifications and fixes primarily to gossip specs. Some attester slashing tests were missing from v0.12.1 (but were found in fuzzing!). Will be added back in.
[Proto] Have been doing testnet tooling, deposit tooling and automation for spinning up testnets. Has not progressed chain testing.
[Lakshman] There has been a DoS vector found in gossip. Now looking for any further issues.
Three attacknets up, each with 128 validators, 4 nodes. There is a repo with rules and bounties. Plan is to ramp them up over the next weeks and put some bigger bounties down. Good playground for finding easy DoS vectors against particular clients.
[Afri] Altona update: no major hiccups. Liveness has been good. Some slashing events are being investigated. Re-did [client benchmarks](https://ethresear.ch/t/ethereum-2-0-client-metrics-07-2020/7699) on the genesis clients.
Next: Medalla testnet. Will target v0.12.2 spec. See the Goerli github. Will be mainnet spec. There will be a public launch. Danny has made a [blog post](https://blog.ethereum.org/2020/07/23/eth2-quick-update-no-13/). The Launchpad portal will be available for deposit generation. Min genesis time is Aug 4, 1300 UTC. Needs 16384 deposits by 48 hours ahead of this time to avoid delay. [Dankrad] We should closely track slashings on this network. Can track on the multiclient Github repo (or Medalla repo). Could have a registry of who runs which validators (opt-in).
[Discussion around slashing prevention strategies... could add functionality to the beacon API to help. Dankrad to make an issue in the eth2.0-api repo.]
Suggest 4 clients have 1024 genesis clients each, with the EF and Afri running a few more up to 30% of 16384. Aiming to be fewer than 1/3 of total.
## Client updates
Finished gossipsub 1.1; due to release with latest JSlibp2p in the next weeks. Been adding to API, and Eth2Stats support. End-to-end tests. Preparing for Medalla testnet - intending to participate at some stage, hopefully validating.
Accounts and key management revamp. Finished remote-signing wallets. Focusing on ease of use. Should integrate with Launchpad - needs testing.
Also, lots of fuzzing and bug fixing. Networking improvements.
Working memory consumption: JVM heap is small and stable, but some native memory leaks; suspect RocksDB. Many peer-management improvements. Almost done integrating Blst library integration. Improves block import speed by 3x. Teku security assessment RFP is out. Closes August 3rd.
Aiming to get beacon node to head of Altona. Fork choice refactor. Trying to speed things up: were syncing at 0.2 slots/sec, now up to 13 s/s. There is a problem at epoch 256 trying to work through.
New team member: Benedict. Working on stability improvements and key management. Improving attestation inclusion rates: found some timing and edge-case issues. Attack nets: Jonny found a panic in discv5. Security hardening network infrastructure. Preparing for Medalla.
Started audit, with ConsenSys Diligence, Trail of Bits, NCC. Three is better than one :-). Three phases: networking, beacno core, validator core, 2 weeks each plus 2 weeks fixes.
Reducing memory usage with smarter caching. Working on sync speed. On networking, attestations are not being properly propagated on Altone. Several improvements in the pipeline.
Beacon node and validator split: some finalisation issues being fixed.
Updated to EIP2333 for keys. Reviewed BLS backend: Blst is wrapped but not enabled. Updated Milagro to newer version.
## Research Updates
Working on some attack net things. Plea for others to join the effort! Work on Eth1-Eth2 connection is exciting.
Snappy compression metrics. With Eth2 blocks from Altona, compression ratio is ~1.6, average speed is ~911MB/s on 4-core i5. This is lower compression ratio than Eth1, but speed is higher. Compared with standard Snappy benchmark: 789MB/s, so similar ballpark. [Spreadsheet](https://docs.google.com/spreadsheets/d/1SoXvmPfm1BRVcdDm7CuwaWDjxp5a3NzGMBLViQjBNqA/edit?usp=sharing) with data.
[Running Lighthouse](https://altona.beaconcha.in/validator/a2b60b956869fd5dfe9874546b3cc4bc2ca42bcc3b9c48c8473b7881c4e94b4a57917b07bf0b22117c90daf2f59c2dde#overview) on Altona with Raspberry Pi4. Planning to try others as well.
v0.12.2 spec is mostly minor mods to the networking spec. Coming today!
[Proto] Looking into further gossipsub changes. Such as signature verification, and other related fields (origin, seq number, public key) - clients currently vary in their handling of all these things, but they are not used in the spec. Look to smooth this out, drop extra fields via an enable/disable flag. There is [a PR](https://github.com/libp2p/go-libp2p-pubsub/pull/359).
## Spec discussion
## Open discussion
[Vitalik] Shall we discuss getting going on Phase 1 implementation?
Some clients have done some work on the spec: e.g. [Phase 1 simulator](https://github.com/txrx-research/teku/branches) from PegaSys, and Terence's work. Most engineering work currently focused on getting Ph0 done, but that might need to shift in a couple of months.
Should one of the client teams shift over? Maybe one whose client is maybe not ready for Ph0.
[Terence] Annotated Ph1 spec would help to onboard new developers. Current spec is off-putting. Danny can write a quick "Ph1 for humans". Also, more comments are going back into the specs. [Hsiao-Wei] Think that the Ph1 spec could be simplified further - good to do this before writing up.
In future calls, we will add an explicit Ph1 item.
As soon as Ph1 tests are done, will make a branch in the specs repo for them.
* * *
# Chat highlights
From danny to Everyone: 03:02 PM
From terence to Everyone: 03:11 PM
Or we can record slashings here: https://github.com/goerli/medalla Either repo works
From Afr Schoe to Everyone: 03:16 PM
: yes that would work ^
From Leo BSC to Everyone: 03:42 PM
From protolambda to Everyone: 03:47 PM
From Joseph Delong to Everyone: 03:50 PM
From terence (prysmatic) to Everyone: 03:51 PM
: latest phase1 work on Prysm https://github.com/terencechain/prysm-phase1