Bitcoin Forum
November 17, 2018, 07:53:34 PM *
News: Latest Bitcoin Core release: 0.17.0 [Torrent].
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [Discussion] Dandelion - A protocol to hide transaction origin  (Read 613 times)
ETFbitcoin
Legendary
*
Offline Offline

Activity: 1498
Merit: 1261


Make winning bets on sports with Sportsbet.io!


View Profile WWW
October 01, 2018, 05:37:30 AM
Merited by dbshck (5), suchmoon (4), r1s2g3 (2), vapourminer (1), HeRetiK (1)
 #1

Recently i read some Bitcoin improvement idea, but i'm really surprised there are barely any information on news media, medium and this forum. So, i decided to make this thread.

What is Dandelion?
Dandelion is a protocol to prevent IP tracking/nodes which firstly broadcast transaction. Bitcoin protocol don't need to be changed since it's implemented on Bitcoin client, which means no soft/hard-fork required.

Why it's necessary?
Every time a node broadcast a transaction, obviously you sent the transaction to other nodes. That means other nodes know who broadcast the transaction to them.
If there's group/state who wish to track transaction origin, they could run many nodes and connect to as many nodes as they can so they can get the node which broadcast the transaction first.

How it works (simplified) ?


1. Make a privacy graph (few people refers it to hamiltonian circuit or "anonymity set") which contain random peer.
2. A node broadcast a transaction to another peer on circuit
3. The next peer randomly decide to :
    A. broadcast the transaction to Bitcoin network (10% chance by default)
    B. Only broadcast to next peer on circuit (back to step 3)

Potential problems
1. Not enough peers to participate, which reduce Dandelion's advantage.
2. While Dandelion bring good privacy improvement, IMO state/group could track to the "anonymity set".

My opinion
Dandelion bring lots of advantage which require no protocol change and user barely feel the disadvantage (such as slightly longer transaction propagation). Bitcoin Core or any clients should implement Dandelion.

Estimated release date
It was planned along with Bitcoin Core 0.17.0 releases, but currently planned released along with 0.18.0.

p.s. this thread might be changed if i realized there's wrong information, find simpler/more accurate explanation or found reliable information source.

Some informations:
1. http://arxiv.org/pdf/1701.04439.pdf
2. http://github.com/dandelion-org/bips/blob/master/bip-dandelion.mediawiki
3. http://t4ch.top/dandelion-a-bitcoin-protocol-to-hide-a-transactions-origin/
4. http://medium.com/@thecryptoconomy/dandelions-and-a-bright-future-for-bitcoin-privacy-712dbc4b1ec5
5. http://bitcoinmagazine.com/articles/anatomy-anonymity-how-dandelion-could-make-bitcoin-more-private/
6. http://github.com/bitcoin/bips/blob/master/bip-0156.mediawiki
7. http://hackernoon.com/bitcoin-upgrades-with-dandelion-the-transaction-privacy-protocol-ae9647bfbcb2

This thread is archived at http://archive.fo/mg8oZ

   ▄▄██████▄▄
  ████████████
███▄▄
 ██████████████▀▀▀██▄
████████████████   ▀██▄
████████████████     ▀██
██████████████       ██▌
██████████████        ▐██
██▌▀▀██████▀▀         ▐██
▐██                   ██▌
 ██▄                 ▄██
  ▀██▄             ▄██▀
    ▀██▄▄▄     ▄▄▄██▀
      ▀▀█████████▀▀





███████████████████████████
███████████▀▀         ▀▀███
████████▀   ▄▄██▄  ▀█▄  ▀██
██████▀  ▄████████▄  ▀█  ██
████▀  ▄██████▄▀  ██▄    ██
███▀  ██████▄▀  ▄▀████▄  ██
██▀  █████▄▀  ▄▀██████  ▄██
██  ▀███▄▀  ▄▀███████  ▄███
██    ▀██▄▄▀███████▀  ▄████
██  █▄  ▀████████▀  ▄██████
██▄  ▀█▄  ▀██▀▀   ▄████████
███▄▄         ▄▄███████████
███████████████████████████
███████████████████████████
████████▀▀       ▀▀████████
█████▀   ▄ ▀███▀ ▄   ▀█████
████  ▄████▄ ▀ ▄████▄  ████
███  ▄ ▀███▀ ▄ ▀███▀ ▄  ███
██  ▄██ ▀▀ ▄███▄ ▀▀ ██▄  ██
██  █▀ ▄█ ███████ █▄ ▀█  ██
██   ▄███▄ █████ ▄███▄   ██
███  ████▀ ▄▄▄▄▄ ▀████  ███
████  ▀ ▄ ▀█████▀ ▄ ▀  ████
█████▄  ▀▀▄ ███ ▄▀▀  ▄█████
████████▄▄       ▄▄████████
███████████████████████████
████████     INDUSTRY LEADING BITCOIN SPORTSBOOK     ████████
LIVE
STREAMING
DAILY PRICE
BOOSTS
LIVE DEALER
CASINO
FAST & SECURE
PAYMENTS
███████████████████████████
████████▀▀       ▀▀████████
█████▀  ▄█▄  ▀  ▄▄   ▀█████
████  ▄  ▀    ▀█████▄  ████
███  ▀█▀   ▀█▄   ▀▀██▄  ███
██  ▄    █▄  ▀██▄▄  ▀█▄  ██
██  █▀ ▄  ▀█▄  ▀███▄  ▀  ██
██    ▄██  ▀██▄  ▀███▄   ██
███  ▀████  ▀███▄  ▀█▀  ███
████  ▀████  ▀████▄    ████
█████▄   ▀▀█▄  ▀▀▀   ▄█████
████████▄▄       ▄▄████████
███████████████████████████
███████████████████████████
████████▀▀ █████ ▀▀████████
█████▀    ▄█████▄    ▀█████
██████▄▄█▀▀ ▄▄▄ ▀▀█▄▄██████
███▀███▀ ▄███▀███▄ ▀███▀███
██   █ ▄██▀     ▀██▄ █   ██
██   █ ██         ██ █   ██
██   █ ▀██▄▄█ █▄▄██▀ █   ██
███▄███▄ ▀██▄▄▄██▀ ▄███▄███
██████▀▀█▄▄ ▀▀▀ ▄▄█▀▀██████
█████▄    ▀█████▀    ▄█████
████████▄▄ █████ ▄▄████████
███████████████████████████





..WIN WITH US!..
1542484414
Hero Member
*
Offline Offline

Posts: 1542484414

View Profile Personal Message (Offline)

Ignore
1542484414
Reply with quote  #2

1542484414
Report to moderator
1542484414
Hero Member
*
Offline Offline

Posts: 1542484414

View Profile Personal Message (Offline)

Ignore
1542484414
Reply with quote  #2

1542484414
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
ETFbitcoin
Legendary
*
Offline Offline

Activity: 1498
Merit: 1261


Make winning bets on sports with Sportsbet.io!


View Profile WWW
October 01, 2018, 05:37:45 AM
 #2

With this proposal/improvement, i wonder about these things :
1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?
2. Would this affect block size/weight limit size increase in future?
3. Is using Tor/I2P/Kovri better/simpler solution?

   ▄▄██████▄▄
  ████████████
███▄▄
 ██████████████▀▀▀██▄
████████████████   ▀██▄
████████████████     ▀██
██████████████       ██▌
██████████████        ▐██
██▌▀▀██████▀▀         ▐██
▐██                   ██▌
 ██▄                 ▄██
  ▀██▄             ▄██▀
    ▀██▄▄▄     ▄▄▄██▀
      ▀▀█████████▀▀





███████████████████████████
███████████▀▀         ▀▀███
████████▀   ▄▄██▄  ▀█▄  ▀██
██████▀  ▄████████▄  ▀█  ██
████▀  ▄██████▄▀  ██▄    ██
███▀  ██████▄▀  ▄▀████▄  ██
██▀  █████▄▀  ▄▀██████  ▄██
██  ▀███▄▀  ▄▀███████  ▄███
██    ▀██▄▄▀███████▀  ▄████
██  █▄  ▀████████▀  ▄██████
██▄  ▀█▄  ▀██▀▀   ▄████████
███▄▄         ▄▄███████████
███████████████████████████
███████████████████████████
████████▀▀       ▀▀████████
█████▀   ▄ ▀███▀ ▄   ▀█████
████  ▄████▄ ▀ ▄████▄  ████
███  ▄ ▀███▀ ▄ ▀███▀ ▄  ███
██  ▄██ ▀▀ ▄███▄ ▀▀ ██▄  ██
██  █▀ ▄█ ███████ █▄ ▀█  ██
██   ▄███▄ █████ ▄███▄   ██
███  ████▀ ▄▄▄▄▄ ▀████  ███
████  ▀ ▄ ▀█████▀ ▄ ▀  ████
█████▄  ▀▀▄ ███ ▄▀▀  ▄█████
████████▄▄       ▄▄████████
███████████████████████████
████████     INDUSTRY LEADING BITCOIN SPORTSBOOK     ████████
LIVE
STREAMING
DAILY PRICE
BOOSTS
LIVE DEALER
CASINO
FAST & SECURE
PAYMENTS
███████████████████████████
████████▀▀       ▀▀████████
█████▀  ▄█▄  ▀  ▄▄   ▀█████
████  ▄  ▀    ▀█████▄  ████
███  ▀█▀   ▀█▄   ▀▀██▄  ███
██  ▄    █▄  ▀██▄▄  ▀█▄  ██
██  █▀ ▄  ▀█▄  ▀███▄  ▀  ██
██    ▄██  ▀██▄  ▀███▄   ██
███  ▀████  ▀███▄  ▀█▀  ███
████  ▀████  ▀████▄    ████
█████▄   ▀▀█▄  ▀▀▀   ▄█████
████████▄▄       ▄▄████████
███████████████████████████
███████████████████████████
████████▀▀ █████ ▀▀████████
█████▀    ▄█████▄    ▀█████
██████▄▄█▀▀ ▄▄▄ ▀▀█▄▄██████
███▀███▀ ▄███▀███▄ ▀███▀███
██   █ ▄██▀     ▀██▄ █   ██
██   █ ██         ██ █   ██
██   █ ▀██▄▄█ █▄▄██▀ █   ██
███▄███▄ ▀██▄▄▄██▀ ▄███▄███
██████▀▀█▄▄ ▀▀▀ ▄▄█▀▀██████
█████▄    ▀█████▀    ▄█████
████████▄▄ █████ ▄▄████████
███████████████████████████





..WIN WITH US!..
Wind_FURY
Hero Member
*****
Offline Offline

Activity: 910
Merit: 698


Crypto-Games.net: Multiple coins, multiple games


View Profile
October 01, 2018, 06:58:22 AM
 #3

OP, can you post more information and what your opinion is on the proposal? That would help start the discussion.

Quote
1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?

Of course. It will affect the user too. I will not let the payer leave until I see one confirmation if I was the merchant. Hahaha.

Quote
2. Would this affect block size/weight limit size increase in future?

I believe yes, the same as ring signatures? Maybe DooMad can confirm.

Quote
3. Is using Tor/I2P/Kovri better/simpler solution?

Or take features that help in anonymous transactions in an off-chain solution that Bitcoin already has?


▄▄▄████████▄▄▄
▄██████████████████▄
▄██████████████████████▄
██████████████████████████
████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
██████████████████████████████
████████████████████████████
██████████████████████████
▀██████████████████████▀
▀██████████████████▀
▀▀▀████████▀▀▀
   ███████
██████████
██████████
██████████
██████████
██████████
██████████
██████████
██████████
██████████
██████████
██████████
███████
BTC  ◉PLAY  ◉XMR  ◉DOGE  ◉BCH  ◉STRAT  ◉ETH  ◉GAS  ◉LTC  ◉DASH  ◉PPC
     ▄▄██████████████▄▄
  ▄██████████████████████▄        █████
▄██████████████████████████▄      █████
████ ▄▄▄▄▄ ▄▄▄▄▄▄ ▄▄▄▄▄ ████     ▄██▀
████ █████ ██████ █████ ████    ▄██▀
████ █████ ██████ █████ ████    ██▀
████ █████ ██████ █████ ████    ██
████ ▀▀▀▀▀ ▀▀▀▀▀▀ ▀▀▀▀▀ ████ ▄██████▄
████████████████████████████ ████████
███████▀            ▀███████ ▀██████▀
█████▀                ▀█████
▀██████████████████████████▀
  ▀▀████████████████████▀▀ 
✔️DICE           
✔️BLACKJACK
✔️PLINKO
✔️VIDEO POKER
✔️ROULETTE     
✔️LOTTO
HeRetiK
Hero Member
*****
Online Online

Activity: 924
Merit: 796


the forkings will continue until morale improves


View Profile
October 01, 2018, 08:54:35 AM
Merited by ETFbitcoin (1)
 #4

3. Is using Tor/I2P/Kovri better/simpler solution?

I think in the long run it would make sense for Bitcoin to inherently support transaction propagation privacy, without relying on external solutions. The more people use such a system, the better it can ensure privacy. High usage can only be ensured by making it part of Bitcoin.

Question is of course the practical relevance of tracking the (physical) source of a transaction. Currently most invasive measures from governmental bodies seem to take part via transaction analysis and following coins until they end up at an exchange or known merchant. However I wouldn't be surprised if the tracking of Bitcoin nodes became if a thing in the future (if that's not the case already).

Obviously the question is what trade-offs there are to be made, especially in terms of propagation times. At a first glance it doesn't seem to introduce any overhead to the blockchain though, as it seems to only affect transaction routing between nodes. Admittedly I have yet to take a closer look though.


Or take features that help in anonymous transactions in an off-chain solution that Bitcoin already has?

If you are referring to LN -- to my understanding Dandelion would improve privacy on a different level. While LN makes transaction analysis much harder, Dandelion obscures the source of on-chain transactions (eg. opening and closing transactions when referring to LN) in terms of network topology (and by extension on a geographical level).

DooMAD
Legendary
*
Offline Offline

Activity: 1792
Merit: 1185


Leave no FUD unchallenged


View Profile WWW
October 01, 2018, 09:43:10 AM
 #5

Quote
2. Would this affect block size/weight limit size increase in future?

I believe yes, the same as ring signatures? Maybe DooMad can confirm.

It's the first time I've read about it, but my initial understanding based on a cursory glance of the BIP is no.  Whichever Dandelion-compatible client is selected at random to actually broadcast the transaction, it strips out any of the extra information required by Dandelion and just sends a regular Bitcoin transaction.  Definitely slows down propagation a tiny bit, but doesn't appear to impact tx size once the final broadcast is made.  Clever stuff.

That said, it will obviously be slightly more resource intensive for those choosing to use Dandelion.  You'll be maintaining two distinct mempools.

Carlton Banks
Legendary
*
Offline Offline

Activity: 2184
Merit: 1405



View Profile
October 01, 2018, 12:33:23 PM
Merited by ETFbitcoin (1), HeRetiK (1)
 #6

With this proposal/improvement, i wonder about these things :
1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?

No, in 2 ways.

1st way: Transaction propagation using BIP 156 (i.e. dandelion tx relay) will still be very fast in relative terms, so it won't make any difference in the real world
2nd way: Accepting 0-confirmation transactions will be just as risky (and inadvisable) as they are without dandelion


2. Would this affect block size/weight limit size increase in future?

No


3. Is using Tor/I2P/Kovri better/simpler solution?

It's gonna be easier to use BIP 156, it doesn't require the user to do anything (Tor requires some extra setup). But it won't work 100% of the time for a while yet, as BIP 156 (dandelion) needs compatible nodes on the Bitcoin network for it to work; it's currently planned for inclusion in version 0.18.0. Only 0.18.0+ nodes will be able to propagate transactions the dandelion way (unless it gets backported to older versions, which seems unlikely as it's a new feature), so it will take some time before you can expect every transaction to be relayed using this technique. I imagine the protocol will be implemented so that BIP 156 nodes prefer to relay only to other BIP 156 compatible nodes, but the implementation isn't finished AFAIK.

Vires in numeris
lightningslotmachine
Newbie
*
Offline Offline

Activity: 22
Merit: 6


View Profile WWW
October 01, 2018, 12:41:16 PM
 #7

This has just been released for ZCoin

http://zcoin.io/plus-plus-privacy-zcoin-integrates-dandelion/
ETFbitcoin
Legendary
*
Offline Offline

Activity: 1498
Merit: 1261


Make winning bets on sports with Sportsbet.io!


View Profile WWW
October 01, 2018, 01:49:12 PM
 #8

Quote
1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?

Of course. It will affect the user too. I will not let the payer leave until I see one confirmation if I was the merchant. Hahaha.

You know most physical merchants accept 0-confirmation for small transaction knowing double-spend attempt isn't cheap.

Transaction propagation is very fast and merchants/users wait few seconds to check if there's any double-spend attempt. If double-spend transaction is broadcasted after first transaction, in almost all cases it will be rejected.

Quote
2. Would this affect block size/weight limit size increase in future?

I believe yes, the same as ring signatures? Maybe DooMad can confirm.

I don't see the correlation between Dandelion and ring signatures. Could you elaborate?

Quote
3. Is using Tor/I2P/Kovri better/simpler solution?

Or take features that help in anonymous transactions in an off-chain solution that Bitcoin already has?

True, but some off-chain solution such as LN still need at least 2 on-chain transaction when open/close channel.

That said, it will obviously be slightly more resource intensive for those choosing to use Dandelion.  You'll be maintaining two distinct mempools.

I certainly didn't think that, but since once the transaction is broadcasted to network, you simply move transaction on stempool to mempool. IMO it has bigger impact on computational resource.

With this proposal/improvement, i wonder about these things :
1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?

No, in 2 ways.

1st way: Transaction propagation using BIP 156 (i.e. dandelion tx relay) will still be very fast in relative terms, so it won't make any difference in the real world
2nd way: Accepting 0-confirmation transactions will be just as risky (and inadvisable) as they are without dandelion

After read the sources more, i agree. But transaction propagation could be longer problem if user don't have any existing privacy graph/"anonymity".


Nice information, dandelion on actual usage would bring lots of interesting information, even though it's improved/modified.

A bit off-topic, looks like Zerocoin-based cryptocurrency currently trending.

   ▄▄██████▄▄
  ████████████
███▄▄
 ██████████████▀▀▀██▄
████████████████   ▀██▄
████████████████     ▀██
██████████████       ██▌
██████████████        ▐██
██▌▀▀██████▀▀         ▐██
▐██                   ██▌
 ██▄                 ▄██
  ▀██▄             ▄██▀
    ▀██▄▄▄     ▄▄▄██▀
      ▀▀█████████▀▀





███████████████████████████
███████████▀▀         ▀▀███
████████▀   ▄▄██▄  ▀█▄  ▀██
██████▀  ▄████████▄  ▀█  ██
████▀  ▄██████▄▀  ██▄    ██
███▀  ██████▄▀  ▄▀████▄  ██
██▀  █████▄▀  ▄▀██████  ▄██
██  ▀███▄▀  ▄▀███████  ▄███
██    ▀██▄▄▀███████▀  ▄████
██  █▄  ▀████████▀  ▄██████
██▄  ▀█▄  ▀██▀▀   ▄████████
███▄▄         ▄▄███████████
███████████████████████████
███████████████████████████
████████▀▀       ▀▀████████
█████▀   ▄ ▀███▀ ▄   ▀█████
████  ▄████▄ ▀ ▄████▄  ████
███  ▄ ▀███▀ ▄ ▀███▀ ▄  ███
██  ▄██ ▀▀ ▄███▄ ▀▀ ██▄  ██
██  █▀ ▄█ ███████ █▄ ▀█  ██
██   ▄███▄ █████ ▄███▄   ██
███  ████▀ ▄▄▄▄▄ ▀████  ███
████  ▀ ▄ ▀█████▀ ▄ ▀  ████
█████▄  ▀▀▄ ███ ▄▀▀  ▄█████
████████▄▄       ▄▄████████
███████████████████████████
████████     INDUSTRY LEADING BITCOIN SPORTSBOOK     ████████
LIVE
STREAMING
DAILY PRICE
BOOSTS
LIVE DEALER
CASINO
FAST & SECURE
PAYMENTS
███████████████████████████
████████▀▀       ▀▀████████
█████▀  ▄█▄  ▀  ▄▄   ▀█████
████  ▄  ▀    ▀█████▄  ████
███  ▀█▀   ▀█▄   ▀▀██▄  ███
██  ▄    █▄  ▀██▄▄  ▀█▄  ██
██  █▀ ▄  ▀█▄  ▀███▄  ▀  ██
██    ▄██  ▀██▄  ▀███▄   ██
███  ▀████  ▀███▄  ▀█▀  ███
████  ▀████  ▀████▄    ████
█████▄   ▀▀█▄  ▀▀▀   ▄█████
████████▄▄       ▄▄████████
███████████████████████████
███████████████████████████
████████▀▀ █████ ▀▀████████
█████▀    ▄█████▄    ▀█████
██████▄▄█▀▀ ▄▄▄ ▀▀█▄▄██████
███▀███▀ ▄███▀███▄ ▀███▀███
██   █ ▄██▀     ▀██▄ █   ██
██   █ ██         ██ █   ██
██   █ ▀██▄▄█ █▄▄██▀ █   ██
███▄███▄ ▀██▄▄▄██▀ ▄███▄███
██████▀▀█▄▄ ▀▀▀ ▄▄█▀▀██████
█████▄    ▀█████▀    ▄█████
████████▄▄ █████ ▄▄████████
███████████████████████████





..WIN WITH US!..
DooMAD
Legendary
*
Offline Offline

Activity: 1792
Merit: 1185


Leave no FUD unchallenged


View Profile WWW
October 01, 2018, 02:40:34 PM
 #9

That said, it will obviously be slightly more resource intensive for those choosing to use Dandelion.  You'll be maintaining two distinct mempools.

I certainly didn't think that, but since once the transaction is broadcasted to network, you simply move transaction on stempool to mempool. IMO it has bigger impact on computational resource.

I could be wrong, but since your stempool will handle other peoples' Dandelion transactions, I thought it fair to assume that both stempool and mempool would need to be maintained continuously.  I doubt it will be particularly demanding on your system, though.  I really like the idea.

achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 1582
Merit: 1750


bc1qshxkrpe4arppq89fpzm6c0tpdvx5cfkve2c8kl


View Profile WWW
October 01, 2018, 03:21:46 PM
Merited by DooMAD (2), ETFbitcoin (1)
 #10

1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?
No. The transaction will take a little bit longer (but likely not noticeably) than it would without dandelion. The effect of this is really just as if you had hesitated a few extra seconds before sending the transaction. There is no difference to these merchants as they will still likely receive the transaction at around the same time the vast majority of the network does. There is no queue.

2. Would this affect block size/weight limit size increase in future?
No. This is not at all related to transaction sizes, transaction formats, or consensus rules. It is purely a network protocol change. It could be deployed right now with no other changes to Bitcoin.

3. Is using Tor/I2P/Kovri better/simpler solution?
With Tor (I'm not super familiar with the others), you could potentially correlate multiple transactions to the same node. AFAIK, with Dandelion, a new circuit is chosen for each broadcast, so it is much harder to correlate multiple transactions. Also, as mentioned earlier, it would be better for Bitcoin to adopt its own privacy protocols rather than relying on external ones. If the privacy protocol was built into the network protocol itself, that would be better than just a few people choosing to use an external privacy method.

That said, it will obviously be slightly more resource intensive for those choosing to use Dandelion.  You'll be maintaining two distinct mempools.

I certainly didn't think that, but since once the transaction is broadcasted to network, you simply move transaction on stempool to mempool. IMO it has bigger impact on computational resource.

I could be wrong, but since your stempool will handle other peoples' Dandelion transactions, I thought it fair to assume that both stempool and mempool would need to be maintained continuously.  I doubt it will be particularly demanding on your system, though.  I really like the idea.

Resource usage won't be that much worse as some tricks can be used. The stempool is a superset of the mempool, meaning that everything in the mempool is also in the stempool. So instead of duplicating everything, you can just maintain a separate stempool only set of transactions. This would take up the approximately the same amount of memory (there's some data structure overhead) as if the node didn't have dandelion since all of the dandelion transactions would have still happened anyways and gone into the mempool.

For CPU usage, it won't be that much more.



Dandelion is BIP 156.

ETFbitcoin
Legendary
*
Offline Offline

Activity: 1498
Merit: 1261


Make winning bets on sports with Sportsbet.io!


View Profile WWW
October 01, 2018, 03:53:12 PM
 #11

1. Would this affect physical merchants who accept 0-confirmation, since transaction propagation will be longer and merchant/user might have wait a bit longer while there's queue?
No. The transaction will take a little bit longer (but likely not noticeably) than it would without dandelion. The effect of this is really just as if you had hesitated a few extra seconds before sending the transaction. There is no difference to these merchants as they will still likely receive the transaction at around the same time the vast majority of the network does. There is no queue.

I thought more hops before broadcast to Bitcoin network which means network delay between nodes and verification time would be noticeable for 0-conf.

2. Would this affect block size/weight limit size increase in future?
No. This is not at all related to transaction sizes, transaction formats, or consensus rules. It is purely a network protocol change. It could be deployed right now with no other changes to Bitcoin.

I only thought that since i thought that would make transaction propagation slower and few people might have concern with propagation when block size/weight limit size increase is needed.

   ▄▄██████▄▄
  ████████████
███▄▄
 ██████████████▀▀▀██▄
████████████████   ▀██▄
████████████████     ▀██
██████████████       ██▌
██████████████        ▐██
██▌▀▀██████▀▀         ▐██
▐██                   ██▌
 ██▄                 ▄██
  ▀██▄             ▄██▀
    ▀██▄▄▄     ▄▄▄██▀
      ▀▀█████████▀▀





███████████████████████████
███████████▀▀         ▀▀███
████████▀   ▄▄██▄  ▀█▄  ▀██
██████▀  ▄████████▄  ▀█  ██
████▀  ▄██████▄▀  ██▄    ██
███▀  ██████▄▀  ▄▀████▄  ██
██▀  █████▄▀  ▄▀██████  ▄██
██  ▀███▄▀  ▄▀███████  ▄███
██    ▀██▄▄▀███████▀  ▄████
██  █▄  ▀████████▀  ▄██████
██▄  ▀█▄  ▀██▀▀   ▄████████
███▄▄         ▄▄███████████
███████████████████████████
███████████████████████████
████████▀▀       ▀▀████████
█████▀   ▄ ▀███▀ ▄   ▀█████
████  ▄████▄ ▀ ▄████▄  ████
███  ▄ ▀███▀ ▄ ▀███▀ ▄  ███
██  ▄██ ▀▀ ▄███▄ ▀▀ ██▄  ██
██  █▀ ▄█ ███████ █▄ ▀█  ██
██   ▄███▄ █████ ▄███▄   ██
███  ████▀ ▄▄▄▄▄ ▀████  ███
████  ▀ ▄ ▀█████▀ ▄ ▀  ████
█████▄  ▀▀▄ ███ ▄▀▀  ▄█████
████████▄▄       ▄▄████████
███████████████████████████
████████     INDUSTRY LEADING BITCOIN SPORTSBOOK     ████████
LIVE
STREAMING
DAILY PRICE
BOOSTS
LIVE DEALER
CASINO
FAST & SECURE
PAYMENTS
███████████████████████████
████████▀▀       ▀▀████████
█████▀  ▄█▄  ▀  ▄▄   ▀█████
████  ▄  ▀    ▀█████▄  ████
███  ▀█▀   ▀█▄   ▀▀██▄  ███
██  ▄    █▄  ▀██▄▄  ▀█▄  ██
██  █▀ ▄  ▀█▄  ▀███▄  ▀  ██
██    ▄██  ▀██▄  ▀███▄   ██
███  ▀████  ▀███▄  ▀█▀  ███
████  ▀████  ▀████▄    ████
█████▄   ▀▀█▄  ▀▀▀   ▄█████
████████▄▄       ▄▄████████
███████████████████████████
███████████████████████████
████████▀▀ █████ ▀▀████████
█████▀    ▄█████▄    ▀█████
██████▄▄█▀▀ ▄▄▄ ▀▀█▄▄██████
███▀███▀ ▄███▀███▄ ▀███▀███
██   █ ▄██▀     ▀██▄ █   ██
██   █ ██         ██ █   ██
██   █ ▀██▄▄█ █▄▄██▀ █   ██
███▄███▄ ▀██▄▄▄██▀ ▄███▄███
██████▀▀█▄▄ ▀▀▀ ▄▄█▀▀██████
█████▄    ▀█████▀    ▄█████
████████▄▄ █████ ▄▄████████
███████████████████████████





..WIN WITH US!..
Piggy
Hero Member
*****
Offline Offline

Activity: 546
Merit: 1000



View Profile WWW
October 02, 2018, 04:59:57 AM
 #12

One thing that is not clear to me, does this mean a node using Dandelion is also receiving transactions only through it? If so couldn't this cause potential security issues in certain cases? Since you need completely to relay on it and you cannot be 100% sure what is happening on the rest of the network.



     ▄██    ▐███████▄▄▄       ▄▄█████▄▄      ▄██▄      ▐██▄    ▒▓▓▄      ▄▓▓▒
     ███    ▐██▌▀▀▀▀▀███▄    ███▀▀▀▀▀███▄    ████▄     ▐██▌  ▐▓▄ ▀▓▓▄  ▄▓▓▀ ▄▓▌
     ███    ▐██▌      ███   ███▌      ███▌   ██████    ▐██▌   ▀▓▓▄ ▀▓▓▓▓▀ ▄▓▓▀
     ███    ▐██▌    ▄████  ▐███▌      ▐██▌   ███ ███▄  ▐██▌     ▀▓▓▄ ▀▀ ▄▓▓▀
     ███    ▐█████████▀▀   ▐███▌      ▐██▌   ███  ▀███ ▐██▌      ▓▓▓    ▓▓▓
     ███    ▐██▌   ▀███     ███▌      ███▌   ███    ██████▌   ▄▓▓▀ ▄▓▓▓▓▄ ▓▓▓▄
     ███    ▐██▌     ███    ▀███▄▄▄▄▄████    ███     ▀████▌  ▐▓▀ ▄▓▓▀  ▀▓▓▄ ▀▓▌
     ███    ▐██▌      ███     ▀▀██████▀▀     ███       ███▌    ▄▓▓▀      ▀▓▓▄
                  ▄▄▄█████▄▄▄▄
             ▄▄█▓▓▓▓▓█▀▀▀▀█▓▓▓▓▓█▄
           ▄▓▓▓█▀▀            ▀▀█▓▓█▄
         ▓▓▓█▀                    ▀▓▓█▄
       ▄▓▓▓▀                        ▀▓▓█
      ▄▓▓█                            █▓▓
      ▓▓▓                    ▄██▄     ▐▓▓█
     ▓▓▓                   ▄█▓▓▀       ▐▓▓▌
     ▓▓▓                 ▄█▓▓▀          ▓▓▓
     ▓▓▓       ▓▓▓▄    ▓▓▓▓▀            ▓▓▓
     ▓▓▓        ▀▓▓▓▄█▓▓▓▀             ▐▓▓▌
     ▀▓▓▓         ▀█▓▓█▀               █▓▓
      ▓▓▓▄                            ▓▓▓▌
       ▓▓▓█                         ▄█▓▓▀
        ▀▓▓█▄                     ▄▓▓▓█▀
          ▀▓▓▓█▄               ▄▄█▓▓█▀
            ▀▀█▓▓▓█▄▄▄▄▄▄▄▄▄▄█▓▓▓█▀
                ▀▀██▓▓▓▓▓▓▓███▀▀
Carlton Banks
Legendary
*
Offline Offline

Activity: 2184
Merit: 1405



View Profile
October 02, 2018, 08:33:40 AM
 #13

One thing that is not clear to me, does this mean a node using Dandelion is also receiving transactions only through it? If so couldn't this cause potential security issues in certain cases? Since you need completely to relay on it and you cannot be 100% sure what is happening on the rest of the network.

I'm not sure I totally understand your question, but I think you might be getting the wrong idea.

All dandelion transactions get broadcast in the regular way that Bitcoin nodes do it today. The difference is that your node doesn't broadcast your transactions, you send it to some distant node who then broadcasts your transactions. Dandelion lets you use a different node for broadcasting every new transaction you make. That means your IP address can't be used to link your transactions together.

So there's no added uncertainty about which transactions are waiting to be confirmed, but it does make it uncertain which node sent any of the transactions in the first place.

Vires in numeris
Cøbra
Bitcoin.org domain administrator
Member
**
Offline Offline

Activity: 82
Merit: 33


View Profile WWW
October 03, 2018, 12:37:12 AM
Merited by HeRetiK (1)
 #14

I don't understand how this can work.  Suppose I automatically generate two dandelion transactions, with some relationship with each other, like parent/child and relay them at the same time.  Not seeing the first transaction makes the second invalid, but if they both relay through dandelion, won't there be situations where the second transaction is seen by the Bitcoin network first and rejected as invalid because the first is still swimming around in dandelion relays somewhere?  Or are both somehow routing through the same route?  Huh

Additionally, from what I read, every dandelion ready node can turn any dandelion transaction into a normal Bitcoin transaction and broadcast it.  There isn't anything like onion routing preventing intermediaries from reading what they're sending along in the next hop.  What if you set up a few nodes, but instead of "fluffing" a transaction 10% of the time, you do it 50%.  Doesn't that degrade the overall security assumptions?

Maybe these are stupid questions and I've misunderstood something, but the BIP and overall research feels incomplete.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 1582
Merit: 1750


bc1qshxkrpe4arppq89fpzm6c0tpdvx5cfkve2c8kl


View Profile WWW
October 03, 2018, 01:18:37 AM
Merited by suchmoon (4), ETFbitcoin (1)
 #15

Suppose I automatically generate two dandelion transactions, with some relationship with each other, like parent/child and relay them at the same time.  Not seeing the first transaction makes the second invalid, but if they both relay through dandelion, won't there be situations where the second transaction is seen by the Bitcoin network first and rejected as invalid because the first is still swimming around in dandelion relays somewhere?
You would have the same problem today. If you relayed both transactions to your peers at the same time, the second would also be invalid because the first hadn't propagated fully yet. The solution to this "problem" is to wait a few seconds before sending the second transaction. With Dandelion, it is easier to tell if the network has heard your transaction because you will get INVs from the rest of your peers (the ones you hadn't sent the tx to) saying that they have your transaction. At that point, you can broadcast the second one.

Or are both somehow routing through the same route?  Huh
They could be routed through the same route. For a given inbound connection, all dandelion transactions received from the connection must be sent through the same outbound connection. As the creator of a transaction, you can choose which outbound connection you wish sent your dandelion transaction to. So if you choose the same node as the first one, then your transaction will most likely end up going through the same route. Of course, each node should also be periodically reselecting which outbound node they will send dandelion transactions to for each incoming connection, so it is possible that you will end up with a different route.

Additionally, from what I read, every dandelion ready node can turn any dandelion transaction into a normal Bitcoin transaction and broadcast it.  There isn't anything like onion routing preventing intermediaries from reading what they're sending along in the next hop.  What if you set up a few nodes, but instead of "fluffing" a transaction 10% of the time, you do it 50%.  Doesn't that degrade the overall security assumptions?
What security assumptions?

All that Dandelion guarantees is that an adversary will have a harder time connecting transactions to IP addresses. Even if you have a node that fluffs 100% of the time, this guarantee still holds because it is not you who sent the transaction to the network, it was someone else. So long as you follow the protocol, your transactions will be harder to deanonymize. Furthermore, you don't stick with the same outbound peer forever. You change which peer to relay dandelion transactions to periodically, so eventually you will get an honest node.

Piggy
Hero Member
*****
Offline Offline

Activity: 546
Merit: 1000



View Profile WWW
October 03, 2018, 03:01:51 PM
 #16

hiding transaction origin, that is not the meaning of the transparency of public blockchain

Is just about hiding the ip that originated the transaction itself, i don't see anything wrong with that and I suppose if somebody bothered coming up with this solution, means that there have been already cases where people were "triangulated" successfully.



     ▄██    ▐███████▄▄▄       ▄▄█████▄▄      ▄██▄      ▐██▄    ▒▓▓▄      ▄▓▓▒
     ███    ▐██▌▀▀▀▀▀███▄    ███▀▀▀▀▀███▄    ████▄     ▐██▌  ▐▓▄ ▀▓▓▄  ▄▓▓▀ ▄▓▌
     ███    ▐██▌      ███   ███▌      ███▌   ██████    ▐██▌   ▀▓▓▄ ▀▓▓▓▓▀ ▄▓▓▀
     ███    ▐██▌    ▄████  ▐███▌      ▐██▌   ███ ███▄  ▐██▌     ▀▓▓▄ ▀▀ ▄▓▓▀
     ███    ▐█████████▀▀   ▐███▌      ▐██▌   ███  ▀███ ▐██▌      ▓▓▓    ▓▓▓
     ███    ▐██▌   ▀███     ███▌      ███▌   ███    ██████▌   ▄▓▓▀ ▄▓▓▓▓▄ ▓▓▓▄
     ███    ▐██▌     ███    ▀███▄▄▄▄▄████    ███     ▀████▌  ▐▓▀ ▄▓▓▀  ▀▓▓▄ ▀▓▌
     ███    ▐██▌      ███     ▀▀██████▀▀     ███       ███▌    ▄▓▓▀      ▀▓▓▄
                  ▄▄▄█████▄▄▄▄
             ▄▄█▓▓▓▓▓█▀▀▀▀█▓▓▓▓▓█▄
           ▄▓▓▓█▀▀            ▀▀█▓▓█▄
         ▓▓▓█▀                    ▀▓▓█▄
       ▄▓▓▓▀                        ▀▓▓█
      ▄▓▓█                            █▓▓
      ▓▓▓                    ▄██▄     ▐▓▓█
     ▓▓▓                   ▄█▓▓▀       ▐▓▓▌
     ▓▓▓                 ▄█▓▓▀          ▓▓▓
     ▓▓▓       ▓▓▓▄    ▓▓▓▓▀            ▓▓▓
     ▓▓▓        ▀▓▓▓▄█▓▓▓▀             ▐▓▓▌
     ▀▓▓▓         ▀█▓▓█▀               █▓▓
      ▓▓▓▄                            ▓▓▓▌
       ▓▓▓█                         ▄█▓▓▀
        ▀▓▓█▄                     ▄▓▓▓█▀
          ▀▓▓▓█▄               ▄▄█▓▓█▀
            ▀▀█▓▓▓█▄▄▄▄▄▄▄▄▄▄█▓▓▓█▀
                ▀▀██▓▓▓▓▓▓▓███▀▀
Carlton Banks
Legendary
*
Offline Offline

Activity: 2184
Merit: 1405



View Profile
October 03, 2018, 04:02:25 PM
 #17

hiding transaction origin, that is not the meaning of the transparency of public blockchain

The blockchain was not conceived so that all meta-information about the network would be transparent, only the ledger entries themselves (the ledger never stored IP addresses, that's undesirable if the currency is to be a good one). The transparency is there to prevent double spends and to prove what the inflation rate is. Determining the origin IP of a transaction is not a part of the Bitcoin protocol, and never was. The design goals behind Bitcoin have always been to make the best possible cryptographic currency, which necessarily includes best possible fungibility of units, and which necessarily includes user privacy and anonymity.

Dandelion is simply one new feature that has been making Bitcoin's users more anonyous through making their transactions more private. It's completely consistent with improving Bitcoin's money properties.

Vires in numeris
aliashraf
Sr. Member
****
Offline Offline

Activity: 630
Merit: 402


View Profile
October 03, 2018, 05:20:04 PM
 #18

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.
piotr_n
Legendary
*
Offline Offline

Activity: 1960
Merit: 1039


aka tonikt


View Profile WWW
October 03, 2018, 05:31:39 PM
 #19

IMHO the technology to hide transaction origin was invented long time ago and by now it is quite advanced already.

Except that it isn't called Dandelion, but Tor.

Why to invent the wheel for the second time?

Check out gocoin - my original project of full bitcoin node & cold wallet written in Go.
PGP fingerprint: AB9E A551 E262 A87A 13BB  9059 1BE7 B545 CDF3 FD0E
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 1582
Merit: 1750


bc1qshxkrpe4arppq89fpzm6c0tpdvx5cfkve2c8kl


View Profile WWW
October 03, 2018, 05:35:48 PM
 #20

IMHO the technology to hide transaction origin was invented long time ago and by now it is quite advanced already.

Except that it isn't called Dandelion, but Tor.

Why to invent the wheel for the second time?
As mentioned earlier, Bitcoin shouldn't need to rely on an external service in order to have privacy. Privacy should be built into the protocol itself. Using Tor requires having Tor available on your machine and special configuring which most users won't do. However Dandelion is built into the Bitcoin P2P protocol itself so users don't need to do any special configuration to get it to work, the software just works out of the box.

Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!