Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created June 13, 2019 15:32
Show Gist options
  • Save mratsim/d08a63b25e8d17d90584fc4e96303b91 to your computer and use it in GitHub Desktop.
Save mratsim/d08a63b25e8d17d90584fc4e96303b91 to your computer and use it in GitHub Desktop.
Eth2.0 implementer's call #19

Eth2.0 implementer's call #19

ethereum/eth2.0-pm#45

Specs:

  • 2 PRs pending for 0.7.0 compat

Sync:

  • backward sync integrated (request all blocks up to a point)

Networking:

  • core libp2p:
    • on mobile issue because sleeping kills connection
  • libp2p integration in Nimbus, currently working on libp2p testnet (instead of RLPx currently)

Eth1/Web3:

  • API to watch the validator contract with nimbus

Eth1 Security:

  • Fuzzing discovery and fixing bugs in discovery and RLP

Collaboration:

  • RPC standard for dataviz of testnets
    • something for the interop agenda?

Intro:

0.7.0 released yesterday, small release, no big breaking changes


Testing:

Test vectors out. Note: Generating tests is slow due to Python tree hashing

Updates on fuzzing tests Justin: someone tested fuzzing with xxhash instead of sha256 --> 3x faster might be worth it to use xxhash just for fuzzing to do more with the same resources


Client updates

Prysmatic (Terence)

  • Reworked caching
  • syncing SSZ

Parity (WeiTang):

  • 0.7.0, passing test vectors
  • no caching at the moment, pending final specs
  • currently using floodsub for networking. Might reintroduce (?) networking library

Artemis (Johnny):

  • Profiling on state transition
    • caching had to be reimplemented
  • Broken out validator client implementation
  • Article on (?) merkle tree implementation
  • working with Harmony and Raoul (protocol labs) on minimal implementation of JVM libp2p
  • bounties on minimal consensus layer tests

Trinity (Hsiao-wei Wang)

  • Working on state transition for 0.7.0
  • (?)
  • Eth1 deposit contract
  • working on discv5

Lodestar (Cayman)

  • Passing 0.6 tests except BLS verification

Nimbus --> RPC standard for metrics

Harmony

  • up-to-date with 0.6.3 and passing all tests
  • working on 0.7.0
  • working on validator RPC interface
  • started minimal libp2p JVM

Lighthouse

  • up-to-date with 0.6.3 and passing all tests
  • Prometheus + Grafana for dashboard
  • lots of progress on discv5
  • fuzzing
  • working on Vitalik's optimized BLS signature schemes
  • stress-testing testnet with 1s block time

Research updates

Vitalik: SSZ partials implemented in Python ==> too complex Complexity comes from the dynamic size of (?) Could be removed if we could fix that size or have a max length

SSZ change: ethereum/consensus-specs#1160

Pegasys research: Handle paper published on ArXiv

Justin:


Timing for deposit contracts release on Eth1?


Networking

See felix post ethereum/eth2.0-pm#45 (comment) discv5 updates:

  • Go implementation is progressing. Still missing integration for the topic stuff, but basic DHT works.
  • Implementation in Trinity (python) and Lighthouse (rust) is ongoing. Rust version is pretty far along.
  • Minor spec changes TBD.
  • We are negotiating an external protocol audit.

long discussion on TLS, encryption

Zak (whiteblocks), libp2p gossipsub draft Test geing written, feedback welcome Started on discv5 impl in C++

Token standard: https://ethereum-magicians.org/t/brainstorming-the-token-standard-in-eth2/3135/15

Reminder: devcon application is open

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