Pages:
Author

Topic: [Discussion] Dandelion - A protocol to hide transaction origin (Read 954 times)

copper member
Activity: 18
Merit: 1
interesting
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Finally finished that article about Dandelion. Would love to have your feedback and please share.

https://hackernoon.com/bitcoin-upgrades-with-dandelion-the-transaction-privacy-protocol-ae9647bfbcb2

Thanks again for the correction on the "Bitcoin on Tor isnt a good idea" whitepaper being incorrect!

Nice article, the example is really easy understand.
You might want to use this link https://github.com/bitcoin/bips/blob/master/bip-0156.mediawiki on URL text " Bitcoin Improvement Proposal 156" (below 2nd image) rather than GitHub pull request which IMO not useful for reader.

Do you mind if i adding your article link to "Some informations" section on this thread?
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
The research on the paper happens somewhere in 2014, where BIP 151 about E2EE (end to end encryption) protocol hasn't used by Bitcoin Core or other client

BIP 151/end-to-end encryption aren't used in Bitcoin yet, and they also don't provide anonymity to Bitcoin nodes anyway, so there would make no difference in Bitcoin's anonymity even if they were in use.

Thanks for the information, i just recheck and it's true. It's used bcoin client and looks like i didn't remember it correctly.

But, can you explain why BIP 151 don't provide anonymity to nodes? Excluding de-anonymization method which require full nodes, AFAIK ISP/government/spy at most only can know that it's Bitcoin full nodes traffic without knowing which transaction/block is being transferred.
member
Activity: 194
Merit: 29
Do you mind if i adding your article link to "Some informations" section on this thread?

Yes, that would be an honor!
member
Activity: 194
Merit: 29
Finally finished that article about Dandelion. Would love to have your feedback and please share.

https://hackernoon.com/bitcoin-upgrades-with-dandelion-the-transaction-privacy-protocol-ae9647bfbcb2

Thanks again for the correction on the "Bitcoin on Tor isnt a good idea" whitepaper being incorrect!

member
Activity: 194
Merit: 29
Traffic encryption (as used in BIP151) only makes your Bitcoin use private, not anonymous. Encryption makes what you send private, not who you are (your identity).

Your IP is the most significant identity information that exists on the Bitcoin network. Tor masks your IP from other Bitcoin nodes, dandelion masks which IP a transaction was sent from first.

Thank you for clearing that up -- I didn't take the time to fully understand that BIP151 is about anonymizing at the transaction layer, not at the network layer -- which is the relevant part of this thread

legendary
Activity: 3430
Merit: 3080
But, can you explain why BIP 151 don't provide anonymity to nodes? Excluding de-anonymization method which require full nodes, AFAIK ISP/government/spy at most only can know that it's Bitcoin full nodes traffic without knowing which transaction/block is being transferred.

Traffic encryption (as used in BIP151) only makes your Bitcoin use private, not anonymous. Encryption makes what you send private, not who you are (your identity).

Your IP is the most significant identity information that exists on the Bitcoin network. Tor masks your IP from other Bitcoin nodes, dandelion masks which IP a transaction was sent from first.
legendary
Activity: 3430
Merit: 3080
The research on the paper happens somewhere in 2014, where BIP 151 about E2EE (end to end encryption) protocol hasn't used by Bitcoin Core or other client

BIP 151/end-to-end encryption aren't used in Bitcoin yet, and they also don't provide anonymity to Bitcoin nodes anyway, so there would be no difference in Bitcoin's anonymity even if they were in use.
member
Activity: 194
Merit: 29
The research on the paper happens somewhere in 2014, where BIP 151 about E2EE (end to end encryption) protocol hasn't used by Bitcoin Core or other client, so some attack/de-anonymization attempt without running full-nodes won't work today.
Besides i think using Tor is still better than connect to bitcoin network directly, especially if government actively monitor/analyze internet traffic or forbid Bitcoin.

This is great feedback. I am writing on article on Dandelion++ and the whitepaper I shared had shown up in some source material as an argument against TOR.

I'll revise to reflect that this whitepaper is no longer relevant. Thanks again
staff
Activity: 4284
Merit: 8808
There have been a few mentions of using TOR in this thread and I thought it would be worthwhile to share this whitepaper on why using Bitcoin on TOR is a bad idea
That paper is very bad advice.  It's just wrong. It complains that regular bitcoin nodes can be triggered to ban tor exits, sure, but tor HS bitcoin nodes do not.  The "bad" outcome they are concerned about is that if you use tor you might find it doesn't work and you need to turn off tor to connect: even if that were a real risk it isn't worse than not using tor at all!
member
Activity: 194
Merit: 29
There have been a few mentions of using TOR in this thread and I thought it would be worthwhile to share this whitepaper on why using Bitcoin on TOR is a bad idea

https://arxiv.org/pdf/1410.6079.pdf

Dandelion++ is a fantastic step in the right direction because its lightweight and simple to implement
sr. member
Activity: 742
Merit: 395
I am alive but in hibernation.

1. Make a privacy graph (few people refers it to hamiltonian circuit or "anonymity set") which contain random peer.

Does it means if more Nodes are participating (More decentralized we become) , protocol will take more time?
As numbers of Node increase,more time will be required to create the  hamiltonian circuit.

AFAIK, there's upper limit of participating node and the time to make privacy graph/hamiltonian circuit shouldn't take long time since AFAIK nodes simply select other known Nodes.
If more nodes support Dandelion, creating privacy graph should be easier/faster.

P.S. To be frank, 1st step is most confusing for me.

Thanks for your candid reply, I think I figure it out by combining the below two paragraph from github.
Actually Hamiltonian circuit is not feasible so 2 random Dandelion destinations are taken. More the Dandelion nodes, I guess you get more option to select the 2 random destination or path.


Quote
In an ideal setting, we have found that a Hamiltonian circuit provides near-optimal privacy guarantees. However, constructing a Hamiltonian circuit through the Bitcoin P2P network in a decentralized, trustless manner is not feasible. Thus, we recommend that each node select two Dandelion destinations uniformly at random without replacement from its list of outbound peers. Our tests have shown that this method provides comparable privacy with increased robustness.


Quote
Dandelion does not conflict with existing versions of Bitcoin. A Bitcoin node that supports Dandelion appears no differently to Bitcoin nodes running older software versions. Bitcoin nodes that support Dandelion can identify feature support through a probe message. Obviously, older nodes are not capable of Dandelion routing. If a Bitcoin node supporting Dandelion has no peers that also support Dandelion, then its behavior naturally decays to that of a Bitcoin node without Dandelion support due to the Dandelion transaction embargoes.




source: https://github.com/dandelion-org/bips/blob/master/bip-dandelion.mediawiki
legendary
Activity: 1456
Merit: 1176
Always remember the cause!
Although it is brilliant idea and seems to be helpful for users who run a full node, I afraid it is hardly enough for average users. Typically, they use either online wallets and are totally compromised or spv wallets which disclose the addresses they are interested in, to their (potentially spy) peers  anyway.

I agree, however SPV wallet users can use Tor (or other secure connection) to prevent tracking / reduce information that could be tracked.
Besides AFAIK it's possible to implement Dandelion on SPV wallet since all Dandelion do are make privacy graph and broadcast transaction to other peers in graph or selected nodes which SPV wallet connects to.
SPV wallets set a Bloom filter with full nodes they connect, this way they expose enough information to every single peer and if one of them happens to be a spy node no matter others have implemented Dandelion or not, user ip is compromised. SPVs can't implement Dandelion as they do not validate/relay transactions.

I think someone should do something about SPVs, they constitute the weakest part of bitcoin, I suppose.
legendary
Activity: 2053
Merit: 1356
aka tonikt
CoinJoins and Tor achieve two completely different kinds of anonymity. They are orthogonal to each other. You cannot compare them.
My point was that CoinJoin hasn't really been used in real life, while tor based centralized mixers have. And most likely will be in a future...
If you need to anonymize coins today, you'd rather choose a tor mixed over coin join.


The point of Dandelion is to have privacy by default. It is built into the P2P protocol. Users get privacy without having to think about privacy. OTOH, both Tor and CoinJoins require the user to actively think about and care about their own privacy. That means that most users aren't going to do those things because they don't think about or care about their privacy.

I'm just saying that the coin join idea, despite being very old (and having quite an advanced design by now) has not been delivered to a widely used bitcoin software.
And I'm just worried that Dandelion (or any other privacy enhancing feature) will end up the same way.

Both CoinJoin and Dandelion, in order to actually be practical, should be enabled in a widely used bitcoin software.
Exactly as you say: having it "built into the P2P protocol", so users can get "privacy without having to think about it".



I just use any of the send transaction web pages:
https://en.bitcoin.it/wiki/Transaction_broadcasting
Good for you. The vast majority of users aren't going to do that because they aren't aware of the privacy implications as you are. The whole reason something like Dandelion is being proposed is to get Privacy into the network protocol itself so that users who don't care about privacy still get privacy anyways.

Yes. However, before Dandelion gets delivers (if ever), it does not hurt to tell people that they already have options to hide transaction origin, had they cared to become aware of the privacy implications.
sr. member
Activity: 742
Merit: 395
I am alive but in hibernation.

1. Make a privacy graph (few people refers it to hamiltonian circuit or "anonymity set") which contain random peer.

Does it means if more Nodes are participating (More decentralized we become) , protocol will take more time?
As numbers of Node increase,more time will be required to create the  hamiltonian circuit.
staff
Activity: 3458
Merit: 6793
Just writing some code
For instance, look at the "coin join" idea - it is at least 6 years old.
But still today the best and only reliable way to anonymize your coins is to push them through a tor mixer service.
Because nobody wants to put his head on providing such services. Or even developing the technology.
CoinJoins and Tor achieve two completely different kinds of anonymity. They are orthogonal to each other. You cannot compare them.

The point of Dandelion is to have privacy by default. It is built into the P2P protocol. Users get privacy without having to think about privacy. OTOH, both Tor and CoinJoins require the user to actively think about and care about their own privacy. That means that most users aren't going to do those things because they don't think about or care about their privacy.

I just use any of the send transaction web pages:
https://en.bitcoin.it/wiki/Transaction_broadcasting
Good for you. The vast majority of users aren't going to do that because they aren't aware of the privacy implications as you are. The whole reason something like Dandelion is being proposed is to get Privacy into the network protocol itself so that users who don't care about privacy still get privacy anyways.

Oh, I thought aggregating signatures helped with privacy.  Or is that only really effective for multisig transactions?
Schnorr signatures by themselves do not do anything for privacy. But they do allow for things like Taproot and some kinds of multisigs which are better for privacy. But it also depends on what kind of privacy you are talking about because even with those things, people can still know which outputs are yours and how much you are receiving. Furthermore, it does nothing to help with anonymizing the IP address source of a transaction (which is what Dandelion does).
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
Schnorr sigs don't add privacy, they just makes it more attractive (because a coinjoin with schnorr aggregated signatures will have effectively cheaper fees than a typical 1 input 2 output transaction). It'd be nice if the Schnorr scheme could allow miners to create blocks that aggregate all separate signatures into one, but I don't know if that's possible/practical.

Oh, I thought aggregating signatures helped with privacy.  Or is that only really effective for multisig transactions?

legendary
Activity: 3430
Merit: 3080
I wouldn't say that's fair.  They're introducing this feature for starters, but then Schnorr will bring some more privacy benefits once that's good to go.  It sounds like testing is ongoing with Bulletproofs and Confidential transactions.

Schnorr sigs don't add privacy, they just makes it more attractive (because a coinjoin with schnorr aggregated signatures will have effectively cheaper fees than a typical 1 input 2 output transaction). It'd be nice if the Schnorr scheme could allow miners to create blocks that aggregate all separate signatures into one, but I don't know if that's possible/practical.

There are separate proposals to make coinjoins more practical, one of which is particularly attractive (Bustapay). The receiving party in a transaction adds an input to the transaction, which breaks the assumption that inputs are always controlled by the sender. This is actually a really useful way to consolidate your outputs, although this possibly invites a new assumption ("dustiest" input belongs to the receiver). Not as strong an assumption as the status quo, though
legendary
Activity: 2053
Merit: 1356
aka tonikt
but as the reality shows the devs are rather reluctant to introduce "privacy" features into bitcoin software.

I wouldn't say that's fair.  They're introducing this feature for starters, but then Schnorr will bring some more privacy benefits once that's good to go.  It sounds like testing is ongoing with Bulletproofs and Confidential transactions. 

OK then, bring it on.
I'll be happy to see it.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
but as the reality shows the devs are rather reluctant to introduce "privacy" features into bitcoin software.

I wouldn't say that's fair.  They're introducing this feature for starters, but then Schnorr will bring some more privacy benefits once that's good to go.  It sounds like testing is ongoing with Bulletproofs and Confidential transactions. 


Although it is brilliant idea and seems to be helpful for users who run a full node, I afraid it is hardly enough for average users. Typically, they use either online wallets and are totally compromised or spv wallets which disclose the addresses they are interested in, to their (potentially spy) peers  anyway.

We can only provide people with the tools.  We can't force people to use them.  It's up to them how much privacy they want to maintain.
Pages:
Jump to: