Subject: Re: [Bitcoin-development] Making bitcoin traceability harder

From: Faré <[email-masked]>
Date: Wed, 21 Aug 2013 11:10:55 -0400

Dear Luke,

thanks for your prompt response.

On Wed, Aug 21, 2013 at 8:00 AM, Luke-Jr <[email-masked]> wrote:
> Let me start out by noting that there are plenty of good ideas which could be
> implemented, but haven't been yet, and might take a long time to get to. There
> are only a couple handfuls of Bitcoin developers, and even fewer of us who are
> able to work full-time on Bitcoin development. Perhaps surprisingly, even this
> often isn't the bottleneck to new functionality: we have a terrible shortage
> of testers, needed to make sure improvements don't break things in subtle
> ways. So, while your ideas are appreciated, please keep in mind that it may
> take time to add them, and you can help Bitcoin development much more by
> aiding in testing currently-written-but-untested features.
>
That's a useful reminder.

> With regard to your points made specifically, please note that addresses are
> intended to be single-use only. Thus, the "recurrent user of address A/B" are
> not using Bitcoin correctly already, which is why they are so easy to trace.
> As far as keeping change amounts as powers of two, while I would personally
> love to find a justification for power-of-two amounts, I don't see how this
> would help privacy. I think it would actually hurt privacy, as change would
> now be clearly identifiable. Furthermore, it would necessarily have to throw
> away excess as a transaction fee - some users would be very upset with this.
>
Even when you don't reuse your address, by considering the amounts in
a transaction, it is often easy to identify what is the main amount
and what is the residual. e.g. "oh, he spent $1.99 worth of bitcoin
out of his big bitcoin address, so the $1.99 is being paid, and the
rest is still the same person", and so trace identities. By using
power-of-two buckets (based on the binary expansion of the amount), it
becomes harder to do amount analysis. Sometimes, buckets are joined or
split, but that still doesn't help much identify how several buckets
combine into one transaction. As for transaction fees — indeed, they
should probably be paid in separate small-bucket transactions. I don't
see any particular difficulty about it.

> As you suggest, it is of course already best practice for merchants (and
> individuals!) to use a unique payment address for every transaction. Gavin's
> payment protocol work has been making some great progress toward improving
> usability for this. There is also a general consensus that Bitcoin-Qt's
> "Receive coins" tab could be significantly improved to discourage address
> reuse further. I don't believe it has been discussed to have merchants use
> multiple addresses/coins for a single payment; that might be worth some
> further discussion here as a privacy extension, but I don't think many would
> consider it an urgent issue (it may help, but probably not enough to make it
> worthwhile).
>
There is nothing urgent indeed. Nevertheless, I fear that the current
usage pattern is too easily traceable, and that tweaks such as the one
I'm proposing could make amount-based tracing much harder.

Thanks for your hard work!

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
He wa'n't no common dog, he wa'n't no mongrel; he was a composite.
A composite dog is a dog that is made up of all the valuable qualities
that's in the dog breed — kind of a syndicate; and a mongrel is made up
of all riffraff that's left over.  — Mark Twain