Dandelion - Reading Assignment

  1. What is ‘flooding’?
    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. 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++ tweaks Dandelion 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?

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
  1. flooding 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 idea with Dandelion is to first route transactions to a remote node in a special undetectable way before initiating the flooding. The Dandelion authors delved into the theory and practice of using botnets to find sources of cryptocurrency transactions.

  3. 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.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
  1. Flooding is the way a node broadcasts transactions to the network. Similar to a wave.

  2. The anonymity or stem phase is the process for finding a proxy node.
    The spreading or fluff phase is the process for broadcasting to the proxy nodes.
    Then the proxy node spreads the information symmetrically and rapidly.
    “the shape of information flow resembles a dandelion”

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

  4. Epoch switching or the fail safe mechanism.

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. The information travels in all directions over the network like a wave.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    A. Stem
    B. Fluff
    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. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ tweaks Dandelion 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?
    Switching the epoch (where the node classificate itself relayer/diffuser) or trough “fail-safe" mechanism(starting his own fluff when, at process started, a Tx doesn’t come back after a set time threshold)

1 Like
  1. What is ‘flooding’?

Propagating the transaction, as a wave in all directions over the network, to s subset of peers, who in turn do the same, and so on, w/checks precluding repeatedly sending redundant notices. The information travels in like a wave. Some cryptocurrencies, like Bitcoin, randomize the timing of this broadcast, but Monero does not.

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

Note: the two phases use different sets of peer connections with the important difference that the anonymity phase connection set changes with time.

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

Over Dandelion, Dandelion++ implements dynamic connectivity tweaks In the new stem phase to resist large-scale rule-breaking deanonymization attacks

by NOT assuming the node one is linking to is NOT an adversary seeking to link transactions with IP addresses.

Some honest nodes may also not run Dandelion and may not follow the rules of the network.

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

Epochs or Fail-Safe!

For each epoch, a node classifies itself every few minutes as either a relayer or a diffuser is a matter of time it will start its own Fluff

1 Like
  1. Flooding is a process whereby a node broadcasts a new transaction to all its peers who in turn, propagate to all their peers. This happens like a wave in all directions all over the network.
  2. The 2 phases: Stem - finding a proxy node to broadcast in a linear path. Fluff - spreading symmetrically and rapidly like a dandelion
  3. Dandelion ++ aims to address flooding of transactions that lets others make a connection between the transaction and the IP address which is a serious problem for privacy.
  4. With epochs. Each node picks 2 new relay connections at random which are then always used the same as either relayer or diffuser.
1 Like

I did not answer 4 completely before. The first way to start the fluff phase is if the epoch connection is a diffuser and the second way is the fail safe mechanism where a node starts its own fluff if the time threshold passes without the node receiving back the transaction it relayed.

1 Like

Dandelion - Reading

  1. Flooding is a communication of a transaction to all its peers, who in turn communicates to all their peers, and so forth, with some checks to prevent redundant communications.

  2. The phases of a Dandelion broadcast are

  • Stem phase - (anonymity phase) - finds a proxy node to broadcast
  • spreading (fluff) phase -
  1. The potential weakness that Dandelion has that Dandelion ++ aim to address is that, Dandelion nodes are identified using Internet Protocol (IP) addresses, which observers can connect IP addresses to transactions, deanonymizing the data they contain. Dandelion ++ is the method used to hide the connection.

  2. Under the Dandelion ++ protocol, the two ways to transition from the “stem phase” to the “fluff phase” are

  • its proceeds indiscreet intervals, called epochs
  • uses diffusion - the flooding process where the timing of the communication are random to make it harder for spy nodes to locate the source.
1 Like
  1. What is ‘flooding’?
    Flooding is the communication of a transaction to all its peers, who send it to all their peers etc.
  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
  • Stem: Finding a proxy node to broadcast the transaction
    -Fluff: Broadcasting the transaction
  1. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion++ is a method for hiding the ability to identify transactions using the node IP address.
  2. 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.
    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.
1 Like

Dandelion - Reading Assignment.

  1. What is ‘flooding’?
    It’s a process when a Monero node is starting the broadcast of a new transaction.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    Anonymity phase.
    Defines a process for finding a proxy node to broadcast, and it establishes another process for broadcast, called the spreading (or fluff) phase.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Giving a guarantee of resistance to deanonymization and defeating so-called black-hole attacks where adversarial nodes discard transactions during the stem phase rather than relaying them.

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    “Node switch” epoch and the “fail-safe” mechanism.

1 Like
  1. When a wallet generates a new transaction, it communicates the transaction to a node. The first node that receives the transaction broadcasts it to all of its peers, and they propagate it to all their peers. Such type of communication between the nodes within the network is known as flooding.

  2. In a Dandelion broadcast, the transaction undergoes through two phases, these include:

  • Anonymity (stem) phase: Finding a proxy node to broadcast by randomly-choosing neighbors using an anonymity graph. Each search happens using the same path in the anonymity graph.
  • Spreading (fluff) phase: Information spreads rapidly and symmetrically, where the shape of the flow resembles a dandelion.
  1. Dandelion++ tweaks Dandelion so that it resists deanonymizing attacks that happen on a large-scale. The tweak allows interaction with honest or adversarial nodes as interacting nodes are not required to follow the protocol’s rules.

  2. Similar to Dandelion, Dandelion++ has two phases, a stem and fluff phase. In the new stem phase, nodes relay transactions in discreet intervals known as epochs. Epochs are asynchronous, meaning they run in the background until it reaches a certain threshold of an internal clock (run by the node). The node then starts a new epoch and randomly selects two new relay connections from its outbound connections. When the node creates its own transaction, it is sent randomly over through one of the chosen relay connections. For every epoch, the node always uses the same relay.

    In Dandelion++, the fluff phase uses diffusion, a process where communications are randomly timed(similar to Bitcoin’s network). However, the process is initialized differently in Dandelion++. At the start of each epoch, the node is classified randomly as either a relayer or a diffuser. If classified as a diffuser, it relays the received transaction by diffusion instead of using the stem phase. The transaction never goes back to the stem phase if it was relayed through diffusion.

