Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created May 14, 2020 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mratsim/6e7d4a05c526cdfe64c588bdcab860e1 to your computer and use it in GitHub Desktop.
Save mratsim/6e7d4a05c526cdfe64c588bdcab860e1 to your computer and use it in GitHub Desktop.
2020-05-14 Eth2 impl call 39
https://github.com/ethereum/eth2.0-pm/issues/149
--------------------
Nimbus:
- Multiple Sync fixes
- Snappy (add compute issue with Lighthouse’s)
- can now sync to Schlesi: slowly but steadily
- working on performance
- in particular Windows
- Fixed multiple memory leaks
- libp2p
- our block caching system
- added more memory tracking tools
- will add a status button for our testnets
- still have an “old libp2p connection” leak
Tools:
- debug discovery
- debug libp2p topics and message received
————————
BLS change coming soon: https://github.com/ethereum/eth2.0-pm/issues/149

Networking updates
Test vectors updates to catch new corner cases
———————————
BeaconFuzz:
- Found upstream bug in Snappy
- Found infinite loop in Teku
- Stack overflow in Nimbus.
- Refactoring into 3 different tools
Q: on BeaconState being a trusted input
—> Overflow in state_transition == invalid transition
—> One of the reason to split up BeaocnFuzz
https://blog.sigmaprime.io/beacon-fuzz-04.html
———————————
Teku
- Builtin support for Schlesi
- 900MB memory footprint
Lodestar
- Can start syncing Schlesi, 2k epochs
Nimbus
Trinity
- Continuing port to (?) async framework
- Updated to latest BLS API
Nethermind
-
Prysmatic
- Topaz
- Fixing UX bugs
- Fixing network bugs from multi client testate
- Aligned to 0.11.2
- Working on 0.12
- Optimizing syncing (100 blocks/s, not taking into account signing)
- Slashing service working (1 client with it enabled earned a lot more than the others)
Lighthouse
- Key derivation
- Trail of bits audit: concurrency, slashing
- …
- Great improvement on memory usage
- 300MB for beacon node + 2k validators
- Consensus bug
- Remove parallelisation for state transition code, not needed with batched BLS verif
- Backed the genesis state into the repo
- updated to stable future
- Update done —> ready for Trail of bits
- RPC handling
———————————
Testnets
Afri: Failures mostly due to network fragmentation
- Beacon node rejecting each other for various reason
- Different genesis time between Prysmatic and Lighthouse
- Somehow managed to launched a multi client testnet 2 weeks ago
- Finality was horrible at start due to crashing
- Now almost perfect finality for more than a week
==> will start working on a new testnet, maybe for June
Proto:
- Lodestar 1k epoch 10%
- Nimbus:
- close to the head, 100 blocks distance but then the sync mode changes and stability issue
- added on eth2stats
==> Danny: coordinated start in June
———————————
Research
Eth1x-64 write up on ethresearch and repo in ewasm.
- https://ethresear.ch/t/the-eth1x64-experiment/7195
- https://ethresear.ch/t/eth1x64-variant-1-apostille/7365
Radical EVM changes will cause issue with existing tooling so might as well drop and chang to EWASM
Vitalik:
Homomorphic encryption for private data
Call to cryptographer for polynomial commitment work
Proof-of-custody, see Dankrad post on ethresear.ch
TXRX:
Mikhail Eth1/Eth2: https://ethresear.ch/t/the-scope-of-eth1-eth2-merger/7362
Fork choice test:
- found a bug in Teku
- based on a “transpiler”
———————————
Networking
Discv5 Felix:
- Working to fix a spec bug (message that seemingly has a wrong encoding)
- Discovery update: how to deal with live network
- > include with BLS spec update
———————————
Spec update:
Has seen bug reports on phase 1, but not really tested.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment