From 870c0c1e3a4e9c76dc5e6355dc4ce0d5a52933ac Mon Sep 17 00:00:00 2001 From: bomanaps Date: Wed, 28 Jan 2026 10:48:55 +0100 Subject: [PATCH] add checklist --- .../leanConsensus/pq-interop/README.md | 14 ++-- .../leanConsensus/pq-interop/decision-log.md | 26 +++++++ .../pq-interop/pq-devnet-2-checklist.md | 77 +++++++++++++++++++ .../pq-interop/pq-devnet-3-checklist.md | 77 +++++++++++++++++++ .../pq-interop/pq-devnet-4-checklist.md | 44 +++++++++++ 5 files changed, 233 insertions(+), 5 deletions(-) create mode 100644 breakout-rooms/leanConsensus/pq-interop/decision-log.md create mode 100644 breakout-rooms/leanConsensus/pq-interop/pq-devnet-2-checklist.md create mode 100644 breakout-rooms/leanConsensus/pq-interop/pq-devnet-3-checklist.md create mode 100644 breakout-rooms/leanConsensus/pq-interop/pq-devnet-4-checklist.md diff --git a/breakout-rooms/leanConsensus/pq-interop/README.md b/breakout-rooms/leanConsensus/pq-interop/README.md index b00aae5..33cd529 100644 --- a/breakout-rooms/leanConsensus/pq-interop/README.md +++ b/breakout-rooms/leanConsensus/pq-interop/README.md @@ -10,11 +10,15 @@ By fostering rapid feedback between researchers and developers, the devnet accel ## PQ Interop Devnet Plans -| devnet # | Main objectives | Status | Date completed | -| ------------------------------- | ----------------- | ----------- | --------------- | -| [pq-devnet-0](./pq-devnet-0.md) | - Minimal consensus
- No PQ signatures | Completed | October 6, 2025 | -| [pq-devnet-1](./pq-devnet-1.md) | - PQ signature signining & verification
- Naive aggregation (signature concatenation) | In progress | TBD (estimated: Q4 2025) | -| [pq-devnet-2](./pq-devnet-2.md) | - PQ signature aggregation
- No recursive aggregation | Not started | TBD (estimated: Q1 2026) | +| devnet # | Main objectives | Status | Checklist | Date completed | +| ------------------------------- | ----------------- | ----------- | --------- | --------------- | +| [pq-devnet-0](./pq-devnet-0.md) | - Minimal consensus
- No PQ signatures | Completed | - | October 6, 2025 | +| [pq-devnet-1](./pq-devnet-1.md) | - PQ signature signining & verification
- Naive aggregation (signature concatenation) | In progress | - | TBD (estimated: Q4 2025) | +| [pq-devnet-2](./pq-devnet-2.md) | - PQ signature aggregation
- No recursive aggregation | Started | [Checklist](./pq-devnet-2-checklist.md) | TBD (estimated: Q1 2026) | +| [pq-devnet-3](./pq-devnet-3.md) | - Decouple aggregation from block production
- Aggregated signature propagation | Not started | [Checklist](./pq-devnet-3-checklist.md) | TBD (estimated: Q1 2026) | +| pq-devnet-4 | - Multiple aggregation subnets
- Dynamic validator set | Not started | [Checklist](./pq-devnet-4-checklist.md) | TBD | + +See also: [Decision Log](./decision-log.md) for cross-devnet deferrals and references | [Readiness Checklists (HackMD)](https://hackmd.io/@bomanaps/rJjEPTjBWx) ## Breakout Room Meetings diff --git a/breakout-rooms/leanConsensus/pq-interop/decision-log.md b/breakout-rooms/leanConsensus/pq-interop/decision-log.md new file mode 100644 index 0000000..ac42de1 --- /dev/null +++ b/breakout-rooms/leanConsensus/pq-interop/decision-log.md @@ -0,0 +1,26 @@ +# PQ Interop Decision Log + +Records when features are deferred or moved between DevNets. + +## Deferrals & Moves + +| Date | Item | From | To | Reason | +| ---- | ---- | ---- | -- | ------ | +| 2026-01-14 | Dynamic validator set | DevNet 3 | DevNet 4 | Adds complexity while devnets aren't stable; defer until checkpoint sync improves stability | +| 2026-01-14 | Multiple aggregation subnets | DevNet 3 | DevNet 4 | Derisk complexity; focus on single subnet first | + +## References + +### Repositories + +- [leanSpec](https://github.com/leanEthereum/leanSpec) +- [leanMetrics](https://github.com/leanEthereum/leanMetrics) +- [leanSig](https://github.com/leanEthereum/leanSig) +- [leanMultisig](https://github.com/leanEthereum/leanMultisig) +- [lean-quickstart](https://github.com/blockblaz/lean-quickstart) +- [pm repo](https://github.com/leanEthereum/pm/tree/main/breakout-rooms/leanConsensus/pq-interop) + +### DevNet Specs + +- [pq-devnet-2.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md) +- [pq-devnet-3.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3.md) diff --git a/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2-checklist.md b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2-checklist.md new file mode 100644 index 0000000..b431e07 --- /dev/null +++ b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2-checklist.md @@ -0,0 +1,77 @@ +# pq-devnet-2: Readiness Checklist + +> **Target Date:** 2026-01-28 +> **High Level Plan:** [pq-devnet-2.md](./pq-devnet-2.md) +> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx) + +## Specification Readiness + +- [x] leanSpec: All pq-devnet-2 PRs merged [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSpec/tree/4edcf7bc9271e6a70ded8aff17710d68beac4266) +- [ ] leanSig: Target commit validated and compatible [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSig/tree/73bedc26ed961b110df7ac2e234dc11361a4bf25) +- [ ] [leanMultisig](https://github.com/leanEthereum/leanMultisig/tree/e4474138487eeb1ed7c2e1013674fe80ac9f3165): Compatible with leanSig (**BLOCKER**) +- [x] [Justification compression PR merged](https://github.com/leanEthereum/leanSpec/pull/273) +- [x] [Checkpoint sync spec finalized](https://github.com/leanEthereum/leanSpec/pull/279) +- [x] [Zero hash in justification roots refactor](https://github.com/leanEthereum/leanSpec/pull/305) +- [ ] Block-by-root syncing spec finalized +- [ ] Lean VM aggregation integrated +- [x] Lean Metrics: [DevNet 2 branch](https://github.com/leanEthereum/leanMetrics/tree/3b32b300cca5ed7a7a2b3f142273fae9dbc171bf) + +## Metrics Readiness + +- [PR #18](https://github.com/leanEthereum/leanMetrics/pull/18) +- [PR #16](https://github.com/leanEthereum/leanMetrics/pull/16) +- [PR #13](https://github.com/leanEthereum/leanMetrics/pull/13) + +## Bug Fixes Required (from DevNet 1) + +- [ ] Node syncing (graceful recovery without full restart) +- [ ] Genesis block checkpoint alignment +- [ ] Memory leak fixes +- [ ] Peer connection fixes +- [ ] SSZ implementation alignment + +## Client Implementation Readiness + +*Status as of Jan 28, 2026* + +| Client | Status | Docker Tag | Notes | +| ---------- | -------- | ---------- | ----- | +| EthLambda | ✅ Ready | `ghcr.io/lambdaclass/ethlambda:latest` | Gossip layer done, STF added | +| Grandine | ✅ Ready | `sifrai/lean:latest` | Open-sourced, DevNet-1 interop ongoing | +| Lantern | ✅ Ready | `piertwo/lantern:latest` | Full DevNet-2 support, all tests passing | +| Lighthouse | ✅ Ready | `hopinheimer/lighthouse:latest` | - | +| Qlean | ✅ Ready | `qdrvm/qlean-mini:latest` | OOM fix PR open, GossipSub predicates WIP | +| Ream | ✅ Ready | `ghcr.io/reamlabs/ream:latest` | Checkpoint sync API pending, DB pruning done | +| Zeam | ✅ Ready | `blockblaz/zeam:latest` | Block-by-root syncing working | +| Gean | 🆕 New | TBD | Go + Lean based client | + +## Infrastructure Readiness + +- [x] lean-quickstart updated +- [ ] Grafana dashboards ready +- [x] All client Docker images submitted to [readiness issue](https://github.com/blockblaz/lean-quickstart/issues/87) +- [ ] Docker images include [commit hash metadata](https://github.com/blockblaz/lean-quickstart/issues/91) +- [x] Default Docker image configuration ([Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94)) + +## Go/No-Go Criteria + +- [ ] leanMultisig <-> leanSig compatibility resolved +- [ ] All clients pass spec tests +- [ ] Network runs 1+ hour without finality loss +- [ ] Node can rejoin after disconnect + +## May Defer to DevNet 3 + +- [ ] Committee-based aggregation ([PR #282](https://github.com/leanEthereum/leanSpec/pull/282)) +- [ ] Multiple aggregation subnets +- [ ] Recursive aggregation + +## Open Items + +| Item | Type | Relevance | +| ---- | ---- | --------- | +| leanMultisig compatibility | Blocker | leanSig compatibility | +| [PR #299](https://github.com/leanEthereum/leanSpec/pull/299) | Merged | Interop testing | +| [Issue #87](https://github.com/blockblaz/lean-quickstart/issues/87) | Open | Client Docker images submission | +| [Issue #91](https://github.com/blockblaz/lean-quickstart/issues/91) | Open | Docker commit hash metadata | +| [Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94) | Closed | Default Docker image config | diff --git a/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3-checklist.md b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3-checklist.md new file mode 100644 index 0000000..e21b3fd --- /dev/null +++ b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3-checklist.md @@ -0,0 +1,77 @@ +# pq-devnet-3: Readiness Checklist + +> **Target Date:** 2026-02-25 +> **High Level Plan:** [pq-devnet-3.md](./pq-devnet-3.md) +> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx) + +## Specification Readiness + +- [ ] High-level plan [PR #56](https://github.com/leanEthereum/pm/pull/56) merged +- [ ] leanSpec: Committee aggregation [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) merged +- [ ] compute_subnet_id() function [PR #58](https://github.com/leanEthereum/pm/pull/58) merged +- [ ] Aggregator role fully specified +- [ ] New gossipsub topics defined (`attestation_{subnet_id}`, `aggregated_attestation`) +- [ ] GossipSub propagation predicates for topic message acceptance/rejection + +## PR #282 Remaining Work + +- [ ] Handle aggregators not observing sufficient signatures by interval 2 +- [ ] Add gossipsub propagation predicates +- [ ] Rebase to latest main + +## Client Implementation Readiness + +| Client | Aggregator Role | Subnet Topics | Interop | +| ---------- | --------------- | ------------- | ------- | +| Lantern | ⏳ | ⏳ | ⏳ | +| Ream | ⏳ | ⏳ | ⏳ | +| Zeam | ⏳ | ⏳ | ⏳ | +| Qlean | ⏳ | ⏳ | ⏳ | +| Lighthouse | ⏳ | ⏳ | ⏳ | +| Grandine | ⏳ | ⏳ | ⏳ | +| EthLambda | ⏳ | ⏳ | ⏳ | +| Gean | ⏳ | ⏳ | ⏳ | + +## New Functionality + +### Aggregator Role + +- [ ] Collect attestations from subnet topic +- [ ] Aggregate signatures (no recursive aggregation) +- [ ] Propagate to `aggregated_attestation` topic + +### Proposer Updates + +- [ ] Listen to `aggregated_attestation` topic +- [ ] Include aggregations in block + +## Infrastructure Readiness + +- [ ] validator-config.yaml with `is_aggregator` field +- [ ] lean-quickstart updated for subnet topology +- [ ] Grafana dashboards for subnets + +## Go/No-Go Criteria + +- [ ] PR #282 merged +- [ ] All clients implement aggregator role +- [ ] Aggregated signatures included in blocks +- [ ] No regression in finality + +## Out of Scope + +- Multiple aggregation subnets → DevNet 4 +- Recursive aggregation → Future +- Random validator-to-subnet assignment → Future +- Dynamic validator set (deposit/exit) → DevNet 4+ + +## Deferred from DevNet 2 + +- [ ] (To be filled based on DevNet 2 outcome) + +## Open Items + +| Item | Type | Relevance | +| ---- | ---- | --------- | +| [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) | WIP | Committee aggregation | +| [PR #56](https://github.com/leanEthereum/pm/pull/56), [PR #58](https://github.com/leanEthereum/pm/pull/58) | Merged | High-level DevNet 3 plan | diff --git a/breakout-rooms/leanConsensus/pq-interop/pq-devnet-4-checklist.md b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-4-checklist.md new file mode 100644 index 0000000..ee9862d --- /dev/null +++ b/breakout-rooms/leanConsensus/pq-interop/pq-devnet-4-checklist.md @@ -0,0 +1,44 @@ +# pq-devnet-4: Readiness Checklist + +> **Target Date:** TBD +> **High Level Plan:** TBD (no plan file yet) +> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx) + +## Specification Readiness + +- [ ] Multiple aggregation subnets spec +- [ ] Dynamic validator set spec ([PR from Zepturo](https://github.com/leanEthereum/leanSpec)) +- [ ] Random validator-to-subnet assignment + +## Planned Features (from earlier deferrals) + +- [ ] Multiple aggregation subnets (from DevNet 3) +- [ ] Dynamic validator set - deposit/exit (from DevNet 3) + +## May Include (pending research) + +- [ ] Recursive aggregation (if performance targets met) +- [ ] Full Beacon spec parity items (DAS, execution, etc.) + +## Client Implementation Readiness + +| Client | Multi-subnet | Dynamic Validators | Interop | +| ---------- | ------------ | ------------------ | ------- | +| Lantern | ⏳ | ⏳ | ⏳ | +| Ream | ⏳ | ⏳ | ⏳ | +| Zeam | ⏳ | ⏳ | ⏳ | +| Qlean | ⏳ | ⏳ | ⏳ | +| Lighthouse | ⏳ | ⏳ | ⏳ | +| Grandine | ⏳ | ⏳ | ⏳ | +| EthLambda | ⏳ | ⏳ | ⏳ | +| Gean | ⏳ | ⏳ | ⏳ | + +## Deferred from DevNet 3 + +- [ ] (To be filled based on DevNet 3 outcome) + +## Open Items + +| Item | Type | Relevance | +| ---- | ---- | --------- | +| Dynamic validator set | Deferred | Deposit/exit interface |