diff --git a/FURPS/core/mix.md b/FURPS/core/mix.md index dcd1f7e..00929ae 100644 --- a/FURPS/core/mix.md +++ b/FURPS/core/mix.md @@ -3,9 +3,10 @@ ## Functionality 1. Relay nodes can mount mixnet protocol, acting as sender, intermediary or exit nodes. -2. Nodes can discover other nodes that support mix using available peer discovery mechanisms +2. Nodes can connect to other nodes that support mix using static configuration. 3. Client nodes can send light push requests over the mixnet before delivery to a service node. 4. Client nodes can receive a response to a light push request over the mixnet. +5. Nodes can discover other nodes that support mix using available peer discovery mechanisms. ## Usability @@ -13,9 +14,13 @@ ## Performance +- P1. Payloads are limited to 4kB + ## Supportability 1. `wakunode2` for intermediary and exit nodes. 2. nwaku CLI for sender nodes. +3. Browser based apps built using js-waku support acting as entry nodes. +4. Browser based apps built using js-waku support discovering mix nodes using available peer discovery mechanisms. ## + (Privacy, Anonymity, Deployments) diff --git a/draft-roadmap/introduce_mixnet_for_message_sending.md b/draft-roadmap/introduce_mixnet_for_message_sending.md index 38125c0..fb76816 100644 --- a/draft-roadmap/introduce_mixnet_for_message_sending.md +++ b/draft-roadmap/introduce_mixnet_for_message_sending.md @@ -1,8 +1,9 @@ # Introduce Mixnet For Message Sending -**Estimated date of completion**: 30 Sep 2025 +**Estimated date of completion**: 10 Oct 2025 **Resources Required for 2025H2**: + - 1 core research engineer for 3 months A PoC implementation to improve anonymity in Waku message publishing by mixing Waku Lightpush requests and responses. @@ -18,7 +19,7 @@ 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 | @@ -31,8 +32,9 @@ See deliverables. **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 +- F2. Nodes can connect to other nodes that support mix using static configuration. - 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. @@ -40,6 +42,7 @@ See deliverables. - S2. nwaku CLI for sender nodes. **Checklist**: + - [ ] Specs: link to specs - [ ] Code: link to GitHub issues/PRs/Epic - [ ] Dogfood: link to dogfooding session/artefact diff --git a/draft-roadmap/mixnet_usage_improvements.md b/draft-roadmap/mixnet_usage_improvements.md new file mode 100644 index 0000000..03e3db5 --- /dev/null +++ b/draft-roadmap/mixnet_usage_improvements.md @@ -0,0 +1,68 @@ +# Add peer discovery to mixnet and support browser + +**Estimated date of completion**: 31 March 2026 + +**Resources Required for 2025H2**: + +- 1 core research engineer for 5 months + +Peer discovery for mixnet was descoped from the previous milestones due to upcoming challenges around ENR usage and modification to libp2p needed to support mix peers in rendezvous. + +Web apps have been a strong dogfooding and adoption driver for Waku, especially for edge nodes. Adding mix will not only enable wider dogfooding, but also increase anonymity for browser users. + +## Strategic Objective + +Logos Vision: Core Values Alignment + +## FURPS + +See deliverables. + +## Risks + +| Risk | (Accept, Own, Mitigation) | +| --------------------------------------- | ------------------------------------------------------------------ | +| Impact on latency and other UX elements | Run simulations and studies to understand impact | +| Unknowns in implementing js-mix | Further study and understanding of js-libp2p internals | +| Possible `exit==destination` in dependency library impact existing implementation | Frequent syncing with Vac and p2p team to understand impact and progress | + +## Deliverables + +### [Implement and integrate libp2p mix in js-waku for light push](https://github.com/waku-org/js-waku/issues/2634) + +**Owner**: Core Research + +**Feature**: [Mix](/FURPS/core/mix.md) + +**FURPS**: + +- P1. Payloads are limited to 4kB + +- S3. Browser based apps built using js-waku 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) + +### [Implement basic discovery for mix]() + +**Owner**: Core Research + +**Feature**: [Mix](/FURPS/core/mix.md) + +**FURPS**: + +- F5. Nodes can discover other nodes that support mix using available peer discovery mechanisms. + +- S4. Browser based apps built using js-waku support discovering mix nodes using available peer discovery mechanisms. + +**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) +