|
| 1 | +# Add peer discovery to mixnet and support browser |
| 2 | + |
| 3 | +**Estimated date of completion**: 31 March 2026 |
| 4 | + |
| 5 | +**Resources Required for 2025H2**: |
| 6 | + |
| 7 | +- 1 core research engineer for 5 months |
| 8 | + |
| 9 | +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. |
| 10 | + |
| 11 | +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. |
| 12 | + |
| 13 | +## Strategic Objective |
| 14 | + |
| 15 | +Logos Vision: Core Values Alignment |
| 16 | + |
| 17 | +## FURPS |
| 18 | + |
| 19 | +See deliverables. |
| 20 | + |
| 21 | +## Risks |
| 22 | + |
| 23 | +| Risk | (Accept, Own, Mitigation) | |
| 24 | +| --------------------------------------- | ------------------------------------------------------------------ | |
| 25 | +| Impact on latency and other UX elements | Run simulations and studies to understand impact | |
| 26 | +| Unknowns in implementing js-mix | Further study and understanding of js-libp2p internals | |
| 27 | +| Possible `exit==destination` in dependency library impact existing implementation | Frequent syncing with Vac and p2p team to understand impact and progress | |
| 28 | + |
| 29 | +## Deliverables |
| 30 | + |
| 31 | +### [Implement and integrate libp2p mix in js-waku for light push](https://github.com/waku-org/js-waku/issues/2634) |
| 32 | + |
| 33 | +**Owner**: Core Research |
| 34 | + |
| 35 | +**Feature**: [Mix](/FURPS/core/mix.md) |
| 36 | + |
| 37 | +**FURPS**: |
| 38 | + |
| 39 | +- P1. Payloads are limited to 4kB |
| 40 | + |
| 41 | +- S3. Browser based apps built using js-waku support acting as entry nodes. |
| 42 | + |
| 43 | +**Checklist**: |
| 44 | + |
| 45 | +- [ ] Specs: link to specs |
| 46 | +- [ ] Code: link to GitHub issues/PRs/Epic |
| 47 | +- [ ] Dogfood: link to dogfooding session/artefact |
| 48 | +- [ ] Docs: links to README.md or docs.waku.org (TBD) |
| 49 | + |
| 50 | +### [Implement basic discovery for mix]() |
| 51 | + |
| 52 | +**Owner**: Core Research |
| 53 | + |
| 54 | +**Feature**: [Mix](/FURPS/core/mix.md) |
| 55 | + |
| 56 | +**FURPS**: |
| 57 | + |
| 58 | +- F5. Nodes can discover other nodes that support mix using available peer discovery mechanisms. |
| 59 | + |
| 60 | +- S4. Browser based apps built using js-waku support discovering mix nodes using available peer discovery mechanisms. |
| 61 | + |
| 62 | +**Checklist**: |
| 63 | + |
| 64 | +- [ ] Specs: link to specs |
| 65 | +- [ ] Code: link to GitHub issues/PRs/Epic |
| 66 | +- [ ] Dogfood: link to dogfooding session/artefact |
| 67 | +- [ ] Docs: links to README.md or docs.waku.org (TBD) |
| 68 | + |
0 commit comments