Dandelion - Reading Assignment

. It is a quick spreading of a transaction from each node to all his peers until the network is flooded by the transaction. It is basically a broadcast.

. Stem and fluff phase. The stem phase is basically when a node is looking for a « random VPN »(a random node that will serve as a proxy). The fluff phase is like a broadcast segmented into « randomized timing » for each specific communication.

. It addresses a bizantine fault where a lot of nodes are either faulty or malicious.

. The first way to transition is for the node to randomly choose between the relay or diffuser mode at each epoch. This is set by a percentage property in the code. The other way is when the node is in relay mode and does not receive a confirmation from any other relays. The node then switches to spreading mode.

1 Like
  1. What is ‘flooding’? — redundant communication by broadcasting transactions to all peers, then that peer to all peers and so on, travelling in all directions
  2. What are the two phases of a Dandelion broadcast and what happens in each phase? Anonymity or stem phase to seek out a proxy node along a special linear search path then spreading or fluff phase where proxy node spreads information rapidly and symmetrically in a flood
  3. What potential weakness of Dandelion does Dandelion++ aim to address? — dandelion++ is able to resist large scale rule breaking deanonymization attacks
  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase? By epoch switching or through a fail safe mechanism
1 Like
  1. The information travels in all directions over the network like a wave. Flooding the network

  2. In general, the two phases use different sets of peer connections with the important difference that the anonymity phase connection set changes with time. Phase 1 (stem) : finds a proxy node for the initial broadcast of the transaction and phase 2 (fluff): The node spreads the information rapidly and symmetrically throughout the network

  3. Dandelion++ tweaks Dandelion to resist large-scale rule-breaking deanonymization attacks. It creates an additional node relay in the stem phase. Making it hard to link IP addresses and transactions.

  4. In the new stem phase, to implement dynamic connectivity, it proceeds in discreet intervals, called epochs. With each new epoch, a node picks two new relay connections at random from its outbound connections. Then whenever the node creates its own transaction it sends it over one of these two relays, always making the same choice for a given epoch. And whenever it gets a transaction from another node for forwarding during stem phase, if it is a relayer (more on this below), it sends it out randomly over one of the two relays.

1 Like

• What is ‘flooding’? It’s the start of a new transaction broadcasted in all direction over the network. Where the transaction is communicate to all its peers, who in turn communicate to all their peers, with some checks to prevent redundant communication

• What are the two phases of a Dandelion broadcast and what happens in each phase? The phases are the anonoymity (stem) phase and the spreading (fluff) phase. The difference is that the anonymity phase uses a proxy node and the connection set changes with time.

• What potential weakness of Dandelion does Dandelion++ aim to address? The weakness of large scale rule breaking deanonymization attacks.

• Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’. The stem phase use dynamic connectivity and it proceeds in discreet intervals called epoch. For each epoch a node classifies itself as either a relayer or a diffuser, the nodes are determined at random at the start of each epoch. The node could also trigger the fluff phase.

1 Like

1. What is ‘flooding’?
Flooding is a process of distributing transactions where the transaction is sent to all the connected peers of a node, and then further to the peers os peers, until it reaches a miner and is added into a block.
2. What are the two phases of a Dandelion broadcast and what happens in each phase?
Stem and Fluff. Stem finds a proxy node to distribute the transaction, and the fluff phase symetrically distributes the transaction.
3. What potential weakness of Dandelion does Dandelion++ aim to address?
Dandelion is only effective against passive advasaries on the network. Dandelion++ is designed to thwart active adversaries on the network.
4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?

  1. If, at the beginning of an epoch, a node classifies itself as a diffuser, then it will start the fluff phase when it is sent a message to relay
  2. If, at the beginning of an epoch, a node classifies itself as a relayer, and sends a message, but does not receive a copy of the message as a diffusion after a certain time period, then it will start the diffusion (fluff) phase.
1 Like
  1. What is ‘flooding’?
    Flooding is the process of broadcasting your transaction to all local nodes at the same time. these nodes then propagate the said transaction to its local nodes at the same time creating a wave like sequence.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    The Stem phase finds a proxy node to broadcast the transaction. The fluff phase establishes another process for broadcast distributing the transaction further.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ resists large-scale rule breaking deanonymising attacks from passive observer nodes

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    The first is: (Diffuser Node) whenever it is given a transaction to relay as stem phase, it instead broadcasts it using diffusion, thereby starting the fluff phase.
    The second is: (Relay Node) it sends a transaction randomly over one of the two relays.

1 Like
  1. Flooding is a broadcasting process used to communicate transactions across the network, by having all nodes communicating the information to their peers.
  2. The two phases of a Dandelion broadcast:
    1 Anonymity- seeking out a proxy node along a special linear search path
    2Spreading-spreading information of proxy node rapidly and symmetirically
    3.The potential weakness of Dandelion is that of honesty amongst nodes, thus undermining Dandelion’s anonymity.
  3. The two methods are:
  • “epochs switching”
  • “fail-safe mechanism”
1 Like

What is ‘flooding’?
It is a broadcasting process used to communicate transactions across the network, by having all nodes communicating the information to their peers which will then do the same and so on, so forth

  1. What are the two phases of a Dandelion broadcast and what happens in each phase?
    STEM phase is called the process of looking for a proxy node to broadcast
    FLUFF phase is the process of broadcasting (or spreading) to the network

  2. What potential weakness of Dandelion does Dandelion++ aim to address?
    The risk that nodes within the network may not be “honest” nodes and undermine Dandelion’s anonymity

  3. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    Either by using the “epochs switching” method or through the “fail-safe mechanism”

1 Like

1. What is ‘flooding’? The process a node uses to broadcast a new transaction to its peers, and then those peers tell their peers etc.

2. What are the two phases of a Dandelion broadcast and what happens in each phase? Anonymity or Stem phase. Finding a proxy node on a linear search path.

Spreading or fluff phase. Spreading rapidly and symmetrically.

3. What potential weakness of Dandelion does Dandelion++ aim to address? To resist large-scale rule-breaking deanonymization attacks. That is cancel out nodes who don’t use Dandelion or nodes that don’t follow the rules.

4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase? If a node is a diffuser, whenever it is given a transaction to relay as stem phase, it instead broadcasts it using diffusion, thereby starting the fluff phase. It also has a fail safe mechanism to invoke.

1 Like
  1. What is ‘flooding’?
    Flooding is the process where a Monero node starts the broadcast of a new transaction.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    -Anonymity (or stem) phase: finding a proxy node to broadcast
    -Spreading (or fluff) phase: broadcast

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Large-scale rule-breaking deanonymization attacks, where adversaries have spy nodes distributed throughout the network, forming some significant fraction of the overall network.

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    -Epoch switching
    -Fail-safe mechanism

1 Like

1.- Broadcasting a transaction to the rest of the nodes.

2.- Anonymity phase: Finding a proxy node to broadcast.
Spreading phase: Spreading info through said node.

3.- Delay to transaction propagation.

4.- With Epochs and difussion.

1 Like
  1. sending the tx to all nodes, who in turn send to their nodes
  2. Anonymity: finding a node to broadcast to. Spreading: having that node broadcast
  3. dishonest nodes attempting to identify the users
  4. when a diffuser receives a broadcast it originally sent out or if the relay node time threshold is passed
1 Like
  1. What is ‘flooding’?
    Flooding is the manner in which a Monero node broadcasts a new transaction to other nodes, it has an origin and a time dependent arrival at other nodes which isn’t controlled. So it creates a pattern which can be observed and back calculated to identify the originating node.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    -Route transactions to a remote node first- anonymity/stem phase
    -spreading/fluff phase

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Resistant to passive observers ona network of honest nodes, but doesn’t protect from active observers with dishonest nodes…D++ is resistant to large scale deanonymization attacks

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    One of two modes picked at random at the start of each epoch: relayer or diffuser mode
    If in diffuser mode, it will start a fluff phase even if it was a relayer in the stem phase. So: 1. A relay node can epoch switch to diffuser and start the fluff phase. 2. A relay node can “time out” when awaiting a return on the relayed transaction, so will initiate a fluff phase (fail-safe mechanism)

1 Like
  1. 'Flooding’ is when a Monero node starts the broadcast of a new transaction. It communicates the transaction to all its peers, who in turn communicate to all their peers, and so forth, with some checks to prevent redundant communication. The information travels in all directions over the network like a wave. Some cryptocurrencies, like Bitcoin, randomize the timing of this broadcast, but Monero does not.
  2. The two phases of a Dandelion broadcast are firstly a process for finding a proxy node to broadcast the flooding, called the anonymity (or stem) phase. Secondly it establishes another process for broadcast, called the spreading (or fluff) phase. In general, the two phases use different sets of peer connections with the important difference that the anonymity phase connection set changes with time.
  3. The potential weakness of Dandelion which Dandelion++ aims to address is that an adversary seeking to link transactions with IP addresses may not be passive, and may not follow the rules of the network. So the creators of Dandelion++ modeled an adversary as a botnet with spy nodes distributed throughout the network, forming some significant fraction of the overall network. In their model, these nodes need not follow the rules. They can generate any number of outbound connections to any honest or adversarial nodes. They use all available information, including timing and the addresses of senders. It is in this very hostile environment that Dandelion++ succeeds in protecting anonymity.
  4. Under the Dandelion++ protocol, the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase are that in the new stem phase, to implement dynamic connectivity, it proceeds in discreet intervals, called epochs. Each node switches epoch independently, typically every few minutes. With each new epoch, a node picks two new relay connections at random from its outbound connections. Then whenever the node creates its own transaction it sends it over one of these two relays, always making the same choice for a given epoch. Additionally,whenever it gets a transaction from another node for forwarding during stem phase, if it is a relayer node, it sends it out randomly over one of the two relays.
