Skip to content

Instantly share code, notes, and snippets.

Created December 5, 2019 14:58
Show Gist options
  • Save mratsim/b1fe4213ece4b60baa93be773715fd83 to your computer and use it in GitHub Desktop.
Save mratsim/b1fe4213ece4b60baa93be773715fd83 to your computer and use it in GitHub Desktop.
2019-12-05 Eth2 Impl call 29
2019-12-05 Eth2 Impl call 29
Nimbus updates
- Core:
Finished the last SSZ bugs on consensus objects last week so now it can be dumped
Optimizations: removing quadratic behaviours that reduced our CI time from 50min to less than 20min
Last bottlenecks: SHA256 (33% time) and BLS
not blocking for state transition within 6s
- Testnet
Debugging syncing
Polish on the instructions: tested from fresh start or from restart
- Tests and CI
In the process of setting up Jenkins with the goal of
testing Nimbus on controlled hardware, especially Android and ARM phones
Auto-tracking of long-running tests, especially state transitions
No more Git LFS
- Fuzzing
similar to ncli we have nfuzz, a fuzzing endpoint
Beacon-Fuzz PR pending, shuffling as a PoC OK
- Networking
libp2p ready for integration in the coming weeks
Disc v5 next.
Spec updates
Removal of signing root. (Private) Consensus across most clients for removal, anyone against?
Merge in 3 hours:
Fix to fork choice
-> work in academic to formalise the fork choice rule
-> hard to test complex fork choice scenarios and formalize
Many: use the same techniques as multithreading interleaving to test fork choice?
BLS modifications
Will be merged soon
Focus: fork choice test vectors
Trinity Alex
- lots of work on 0.9.2, especially fork choice, libp2p
Danny: reminder, want feedback on naive aggregation
Lodestar: Cayman
Swapped BLS for Herumi WASM: 30x speedup
0.9.x fork choice WIP
DiscV5 WIP
Artemis: Ben
up-to-date with 0.9.2 including naive aggregation
Next focus: public testnet: syncing and deposits
Finish up discv5
Prysmatic: Terence
Single client testnet running smoothly
instances of finality regression
RPC and hardening of RPC server
Focus on 0.9.2
Lighthouse: Adrian
BLS and SSZ optimizations
—> not checking BLS when loading from database
user friendly logging
found bug when syncing lots of blocks from a single node
PSA: testnet down as one boot node was banned (?)
Harmony: Mikhail
updated to 0.9.2
- write up on slashing condition detection:
Parity: Wei-Tang
Update to the substrate engine
config issues
on spec 0.9.0, trying to join the public Prysmatic testnet
issue with BLS
Tomasz Stanczak (Formal Verification)
Done SSZ, Merleization, BLS
Continuing with fork choice and rest of the spec
target 0.9.2 in 1 month or 2
Will look at Disc v5 and libp2p
Research updates
Status of cross-shard transaction: protocol or application layer?
i.e. Eth2 = fat protocol or just a data availability and computation layer
Write-up coming soon
SNARKS, did a ZK study club presentation on polynomial commitment schemes
Breakthrough in RSA MPC, successfully tested with 10k participants
Musab (Formal Verification)
Currently building abstraction of the beacon chain module
Goal: safety and liveness prover of the beacon chain specification
Matt garnett - Phase 2
Q on stateless protocols —> ethresearch
Next Phase 2 call in mid January
Link to networking minutes from yesterday
Next call in 2 weeks
Q Mikhail: How to reduce persistent database size
1. Hot/cold DB, once finalized: cold database, hot database not finalized
Nimbus style approach: store state snapshots and replay the state transition from the cold DB
Deduplication of state
Frequency of snapshots is configurable, heuristics for now (time to fill 32GB on a hard-drive)
Jacek: Problem linked to syncing across the network if clients agree that would help.
(Internet dropped)
Take some single client testnet and scaling them with lots of validators
If you have the scripts —> will see how to scale
Closing remarks?
Next call: TBD (Christmas conflict)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment