Mix defines 3 roles for the nodes in the mix network - entry
, exit
, intermediary
. Each node in the network can have all 3 roles or can act as just an entry/exit node as well.
entry
node is the node that wants to publish messages into the network using mix protocolexit
node is responsible for delivery messages to destination peer in the network.intermediary
node is responsible for just forwarding mix packet to the next mix node in the path.For more details please refer here
Mix
networks are very different from Tor
type networks.
10 mins
or so.random for each message being sent
. this ensures higher anonymity than tor and even works against various forms of passive and timing analysis.sender
mix
uses the Sphinx cryptographic packet format to ensure that both incoming and outgoing packets are of fixed size. The packet is padded up to the maximum size S
, but Sphinx doesn’t use traditional padding. Instead, the inner layer is padded to account for both the header and payload, up to the maximum path length r
. This padding is also encrypted. As a result, even if the number of hops L
is less than r
, the padding at each hop will vary based on the difference between L
and r
. From the network’s perspective, everything including the padding appears indistinguishable. If we choose to set L = r
, it could make the system more efficient, but it would reduce flexibility.TCP
, UDP
or QUIC
. Refer heremix
being implemented as a libp2p protocol
that can reuse existing transport connection. mix offers a virtual connection
which can be used by existing protocols such as lightpush
to publish messages.
libp2p transport
due to certain limitations, we don’t see any challenges with initial phase, but needs further analysis on impact in general. This will force each node to have 2 different transport connections to same peer (if peer also supports mix).protocol
and virtual transport
taking a cue from circuit-relay??libp2p Mix
protocol’s integration into waku
is being done to provide stronger anonymity
for waku users and protocols especially sender anonymity and protection against timing analysis. The current anonymity provided by using StrictNoSign
with gossipsub is not sufficient enough. Refer to this article for more details.
Integration of Mix into waku shall be done in multi-phased approach. This enables publishers to have stronger anonymity
.