1 Like
  1. It is the system by which a node propagates out a transaction by sending it to the nodes through which it is connected so they can do the same until all nodes have the transaction.
  2. The stem phase is first and the initial node chooses another node at random to send the transaction to for distributing it out. That receiving node then propagates out the transaction using diffusion in what is called the fluff phase.
  3. Dandelion when tested assumed a spy node would be passive and follow the network rules. However that would not be the case and so the developers sought to reduce risk by creating a system that would withstand actively malicious nodes.
  4. At the beginning of an epoch nodes choose at random to be a relayer or diffuser. When a transaction is sent to a diffuser it will automatically propagate out that transaction. Second is by time delay. If a relayer sends out a transaction and it is not relayed in a set time then the initial relayer will diffuse the message.
1 Like
  1. What is ‘flooding’?

Its the process of a node sending out a transaction that propagates through the network like a wave.

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

Stem, to find a proxy node to broadcast in a straight line
Fluff, to spread the transaction symmetrically looking like a dandelion.

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

Address the issue of flooding that can reveal a users IP address

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

Using indiscreet intervals (every few minutes) called epochs or diffusion where the flooding is randomly timed.

1 Like
  1. Flooding is the process of broadcasting a new transaction.

  2. Find a proxy node to broadcast - the anonymity phrase. Broadcasting itself - the spreading phase.

  3. Adversary nodes in the network might not follow the rules.

  4. "Dandelion++, like Dandelion, 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. 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
  1. A propagation technic of transactions in the P2P network.

  2. STEM phase is called the process of looking for a proxy node to broadcast.
    FLUFF phase is the process of broadcasting to the network.

  3. Dandelion does not resist adversaries seeking to link transactions with IP addresses not following the rules of the network.

  4. Epochs or fail safe

1 Like
  1. Flooding is a method of broadcasting transmissions throughout the network. A node broadcast its transaction to its peers, with each of those peers broadcasting to their peers, and so on.

  2. A Dandelion broadcast has 2 phases: the stem phase and the fluff phase:

  • Stem (Anonymity) Phase: a process for finding a proxy node to broadcast from.
  • Fluff Phase: spreading the transaction/information rapidly and symmetrically.
  1. With Dandelion, a botnet participating honestly in the P2P network cannot reliably link transactions with IP addresses

A malicious botnet, on the other hand, could link transactions with IP addresses. It is this issue that Dandelion++ aims to address.

  1. Under the Dandelion++ protocol, there are 2 ways to transition from the stem phase to the fluff phase:
  • For each epoch [an epoch typically lasts around a few minutes], 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.

  • If a time threshold passes without the node receiving the same transaction back during a fluff phase, it starts its own fluff phase. This serves two purposes: It frustrates attempts at deanonymization using timing, and it defeats so-called black-hole attacks where adversarial nodes discard transactions during the stem phase rather than relaying them.

1 Like
  1. “Flooding” is a term used when a node starts broadcasting of a new tx.

  2. Anonymity and spreading. Anonimity defines a process for finding proxy node to broadcast. Spreading is second phase where the proxy node spreads information rapidly and symmetrically.

  3. Dandelion++ works on fixing the problem of trustlessnes-a node may not be “honest” and could undermine its anonymity.

  4. Either by a new epoch, where nodes are classified as relayer(stem) or difuser (fluff). If a time treshold passes after relaying a tx during stem phase and not reciving the same tx back during a fluff phase, in this case the node starts its own fluff phase.

1 Like
  1. flooding is broadcasting Tx’s through the network
  2. Anonymity or stem phase for finding a proxy node to broadcast
    Spreading or fluff phase, where it spreads the data
  3. " With Dandelion, a botnet participating honestly in the P2P network cannot reliably link transactions with IP addresses. "
  4. " 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, it sends it out randomly over one of the two relays. "
1 Like
  1. Flooding is when a node communicates the transaction to all its peers.
  2. The two phases of a Dandelion are:
    a. Anonymity (or stem) phase - seeking out a proxy node along a special linear search path
    b. The Spreading (or fluff) phase – After seeking out a proxy node, then from this proxy node spreading the information rapidly and symmetrically
  3. Large scale rule breaking deanonymization attacks.
  4. Switching the epoch or trough “fail-safe" mechanism.
1 Like
  1. Flooding is the process of broadcasting new transactions. The starting node Broadcasts to all its peers, and each peer broadcasts to their peers until every node has the transaction.
  2. Stem Phase: finds a proxy node to broadcast from. Fluff Phase: broadcasting phase.
  3. Helps resist large-scale rule-breaking deanonymization attacks.
  4. Within each epoch if a diffuser node is given a transaction it will start the broadcast. OR if a timer for the transaction relays is reached the relayer node will start broadcasting.
1 Like