Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created August 15, 2019 15:19
Show Gist options
  • Save mratsim/5e3f38d04c4c33ae714b30819eacf1c9 to your computer and use it in GitHub Desktop.
Save mratsim/5e3f38d04c4c33ae714b30819eacf1c9 to your computer and use it in GitHub Desktop.

20190815 - Eth 2.0 implementers call #23

ethereum/eth2.0-pm#68


Nimbus

Team in Berlin.

New joiner:

  • Dmitry
    • Libp2p, networking

Core:

  • SSZ implemented

Eth1 Deposits:

  • Continued on the equivalent to Web3.py/Web3.js started in January
  • Can interact/interop with ETH1 deposit contract from any web3-enabled Eth1 client.

Eth1 Deposits:

Networking:

  • Implemented the networking spec
  • libp2p works again on Windows. Can be tested with testnet1

Testing

  • BLS tests were not included by mistakes

  • 0.8.3 --> include tests, typo fixes.

    • Target: Monday or Tuesday
  • will be interop target

  • Vyper compiler bug in deposit contract

    • will add a checksum to precompute the expected SSZ root
    • not a target for interop
  • Mid-Sept fixes planned:

    • remove light clients machinery that adds substantial hashing overhead
      • active validator indices for example
    • maybe remove transfers

Client updates

Yeeth:

  • Will use Lodestar for part of validator client.

Harmony:

  • Validator API finished
  • Eth1 integration via gRPC, PR open
  • P2P daemon
  • Noise implementation done
  • Phase 0 JVM libp2p implementation hopefully closed to finish and ready for interop
  • started on 0.8.2 impl
    • lots of testing to be done
    • started on QA, fuzzer and property testing
      • beacon chain fuzzer for start but maybe network stack as well

Trinity (HWW)

  • Focus on interop requirements
    • py-libp2p module:
      • SecIO for interop
  • Beacon-chain receive (?) server to handle (...)
  • Disc v5 for Trinity Eth 1 client -> exploring for usage in Eth2

Artemis (Shahan)

  • Intro Shahan
  • SSZ
  • LibP2P, noise
  • state tests
  • Use Rust-libp2p into Artemis

Lighthouse (Adrian)

  • work on database:
    • probably be using 2 databases a hot and a cold one
  • networking stack update
  • improving sync algorithm
  • working on BLS standardization
  • Eth1 deposit contract

Prysm (Terence)

  • fork choice
  • optimizations
  • BLS improvement for verifications and aggregate signature with significant speedup

Lodestar

  • New joiner
    • focus on Assemblyscript and speedup crypto primitives
  • monorepo
  • spec tests
  • SSZ types published on NPM
  • beacon chain config on NPM
  • partway through disc v5
  • target: fix libp2p protocol

Survey: Road to interop

Will be organized by Proto and Whiteblocks

Danny: Raul wanted to do something similar from a libp2p POV


Networking

Disc v5 (Felix)

Libp2p (Matt)

Whiteblocks (Zak)

Q (Shahan): Where to discuss about handshakes for discv5 (while Noise already has handshakes) --> libp2p repo


Networking load

https://hackmd.io/ZCOiGwjLRy6il6yuAnF05w - Block size and attestations

Mikhail Research in aggregation strategy -> agg strat doesn't seem to be a bottleneck but attestations could.

For interop: will use naive strategy

https://hackmd.io/iHDZAzwlRE2uwv3hsB-9Gw - Scalability and BFT in context of p2p


Research updates

Vitalik:

  • [Merged] Modified Merkle proof verifications (use generalized indices) ethereum/consensus-specs#1186
  • [Pending] Persistent committee root (?)
  • [Pending] Changed in light clients syncing algorithm

==> Enough to start building light clients but not enough until phase 1 (?)

Justin Drake:

  • 5 ETH/1000 DAI bounties for changing the spec in a substantive way: ethereum/consensus-specs#1345
  • new BLS standard, plan to integrate it in dev, master in the future
    • new constant time hash function
    • rest is minor changes to BLS
    • not fully ratified yet
    • will not impact interop
    • Eth will be the first launch to use the new BLS
  • Related stadnardiztion:
    • checksums, ID wallets
  • Light clients design -> Awesome
  • Quantum apocalypse insurance
    • Secrets associated with validator deposits via lamport signature which is quantum secure.
    • Can be done without any substantive change to phase 0
    • Optional

Will Vuellaneva (Ewasm)

  • Benchmarking SSZ in a simple transfers ExecEnv vs RLP

Musab Alturki (KEVM - Formal Verif)

  • Phase 0 almost done
    • need to update to 0.8.2
    • then pass testing

Interop locking:

  • Waves:
    • Q&A tomorrow on Telegram
    • catered
    • 30 people + 10 people WASM

Collectible for participating in testnet and participating in Eth2 launch


Fuzzing (Adrian)

(?) fuzzer Worked for SSZ

Can't update on differential fuzzer --> Justin: gone quiet --> Proto: primitives are there.

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