Dandelion++ is a transaction routing mechanism proposed to enhance privacy in Bitcoin transactions. It was developed by Brad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, and Pramod Viswanath.
The protocol was designed to defend against deanonymization attacks during transaction propagation. In Bitcoin's transaction spreading protocol, a node transmits a transaction to its peers with independent, exponential delays, which allows network adversaries to link transactions to IP addresses. Dandelion++ mitigates this class of attacks by sending transactions over a randomly selected path before diffusion. This process consists of two phases: the "stem phase" and the "fluff phase". During the stem phase, transactions travel along a randomly selected path, and during the fluff phase, they are diffused.
Despite its potential benefits, Dandelion++ has not been implemented in Bitcoin. The Bitcoin Improvement Proposal (BIP) 156 for #Dandelion++ was rejected. One of the reasons for the resistance to implement Dandelion++ in Bitcoin could be the complexity of the implementation and potential issues related to network topology.
However, Dandelion++ has been adopted by other cryptocurrencies. For instance, it was applied to #Monero by developer Lee Clagett, with testing and review by developer moneromooo. In Grin, Dandelion++ also provides an opportunity to aggregate transactions before they are broadcast to the entire network.
#plebchain