Skip to content

Instantly share code, notes, and snippets.

@mratsim
Last active July 11, 2019 15:38
Show Gist options
  • Save mratsim/e5ad779cb3d99a151ea8650320fada6f to your computer and use it in GitHub Desktop.
Save mratsim/e5ad779cb3d99a151ea8650320fada6f to your computer and use it in GitHub Desktop.
2019-07-11 Eth2.0 Impl Call 21

2019-07-11 Eth2.0 Impl Call 21


Nimbus

Core:

  • Testnet1 -based on libp2p-daemon, launched this morning, need to adapt the script to start it with a single command (libp2p-daemon not build)
  • Working toward 0.8
    • lots of small changes integrated
    • SSZ primary focus
    • aligning our state transition function with specs
  • significant perf improvement, cumulated 20x-30x speedup on our state_transition only bench. Bottlenecks:

Metrics:

eWASM:

Eth1:

  • Resolved "bad peer" connection issue to Parity and Geth

Testing

Overflow bug found by Prismatic

Protolambda: Now can expand test suite since freeze Justin: Fuzzing framework started on executable py-specs and go-specs Next target, probably lighthouse


Client updates

Nimbus

Artemis (Johny)

  • Network load analysis

Trinity (HWW)

  • 0.8
  • state transition in progress
  • interop requirement fixes libp2p insecure connection: libp2p/specs#186

Yeeth (Dean)

  • Collab with Artemis
  • Started again to sync with 0.8

Harmony (Mikhail)

  • sync to 0.8
  • missing SSZ
  • started on slot clock system
  • research on network aggregation strategies
    • want to avoid additional overlays like Handle
  • libp2p for JVM and multistream

Lighthouse (Adrian)

  • sync to 0.8
  • need optimization of tree_hash caching
  • HTTP API
  • SSZ partial by Matt from Consensys
  • Disc v5 and small testnets
  • Formalizing minimal libp2p-based proto

Prismatic (Raul)

  • 0.8 passing all tests
  • found coverage lacking in SSZ encoding of longer datatypes

Chainsafe (Greg)

  • Improving dev tooling
    • Refactoring for modularity
  • SSZ working in a branch
  • Website
  • Assembly script
  • code-golfing eWASM contract in AssemblyScript

Parity (Wei Tang)

  • WIP 0.8
    • issue with SSZ, substantial changes
    • lots of new types which require configurable primitives need to change to compile-time structs

Research updates

-- Vitalik - Phase 1:

  • Proof of custody
  • Will probably need to include in phase 0, root of persist_committees to allow efficient light clients
  • Research on packing vs fixed position of crosslink data structure

-- Justin:

-- Will Villanueva:

Matt continuing work on SSZ-partial Prototype phase 1 impl, colab with eWASM --> have a phase 1-2 testnet / exec environment

Research work on State schemes by Vitalik

-- (?)


Network updates

-- libp2p (Mike Goelzer)

Grants:

  • Harmony: minimum JVM libp2p on Monday
  • JS libp2p: ChainSafe Are there concerns on JS libp2p that we should be addressing? Note that it has been in prod for IPFS for a couple of years => JS libp2p was part of IPFS and extracted out from it

Community Relations WIP:

  • What is Protocol Lab
  • Relation with libp2p
  • target next call (2 weeks from now)

Insecure Transport specced out:

Dean: State of libp2p spec?

Important update, unifying spec:

Can use the insecure transport for testing while secure transports are still WIP

Technical writer bandwidth issue --> looking for second hire

Danny: please check libp2p standardization PR:

Whiteblock:

  • workshop for handle exchange with Artemis, Prysm and (?)
  • several updates

Episub state -> adapted to few producers and multiple consumers


General spec discussions

SSZ:

  • scheme types that moved types from spec to application type system and bytes manipulation to type system.
  • Protolambda: for spec discussion: ssz offsets have this edge case where empty fixed-size containers result in errors. Empty containers are not really seen, but empty vectors may be a thing when disabling a feature by setting a length to 0. What do implementations like best: make 0-length fixed-size elements illegal? Or make lists of these illegal? (or maybe force them to be limit 0) - ethereum/consensus-specs#1283
  • Preston: ethereum/consensus-specs#1266
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment