Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created February 27, 2020 15:05
Show Gist options
  • Save mratsim/80d4a9f313c8c5cac3ac433d7ce810e4 to your computer and use it in GitHub Desktop.
Save mratsim/80d4a9f313c8c5cac3ac433d7ce810e4 to your computer and use it in GitHub Desktop.
Eth2.0 Call 34
https://github.com/ethereum/eth2.0-pm/issues/129
Nimbus team (3 weeks)
- Core spec:
- Autodetect/Report on skipped tests (that were deactivating during implementation/refactoring)
- BLS signatures ready, we were waiting for EF vectors fixes but will go ahead to allow finishing honest validators spec
- WIP attestation aggregation
- WIP fork choice
- Bounty program restarted, 1st bounties:
- improved test runners
- HTTPS server
- Networking
- Merged peer lifetime code
- significant focus on discovery
- some issue on Windows
- and maybe NAT traversal
- manifest as finalization issue
- libp2p: excellent progress on Noise
looking for interop candidates
(with native libp2p)
- Speed:
- Lightweight stack traces: x2 speed at minimum
- when high number of nodes per CPU core -> not finalizing
- Devops
- Fixes on testnet deployments to avoid unreset nodes
- Nightly finalization testing infra through jenkins ready on our own hardware
- Eth1:
- EVMC host implementation done
- Enable fuzzing our Eth1 implementation with evmone/aleth tools
- How to switch VM like evmone into Nimbus
- passing all transactions tests
- Bottlenecks:
- Discovery to connect to other testnets
- log volume (~80 MB / hour of compressed logs)
- need some verbosity for debug
- need a parser if we deal with thousands of nodes.
-> solution at the moment, rotating every 4 hours
——————————————
Testing and release updates
- a bit behind (EthDenver)
- target next few days
Alex (TXRX) started porting fork choice tests from Java to pyspecs
Huge refactoring of tests, PR up
Proto: networking,
(?)
change in Snappy compression scheme
networking call next week
beaconfuzz: fixed merle proofs in Nimbus
only thing remaining process_randao and process_eth1_data
Issue with integrating prysm due to namespace conflict with Nimbus go dependency
——————————————
Client updates
Teku (Meredith)
Sync, can connect to and download blocks from Prysm
Deposits
Discovery v5 from Harmony
Can discover nodes from Lighthouse
REST API for Block Explorer
Keystore
standalone signing service for managing keys
Bottlenecks:
- storage
- state snapshots
- proposal from proto: cold storage finalised state and for hot storage, differential merkle trees
Trinity
- spec updates
- stability of libp2p
- integration with Milagro
Nimbus updates
Q: on logs
Q: on BLS
Carl: BLS change should be the final one
Prysm
Working on slashing server: double votes, surround votes
Working on verifying slashed validator ejection
Dynamic attestation subnet subtraction
How to use less memory during initial syncing
(?)
Bottlenecks:
- currently subscribe to all subnets
- tons of unaggregated signatures to very
- 30% is verifying unaggregated signatures
Nethermind
libp2p wrapped and integrated in Nethermind
Can now gossip blocks (no attestation at the moment)
Will target 10.1 to benefit from signing_root changes.
Lighthouse
2 new developers
4k validators testnet at EthDenver 93k slots
Merkle Tree based storage system
reduction in hashing team bu penalty in (?)
dealing with heap allocation
reduction by half again
2~4GB or RAM on 100k validator testnet
30% improv of block processing time
compile-time switch to use either Milagro or MCL
Preping for Lighthouse 0.2.0
Research: UI frontend for validator clients
Q: Bottlenecks
- RAM
- fixed most (all?) deadlocks
Q: detection of chain reorg
Lodestar
Merged Herumi BLS
State transition updates
SSZ changes (faster on PoC benches, memoization, …)
Improving state management (checkpoint old state and share memory between recent states)
Bottleneck:
- Discv5
——————————————
Research updates
TXRX
EthDenver: made an EE called SimplEE (spelling?)
Proto: Draft phase 2 spec, PR open
Quilt (Ansgar Dietrichs)
Week at SBC (San Francisco Blockchain ?)
No blocker left for phase 2, still huge design space
—> minimum implementation
—> focus now: MVP
Dynamic state access: probable solution SSA (?)
——————————————
Networking call next wednesday
Get together in Paris
EthLondon soon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment