Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion FURPS/core/mix.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,24 @@
## 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

## Reliability

## 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)
9 changes: 6 additions & 3 deletions draft-roadmap/introduce_mixnet_for_message_sending.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -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 |

Expand All @@ -31,15 +32,17 @@ 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.

- 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
Expand Down
66 changes: 66 additions & 0 deletions draft-roadmap/mixnet_usage_improvements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Improve mixnet usage

**Estimated date of completion**: 31 March 2026

**Resources Required for 2025H2**:

- 1 core research engineer for 5 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 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)