From eb7690fecf8c79b496c4e80713373116c79060cd Mon Sep 17 00:00:00 2001 From: Prem Chaitanya Prathi Date: Tue, 9 Sep 2025 16:53:53 +0530 Subject: [PATCH] mix implementation and integration in js --- FURPS/core/mix.md | 3 ++ .../introduce_mixnet_for_message_sending.md | 30 +++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/FURPS/core/mix.md b/FURPS/core/mix.md index dcd1f7e..6f3b4bb 100644 --- a/FURPS/core/mix.md +++ b/FURPS/core/mix.md @@ -6,6 +6,8 @@ 2. Nodes can discover other nodes that support mix using available peer discovery mechanisms 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. Browser clients can send light push requests over the mixnet before delivery to a service node. +6. Browser clients can receive a response to a light push request over the mixnet. ## Usability @@ -17,5 +19,6 @@ 1. `wakunode2` for intermediary and exit nodes. 2. nwaku CLI for sender nodes. +3. Browser based apps built using js-waku should support acting as entry nodes. ## + (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..90c52e8 100644 --- a/draft-roadmap/introduce_mixnet_for_message_sending.md +++ b/draft-roadmap/introduce_mixnet_for_message_sending.md @@ -1,9 +1,11 @@ # Introduce Mixnet For Message Sending -**Estimated date of completion**: 30 Sep 2025 +**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. @@ -18,9 +20,10 @@ 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 @@ -31,6 +34,7 @@ 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 - F3. Client nodes can send light push requests over the mixnet before delivery to a service node. @@ -40,6 +44,28 @@ 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 +- [ ] 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**: + +- F1. Browser clients can discover other nodes that support mix using available peer discovery mechanisms +- F2. Browser clients can send light push requests over the mixnet before delivery to a service node. +- F3. Browser clients can receive a response to a light push request over the mixnet. + +- S1. Browser based apps built using 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