Skip to content

PQ Interop #19 | Dec 10, 2025 #1840

@will-corcoran

Description

@will-corcoran

Resources

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:
      1. Devnet-2 → block proposer = sole aggregator (simple, good stepping stone).
      2. Devnet-2.5 / Devnet-3 → dedicated aggregators + (later) recursion.
    • Performance goal: aggregation should not consume the whole first second of the slot.

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

No one assigned

    Labels

    InteropTopic: L2 interoperability

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions