Dandelion - Reading Assignment

1.) A Node communicating a Transaction to all its peers → non randomized broadcast
2.) anonymity (stem) Phase: finding Proxy Node to broadcast to
spreading (fluff) phase: broadcasting
3.) large-scale-rule-breaking deanonymization attacks → Protecting Anonymity
4.) -Nodes can have one of two classes. relayer or diffuser
diffusers broadcast transactions when given to relay as stem phase → starting fluff phase

  • fail-safe Mechanism
    When a trx is relayed during stem phase a timer is started for that trx. Fluff is started if threshold passes without Node receiving same trx back during another Fluff phase
1 Like
  1. Flooding is the broadcast of a transaction to all of a node’s peers, who then broadcast to their peers, and so on, without any randomized delay. This is a broadcast protocol.

  2. The two phases of a Dandelion broadcast are stem and fluff. During the stem phase, a transaction is broadcast to a proxy node, which then initiates the fluff phase where-in the transaction is broadcast widely to all peers.

  3. Dandelion++ in intended to address large scale rule breaking attacks. Dandelion originally was developed to resist a team of passive observers, but was still prone to the possibility of spy nodes.

  4. For each epoch, a node classifies itself as either a relayer or a diffuser. When a stem-phase broadcast is handed to a diffuser node, that transaction is then broadcast as a fluff-phase message and the fluff-diffusion has begun. However, Dandelion++ also includes a fail safe mechanism so that a relay node from the stem phase automatically starts diffusion if a time threshold has passed without receiving back a diffusion broadcast of that particular transaction.

1 Like
  1. Flooding - when network node 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. 1st - anonymity - dandelion defines a process for finding a proxy node to broadcast
    2nd - spreading - broadcast data

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

  4. 1st - 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.

    2nd - 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++.

1 Like
  1. Flooding is the new transaction broadcast process used by Monero node. The transaction is communicated 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 first phase is the anonymity/stem phase, which is the process for finding a proxy node to broadcast. The second phase is the spreading/fluff phase, which is the process for broadcast.

  3. Dandelion++ aims to address Dandelion’s vulnerability to large-scale rule-breaking deanonymization attacks.

  4. The two ways are by diffusion and by relaying.

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?
    First, Dandelion defines a process for finding a proxy node to broadcast, called the anonymity (or stem) phase. Secondly it establishes another process for broadcast, called the spreading (or fluff) phase.
  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ works on fixing the problem of trustlessnes -a node may not be “honest” and could undermine its anonymity.
  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    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.
    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

What is ‘flooding’?

Flooding is a process that 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.

What are the two phases of a Dandelion broadcast and what happens in each phase?

  • Anonimity (Stem) Phase: process for finding a proxy node to broadcast
  • Spreading (Fluff) Phase: process for broadcasting

What potential weakness of Dandelion does Dandelion++ aim to address?

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

Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?

  • First way: The broadcast travels along the network in discreet intervals, called epochs. At each interval, the node it reaches can randomly diffuse the transaction.
  • Second way: 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 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. a. the anonymity (or stem) phase: a process for finding a proxy node to broadcast
    b. the spreading (or fluff) phase: for broadcast

  3. To resist large-scale rule-breaking deanonymization attacks

  4. Fail-Safe Mechanism and Epochs.

1 Like
  1. Flooding is how monero broadcasts transactions. from a single point in all directions.

  2. Stem and fluff. Stem = Seek Proxy node. Fluff = Broadcast from Proxy node.

  3. Dandelion++ resists rule breaking.

  4. Epoch switching and Fail safe timeout.

1 Like

1.When nodes begin broadcasting random transactions, which causes other nodes to broadcast those same transactions across the network.
2. Finding a proxy node, establishes a more private way to broadcast rapidly and symetricly

  1. Some honest nodes don’t want to directly run Dandelion
  2. Diffusion and the Fail-Safe mechanism.
1 Like
  1. Flooding is the broadcasting process to communicate to all peers in the network, which in turn communicate to all their peers and so on. The information travels throughout the network like a wave.

  2. A) Stem phase is the process of looking for a proxy node to broadcast.
    B) Fluff phase is the process of spreading/broadcasting to the network.

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

  4. A) by using the epoch system
    B) the fail safe mechanism.

1 Like

1. What is ‘flooding’?
The process used by Monero nodes starting the broadcast of a new transaction communicating it 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 like a wave. Some cryptocurrencies, like Bitcoin, randomize the timing of this broadcast, but Monero does not.

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.
The spreading (or fluff) phase: broadcast.

3. What potential weakness of Dandelion does Dandelion++ aim to address?
Large-scale rule-breaking deanonymization attacks as adversaries seeking to link transactions with IP addresses may not be passive, and may not follow the rules of the network and a possible resistance of some honest nodes to run Dandelion.

4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
Using the switch of epochs as for each epoch a node classifies itself as either a relayer or a diffuser. The node is determined at random at the start of the epoch. If a node diffuser, whenever it is given transaction to relay as stem phase, it instead broadcasts it using diffusion, thereby starting the fluff phase.
&
Through the fail-safe mechanism of the network on which 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.) “Flooding” is a style of transaction broadcast that nodes use to prevent redundant communication. The node does this by communicating a transaction to all its peers, and those peers, in turn, communicate it to all of theirs (a continued process). This information travels in all directions, similar to that of a wave.
2.) The two phases of Dandelion broadcast are routing transaction to remote nodes in an undetectable fashion (stemming) and then initiate transaction flooding (fluffing). In the first phase, Dandelion finds a proxy node to broadcast while still maintaining anonymity. In the second phase, Dandelion spreads information from a proxy node rapidly and symmetrically to others.
3.) The potential weakness of Dandelion that Dandelion++ aims to address is the threat of large-scale, rule-breaking deanonymization attacks towards the original protocol.
4.) Under the Dandelion++ protocol, the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase are first using epochs in the “stem” phase to implement dynamic connectivity. The epochs proceed in discreet intervals and each node’s epoch switches independently within a few minutes. Each epoch gives the node two relay connections to choose from. Secondly, in the “fluff” phase of Dandelion++, diffusion is used in a flooding process to randomize the timing of node communication; thus, spy nodes have a much more difficult time locating transaction sources.

1 Like
  1. What is ‘flooding’? : The broadcast of a new transaction IS a process called flooding.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase? : 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. What potential weakness of Dandelion does Dandelion++ aim to address? : Dandelion++ 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? : The fail-safe mechanism in each node relays a transaction during stem phase starting a timer for that transaction, when a time threshold passes without the node receiving the same transaction back during a fluff phase, it starts its own fluff phase which serves two purposes : (1.) Frustrating attempts at deanonymization using timing, and (2.) Defeats so-called black-hole attacks where adversarial nodes discard transactions during the stem phase rather than relaying them.

1 Like

:one: What is ‘flooding’?

Flooding is the old method Monero used to broadcast transactions across the network. A node would communicate a transaction to all its peers, who when then further communicate the transaction to all their peers, and so on.
The problem with this is that you could often, or somewhat trace this back to a specific geography, as the transaction propagates in waves.
Any monitoring systems would be able to see which nodes are propagating a certain transaction, and approximate the transactions location.

:two: What are the two phases of a Dandelion broadcast and what happens in each phase?

  1. The anonymity (or stem) phase
    The stem phase uses discreet intervals with switching relays every few minutes to select its outbound peers.
  2. The spreading (or fluff) phase
    The fluff phase then uses the flooding method to broadcast transactions, however in the fluff phase, the timing is done at random.

:three: What potential weakness of Dandelion does Dandelion++ aim to address?

With Dandelion, sometimes a node could not follow the rules of the network.

Dandelion++ added delay to propagating transactions and added tweaks to the propagation methods to resist against deanonymization attacks by nodes that won’t abide by the rules of the Dandelion network.

:four: Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?

With every new epoch, a node will classify itself as a relayer (stem) or diffuser (fluff), and once a node creates its own transaction, it will send it over one of two relays. Whenever it gets a transaction from another node for forwarding stem phase, if it’s a relayer, it will then send it out randomly over one of two relays.

The second way to transition from the stem phase to the fluff phase is if the time threshold passed without the node receiving the same transaction back during a fluff phase. In this case, the node would then start its own fluff phase.

