Bitcoin Dandelion to Give Real Payment Transaction Privacy: True or False?
Can Dandelion Make Bitcoin More Private?
One of the main comments that people gives about Bitcoin is related to its anonymity. Indeed, mainstream media considers it as a private virtual currency used by criminals. But most of them do not know that in the end, Bitcoin (BTC) is not so private as they thought.
Indeed, Bitcoin works with pseudonymous, but it is not anonymous. Its underlying technology, the blockchain, would allow users to find others’ identities. Governments or companies with IT knowledge would be able to link transactions with specific IPs and know who is behind each address.
This is a clear problem that Bitcoin users are facing. But how is it possible to improve Bitcoin’s privacy?
Dandelion may be a possible solution. This is a specific protocol that has been developed by important researchers at Carnegie Mellon, MIT and the University of Illinois. If this is applied to Bitcoin, it may be possible to neutralize peer-to-peer analysis. That means that it would be much more complicated to discover who is behind each Bitcoin transaction.
However, there is a very big problem. When people send Bitcoin, the transaction is broadcasted to the nodes waiting for a miner to include it in a block. This is a process known as diffusion. As soon as the node broadcasts the transaction, other nodes continue to diffuse it with some delays.
One of the developers, Giulia Fanti, explained that the source node’s IP address can be discerned due to the fact that ‘diffusion is susceptible to detection.’ Spy nodes that receive a transaction can make an analysis and retrace the steps of that transaction through the network.
Because of this, the spy node has high chances of knowing the IP address of the transaction sender. Dandelion works by abstracting the transaction relaying process. In this way, it is more complicated for adversaries to trace these transactions. That would make it almost impossible to follow its trace and discover the IP address of the sender.
In order to do so, Dandelion sends the transaction on a random path through different nodes before the transaction is diffused across the network. That is known as the ‘fluff phase.’ The transaction is broadcasted to several nodes that must spread the transaction through the whole network.
Each of the nodes has 50 percent chances to continue the stem phase of not. If the transaction passes on, the next node has the same odds as the previous one to continue this stem phase. This process keeps until one triggers the diffusion process.
WIth the first transaction phase before diffusion, the whole process gains more anonymity. If the network passes the transaction to multiple potential source nodes before the diffusion, then, this should obfuscate where a broadcast came from. That would make it very difficult to discover from which IP a transaction came from.
The Dandelion proposal seems to be a feasible step to solve the privacy problems that Bitcoin is facing. Indeed, it is not necessary to make a big change in the network to do so.
“Monero is addressing the exact same problem [Dandelion] is trying to solve.”
But implementing this is very time intensive. Monero’s development team has been working with it since 2014. Dandelion may be implemented in a future Bitcoin Core update, but it seems not ready for the upcoming 0.17.0 release.