Dandelion - Reading Assignment

  1. Flooding means broadcasting a transaction from a node to all of its peers who again broadcast to other peers and so on.
  2. Phase 1 “Anonymity (or stem) phase”: Find a proxy node to broadcasting
    Phase 2 “Spreading (or fluff) phase”: Spreading information through the proxy node.
  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. 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. In the first phase, each transaction is
    propagated on a random line; that is, each relay passes the message
    to exactly one (random) node for a random number of hops. In the
    second phase, the message is broadcast as fast as possible using
    diffusion. Dandelion has two key features: (a) in the first phase,
    all transactions from all sources should propagate over the same
    line, and (b) the adversary should not be able to learn the structure
    of the line beyond the adversarial nodes’ immediate neighbors.
  3. The qunatity of non-honest nodes.
  4. The regular way or timeout
2 Likes
  1. What is ‘flooding’?
    Flooding is the process through which a transaction is broadcast to the network. A node transmits a transaction to all nodes it’s connected to, and they in turn transmit to nodes they are connected to. The transaction propagates through the network like a wave.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    Stem: In the stem phase, your transaction is routed from node to node, so that when it does reach the fluff phase and is openly broadcasted, its point of origin is seen to be coming from a different source than where it was actually sent from.
    Fluff: By a probabilistic argument in the Dandelion code, one of the receiving nodes along the stem phase randomly decides to enter the fluff phase. In the fluff phase, the transaction is flooded/diffused to the network.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Dandelion is potentially weak against bad actors within the network who purposefully share information throughout the network, broadcasting widely and showing information about senders.

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    -Dandelion++ uses epochs, discreet time intervals in which nodes behave as a relayer node (stem) or a diffuser node (fluff). These epochs reset frequently, and a node is instructed by a random process to behave as either a relayer or a diffuser during the current epoch. A node in a ‘diffuser epoch’ will put incoming transactions into the fluff phase.
    -The other way to broadcast transactions in Dandelion ++ is through a new fail-safe mechanism designed to protect against black hole attacks, in which malicious nodes bury transactions that are progressing along the stem phase. The fail-safe works by telling a relaying (stem) node to keep track of each transmitted stem packet for a certain amount of time. If the node has not received the contents of that packet back to verify as a (fluffed) transaction after a given time, the relayer (stem) node will fluff the transaction itself.

1 Like

It is the propagation of an new transaction among the nodes.

Stem phase: finding a proxy node to broadcast
Fluff phase: broadcasting to the network

Dandelion++ makes attacks from groups of malicious (spying) nodes harder.

1 Like
  1. The broadcasting of transactions

  2. The anonymity or Stem phase, where a transaction is sent directly to a proxy node for broadcasting, and the spreading or Fluff phase where the transaction is broadcasted by the proxy node to many other nodes.

  3. Some nodes may not passively play by the rules and in fact form a botnet to analyze the timing and addresses of senders in order to de-anonymize the transaction addresses from the IP addresses.

  4. If after forwarding a transaction during the stem phase, a node does not receive the transaction back, it will initiate its own fluff phase.

1 Like

1. What is ‘flooding’?
Flooding is the transmission of a transaction whereby it is sent to its peers in all directions. These peers, in turn, send the transaction to their own peers and so on. This process resembles a wave or a “flood” of information output.

2. What are the two phases of a Dandelion broadcast and what happens in each phase?
The two phases of a Dandelion broadcast are called stem and fluff. The stem phase, also called the anonymity phase, finds a nearby node to act as a proxy for sending information. The fluff phase, also called the spreading phase, spreads the information originally from the stem phase rapidly and in all directions.

3. What potential weakness of Dandelion does Dandelion++ aim to address?
The potential weakness that Dandelion++ aims to address is of nodes who do not follow the rules of the network and may consist of “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 two ways to transition from the stem phase to the fluff phase under the Dandelion++ protocol are through the use of epochs and the fail-safe mechanism. Epochs are the procession of discreet intervals; whereby, every few minutes, each node picks two new relay connections. The fail-safe mechanism, in the case that a certain time threshold is passed and a node hasn’t received the same transaction back from the fluff phase, simply changes the node’s stem phase into a fluff-phased node itself.

