pm/draft-roadmap/introduce_mixnet_for_message_sending.md
Prem Chaitanya Prathi 0aa79c298b
address comments
2025-09-10 11:09:13 +05:30

73 lines
2.6 KiB
Markdown

# Introduce Mixnet For Message Sending
**Estimated date of completion**: TBD(As it requires further study and analysis to determine estimate of new changes)
**Resources Required for 2025H2**:
- 1 core research engineer for 3 months
- TBD (Would depend on who owns js implementation)
A PoC implementation to improve anonymity in Waku message publishing by mixing Waku Lightpush requests and responses.
## Strategic Objective
Logos Vision: Core Values Alignment
## FURPS
See deliverables.
## Risks
| Risk | (Accept, Own, Mitigation) |
| --------------------------------------- | ------------------------------------------------------------------ |
| Dependency on mix library | Strong collaboration, integrate early, get involved behind the API |
| Impact on latency and other UX elements | Run simulations and studies to understand impact |
| Unknowns on implementing js-mix | Further study and understanding of js-libp2p internals |
## Deliverables
### [Integrate libp2p mix into lightpush](https://github.com/waku-org/nwaku/issues/3280)
**Owner**: core research
**Feature**: [Mix](/FURPS/core/mix.md)
**FURPS**:
- F1. Relay nodes can mount mixnet protocol, acting as sender, intermediary or exit nodes.
- F2. Nodes can discover other nodes that support mix using available peer discovery mechanisms
- F3. Client nodes can send light push requests over the mixnet before delivery to a service node.
- F4. Client nodes can receive a response to a light push request over the mixnet.
- S1. `wakunode2` for intermediary and exit nodes.
- S2. nwaku CLI for sender nodes.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)
### [Implement libp2p mix in js-libp2p and integrate with lightpush in js-waku](https://github.com/waku-org/js-waku/issues/2634)
**Owner**: TBD
**Feature**: [Mix](/FURPS/core/mix.md)
**FURPS**:
- F5. Browser clients can discover other nodes that support mix using available peer discovery mechanisms
- F6. Browser clients can send light push requests over the mixnet before delivery to a service node.
- F6. Browser clients can receive a response to a light push request over the mixnet.
- S3. Browser-based apps on js-waku should support acting as entry nodes.
**Checklist**:
- [ ] Specs: link to specs
- [ ] Code: link to GitHub issues/PRs/Epic
- [ ] Dogfood: link to dogfooding session/artefact
- [ ] Docs: links to README.md or docs.waku.org (TBD)