Implementer's Call 17
Agenda: ethereum/eth2.0-pm#42
Nimbus notes
Closed agenda for past 6 months:
- status-im/nimbus-eth2#96 Agenda for the next 6 months:
- status-im/nimbus-eth2#258
Core:
- Optimization of state hashing
- Started on 0.6, state transition changes partially done
current focus is get_beacon_proposer_index rework
which is a blocker for several other updates:
- fork choice tests
- State pooling
- found underflows due to GENESIS_EPOCH, interested in other statically compiled language experience that use unsigned int. --> PR up at spec level
- SOS: design stage, how to read fields without deserializing everything. (beyond naive SSZ-like implementation)
Networking:
- NAT traversal added to our beacon chain simulator
- Testnet fixed on windows (windows socket issue in NAT traversal)
- currently implementing chunked encoding
- Q on streams vs transports in async networking
Tests:
- Happy to see the update test suite, surprised by how easy git lfs was to use/clone
- currently working on shuffling as state tests are missing and SSZ is not yet SOS updated
- Some issues with our mock blocks and mock attestations
Testing updates
@protolambda:
- no big updates
- merging of tests, coming for 0.6.1 or 0.6.x
- minimal_ssz with SOS incoming, issues with typing
Client updates
-
Nimbus
-
Lodestar - Greg Markou
- Up-to-date with 0.6 SSZ
- merged floodsub, and will use that as testing ground
- fixes on herumi/bls
- started separating validators from the beacon chain
-
Pegasys - Joseph Delong
- master still on 0.4
- branch in 0.5.1 (currently working on SSZ)
- added json and timeseries logging
- troubleshooting issues with validators
-
Harmony - Dmitrii
- Incremental hashing finished
- Added Benchmark tools on spec methods
- Display how many times methods are called and how much time they consume
- v0.6.0 target for tomorrow
- work on sync protocol
-
Prysmatic - Raul Jordan
- Getting privately some testers
- Public would be using v0.4
-
Trinity - Hsiao-Wei Wang
- (?) data service
- Test suite 0.5.1
- 0.6.1 upgrade next week
- Fork choice and beacon chain plugin (?) WIP
-
Lighthouse - Adrian Manning
- Assisting BLS standardization efforts
- Implemented cache merkle hashing to solve (?) perf issues/catching up
- How to implement discv5 in the context of libp2p
-
Parity - Absent
-
Yeeth - Absent
-
Geth - Absent
Research updates
-
Vitalik
- Phase 2 proposal on ethresear.ch: https://ethresear.ch/t/a-layer-1-minimizing-phase-2-state-execution-proposal/5397
-
Justin
- On track for June 31 freeze
-
Nicolas Gailly (Pegasys)
- Research on Handel to prevent DOS attack by overloading with invalid signature
Networking updates
- Raul
- Gossipsub async validators
- PR under review for go-libp2p
- available in the daemon in the coming weeks
- (?)
- experimental flag introduced in IPFS
- TLS 1.3 (?)
- Noisy (?) handshakes: request for design/experience
- Dedicated engineer for spec hired
- libp2p at scale: first step, network simulation
- need Virtual NIC, configure jitter, and other variety in network conditions --> interested in building open interest group => contact Raul
- 0x will compile go-libp2p to the browser via WASM
- webRTC (?)
- Decentralized hole-punching: ideas?
- Upcoming IPFScon in Barcelona in 27th of June
- Dedicated courses for libp2p hackers, to go from A to Z => contact Raul
- Gossipsub async validators
=> on going conversation in ethereum/devp2p gitter
- Adrian on summarizing the conversation once done
Whiteblocks absent (Q on gossipsub testing by Danny)
Pending PRs no question
Spec discussion v0.6.1 almost ready bug fixes and cosmetic fixes tests will be updated
more extensive tests for 0.6.1 in a week
Justin
- Different slot duration for beacon chain and shards: 8 or 10 seconds? -> more robust -> remove the minimum attestation inclusion delay
Danny: Note it would not increase time to finality if we include more committees.
Crypto puzzle, time-capsule and VDF day (Justin)
Discussion on why SSZ changes to List/Vectors