Skip to content

PQ Interop #26 | Feb 11, 2026 #1923

@will-corcoran

Description

@will-corcoran

Resources

High-Level Documents

  • Devnet-0 : lean consensus client interop
  • Devnet-1 : PQ signature signing & verification
  • Devnet-2 : single-layer PQ signature aggregation ✅ LAUNCHED
  • Devnet-3 : aggregator role separation + subnet aggregation

Overview

A. Devnet-2: Implementation Status (Devnet N)
B. Devnet-3: Specification Status (Devnet N+1)
C. New Client Onboarding
D. Tooling & Infrastructure
E. Schedule / Next Steps


Meeting Minutes — Call 25 (Feb 04, 2026)

A. Devnet-2: Implementation Status

Long-running stability remains the focus. Reached ~1,000 finalized slots (new record) before losing finality again. Daily restart cycles continue.

Client Readiness

Client Devnet-2 Status Stability Notes
Zeam ✅ Complete 🔶 Sync issues on restart Improving performance and stability. Syncing issues still occurring on devnet restarts, causing network finality problems. leanPoint checkpoint sync tool working with Zeam nodes; Partha testing with other clients. Zeam confirmed able to sync via checkpoint sync, but further improvements needed. Devnet-3 aggregation PR implemented, under review — hoping to merge this week.
Ream ✅ Complete ✅ Stable Fairly stable on long devnet runs. Excessive memory use identified (likely data not being saved to disk) — not yet causing problems, fix in progress. Syncing works well. Retired all Devnet-1 code, kept Devnet-2 feature flags, added Devnet-3 feature flags. Started implementing committee aggregation PR.
Qlean ✅ Complete ✅ Stable Quiet week. Improving metrics and P2P identify protocol (reading peer agent versions — not yet working, may need spec PR to clarify). Getting started on Devnet-3 implementation. Kamil continuing work on committee aggregation spec.
Lantern ✅ Complete 🔶 Debugging Investigating spec divergence: Lantern rejected a block at slot ~951 that other peers accepted. Likely a spec compliance issue. Will release updated image once root cause is found.
Lighthouse ❓ Unknown No representative on call.
Grandine 🔶 In progress 🔶 Issues remain Fixed a few issues, added metrics. Some things still not working. Limited dedicated resources — will continue next week.
Ethlambda 🔶 Catching up 🔶 Improving Significant stability work: fixed memory issue via chain/attestation pruning post-finalization. Added P2P stability: incoming block request support, recurrent redialing for disconnected peers. Added support for Zeam's blocks-by-root container message format. Improved log messages for debugging. Working on: fetching unknown blocks referenced by gossip attestations (currently discarding as invalid), multiple response chunks in blocks-by-root requests, checkpoint sync. Starting Devnet-3 next week.
Nimbus ❓ Unknown No representative on call.

Spec/Implementation Issues Raised

  • Sync-on-restart causing finality loss (Zeam): After devnet restarts, Zeam nodes have issues syncing up to head, which cascades into network finality problems. Focus area for this week.
  • Block rejection divergence (Lantern): Lantern rejecting blocks accepted by other peers at slot ~951. Under investigation — likely spec compliance issue.
  • P2P identify protocol (Qlean): Agent version not properly readable from connected peers. May require spec clarification PR if other clients aren't updating their agent version fields correctly.

B. Devnet-3: Specification Status

Committee Aggregation PR — Priority Merge

The committee aggregation PR (Kamil) is the critical-path spec item for Devnet-3. Key changes:

  • Removed latest_attestations and latest_known_attestations — replaced by aggregations for fork choice safe target updates
  • Removed some tests that became less relevant (follow-up PR planned for replacements)
  • PR is large but intentionally scoped to avoid further growth

Merge plan: Thomas will stop pushing other PRs to leanSpec to avoid rebase conflicts. Kamil to rebase on latest master and get tests passing (target: by Feb 5). Thomas will merge immediately once ready, then iterate with follow-up PRs.

Devnet-3 PM Document Updates

  • Mihir (Lantern) flagged that the PM repo Devnet-3 doc needs updating (e.g., 5-interval model not yet reflected).
  • Unnawut: Use the leanSpec Devnet-3 PR filter as the most current source — PM repo will lag by ~1 week.
  • Mercy's readiness checklist (PR #68) open for review — can start filling out for Devnet-3.

Research Updates

leanMultisig / Proof Size (Emile):

  • Merkle pruning optimization complete.
  • Seriously considering removing LookUp[star] — currently requires two separate WHIR commitments, adding conceptual/implementation complexity and increasing proof size. Branch in progress.
  • Proof size now below 256 KB. With aggressive WHIR rates, could reach ~150 KB. Theoretically below 100 KB if capacity gap / proximity conjectures are proven.

WHIR Cryptography (Thomas):

  • Onur (EF grantee) making major progress on WHIR (polynomial commitment scheme inside leanVM).
  • Large PR merged on WHIR repo: low-level sum check optimization with significant performance impact on leanVM.
  • PRs incoming for Plonky3 integration — goal is to use Plonky3 main branch inside leanVM to benefit from open-source community contributions.

leanSpec Minimal Client (Thomas):

  • Removed TCP transport — now QUIC-only using Python standard library. Significant simplification.
  • Can add TCP back later if needed, but not required for current devnet scope.

