Skip to content

Commit f41a457

Browse files
committed
add checklist
1 parent 72427a1 commit f41a457

5 files changed

Lines changed: 233 additions & 6 deletions

File tree

breakout-rooms/leanConsensus/pq-interop/README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ By fostering rapid feedback between researchers and developers, the devnet accel
1010

1111
## PQ Interop Devnet Plans
1212

13-
| devnet # | Main objectives | Status | Date completed |
14-
| ------------------------------- | ----------------- | ----------- | --------------- |
15-
| [pq-devnet-0](./pq-devnet-0.md) | - Minimal consensus<br /> - No PQ signatures | Completed | October 6, 2025 |
16-
| [pq-devnet-1](./pq-devnet-1.md) | - PQ signature signining & verification<br />- Naive aggregation (signature concatenation) | Completed | January 20, 2026 |
17-
| [pq-devnet-2](./pq-devnet-2.md) | - PQ signature aggregation<br />- No recursive aggregation | In progress | TBD (estimated: Q1 2026) |
18-
| [pq-devnet-3](./pq-devnet-3.md) | - PQ signature aggregation with aggregation committee | Speccing | TBD (estimated: Q1 2026) |
13+
| devnet # | Main objectives | Status | Checklist | Date completed |
14+
| ------------------------------- | ----------------- | ----------- | --------- | --------------- |
15+
| [pq-devnet-0](./pq-devnet-0.md) | - Minimal consensus<br /> - No PQ signatures | Completed | - | October 6, 2025 |
16+
| [pq-devnet-1](./pq-devnet-1.md) | - PQ signature signining & verification<br />- Naive aggregation (signature concatenation) | Completed | - | January 20, 2026 |
17+
| [pq-devnet-2](./pq-devnet-2.md) | - PQ signature aggregation<br />- No recursive aggregation | In progress | [Checklist](./pq-devnet-2-checklist.md) | TBD (estimated: Q1 2026) |
18+
| [pq-devnet-3](./pq-devnet-3.md) | - PQ signature aggregation with aggregation committee | Speccing | [Checklist](./pq-devnet-3-checklist.md) | TBD (estimated: Q1 2026) |
19+
| pq-devnet-4 | - Multiple aggregation subnets<br />- Dynamic validator set | Not started | [Checklist](./pq-devnet-4-checklist.md) | TBD |
20+
21+
See also: [Decision Log](./decision-log.md) for cross-devnet deferrals and references | [Readiness Checklists (HackMD)](https://hackmd.io/@bomanaps/rJjEPTjBWx)
1922

2023
## Breakout Room Meetings
2124

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# PQ Interop Decision Log
2+
3+
Records when features are deferred or moved between DevNets.
4+
5+
## Deferrals & Moves
6+
7+
| Date | Item | From | To | Reason |
8+
| ---- | ---- | ---- | -- | ------ |
9+
| 2026-01-14 | Dynamic validator set | DevNet 3 | DevNet 4 | Adds complexity while devnets aren't stable; defer until checkpoint sync improves stability |
10+
| 2026-01-14 | Multiple aggregation subnets | DevNet 3 | DevNet 4 | Derisk complexity; focus on single subnet first |
11+
12+
## References
13+
14+
### Repositories
15+
16+
- [leanSpec](https://github.com/leanEthereum/leanSpec)
17+
- [leanMetrics](https://github.com/leanEthereum/leanMetrics)
18+
- [leanSig](https://github.com/leanEthereum/leanSig)
19+
- [leanMultisig](https://github.com/leanEthereum/leanMultisig)
20+
- [lean-quickstart](https://github.com/blockblaz/lean-quickstart)
21+
- [pm repo](https://github.com/leanEthereum/pm/tree/main/breakout-rooms/leanConsensus/pq-interop)
22+
23+
### DevNet Specs
24+
25+
- [pq-devnet-2.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-2.md)
26+
- [pq-devnet-3.md](https://github.com/leanEthereum/pm/blob/main/breakout-rooms/leanConsensus/pq-interop/pq-devnet-3.md)
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# pq-devnet-2: Readiness Checklist
2+
3+
> **Target Date:** 2026-01-28
4+
> **High Level Plan:** [pq-devnet-2.md](./pq-devnet-2.md)
5+
> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx)
6+
7+
## Specification Readiness
8+
9+
- [x] leanSpec: All pq-devnet-2 PRs merged [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSpec/tree/4edcf7bc9271e6a70ded8aff17710d68beac4266)
10+
- [ ] leanSig: Target commit validated and compatible [Devnet 2 Commit Hash](https://github.com/leanEthereum/leanSig/tree/73bedc26ed961b110df7ac2e234dc11361a4bf25)
11+
- [ ] [leanMultisig](https://github.com/leanEthereum/leanMultisig/tree/e4474138487eeb1ed7c2e1013674fe80ac9f3165): Compatible with leanSig (**BLOCKER**)
12+
- [x] [Justification compression PR merged](https://github.com/leanEthereum/leanSpec/pull/273)
13+
- [x] [Checkpoint sync spec finalized](https://github.com/leanEthereum/leanSpec/pull/279)
14+
- [x] [Zero hash in justification roots refactor](https://github.com/leanEthereum/leanSpec/pull/305)
15+
- [ ] Block-by-root syncing spec finalized
16+
- [ ] Lean VM aggregation integrated
17+
- [x] Lean Metrics: [DevNet 2 branch](https://github.com/leanEthereum/leanMetrics/tree/3b32b300cca5ed7a7a2b3f142273fae9dbc171bf)
18+
19+
## Metrics Readiness
20+
21+
- [PR #18](https://github.com/leanEthereum/leanMetrics/pull/18)
22+
- [PR #16](https://github.com/leanEthereum/leanMetrics/pull/16)
23+
- [PR #13](https://github.com/leanEthereum/leanMetrics/pull/13)
24+
25+
## Bug Fixes Required (from DevNet 1)
26+
27+
- [ ] Node syncing (graceful recovery without full restart)
28+
- [ ] Genesis block checkpoint alignment
29+
- [ ] Memory leak fixes
30+
- [ ] Peer connection fixes
31+
- [ ] SSZ implementation alignment
32+
33+
## Client Implementation Readiness
34+
35+
*Status as of Jan 28, 2026*
36+
37+
| Client | Status | Docker Tag | Notes |
38+
| ---------- | -------- | ---------- | ----- |
39+
| EthLambda | ✅ Ready | `ghcr.io/lambdaclass/ethlambda:latest` | Gossip layer done, STF added |
40+
| Grandine | ✅ Ready | `sifrai/lean:latest` | Open-sourced, DevNet-1 interop ongoing |
41+
| Lantern | ✅ Ready | `piertwo/lantern:latest` | Full DevNet-2 support, all tests passing |
42+
| Lighthouse | ✅ Ready | `hopinheimer/lighthouse:latest` | - |
43+
| Qlean | ✅ Ready | `qdrvm/qlean-mini:latest` | OOM fix PR open, GossipSub predicates WIP |
44+
| Ream | ✅ Ready | `ghcr.io/reamlabs/ream:latest` | Checkpoint sync API pending, DB pruning done |
45+
| Zeam | ✅ Ready | `blockblaz/zeam:latest` | Block-by-root syncing working |
46+
| Gean | 🆕 New | TBD | Go + Lean based client |
47+
48+
## Infrastructure Readiness
49+
50+
- [x] lean-quickstart updated
51+
- [ ] Grafana dashboards ready
52+
- [x] All client Docker images submitted to [readiness issue](https://github.com/blockblaz/lean-quickstart/issues/87)
53+
- [ ] Docker images include [commit hash metadata](https://github.com/blockblaz/lean-quickstart/issues/91)
54+
- [x] Default Docker image configuration ([Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94))
55+
56+
## Go/No-Go Criteria
57+
58+
- [ ] leanMultisig <-> leanSig compatibility resolved
59+
- [ ] All clients pass spec tests
60+
- [ ] Network runs 1+ hour without finality loss
61+
- [ ] Node can rejoin after disconnect
62+
63+
## May Defer to DevNet 3
64+
65+
- [ ] Committee-based aggregation ([PR #282](https://github.com/leanEthereum/leanSpec/pull/282))
66+
- [ ] Multiple aggregation subnets
67+
- [ ] Recursive aggregation
68+
69+
## Open Items
70+
71+
| Item | Type | Relevance |
72+
| ---- | ---- | --------- |
73+
| leanMultisig compatibility | Blocker | leanSig compatibility |
74+
| [PR #299](https://github.com/leanEthereum/leanSpec/pull/299) | Merged | Interop testing |
75+
| [Issue #87](https://github.com/blockblaz/lean-quickstart/issues/87) | Open | Client Docker images submission |
76+
| [Issue #91](https://github.com/blockblaz/lean-quickstart/issues/91) | Open | Docker commit hash metadata |
77+
| [Issue #94](https://github.com/blockblaz/lean-quickstart/issues/94) | Closed | Default Docker image config |
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# pq-devnet-3: Readiness Checklist
2+
3+
> **Target Date:** 2026-02-25
4+
> **High Level Plan:** [pq-devnet-3.md](./pq-devnet-3.md)
5+
> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx)
6+
7+
## Specification Readiness
8+
9+
- [ ] High-level plan [PR #56](https://github.com/leanEthereum/pm/pull/56) merged
10+
- [ ] leanSpec: Committee aggregation [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) merged
11+
- [ ] compute_subnet_id() function [PR #58](https://github.com/leanEthereum/pm/pull/58) merged
12+
- [ ] Aggregator role fully specified
13+
- [ ] New gossipsub topics defined (`attestation_{subnet_id}`, `aggregated_attestation`)
14+
- [ ] GossipSub propagation predicates for topic message acceptance/rejection
15+
16+
## PR #282 Remaining Work
17+
18+
- [ ] Handle aggregators not observing sufficient signatures by interval 2
19+
- [ ] Add gossipsub propagation predicates
20+
- [ ] Rebase to latest main
21+
22+
## Client Implementation Readiness
23+
24+
| Client | Aggregator Role | Subnet Topics | Interop |
25+
| ---------- | --------------- | ------------- | ------- |
26+
| Lantern ||||
27+
| Ream ||||
28+
| Zeam ||||
29+
| Qlean ||||
30+
| Lighthouse ||||
31+
| Grandine ||||
32+
| EthLambda ||||
33+
| Gean ||||
34+
35+
## New Functionality
36+
37+
### Aggregator Role
38+
39+
- [ ] Collect attestations from subnet topic
40+
- [ ] Aggregate signatures (no recursive aggregation)
41+
- [ ] Propagate to `aggregated_attestation` topic
42+
43+
### Proposer Updates
44+
45+
- [ ] Listen to `aggregated_attestation` topic
46+
- [ ] Include aggregations in block
47+
48+
## Infrastructure Readiness
49+
50+
- [ ] validator-config.yaml with `is_aggregator` field
51+
- [ ] lean-quickstart updated for subnet topology
52+
- [ ] Grafana dashboards for subnets
53+
54+
## Go/No-Go Criteria
55+
56+
- [ ] PR #282 merged
57+
- [ ] All clients implement aggregator role
58+
- [ ] Aggregated signatures included in blocks
59+
- [ ] No regression in finality
60+
61+
## Out of Scope
62+
63+
- Multiple aggregation subnets → DevNet 4
64+
- Recursive aggregation → Future
65+
- Random validator-to-subnet assignment → Future
66+
- Dynamic validator set (deposit/exit) → DevNet 4+
67+
68+
## Deferred from DevNet 2
69+
70+
- [ ] (To be filled based on DevNet 2 outcome)
71+
72+
## Open Items
73+
74+
| Item | Type | Relevance |
75+
| ---- | ---- | --------- |
76+
| [PR #282](https://github.com/leanEthereum/leanSpec/pull/282) | WIP | Committee aggregation |
77+
| [PR #56](https://github.com/leanEthereum/pm/pull/56), [PR #58](https://github.com/leanEthereum/pm/pull/58) | Merged | High-level DevNet 3 plan |
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# pq-devnet-4: Readiness Checklist
2+
3+
> **Target Date:** TBD
4+
> **High Level Plan:** TBD (no plan file yet)
5+
> **Source of Truth:** [HackMD](https://hackmd.io/@bomanaps/rJjEPTjBWx)
6+
7+
## Specification Readiness
8+
9+
- [ ] Multiple aggregation subnets spec
10+
- [ ] Dynamic validator set spec ([PR from Zepturo](https://github.com/leanEthereum/leanSpec))
11+
- [ ] Random validator-to-subnet assignment
12+
13+
## Planned Features (from earlier deferrals)
14+
15+
- [ ] Multiple aggregation subnets (from DevNet 3)
16+
- [ ] Dynamic validator set - deposit/exit (from DevNet 3)
17+
18+
## May Include (pending research)
19+
20+
- [ ] Recursive aggregation (if performance targets met)
21+
- [ ] Full Beacon spec parity items (DAS, execution, etc.)
22+
23+
## Client Implementation Readiness
24+
25+
| Client | Multi-subnet | Dynamic Validators | Interop |
26+
| ---------- | ------------ | ------------------ | ------- |
27+
| Lantern ||||
28+
| Ream ||||
29+
| Zeam ||||
30+
| Qlean ||||
31+
| Lighthouse ||||
32+
| Grandine ||||
33+
| EthLambda ||||
34+
| Gean ||||
35+
36+
## Deferred from DevNet 3
37+
38+
- [ ] (To be filled based on DevNet 3 outcome)
39+
40+
## Open Items
41+
42+
| Item | Type | Relevance |
43+
| ---- | ---- | --------- |
44+
| Dynamic validator set | Deferred | Deposit/exit interface |

0 commit comments

Comments
 (0)