2 Likes
  1. Monero node starting the broadcast of a new transaction uses a process called 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. The anonymity or stem phase: Dandelion defines a process for finding a proxy node to broadcast
    The spreading or fluff phase: establishes another process for broadcast

  3. An adversary seeking to link transactions with IP addresses may not be passive, and may not follow the rules of the network. Some honest nodes may not run Dandelion. Dandelion++ tweaks Dandelion to resist large-scale rule-breaking deanonymization attacks.

    • 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.
    • through 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.
2 Likes
  1. ‘Flooding’ refers to a type of dissemination in which a message is broadcast to all nodes in a network.

  2. In a Dandelion broadcast, there are two phases: the ‘stem’ phase and the ‘fluff’ phase. During the stem phase, the message is disseminated through a small, fixed number of nodes called ‘stem nodes’. These nodes pass the message along to other stem nodes until the message reaches a certain threshold, at which point it enters the fluff phase. During the fluff phase, the message is disseminated through the network in a more traditional flooding manner, with each node forwarding the message to all of its neighbors.

  3. One potential weakness of the original Dandelion protocol is that an attacker could potentially identify the stem nodes and target them in an attempt to disrupt the dissemination of the message. Dandelion++ addresses this weakness by randomly shuffling the order in which the stem nodes are selected, making it more difficult for an attacker to accurately identify and target them.

  4. Under the Dandelion++ protocol, there are two ways to transition from the stem phase to the fluff phase: the first is based on a fixed threshold of stem node hops, and the second is based on a probabilistic threshold that is determined by the length of the stem. In the first case, the message enters the fluff phase after a certain number of stem node hops have been completed. In the second case, the message enters the fluff phase with a probability that increases with the length of the stem.

1 Like
  1. What is ‘flooding’?
    The Monero node starting the broadcast of a new transaction uses a process called 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?
    Dandelion broadcast has a stem and 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.

    The fluff phase 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.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ gives formal guarantees of resistance to deanonymization. It achieves this using local techniques, unlike the Tor network, which requires global reasoning

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

The monerooutreach link is not working at this time. I cam about my answers from the videos from Andreas Antonopoulos, Jimmy Song, and IvanOnTech and reading through some of the other responses.

What is ‘flooding’?

Flooding is broadcasting transaction to all nodes on the network.

What are the two phases of a Dandelion broadcast and what happens in each phase?

The two phases of dandelion are stem and fluff.

Stem is a long unbroken string of random proxy nodes in a chain.

Fluff transaction is broadcast to the rest of the network.

What potential weakness of Dandelion does Dandelion++ aim to address?

Dandelion transactions don’t go into the mempool, so it’s not possible to know if the transactions are valid.

Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?

Dandelion++ adds more randomness to the broadcast operation. A node is randomly classified as either a relayer or a diffuser.

  1. What is ‘flooding’?
    Flooding in the context of blockchain transactions refers to the process of broadcasting transaction information across the network by sending the data to all connected peers. This method ensures widespread dissemination but can compromise privacy by making it easier to trace transactions back to their source.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    Stem Phase : The transaction is relayed through a limited, linear path of nodes. This phase aims to obscure the transaction’s origin by preventing immediate broadcast to the entire network.
    Fluff Phase : After the transaction has passed through the stem phase, it is then broadcast to the entire network like a dandelion seed spreading in the wind, hence the name. This ensures the transaction reaches all nodes without revealing its source.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ aims to address the potential weakness in the original Dandelion protocol where an attacker could potentially identify the transaction’s origin during the stem phase by controlling enough nodes or analyzing the network’s topology. Dandelion++ introduces randomness and additional privacy measures to make it more resilient against such attacks.

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    Under the Dandelion++ protocol, the transition from the stem phase to the fluff phase can occur in two ways:
    Random Path Termination : The transaction randomly transitions from the stem to the fluff phase at a node, based on a predetermined probability.
    Patience Timer Expiry : If the transaction has not transitioned to the fluff phase within a certain timeframe, it will automatically do so. This mechanism ensures transactions don’t get stuck in the stem phase indefinitely.