20190418 - Eth2 implementr call 18
Nimbus updates (past 3 weeks)
A couple people off this week
-
Testnet feedbacks:
- Crypto enthusiasts:
- relatively easy to get started
- good feedback over the first 2 weeks
- a couple issues this week due to firewall changes
- lots of interests from Korea
- Error messages and logs improved, still have some confusing logs (are they important or not)
- found memory leaks on long-running testnet
- optimisations on state transitions
- Currently have 2 testnets, 1 for the public, and one for development
- Crypto enthusiasts:
-
Beacon chain working on windows (but not advertised)
-
Networking:
- Fixed discovery issues
- improved sync efficiency
- We have both backward sync (request missing block) and forward sync (send blocks and every following blocks) and both seem to have merits
- wrapped miniupnp/natpmp for use in Eth1 and Eth2 for NAT traversal
- Leak detection, debugging tools for networking
- Querying network topology
- Eth1: working on whisper
-
Tests:
- Can parse the state tests, 2 issues open in test repo on improvements
- Waiting for SSZ and test revamp because hash differs from official hash.
Test updates
Diederik / protolambda:
- Test generators integrated in specs repository
- called
pyspec
- example: test transition and deposit
Client updates
-
Pegasys / Jonny Rhea
- Close to 0.5.1
- Network debugging
- Working on test data for deposit contract
- Q: Danny have you attempted to run state transition test
-
Parity / Wei Tang
- Merkle database implementation and generalised merkle index
-
Lodestar / Greg Markou
- branch tracking 0.6 (thought it was going live last week)
- test single node
- libp2p and hobbits in progress
- MVP of validator client
-
Nimbus
-
Harmony
- Up to date with 0.5.1
- Implemented state tests
- WIP incremental tree hashing
- Started wire API implementation
-
Trinity / Hsiao-Wei Wang
- Back from EDCON
- Testnet in construction
- integrating tests for 0.5.1 into trinity
-
Lighthouse / Paul
- passing 0.5.1 state tests
- caching of (?)
- helping on BLS standardisation
- improving logging and debugging tools
-
Prysmatic / Terence
- Tests on several hundreds validators
- optimisaing tree hash caching
- ....
-
Geth / Felix
- Unfortunately no one from the Geth2 team in the call but some work done
-
Yeeth / no-one
EDCON videos coming
Synopsis
- Paul
- Matthew Slipper: Networking - SSZ - Gossipsub - Peer discovery
Research updates
Justin Drake
- (?)
- BLS standardisation
- bi-weekly(?) call, including Ledger hardware manufacturer
- Looking for constant-time hash_to_G2
- (?) moved to phase 1
- VM 2.0 - research into transaction abstraction --> everything would be a contract
Vitalik
- Research on fast cross-shard transaction
- include receipts from another shard before they are received officially
- hypervisor contracts (?)
Leo (BSC)
- Teached sharding and let student play with eth2 simulator
Discovery v5 / Felix
- spec about 95% done: https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md
Libp2p / Raul
- deprecating about 30 repo:
- roadmap:
- iteration 1 (underway): absorb types, reorg source, perform renames for clarity, alias at origin for backwards-compatibility.
- iteration 2 (next): high-fidelity godocs scroll for everything in go-libp2p-core.
- iteration 3: small breaking changes to improve ergonomics.
- Libp2p forum are now live: https://discuss.libp2p.io/
Limitations of SSZ for network / Matt SSZ predefined schema doesn't work with RPC
Proposed change: intro of union type + null Not full solution so for request/response: will use sequence of bytes instead
Gossipsub perf / Zak
- repo created https://github.com/Whiteblock/gossipsub-tests, coming soon
Danny Q: Is GossipSub used by anyone in production?
Specs discussion
0.6, ideally tomorrow (especially for tests) but several things pending so maybe next week. Most changes are bug fixes and simplification.
Q by Terence on:
- bad blocks, blocks not from canonical chain (but might be good in the future)
- block from bad proposer that becomes good after reshuffling
- Danny heuristics: if a block might create a lot of work (download) and has no attestation to support it put it in a queue for later processing
Workshop May 16, New York. "Road to interop" - https://www.eventbrite.com/e/road-to-interop-tickets-60384211803
Tests TODO - Diederik
CI coming
For next week: would like to have both test runner and test generators ==> eth2.0-tests Gitter