1 Like
  1. What is ‘flooding’?
    The process used by a Monero node to start and broadcast a new transaction to the network.

  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    First there is the anonymity (or stem) phase, to find a proxy node to do the broadcast. And then there is the spreading (or fluff) phase, where the actual broadcast of the transaction (by the remote node) is done.

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    The fact that using large-scale rule-breaking deanonymization botnet attacks still can link transactions with IP addresses. This large number of “attacker” nodes may still register IP addresses during the stem and fluff phases.

  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    If a node is classified as a “diffuser” it will start broadcasting the transaction to all it’s neighbors. Also, 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. a transaction is broadcasted to all the node’s peers, who then broadcast it to all their peers.
    • stemphase: transaction is sent directly to a proxy
  • fluff phase: the proxy then starts spreading the information rapidly and symmetrically
  1. vulnerability to large scale rule breaking deanonymization attacks
    • if a node has classified itself as diffuser at the start of a new epoch
  • the fail safe mechanism: If the time threshold passes without the node receiving the same transaction back during a fluff phase
1 Like
  1. What is ‘flooding’?
  • It is the porcess of broadcast of a new transaction used. 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.
  1. 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: establishes another process for broadcast
  1. What potential weakness of Dandelion does Dandelion++ aim to address?
  • large-scale rule-breaking deanonymization attacks
  1. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
  • fail-safe mechanism
  • 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

Q1: A method of spreading info throughout the network, IMO like a game of telephone.

Q2 You have the Stem Phase and the Spread/Fluff Phase. In the Stem Phase Dandelion defines a separate process for finding a proxy node to connect with and in the Spread Phase it uses another process for broadcasting purposes.

Q3: Large groups or organizations that do not play by the rules

Q4: The epoch switch method or through the fail safe mechanism

1 Like
  1. It is when a node propagates a new transaction to its peers, those peers to their peers, and so on.

  2. The two phases of Dandelion broadcast are the “stem” phase and the “fluff” phase. In the “stem” phase the new transaction is sent from the initiating node to a proxy node. From there it is sent out in a diffused manner.

  3. Dandelion may not be able to withstand an attack by a “large-scale rule-breaking de-anonymization attack” by an adversary.

  4. The node randomly classifies itself either as a “relayer” or a “diffuser” per each “epoch”. It also sets a timer so that if, having relayed a transaction, it does not receive it back as part of a “fluff” phase, it starts its own “fluff” phase.

1 Like
  1. When you do a transaction and send it to a Monero node, then the Monero node who inititates the propagation of your transaction, broadcasts your transaction to all of its connected nodes “at the same time”. After the connected nodes got your transaction they broadcast it again in the same way to all of their connected nodes. This process of broadcasting/ propagating transactions is called flooding.

  2. In the first phase a proxy node will be found through a special linear path (anonymization phase) who transmit the transaction. In the second phase a process for the transmission to the remaining nodes (diffusion phase) is established (spread from this proxy node quickly and symmetrical). Within the two phases different sets of P2P connections are used, whereby the anonymization phase changes over time.

  3. Dandelion was vulnerable against large scale deanonymization attacks. Every node has to use Dandelion and only then it is secure against deanonymization, but there could be not honest nodes or nodes who don´t want to use it.

  4. In the stem phase dynamic connectivity is used in way that each node proceeds in discret intervalls (called epochs) with are switched independently every few minutes. In every discret intervall switching a node chooses two new rely connections at random from its outbound connections.
    There is also a so called fail-safe mechanism. Everytime a transaction is broadcasted by a node a timer for this transaction is started. If a time threshold passes and node does not receive the transaction back in a fluff phase it starts its own fluff phase.
    The fluff phases itself uses diffusion.

By the way:
I found a mistake :slight_smile:
Unbenannt

2 Likes

Haha yes, actually I’ve legally changed my name now to “Ivan Tech”, “on” being my middle name. It’s quite confusing in the office you can imagine.

2 Likes
  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. Two different sets of peer connections are used with the important difference that the anonymity phase connection set changes with time.

  3. The risk that nodes within the network may not be “honest” nodes and undermine Dandelion’s anonymity.

4.Either by using the “epochs switching” method or through the “fail-safe mechanism”.

1 Like
  1. Flooding is the process that Monero node uses to broadcast new transaction.
  2. Dandelion broadcast phases are 1) a P2P network and 2) applications that run on this network. The P2P network, organizes and ensures the flow of information. Applications deal with addresses and keys and transactions.
  3. Dandelion++ tweaks Dandelion to resist large-scale rule-breaking deanonymization attacks.
  4. 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. 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. What is ‘flooding’?
    the Monero node starting the broadcast of a new transaction uses a process called flooding. 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?
    The anonymity (or stem) phase, Dandelion defines a process for finding a proxy node to broadcast
    The spreading (or fluff) phase, Dandelion establishes process for broadcast

  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    Some honest nodes may not run Dandelion. the nodes may not follow the rules of the network. 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?
    It’s the fail-safe mechanism. there are normal and time-out two ways. Each node that relays a transaction during stem phase starts a timer for that transaction, it’s the normal way. If a time threshold passes without the node receiving the same transaction back during a fluff phase, it starts its own fluff phase it’s the time-out way.
    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 - What is ‘flooding’?

Flooding is when a starting node broadcasts a transaction in all directions over the Monero P2P network like a wave, to all its peers, who in turn communicate to all their peers, and so forth.

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

The first is the (anonymity/stem) phase, which Dandelion defines a process for finding a proxy node to broadcast
The second is the (spreading/fluff) phase, which establishes another process for broadcasting.
The two phases use different sets of peer connections with the anonymity/stem phase connection set changes with time.

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

Dandelion++ can mitigate large-scale rule-breaking deanonymization attacks, from non-passive nodes. This attack resembles a botnet with spy nodes distributed throughout a network, forming some significant fraction of an overall network.
The attack nodes 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.

Additionally, Dandelion++ has a fail-safe mechanism that serves two purposes:
- It frustrates attempts at deanonymization using timing.
- It defeats 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?

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
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.
Additionally, there is a fail-safe mechanism. The fail-safe mechanism works as follows. 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. 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 where a node transmits a new transaction across the peers in its network.

  1. The two phases of a Dandelion broadcast are the Stem Phase and the Fluff Phase. Each of these phases establishes communications through the network.

  2. Dandelion++ address’s the issue of large-scale rule-breaking of deanonymization attack.

  3. To transition from Stem phase to Fluff phase is by using epoch switches or thrpugh the fail-safe mechanism.

1 Like

#1 - What is ‘flooding’?
Flooding is the process of broadcasting a transaction to peer nodes

#2 - What are the two phases of a Dandelion broadcast and what happens in each phase?
Stem and fluff phase. In the stem phase a proxy node to broadcast is found, in the fluff phase the information is spread

#3 - What potential weakness of Dandelion does Dandelion++ aim to address?
That there could be hostile node, not playing by the rules

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

1 Like
  1. Flooding with regards to Monero is the name given to how it communicates transactions. A new transaction will be broadcast to all peers of the sending node, and all peers of those peers; creating a ‘flood’ of activity on the network.
  2. The 2 phases of Dandelion’s broadcast protocol are called 1. anonymity (stem) phase and 2. spreading (fluff) phase. The ‘stem’ phase finds the proxy node to broadcast while the ‘fluff’ phase does the broadcasting. The ‘stem’ phase uses a different set of peer connections then the ‘fluff’ phase. Also the set of peer connections change over time in the ‘stem’ phase.
  3. Dandelion++ tweaks Dandelion to resist large-scale botnet rule-breaking deanonymization attacks.
  4. Dandelion++ uses a dynamic connectivity protocol called an epoch when switching from the ‘stem’ phase to the ‘fluff’ phase. The node will randomly choose what phase to be in every epoch.
1 Like