Skip to content

Instantly share code, notes, and snippets.

@mratsim
Last active April 18, 2019 15:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mratsim/28ebce485433f091726d2fe7c10938e5 to your computer and use it in GitHub Desktop.
Save mratsim/28ebce485433f091726d2fe7c10938e5 to your computer and use it in GitHub Desktop.
Ethereum implementer call notes

20190418 - Eth2 implementr call 18

ethereum/eth2.0-pm#37


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
  • 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


Libp2p / Raul


Gossipsub / Matt


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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment