-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Dandelion (BIP 156) #100
Comments
Definitely--one key point is that we should change some of the parameters for Unit-e. The parameters in our reference implementation were chosen to maximize privacy with regard to Bitcoin's latency requirements, which are looser than ours. So instead of having a stem of mean length 10 hops, we may want to do something like 3-4 hops to speed things up. |
The PR on bitcoin is commented on by @MarcoFalke as
we could lend them a hand there. |
@scravy In case it's useful as a starting point, we already implemented a number of tests for our reference implementation |
@gfanti I can see one added functional tests: dandelion-org/bitcoin@d043e36#diff-21ab9447686d819eeeb7668ce8011e0d Since the reference implementation and the open PR on bitcoin implement the same BIP, shouldn't the test run as-is on that bitcoin branch (bitcoin/bitcoin#13947)? |
Yes, it should. Does it not? |
I did not check myself, but I did raise it in bitcoin/bitcoin#13947 (comment) |
Update from MarkoFalke on bitcoin implementation:
This sounds like it is going to take A LOT of time to implement.
|
There are also two questions I would like to discuss(yes, again):
I think those two questions are very important, because their wrong combination might lead to different kinds of attacks. For example with 1a + 2a you can send a tx1 to some node1 and then tx2 that spends tx1 to node2. If tx2 is fluffed => there is a dandelion route node1->...->node2. |
I will try to document in this issue all important conversations I had about dandelion: Q: Is there some specific reason why we need a stempool? And not just to modify mempool in some way, that provides isolation from dandelion and non-dandelion transactions?
|
It is very important in dandelion to hide node's state. Because by observing it attacker can try to learn dandelion routing information. Here is my analysis on how we might leak state (I am not evaluating which are probable/feasible, just list).
|
Closing in favor of #210 |
We should implement Dandelion transaction relay according to the BIP and Bitcoin's wip implementation.
@gfanti can provide guidance on implementation details as being behind the research paper and created the BIP. @amiller was also directly involved and can surely help around the security / performance aspects.
As part of the implementation it's important to benchmark the p2p network and overall transaction processing performance w/o Dandelion.
It's also essential to provide an init flag (e.g -dandelion as in Bitcoin) to control the probability and whether the feature should be enabled .
The text was updated successfully, but these errors were encountered: