bitcoin-dev

BIP proposal - Dandelion: Privacy Preserving Transaction Propagation

BIP proposal - Dandelion: Privacy Preserving Transaction Propagation

Original Postby Bradley Denby

Posted on: May 10, 2018 12:59 UTC

The Dandelion project provides Bitcoin users with anonymity guarantees by limiting the capability of adversaries to deanonymize the network.

Bitcoin's transaction spreading protocol is vulnerable to deanonymization attacks; without Dandelion, a node generates a transaction and transmits it to its peers with independent, exponential delays, which allows network adversaries to link transactions to IP addresses. Dandelion prevents this by sending transactions over a randomly selected path before diffusion; transactions travel along this path during the "stem phase" and are then diffused during the "fluff phase". Since the last update, the team has completed additional theoretical analysis and simulations, built a working prototype, built a test suite for the prototype, and written detailed documentation for the new implementation. The team has also addressed how to route messages during the stem phase, recommending "per-inbound-edge" routing to block an adversary's ability to construct useful fingerprints.The iteration of Dandelion has been tested on the team's small network, and they would like to get the implementation in front of a wider audience. An updated BIP document with further details on motivation, specification, compatibility, and implementation can be found on Github. The team thanks the Bitcoin Core developers and Gregory Maxwell for their insightful comments, and the Mimblewimble development community for coining the term "stempool."