Owner: @Marcin Pawlowski
Reviewers: 🟢@Youngjoon Lee 🔺@Alexander Mozeika 🔺@Álvaro Castro-Castilla
Background
Please refer to Nomos Blend Network: Introduction [WIP Design] for more information about the Nomos Blend Network design.
Introduction
The Persistent Transmission Module is responsible for establishing and monitoring connections between nodes. Persistent Transmission Module maintains number of connections defined by the Peering Degree system parameter. It is responsible for emitting drop messages with Drop Emission Probability. Moreover, it is responsible for monitoring that received messages are generated at Effective Emission Frequency ($EEF$) which defines the total rate at which data and cover messages are effectively generated.
For simplicity we are not distinguishing between data and cover messages in this part of the design due to the fact that they are indistinguishable from the perspective of the PTM.
The protocol defines two types of messages, data and drop. Data messages contain non-zero information and are used by other mechanisms of the Nomos Network protocol. Drop messages are added on the connection level to make the statistical network analysis hard and obfuscate the fact that the node emits a data message. Drop messages are discarded by the other end of the connection. Both message types must be of the same length, otherwise they could be distinguished by an external observer.
Finally, each of the established connections is encrypted. Therefore, for an external observer both drop and data messages are indistinguishable.
The Persistent Transmission gives us the following properties from the perspective of a global observer.
- First, an observer cannot distinguish between messages due to application of the encryption.
- Second, an observer cannot learn any statistical dependencies between timing of messages as data messages are randomly interleaved with drop messages.
- Third, an observer cannot learn when a node is transmitting a meaningful message as it cannot distinguish between drop and data messages.
Note about frequencies
- We define a Maximal Emission Frequency (MEF) which describes how often a consensus message can be emitted. We assume it to be a single message per 1 second, therefore $MEF=1$.
- We note that both $EEF$ and $DEF$ are expressed as fractions of $MEF$, where $EEF$describes Effective Emission Frequency which defines the total rate at which data and cover messages are generated, and $DEF$ describes the Drop Emission Frequency which defines the rate at which drop messages are generated. In other words, the $EEF$ and $DEF$ describe how many messages of a particular type are expected to be send and received by any node in the network.
- $DEF=MEF*\pi_{\empty}$, where $\pi_{\empty}$ is the probability of drop message emission.
- $EEF=MEF*\pi_{M}=MEF*(\pi_{C} + \pi_{D})$, where:
- $\pi_{M}$ is the probability of emitting non-drop message,
- $\pi_{C}$ is the probability of emitting cover message,
- and $\pi_{D}$ is the probability of emitting data message.
- We note that measured the drop emission frequency $\widehat {DEF} =DEF \pm \epsilon_{DEF}$ approximates the ideal frequency with some $\epsilon_{DEF}$ divergence.
- We note that measured the effective emission frequency $\widehat{EEF} = EEF \pm \epsilon_{EEF}$ approximates the ideal frequency with some $\epsilon_{EEF}$ divergence.
- Moreover, we restrict the probability of emitting messages in such way that $1 \ge \pi_{\empty} + \pi_{C} + \pi_{D}$. Therefore, a node cannot emit more messages than $MEF$ allows. That is, $MEF \ge EEF + DEF$. Otherwise, due to independence of $DEF$ and $MEF$, if a node emits two messages in the same slot time, then that fact informs the observer that a non-drop message was sent by the node.
Design