Dandelion - Reading Assignment

  1. Flooding is the name given to the broadcast of transmissions by nodes to its peers. i.e. the node transmits to a number of peers, each peer then transmits to its peers. A cascade effect to transmit the information across the network.
  2. The 2 phases are stem and fluff. In the stem phase the transaction is first sent to a proxy node, to hide the origin IP address of the sender, i.e. increase anonymity. In the fluff phase the message is transmitted. A different set of peers is used for each phase.
  3. The Dandelion++ implimentation is designed to defend against deanonymizing attacks by bad actors on the network that do not follow the rules.
  4. Under the Dandelion++ protocol each node switches at random epoch at random between either a relayer (stem) or difusser (fluff). With each epoch the node randomly picks 2 relay connections for transmission. There is also a fail safe mechanism where by after the node sends a transaction as a stem, if it does not receive the same transaction back as fluff within a certain time it starts its own fluff.

Flooding is transactions broadcast across the network, with all nodes communicating to their peers who turn around and do the same to their peers

The 2 phases of a Dandelion Broadcast are finding the route transactions to a proxy then flood the info throughout the network.and what happens in each phase.

Dandelion ++ aims to address the potential weakness of resisting large scale breaking of de-annoymity attack rules.

Under the Dandelion ++ protocol the 2 ways to transition from the ’stem’ phase to the ‘fluff’ phase are epoch switching or fail safe mechanism.

  1. What is ‘flooding’?
  • When a transaction is initialised, nodes communicate 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?
  • The idea with Dandelion is to first route transactions to a remote node in a special undetectable way(finding a proxy node to broadcast, called the anonymity (or stem) phase) before initiating the flooding(from this proxy node spreading the information rapidly and symmetrically).
  1. What potential weakness of Dandelion does Dandelion++ aim to address?
  • Dandelion++ tweaks Dandelion to resist 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?
  • 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. What is ‘flooding’? The broadcasting of a new transaction to all its peers, and in turn their peers, and so on with some redundancy checks.
  2. What are the two phases of a Dandelion broadcast and what happens in each phase? The stem phase : where a proxy node along a linear search path for broadcasting is found and and then the fluff phase ; where another process of spreading the information rapidly and symmetrically for broadcasting is established.
  3. What potential weakness of Dandelion does Dandelion++ aim to address? It tweaks Damdelion to resist large-scale rule breaking, deanonymizing attacks.
  4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase? In the stem phase, dynamic activity is in discreet intervals called epochs. The nodes switch epochs every few minutes, picking two new relay connections at random from its outbound connections. The fluff phase uses diffusion in the flooding process randomizing the timing of communications. Once a tx has started the diffusion process, it continues to propagate the diffusion process and does not return to the stem phase. In this manner Dandelion ++ decreases deanonymization by a more formal guarantee.
  1. What is ‘flooding’?
    One node communicates a transaction to all its peers. And these peers communicated it to their peers. And…

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

    1. Stem (or anonymity) phase: Finding a proxy node to broadcast.
    2. Fluff (or spreading) phase: Broadcasting the transaction to the network.
  3. What potential weakness of Dandelion does Dandelion++ aim to address?
    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?
    Using the epochs switching method or through the fail-safe mechanism.

  • What is ‘flooding’?
    t is a process 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.

  • What are the two phases of a Dandelion broadcast and what happens in each phase?
    Stem: Find a proxy node to broadcast the transaction

Fluff: spreading out the transaction thru flooding from the proxy server

  • What potential weakness of Dandelion does Dandelion++ aim to address?
    the risk of deanonymisation but D++ tweaks D protocol in order to resist these attacks.

  • Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
    For each epoch becomes the nodes either a relayer or a diffuser. The mode is random determined 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.

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

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

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

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”

2 Likes
  1. What is ‘flooding’? Flooding communicates a 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? 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. 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? With Dandelion, a botnet participating honestly in the P2P network cannot reliably link transactions with IP addresses. 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? 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 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.
1 Like

1. What is ‘flooding’?
Broadcast the transaction to all peers like wave.

2. What are the two phases of a Dandelion broadcast and what happens in each phase?
Stem phase and fluff phase.
1)Stem phase: From my understanding is that the node can choose a random epoch, and then, through the random two new relays of epochs to propagate transaction.
2)Fluff phase: instead of broadcast the transaction, use the diffusion, which can not go back to the Stem phase so that guarantee the safety of the source.

3. What potential weakness of Dandelion does Dandelion++ aim to address?
Because in Dandelion, the honest node can choose not to use the Dandelion method, which can protect the safety of transactions. But in Dandelion++, each node either as a relayer or as a diffuser, which can achieve the goal of preventing the transaction from spying.

4. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
I don’t know.

1 Like

For each new epoch nodes classify themselves as either relayers (stem) diffussers (fluff). When a node sends a transaction in stem phase it waits for some time period to receive the transaction back in a fluff phase. If that does not happen, it starts its own fluff phase. :slight_smile:

1 Like
  1. What is ‘flooding’?
  • It is how Monero transactions are currently broadcasted. A node first communicates to its peer nodes (commonly 8, but can be up to 100), and then these peers communicate with their peers.
  1. What are the two phases of a Dandelion broadcast and what happens in each phase?
  • Anonimity (stem) phase - a node finds its proxy along a linear search path and communicates to it.
  • Spreading (fluff) phase - the proxy communicates to its peers.
  1. What potential weakness of Dandelion does Dandelion++ aim to address?
  • Dandelion works if all nodes are honest. If a spy is running their own node, that may not be the case. They can generate any number of connections to honest nodes.
  1. Under the Dandelion++ protocol, what are the two ways to transition from the ‘stem’ phase to the ‘fluff’ phase?
  • A node picks two random proxys and communicates with them for a period of time called an epoch(a few minutes).
  • During this epoch, the node is either a relayer or a diffuser (mode set randomly at the beginning). If the node is a relayer, it will forward transactions to a proxy (execute the stem phase). If the node is a diffuser, it will spread transactions to its peers (fluff phase).
  • A “stem” node sets a timer for transaction. If it doesn’t get that transaction back within a set period, it starts a fluff phase. First, it disables tracking by timing. Second, it prevents black-hole attacks where peers would refuse to communicate with a node.
  • Each node chooses when to go onto next epoch, which further increases randomness.

If each node changes epochs at its own time, does it mean that each node is simultaneously a relay for some peers and a diffuser for other peers? Or, when the first one decides to change, others also must change?

1 Like

Its a decentralized network and all nodes work on their own. At each point in time a node can decide to work as a relay or diffuser. Users can also disable this functionality and always work as a relay. :slight_smile:

1 Like
  1. Flooding is what Monero uses to broadcast transactions. The monero node communicates the transaction to all its peers, who in turn communicate it to all their peers, and so forth, with some checks to prevent redundant communication. This information travels all over the network like a wave.

  2. The two phases of a Dandelion broadcast are the stem phase, where a node seeks out another proxy node along a special linear search path, and the fluff phase, where the proxy node will spread the information rapidly and symmetrically.

  3. The weakness of Dandelion that Dandelion++ aims to address is that on Dandelion some nodes may not be honest. With Dandelion++ there is resistance to deanonymization even if some nodes are not honest.

  4. Under the Dandelion++ protocol, each node switches epoch independently, every few minutes. With each new epoch, it picks two new relay connections randomly from its outbound connections. When the node creates its own transaction it sends it over one of the relays, always choosing the same relay for a given epoch. When it gets a transaction from another node for forwarding during a stem phase, if it is a relayer it sends it out randomly over one of the two relays. Once a transaction starts the diffusion process it continues to propagate using diffusion. For each epoch, a node is either a relayer or a diffuser, which is determined randomly at the start of the epoch. When a diffuser gets a transaction to relay as a stem phase, it instead broadcasts it using diffusion, starting the fluff phase. There is one fail-safe mechanism, where each node that relays a transaction during the stem phase starts a timer for that transaction. If a certain time 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. The information travels in all directions over the network like a wave.

  2. First phase - Process of first seeking out a proxy node along a special linear search path
    Second phase - then from this proxy node spreading the information rapidly and symmetrically—the shape of information flow resembles a dandelion

  3. Some honest nodes may not run dandelion and not protecting anonymity. Dandelion ++ aims to give formal guarantees of resistance to deanonmynization

  4. Epoch - 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, it sends it out randomly over one of the two relays.

Fluff - 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
  1. the Monero node 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. 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. 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. By using the “epochs switching” method or through the “fail-safe mechanism”.
1 Like

Flooding is the means of propogation of transactions throughout the validator nodes that monero utilized. It involves the spreading of potential new tx on the blockchain to be propogated by each node to All of its peer nodes like a giant wave thereby flooding the “mempoool” tx possibilities throughout the network. With the code updates implemented by Dandelion, this “flooding” mechanism was improved to provide a means of security to protect the originating IP addresses of the transactions, which previously were visible, and thereby traceable. Dandelion seeks to break up the flooding mechanism isnt two separate phases. The first phase known as the stem phases is a routing of the originating transaction away from its IP by sending it to a randomized remote node. The randomized node would then begin spreading the message about the new available TX to include in future blocks by the fluff stage, which begins the actual propogation. One of the weaknesses of the initial code provided by dandelion, is that they could not exclude a passive network of algorithmic bots observing and tracking new transaction Thus Dandelion ++ concept was born, with the basic improvement to tackle the security risk that certain nodes or bots operating on the blockchain might not be passive and might in fact not even play by the rules or be an honest node. Implementation of Dandelion ++ code introduces further complexity in randomness by introducing a new randomizing factor called epochs in the stem phase, and in the fluffing stage a new implementation to increase randomness is done through diffusion. Both additions seek to further complicate the core cryptography by adding a variable function for each node in each phase. Depending on a random distinction given over intervals of time, the particular node may behave differently with the new transaction, thus adding a huge depth to decrypting computational requirements and bolstering infeasability. To futher enjoin an even higher level of security, a fluff generating clock is timed into each node to begin its own fluffing stage if neccesary under the “failsafe” feature of operation.

1 Like
  1. What is ‘flooding’?
    The process of a monero node starting to broadcast a new transaction.
  2. What are the two phases of a Dandelion broadcast and what happens in each phase?
    Finding a proxy node to broadcast is 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?
    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. The process of propagating transactions over a network.

  2. The first phase is called the Stem phase and is the process of establishing a proxy node to begin the second phase, Fluff, which is the process of propagating the transaction across the network.

  3. To combat rule-breaking nodes that can use any means available to them in order to analyse and connect IP addresses and transactions.

  4. By declaration at the beginning of every epoch and by using the fail-safe mechanism (if after a certain time a relaying node does not receive the transaction it has relayed as a broadcast, it will broadcast the transaction itself thereby beginning the Fluff phase itself.)

1 Like
  1. node communicate new tx with its peers them coomunicvate to their peers etc like a wave. it is nod randomly timed.
    2.stem phase: finding proxy node to broadcast and secretly sending this broadcast to it , fluff phase : spreading broadcasts to nodes from this proxy node.
    3.dandelion ads delay in both phases to resist large cale deanonim attacks. ,
    4.either node - diffuser receives the tx then by using diffuser it starts the fluffing phase.
    or if relayer doesnt ger response ( the same tx ) within certain treshold it will strat fluff phase on its own.
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. Some cryptocurrencies, like Bitcoin, randomize the timing of this broadcast, but Monero does not.

  2. One 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. Through the use of epochs and fail-safe mechanism.

1 Like