-
Notifications
You must be signed in to change notification settings - Fork 455
Closed
Labels
InteropTopic: L2 interoperabilityTopic: L2 interoperability
Description
Resources
- Zoom link: https://ethereumfoundation.zoom.us/j/4840114962?pwd=S8FArsXkTutjZDmVohZ7b0VOCaY4An.1
- Facilitator email: [email protected]
- Facilitator Telegram: @corcoranwill
High-Level Documents
- Devnet-0 : lean conseneus client interop
- Devnet-1 : PQ signature signing & verification
- Devnet-2 : single-layer PQ signature aggregation
- Devnet-3 : recursive PQ signature aggregation
Call 18 Review
A. Client Updates
B. Metrics & Monitoring / Dashboard Coordination
C. Spec & Research Updates (Lean VM, signatures, test vectors)
D. Devnet-1 Retro & Devnet-2 / 3 Planning
E. Schedule / Next Steps
Agenda Details
A. Client Updates
| Team | Previous Update (Dec 3) |
|---|---|
| Zeam | Interop achieved with Ream/Qlean/Lantern on Devnet-1 over the weekend. Some local-only changes (SSZ sigs, validator manifest/CLI format) on top, but core clients aligned. Ready to plan a long-running Devnet-1 and begin work toward Devnet-2. |
| Ream | Week focused on Devnet-1 interop and fixing issues “around the clock.” Fully integrated fork-choice test vectors (all passing without logic changes); next up: state-transition test vectors. Experimenting with scaling validators on a single machine to measure PQ CPU/memory impact (no networking yet). |
| Lantern | Added Lantern to Lean Quickstart via PR; local tests show chain justifying/finalizing and successful interop with other clients on Devnet-1. Observed intermittent disconnects with Zeam after 5–10 minutes (likely QUIC/ping-related); investigating. Improving Docker image workflow for multi-platform builds. Next: add Devnet-2 spec support. |
| Qlean | Achieved Devnet-1 interop. Added a “fake signature” mode to make large-scale networking tests easier while keeping Devnet-1 compatibility at the encoding level. Ran a 128-node Shadow simulation and generated block/attestation propagation plots via Python. Simplified Docker builds so full images can be produced on GitHub runners. |
| Lighthouse / Grandine | No updates shared on call. |
B. Metrics & Monitoring / Dashboard Coordination
- Grafana dashboard / JSON consistency
- Lean metrics PR6 and PR7 are ready; main issue is JSON diffs across Grafana versions.
- Proposal: agree on a common Grafana version or accept small JSON diffs when merging.
- Current dashboard adoption
- Ream confirmed using the shared Grafana dashboard/JSON.
- Other clients encouraged to adopt and join the metrics effort.
- Signature / attestation metrics (PR6 / PR7)
- PR6: attestation signing & verification time → straightforward, suggested to merge.
- Signature byte size tracking debated → fixed at spec level, less useful than throughput/bandwidth (likely networking-layer metric).
- Networking / bandwidth metrics
- Short term: track GossipSub message sizes and/or use node exporter for inbound/outbound bytes.
- Medium term: integrate existing Ethereum ops tooling (global propagation times, central collector, Ansible wiring).
- Validator count metrics
- Consensus: add both total validator count (from genesis) and per-node attached validator count → low effort, very useful.
- Infra integration
- Add metrics flag to Lean Quickstart.
- Finish/merge Ansible PR for distributed networks.
- Loop in Barnabé / eth-ops once infra is stable.
C. Spec & Research Updates (Lean VM, signatures, test vectors)
- Lean VM & PQ signature aggregation (Devnet-2/3)
- Non-recursive PQ proofing/verification in Lean VM ready.
- Python binding for Lean VM developed (short-term bridge); long-term goal is pure Python Lean VM spec.
- Performance: hashing extremely fast, XMSS aggregation ~1000 sigs/sec on laptop, early recursion numbers promising (~120 ms core work).
- Spec & test vector improvements
- LeanSig repo: added canonical SSZ serialization for keys/signatures + to_bytes/from_bytes helpers.
- Python spec: updated to direct SSZ, removed legacy bespoke serialization.
- Test vectors: added script to pre-generate keypairs → stored in JSON → ~2× faster local runs; more optimizations planned.
- Fast finality & future algorithms
- Ongoing Lean/consensus research; long-term goal to integrate mature designs into Python spec and run devnets.
D. Devnet-1 Retro & Devnet-2 / 3 Planning
- Devnet-1 status / retro
- Functional interop achieved across Ream, Zeam, Lantern, Qlean.
- Remaining issues: QUIC/ping disconnects (Lantern ↔ Zeam), need ~24 h stable run.
- Metrics to add: orphan block rate, network-wide block processing consistency.
- Devnet-2 scope & blockers
- No longer blocked: non-recursive Lean VM ready, Python bindings exist, performance improved.
- Role of aggregators (design discussion)
- Proposed path:
- Devnet-2 → block proposer = sole aggregator (simple, good stepping stone).
- Devnet-2.5 / Devnet-3 → dedicated aggregators + (later) recursion.
- Performance goal: aggregation should not consume the whole first second of the slot.
- Proposed path:
E. Schedule / Next Steps
- Near-term (this week)
- Fix QUIC disconnects (Mehir ↔ Gajinder).
- Run long-running Devnet-1 (~24 h) once stable.
- Merge Lean metrics PR6 & PR7 (assuming no objections).
- Devnet-2 planning
- Draft high-level Devnet-2 design doc (proposer-as-aggregator, Lean VM usage, metrics targets).
- Open spec PR for Devnet-2 changes.
- Continue Python binding work and/or move to pure Python Lean VM spec.
- Infrastructure & monitoring
- Finalize/merge Ansible setup and metrics flags in Lean Quickstart.
- Begin eth-ops integration once Devnet-1 stable.
- Expand metrics (bandwidth, GossipSub sizes, orphan rates, validator counts).
- Longer-term
- Devnet-2.5 / 3: dedicated aggregators → recursive aggregation.
- Explore syncing improvements and fast-finality integration when ready.
Metadata
Metadata
Assignees
Labels
InteropTopic: L2 interoperabilityTopic: L2 interoperability