From b7b2f928305f50dbef9f12d304fa3d852e5fb9aa Mon Sep 17 00:00:00 2001 From: jm-clius Date: Fri, 26 Sep 2025 11:43:06 +0100 Subject: [PATCH 1/3] docs: add new mix milestone docs: add FURPS docs: add discovery deliverable --- FURPS/core/mix.md | 7 +- FURPS/core/rln_smart_contract.md | 1 + draft-roadmap/integrate_rln_with_waku_api.md | 3 +- .../introduce_mixnet_for_message_sending.md | 9 ++- draft-roadmap/mixnet_usage_improvements.md | 65 +++++++++++++++++++ 5 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 draft-roadmap/mixnet_usage_improvements.md diff --git a/FURPS/core/mix.md b/FURPS/core/mix.md index dcd1f7e1..0b5ff27e 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. Payload (store query, light push message) 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/FURPS/core/rln_smart_contract.md b/FURPS/core/rln_smart_contract.md index 8353e02b..62925f62 100644 --- a/FURPS/core/rln_smart_contract.md +++ b/FURPS/core/rln_smart_contract.md @@ -13,6 +13,7 @@ 2. User does not need to wait for merkle tree synchronization and building to start relaying or sending messages. 3. Application does not need to do a Web3 RPC call for every tree change to generate or validate messages. +4. Application can transfer tokens and register membership with a single transaction. ## Reliability diff --git a/draft-roadmap/integrate_rln_with_waku_api.md b/draft-roadmap/integrate_rln_with_waku_api.md index b636f025..d8cacd2e 100644 --- a/draft-roadmap/integrate_rln_with_waku_api.md +++ b/draft-roadmap/integrate_rln_with_waku_api.md @@ -132,7 +132,7 @@ See deliverables. - [ ] Dogfood: link to dogfooding session/artefact - [ ] Docs: links to README.md or docs.waku.org (TBD) -### Improve RLN UX by reducing Web3 RPC calls +### [Improve RLN UX by reducing contract interactions](https://github.com/waku-org/pm/issues/344) **Owner**: core research @@ -140,6 +140,7 @@ See deliverables. **FURPS**: - U3. Application does not need to do a Web3 RPC call for every tree change to generate or validate messages. +- U4. Application can transfer tokens and register membership with a single transaction. **Checklist**: - [ ] Specs: link to specs and/or API definition diff --git a/draft-roadmap/introduce_mixnet_for_message_sending.md b/draft-roadmap/introduce_mixnet_for_message_sending.md index 38125c08..fb768164 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 00000000..2899b0b1 --- /dev/null +++ b/draft-roadmap/mixnet_usage_improvements.md @@ -0,0 +1,65 @@ +# Improve mixnet usage + +**Estimated date of completion**: 31 Jan 2026 + +**Resources Required for 2025H2**: + +- 1 core research engineer for 3 months + +Improve Waku mixnet usage by adding browser (js-waku) support and p2p discovery. + +## 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 on implementing js-mix | Further study and understanding of js-libp2p internals | + +## 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. Payload (store query, light push message) 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](https://github.com/waku-org/js-waku/issues/2634) + +**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) + From aad9bd58760529af302697f62e778a215983a350 Mon Sep 17 00:00:00 2001 From: jm-clius Date: Wed, 15 Oct 2025 14:57:07 +0100 Subject: [PATCH 2/3] docs: clarify ETA and scope --- FURPS/core/mix.md | 2 +- draft-roadmap/mixnet_usage_improvements.md | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/FURPS/core/mix.md b/FURPS/core/mix.md index 0b5ff27e..00929ae7 100644 --- a/FURPS/core/mix.md +++ b/FURPS/core/mix.md @@ -14,7 +14,7 @@ ## Performance -- P1. Payload (store query, light push message) are limited to 4kB +- P1. Payloads are limited to 4kB ## Supportability diff --git a/draft-roadmap/mixnet_usage_improvements.md b/draft-roadmap/mixnet_usage_improvements.md index 2899b0b1..02037af8 100644 --- a/draft-roadmap/mixnet_usage_improvements.md +++ b/draft-roadmap/mixnet_usage_improvements.md @@ -1,10 +1,10 @@ # Improve mixnet usage -**Estimated date of completion**: 31 Jan 2026 +**Estimated date of completion**: 31 March 2026 **Resources Required for 2025H2**: -- 1 core research engineer for 3 months +- 1 core research engineer for 5 months Improve Waku mixnet usage by adding browser (js-waku) support and p2p discovery. @@ -21,7 +21,8 @@ See deliverables. | Risk | (Accept, Own, Mitigation) | | --------------------------------------- | ------------------------------------------------------------------ | | 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 | +| 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 @@ -33,7 +34,7 @@ See deliverables. **FURPS**: -- P1. Payload (store query, light push message) are limited to 4kB +- P1. Payloads are limited to 4kB - S3. Browser based apps built using js-waku support acting as entry nodes. @@ -44,7 +45,7 @@ See deliverables. - [ ] Dogfood: link to dogfooding session/artefact - [ ] Docs: links to README.md or docs.waku.org (TBD) -### [Implement basic discovery for mix](https://github.com/waku-org/js-waku/issues/2634) +### [Implement basic discovery for mix]() **Owner**: Core Research From 666a4e4a4ee629a69bfcfbd1647fd11608009ac6 Mon Sep 17 00:00:00 2001 From: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com> Date: Tue, 21 Oct 2025 17:44:55 +0100 Subject: [PATCH 3/3] docs: apply suggestions from code review Co-authored-by: fryorcraken <110212804+fryorcraken@users.noreply.github.com> --- draft-roadmap/mixnet_usage_improvements.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/draft-roadmap/mixnet_usage_improvements.md b/draft-roadmap/mixnet_usage_improvements.md index 02037af8..03e3db52 100644 --- a/draft-roadmap/mixnet_usage_improvements.md +++ b/draft-roadmap/mixnet_usage_improvements.md @@ -1,4 +1,4 @@ -# Improve mixnet usage +# Add peer discovery to mixnet and support browser **Estimated date of completion**: 31 March 2026 @@ -6,7 +6,9 @@ - 1 core research engineer for 5 months -Improve Waku mixnet usage by adding browser (js-waku) support and p2p discovery. +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