leanSpec Book / PDF Companion (Thomas):

  • Chapters written: consensus intro, SSZ (with LaTeX diagrams), time model (slots, clock, genesis), state transition (started), P2P layer (ENR, QUIC transport — started).
  • Written for broad audience: developers, researchers, students, newcomers.
  • Currently in separate repo, updated as PDF. Plan to move LaTeX source into leanSpec repo for community PRs.

leanSpec Testing (Thomas):

  • Added interop test folder with multi-node mesh finalization tests (inspired by Ream's approach). 70-second test runs checking finalization.
  • Found and fixed test vector performance issue: state root calculations were redundantly computed. 6x speedup in CI test vector execution time.

Devnet-4 Forward Planning Discussion

Gajinder proposed recursive aggregation for Devnet-4.

Recursive aggregation readiness (Emile):

  • "Close to okay" — a few details remaining.
  • Single-layer recursion functional. Multi-layer (infinite) recursion is possible but has remaining work: bytecode evaluation proving and bitfield management for mixed raw signatures + aggregated proofs.
  • Main blocker is leanVM implementation, then Python bindings update, then leanSpec integration.

API-first approach agreed:

  • Gajinder requested Emile spec the recursive aggregation API first, so clients and spec work can proceed in parallel with implementation.
  • Emile agreed to try to define the API.

Devnet-3 interop timeline:

  • Gajinder pushing for Devnet-3 interop by end of next week (Zeam, Ream, Qlean).
  • Shariq (Ream): "Possible goal — let's see."
  • Kamil (Qlean): Willing to try, noted it's ambitious.

Stabilization vs. new features debate (Kamil):

  • Suggested that if leanVM recursion isn't ready, a devnet cycle could be used for optimization/stabilization instead (e.g., reducing block sizes by not including all proofs, network stability improvements).
  • Also suggested running multiple parallel networks — stable Devnet-2 alongside new Devnet-3 — if infrastructure allows.
  • Gajinder: Stabilization is part of development; Devnet-3 runs will be longer with multiple runs focused on scaling validators and aggregator subnets. Can move toward Devnet-4 in parallel.
  • Consensus: Discuss further next week. Not premature but needs more clarity on leanVM timeline.

C. New Client Onboarding

Client Status Current Focus
Ethlambda On Devnet-2 Stability fixes, fetching unknown blocks, multiple response chunks, checkpoint sync. Starting Devnet-3 next week.
Gean Devnet-0 complete Moved to Devnet-1. Integrating LeanSig (signing + verification), lean metrics, lean-quickstart. Writing Go bindings to Rust code (following Zeam/Lantern approach).
Nimbus Starting No representative on call.

D. Tooling & Infrastructure

Devnet-2 Long-Running Operations

  • Record reached: ~1,000 finalized slots (highest yet) before finality was lost again. Clients need to investigate and update images.
  • Daily restarts: Katya continuing for 4 initial clients. Teams must respond to pinned restart planning message in #tooling when images are ready.
  • Action: All teams to follow #tooling channel with notifications enabled.

Core Dump Collection (New Request)

  • Kamil (Qlean): Requested core dump collection when nodes crash — log analysis alone is sometimes insufficient for debugging.
  • Katya: Can provide this on request. System journal extraction also possible.
  • Next step: Kamil to ensure Qlean Docker images include debug symbols; Katya and Kamil to coordinate on collection setup.

Infrastructure Constraint

  • Hetzner server limits: New account cannot scale servers until late February (first invoice). One aggregator per committee (one committee for now) — scaling is config-only but hardware-constrained. (Partha, via chat)

E. Schedule / Next Steps

  • Devnet-3 interop target: End of next week (aspirational — Zeam, Ream, Qlean)

Action Items

Owner Action Deadline
Kamil Rebase committee aggregation PR on latest master, get tests passing Feb 5
Thomas Merge committee aggregation PR once ready; stop other leanSpec PRs until then Immediately after Kamil
Emile Spec recursive aggregation API for Devnet-4 (so clients/spec work can parallelize) TBD
Zeam Fix sync-on-restart issues causing finality loss This week
Zeam Review and merge Devnet-3 aggregation PR This week
Zeam (Partha) Test leanPoint with non-Zeam clients Ongoing
Ream Fix excessive memory use (data not saved to disk) ASAP
Ream Continue Devnet-3 committee aggregation implementation Ongoing
Qlean Investigate P2P identify protocol agent version issue; open spec PR if needed Ongoing
Qlean (Kamil) Prepare Qlean Docker images with debug symbols for core dump collection Ongoing
Lantern Investigate block rejection divergence at slot ~951, release updated image This week
Ethlambda Implement unknown block fetching, multi-chunk blocks-by-root, checkpoint sync; start Devnet-3 Next week
Gean Continue Devnet-1: LeanSig integration, lean metrics, lean-quickstart Ongoing
Katya Continue daily restarts; coordinate core dump collection with Qlean Ongoing
Mercy Readiness checklist PR #68 — team leads review, start filling for Devnet-3 Next call
All clients Update PM Devnet-3 doc to reflect 5-interval model Ongoing
All clients Follow #tooling channel with notifications enabled; respond to restart planning Ongoing

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions