Skip to content

Instantly share code, notes, and snippets.

@mratsim
Created April 23, 2020 14:55
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/b4ae481879c5994be8dd3b17a4cbb91a to your computer and use it in GitHub Desktop.
Save mratsim/b4ae481879c5994be8dd3b17a4cbb91a to your computer and use it in GitHub Desktop.
Agenda: https://github.com/ethereum/eth2.0-pm/issues/145
Nimbus
- Core
- Switched our testnet1 to mainnet.
- Perf improvement to do, in particular repeated hashTreeRoot
- Stack overflow as the beacon state is huge
- Update/rewind states to apply state transition on blocks coming from the network
-> concern about DOS vector
- Networking
- more reliable syncing
- Debugging Discovery and Libp2p
- Memory leaks in networking/streams: solved one in libp2p, another to track down
- Auditing:
- removing stale code, improving handling of errors
- Interop:
- Fixed a bug of different genesis between Nimbus and Lighthouse
- Discovery is working but can’t talk yet
- Tried to run Prysm locally still WIP
———————————————
Release schedule
—> Everything under 0.11 will be backward compatible (except for a bug that will be fixed)
-> epoch-basis instead of slot basis for (?)
-> Release today
—> 0.12 for IETF draft 7 of the hash-to-curve
-> will include non-substantive type fixes
-> additional validation will be integrated in the fork choice
0.12 not interoperable with 0.11
-> maybe with fork choice tests
-> might come with modified rewards & penalties tests (bug in rewards & penalties in Prysm/Lighthouse)
-> function will probably be rewritten and split so that tests are with more granularity
-> proposal in 24 hours
-> Topaz testnet: will maintain a fork for interop
Testing
Proto - The rewards/penalties: doesn’t affect users, for different types of (?) you can’t get slightly different rewards. —> Rewards are slightly higher than they should be.
nimbus, pyspec, zcli also impact
Network testing
Rumour updated for new RPC types, clients can start testing with this now.
For testing 7+ clients instead of instrumenting all clients will take an approach more similar to the current consensus tests
Beacon Fuzz
Found 5 bugs on Nimbus including stack overflow
Found 2 bugs 2 bugs on zrnt
Found SSZ deserialisation bug in Lighthouse
Have been using HongFuzz
—> Risky to treat beaconstate as a trusted structure
especially if we use warp sync in the future
———————————————
Client updates
Lodestar:
Spec compliance, passing 0.11 tests
Gaps are Snappy compression and ENR
Prysm:
Topaz testnet, 121k validators
thousands (?) epochs so far since Friday
didn’t skip finality except 1
Can sync with lighthouse until epoch 1 (consensus bug in Prysm)
Great feedback, focus on (?) and UX
Teku:
JVM libp2p Noise interoperable with lighthouse
Protoarray fork choice implemented
Hot state management rework to keep fully in memory
Focus: finishing network changes.
Trinity:
Steady progress on v0.11 testnet
internal changes to the fork choice
Update BLS to
Nimbus
Comment by Paul on update/rewind
- Skip signature verification when applying blocks (for blocks from cold storage)
saves a significant amount of time
Lighthouse
Launched new testnet
Master is now 0.11.1 state transition
Almost fully compatible (networking spec to do)
Learning Ansible to automate the testnet (https://github.com/sigp/lighthouse-ansible/
)
sync with Prysm
RPC working
Rust new futures “stable futures”
Wanted to implement safe-arithmetic to have the implementation panic-free.
———————————————
Afr Schoe
—> 0.11
———————————————
Research updates
TXRX:
- monitoring tool for Topaz
- JIT problems of EE
- Transpiler for pyspecs to test fork choice
- Disc v5 research
LMD votes of attestations not being consistent
https://github.com/ethereum/eth2.0-specs/pull/1742
Fork choice testing should be in next updates of spec
Orchestrated attack
Vitalik
Will
- Eth1x, nothing new since last announcement
Getting more data to evaluate how to partition Eth1 transactions if split across shards
Axic
- Writeup coming
Hsiao-Wei
-> Time to stabilise phase 1 spec
———————————————
API call
Marin: small API combined
Danny’s goal: have them for public review by next week
———————————————
Spec discussion
Vitalik: discussion on phase 1
———————————————
Open discussion
Preston: release schedule
0.11.2 today (backward compatible)
0.12.x pending hash to curve (imminent)
Afterwards: critical security fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment