Improving Bitcoin Baselayer Privacy with Dandelion++
"Dandelion is a propagation protocol designed to obfuscate where a Bitcoin transaction originated," writes L0la L33tz.
- "To determine where a transaction originated, Blockchain Surveillance firms operate so-called supernodes. A supernode attempts to establish as many connections to nodes on the peer-to-peer network as possible, and by doing so is able to tell where a transaction first appeared. This enables Blockchain Surveillance firms to tie your transactions to your node's IP address."
- "Dandelion prevents such deanonymization attacks because it does not announce transactions to all outbound peers. Instead, using Dandelion, a node chooses a single outbound peer to relay its transaction to. This peer chooses another single outbound peer, who chooses another single outbound peer, and so on and so forth. This is called the 'stem phase'."
- "Once the transaction has gained enough plausible deniability – i.e. is far enough away from their origin in the graph – a node which did not create the transaction relays it to all its outbound peers, and routing continues as usual. This is called the 'fluff phase'."
"Today, as even non-custodial Bitcoin service operators are starting to be held accountable for broadcasting transactions originating from undesirable jurisdictions and activities, revisiting the implementation of Dandelion++ may now prove fundamental to preserve the censorship resistance of the Bitcoin network."
- "Dandelion was first proposed for Bitcoin routing on the Bitcoin mailing list in 2018, and has since been improved in Dandelion++, Dandelion Lite and Clover, and has been implemented in privacy first currencies and protocols like Monero and Mimblewimble. On Bitcoin, the implementation of Dandelion was rejected due to Denial of Service concerns."