Network
Packet Mixing

Packet Mixing

Continuous-time mixing strategies ... delay each message independently, forwarding it to its next destination once a specified delay has timed out. The aggregate effect of independently delaying each message is an output sequence of messages that is randomly reordered with respect to the input sequence.

Nym Whitepaper (opens in a new tab) §4.4

Mixnets are networks of nodes that route traffic in a way that makes it untraceable, even for Global Passive Adversaries employing Machine Learning to try and deanonymise traffic based on timing and fingerprinting attacks.

One of the key features of a Mixnet - unsurprisingly - is that these nodes 'mix' traffic. As traffic moves through the network, each node, on receiving a message, will wait a variable length amount of time before sending it onwards - aka nodes do not pass messages on in a FIFO manner. An easy analogy is each node constantly receiving and sending out cards, shuffling their local deck each time and randomly selecting a card to pass along in the chain of messages.

The Mixnet employs continuous-time mixing, in which each message is dealt with independently of the other messages in the node's local storage. This is in contrast to other Mixnet designs which rely on nodes sending out periodic bursts of accrued messages, such as the Chaumian Mixnet design "which collects a number of input messages and outputs a random permutation of those messages, is known to suffer from some disadvantages: the end-to-end latency of messages in such mixnets is neither bounded nor predictable, and the bursty communication caused by periodically flushing batches of messages makes these mix designs inefficient at utilizing bandwidth. In terms of anonymity, simple batching strategies are known to offer low anonymity as well as being particularly vulnerable to attacks" (Nym Whitepaper (opens in a new tab) §4.4)

Continuous-time mixing, in contrast:

  • "offer[s] optimal anonymity properties for a given mean end-to-end latency" due to the per-message randomised delay amount: by using an exponential delay distribution, we acheive a situation in which "if we observe two messages going into the mix node at times t0 < t1, and a message coming out at a later time t2, the probability that the output is any of the two inputs is equal, regardless of differences in their arrival times t0 and t1."
  • offers a larger anonymity set than Chaumian batch Mixnets such as Elixxir (opens in a new tab) due again to the exponential delay distribution: "even if most delays will be short, there is a non-zero probability that a message will incur a large delay; therefore, the adversary cannot discard future mix output messages as candidates for an input it wants to trace"
  • allows nodes to send data more efficiently by continously sending/receiving packets.
  • allows for a lower overall latency due to not having to wait for batches to be filled before messages are sent through to the next hop.