docs: update status with mesh infrastructure progress

Completed in this session:
- KeyPackage distribution over mesh (announce-based)
- Transport capability negotiation
- MLS-Lite to full MLS upgrade path

Updated mesh-protocol-gaps.md to reflect completed items.
This commit is contained in:
2026-04-01 09:01:44 +02:00
parent 7be7287ba2
commit ac36534063
2 changed files with 24 additions and 7 deletions

View File

@@ -13,9 +13,10 @@ QuicProChat has strong cryptography (MLS, PQ-KEM) but **real gaps** in the mesh
| Gap | Severity | Status |
|-----|----------|--------|
| MLS overhead too large for LoRa | **Critical** | **MEASURED**see actual sizes below |
| MLS overhead too large for LoRa | **Critical** | **MEASURED**classical MLS viable! |
| No lightweight messaging mode | **High** | **DONE** — MLS-Lite implemented |
| KeyPackage distribution over mesh | **High** | Not solved |
| KeyPackage distribution over mesh | **High** | **DONE** — announce-based with cache |
| Transport capability negotiation | **High** | **DONE** — auto-selects crypto mode |
| Announce/routing not battle-tested | **Medium** | S3-S4 done, needs real-world test |
| No DTN bundle protocol integration | **Medium** | Priority field added |
| Battery/duty-cycle optimization | **Medium** | Basic tracker exists |
@@ -167,10 +168,12 @@ KeyPackage propagation:
### Action Items
- [ ] **Extend MeshAnnounce** with optional `keypackage_hash` field
- [ ] **Add KeyPackage request/response** to mesh protocol
- [ ] **Implement KeyPackage cache** in MeshStore (separate from message queue)
- [x] **Extend MeshAnnounce** with optional `keypackage_hash` field — 8-byte truncated hash
- [x] **Add KeyPackage request/response** to mesh protocol`mesh_protocol.rs`
- [x] **Implement KeyPackage cache** `keypackage_cache.rs` (separate from MeshStore)
- [ ] **Design KeyPackage refresh protocol** for mesh-only scenarios
- [x] **Add transport capability negotiation**`transport.rs` TransportCapability enum
- [x] **Add MLS-Lite upgrade path**`crypto_negotiation.rs`
---

View File

@@ -47,9 +47,23 @@ New `fapp_router.rs` module:
---
## 2026-03-30 — Implementation Sprint (S4-S5 + MLS-Lite)
## 2026-03-30 — Mesh Protocol Infrastructure Sprint
### Completed
### Completed (Latest)
- **KeyPackage distribution** — `keypackage_cache.rs` + `mesh_protocol.rs`
- MeshAnnounce extended with `keypackage_hash` field
- KeyPackageRequest/Response/Unavailable messages
- KeyPackageCache with TTL, per-address limits, LRU eviction
- **Transport capability negotiation** — `transport.rs` TransportCapability
- Auto-classification: Unconstrained/Medium/Constrained/SeverelyConstrained
- CryptoMode recommendation per capability level
- TransportManager.recommended_crypto(), select_for_size()
- **MLS-Lite upgrade path** — `crypto_negotiation.rs`
- GroupCryptoState tracks current mode
- MlsLiteBootstrap derives MLS-Lite keys from MLS epoch secret
- Enables same group to use full MLS on WiFi, MLS-Lite on LoRa
### Previously Completed
- **S4: Multi-hop routing** — `MeshRouter` with `send()`, `handle_incoming()`, `forward()`, `drain_store_for()`
- **S4: REPL commands** — `/mesh trace <address>` and `/mesh stats`
- **S5: Truncated addresses** — `MeshEnvelopeV2` with 16-byte addresses (~18% smaller)