Skip to content

Commit aab4ffc

Browse files
committed
addressed review comments
Signed-off-by: Prem Chaitanya Prathi <[email protected]>
1 parent b2139d4 commit aab4ffc

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

standards/core/mix.md

+15-12
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ Without further anonymization, it is easy to analyze the network traffic and det
2929
Topic interests of a user can be identified by analyzing [Store](https://rfc.vac.dev/waku/standards/core/13/store) query messages sent by a user.
3030
Same applies for topic subscriptions via [Filter](https://rfc.vac.dev/waku/standards/core/12/filter) protocol.
3131

32-
`Mix` protocol allows libp2p nodes to send messages without revealing the sender's identity to intermediary mix nodes or the recipient/destination.
32+
`Mix` protocol allows libp2p nodes to send messages without revealing the sender's identity (peer ID, IP address) to intermediary mix nodes or the recipient/destination.
3333
Anonymity is achieved by using the [Sphinx packet format](#references), which encrypts and routes messages through a series of mix nodes before reaching the recipient.
3434

3535
By integrating the `mix` protocol into the waku network, we can improve the anonymity for publishers and store query users.
36-
Each waku relay node will be acting as a mix node that forms an `overly mix network`.
37-
This network of mix nodes SHALL relay mix messages anonymousl to the recepient.
36+
Each waku relay node will be acting as a mix node that forms an `overlay mix network`.
37+
This network of mix nodes SHALL relay mix messages anonymously to the recepient.
3838

3939
Anonymity of [Filter](https://rfc.vac.dev/waku/standards/core/12/filter) users is not addressed by this document.
4040

@@ -47,30 +47,34 @@ The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL
4747
Waku Mix creates an `overlay network` of all the waku nodes that support the `mix` protocol.
4848

4949
Nodes with `mix` protocol mounted SHOULD advertise that they support mix protocol via their their chosen discovery method.
50-
They may do so by updating their [ENR](#enr-updates) and using one of the ENR based discovery methods.
50+
They MAY do so by updating their [ENR](#enr-updates) and using one of the ENR based discovery methods.
5151

5252
Nodes that want higher anonymity while publishing a message via [lightpush](https://rfc.vac.dev/waku/standards/core/19/lightpush) or performing a [store](https://rfc.vac.dev/waku/standards/core/13/store) query SHOULD use the `mix` protocol to route their messages to the destination.
5353
Sender Node that would like to use `mix` protocol SHOULD discover enough mix nodes so that there is always a healthy pool of mix nodes available for selection.
54-
The pool size of mix nodes SHOULD be large enough(greater than 100) for the mixing to be effective.
54+
The pool size of mix nodes SHOULD be large enough for the mixing to be effective.
55+
We RECOMMEND a pool size of at least 100 mix nodes for the mixing to be effective.
56+
57+
The serialized [Waku Message](https://rfc.vac.dev/waku/standards/core/14/message) SHOULD be the payload in the [sphinx packet](https://rfc.vac.dev/vac/raw/mix#4-sphinx-packet-format).
5558

5659
In order to provide anonymity of the sender node from the `service-node`, `Single Use reply blocks` or `anonymous replies` as specified in the original [sphinx](#references) paper SHALL be used.
5760

58-
A node that sends messages using `mix` MAY use 2 redundant (paths)[https://rfc.vac.dev/vac/raw/mix#24-node-discovery] to have better reliability of the message being delivered.
61+
A node that sends messages using `mix` MAY use two redundant (paths)[https://rfc.vac.dev/vac/raw/mix#24-node-discovery] to have better reliability of the message being delivered.
62+
It is up to the higher-layer mixed protocol to deduplicate redundant messages received in this way.
5963

6064
## Node Roles
6165

6266
Mix protocol defines 3 roles for the nodes in the mix network - `sender`, `exit`, `intermediary`.
6367

6468
- An `sender` node is the originator node of a message, i.e a node that wishes to publish/query messages to/from the waku network.
65-
- An `exit` node is responsible for delivery messages to destination peer in the network.
69+
- An `exit` node is responsible for delivering messages to destination peer in the network.
6670
- An `intermediary` node is responsible for forwarding a mix packet to the next mix node in the path.
6771

6872
A Waku relay node SHOULD by default have mix `intermediary` and `exit` node roles in the network.
6973
The implementation MAY provide a configuration to disable a node from acting as an `intermediary\exit` node.
7074

71-
Any waku node that wishes to publish/query messages from the waku network MUST act as an `sender` node.
75+
Any waku node that wishes to publish/query messages from the waku network MUST act as a `sender` node.
7276

73-
Light nodes with short connection windows SHOULD always be acting as `sender` nodes.
77+
Resource-restricted/Edge nodes with short connection windows SHOULD always be acting as `sender` nodes.
7478

7579
## ENR updates
7680

@@ -86,7 +90,8 @@ This moves the problem into discovery domain and requires the following from dis
8690
1. It is important for nodes to be able to discover as many nodes as possible quickly. This becomes especially important for edge nodes that come online just to publish/query messages for a short period of time.
8791
2. It is important to have the most recent online status of the nodes so that mix paths that are selected are not broken which lead to reliability issues.
8892

89-
Point-2 above can be mitigated partially by choosing redundant mix paths for the same message by the sender node. This may not be an effective solution as it increases the overall bandwidth usage.
93+
Point-2 above can be mitigated partially by choosing redundant mix paths for the same message by the sender node.
94+
This may not be an effective solution as it increases the overall bandwidth usage.
9095

9196
## Spam Protection
9297

@@ -96,8 +101,6 @@ Mix protocol in waku network SHOULD have `rate-limiting/spam` protection to hand
96101
2. Any node can intentionally generate paths which are broken and send messages into the mix network.
97102
3. An attacker can spawn a huge number of mix nodes so that user behaviour is observed in order to determine traffic patterns and deanonymize users.
98103

99-
The current [WAKU RLN](https://rfc.vac.dev/waku/standards/core/17/rln-relay) can address scenario-3 by making it restrictive for users to be able to spawn a lot of nodes in the network.
100-
101104
There is a need to enforce rate-limits and spam protect the mix network.
102105
The rate-limiting and spam protection SHALL be addressed as part of future work.
103106

0 commit comments

Comments
 (0)