1 Like
  1. What is ‘flooding’?
    A method by which transactions used to be broadcasted across the Monero network. The wallet sends the transaction to the gateway node, who then sends it to all its peers, which then send it to all of their peers and so on, with mechanisms to stop redundant information.
  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    Anonymity phase (stem phase) where the transaction is routed to a “proxy node” before being broadcasted. Spreading phase (fluff phase) where the transaction undergoes diffusion, a type of randomized flooding.
  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion may not stop an attacker who isn’t passive and who doesn’t follow the rules.
  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    The first way is a transaction can be relayed to a “diffusor” which then puts the transaction into the fluff phase. The second is a “relayer” relays the transaction but doesn’t see it diffused within a certain period of time, in which case the relayer will start diffusing the transaction.
1 Like
  1. An XMR node starting a broadcast uses flooding. It is a process where the node communicates the transaction to all its peers, and those peers communicate to their peers, and so on. The transaction propagates through the network like a wave.
  2. Dandelion first defines a process for finding a proxy node (the anonymity/stem phase). Then it makes another process for broadcasting the transaction (the spreading/fluff phase).
  3. Dandelion++ improves on the original by adding measures against large-scale and rule-breaking deanonymization attacks.
  4. Either using epochs, or an intuitive but clever method, the failsafe mechanism (where a node starts its own fluff phase if a time threshold passes without the node receiving the same transaction it propagated back).
1 Like

Flooding is the way Monero node broadcasts a new transaction.

Stem phase: dynamic connection in discreet interval before a flooding. Fluff phase: diffusion flooding where the timing of the communications are random to make it harder for spy nodes to locate the source.

Spyware that links your transactions with your IP address.

  1. Node classified as a diffuser: whenever it is given a transaction to relay as stem phase, it instead broadcasts it using diffusion, thereby starting the fluff phase.
  2. Fail-safe mechanism: Each node that relays a transaction during stem phase starts a timer for that transaction. If a time threshold passes without the node receiving the same transaction back during a fluff phase, it starts its own fluff phase.
1 Like
  1. It is a broadcasting process used to communicate transactions across the network, by having all nodes communicating the information to their peers which will then do the same and so on, so forth.
  2. Dandelion defines a process for finding a proxy node to broadcast, called the anonymity (or stem) phase. And it establishes another process for broadcast, called the spreading (or fluff) phase.
  3. Dandelion++ tweaks Dandelion to resist large-scale rule-breaking deanonymization attacks.
  4. Either by using the “epochs switching” method or through the “fail-safe mechanism”.
1 Like
  1. Flooding is the process the Monero node uses when starting the broadcast of a new transaction. It communicates the transaction to all its peers, who in turn communicate to all their peers, and so forth, with some checks to prevent redundant communication. The information travels in all directions over the network like a wave.

  2. The two phases of a Dandelion broadcast are:
    2.1. the anonymity (or stem) phase - a process for finding a proxy node to broadcast
    2.2. the spreading (or fluff) phase - the process for broadcast

  3. Dandelion++ tweaks Dandelion to resist large-scale rule-breaking deanonymization attacks.

  4. The two ways to transition from the ‘stem’ phase to the ‘fluff’ phase under the Dandelion++ protocol:
    In the new stem phase, to implement dynamic connectivity, it proceeds in discreet intervals, called epochs. Each node switches epoch independently, typically every few minutes. With each new epoch, a node picks two new relay connections at random from its outbound connections.

1 Like

[1. What is ‘flooding’?
It communicates the transaction to all its peers, who in turn communicate to all their peers, and so forth, with some checks to prevent redundant communication.
2. What are the two phases of a Dandelion broadcast and what happens in each phase?
Anonymity – To find a proxy node to broadcast
Spreading (or Fluff) – The actual process of broadcasting
3. What potential weakness of Dandelion does Dandelion++ aim to address?
To resist large-scale rule-breaking deanonymization attacks.
Gives formal guarantees of resistance to deanonymization.
4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
In the new stem phase, to implement dynamic connectivity, it proceeds in discreet intervals, called epochs. Each node switches epoch independently, typically every few minutes. With each new epoch, a node picks two new relay connections at random from its outbound connections. Then whenever the node creates its own transaction it sends it over one of these two relays, always making the same choice for a given epoch. And whenever it gets a transaction from another node for forwarding during stem phase, if it is a relayer (more on this below), it sends it out randomly over one of the two relays.
The fluff phase in Dandelion++ uses diffusion, the flooding process where the timing of the communications are random to make it harder for spy nodes to locate the source. Once a transaction has started the diffusion process it continues to propagate using diffusion, never going back to the stem phase. Diffusion starts, though, in special way with Dandelion++. For each epoch, a node classifies itself as either a relayer or a diffuser. The mode is determined at random at the start of the epoch. If a node is a diffuser, whenever it is given a transaction to relay as stem phase, it instead broadcasts it using diffusion, thereby starting the fluff phase.

1 Like