Who are you?
We are Jorge
, a Spanish mathematician turned professional
, a German theoretical computer scientist who learned to
appreciate programming through bitcoin and Scala.
What is this about?
When you use bitcoin today, you have to give away bitcoin addresses
to people. That is, you announce "I have control over this address"
to your business partners or even the whole world. The structure of
the public blockchain often makes it possible for anyone to group
multiple addresses as belonging to the same entity or person. This
means that anybody who listened to your announcement and can perform
this analysis gains knowledge like "you own at least x bitcoins" or
"I know these addresses belong to you and I can now watch for your
use of them".
Such analysis techniques have been known for a long time, but until
now, mostly researchers have been able to actually process the huge
amounts of data in the blockchain this way. However, interested
parties have always been free to invest into evaluating this
data. Arguably, criminals or government agencies might be parties
interested in such
knowledge. Bitcoinprivacy.net puts
this power back in the hands of every bitcoin user.
What exactly can you tell me?
Probably the simplest analysis is repeatedly grouping addresses
that appear together as inputs in the same transaction. There
are other heuristics, but this is what you can find out with our
tool from the beginning. So when you enter a bitcoin address, we can
tell you what other addresses have been used in the same payments as
this one, and what balances they contain. So when you pay someone,
you can now tell what the recipient learns about you with respect to
bitcoins you own.
Is it reliable?
This particular heuristic is very reliable. It proves that the
people who own a group of private keys had to work together in order
to spend bitcoins. However, there are two caveats:
- 1. This does not mean that one person actually owns all these
bitcoins. A counterexample might be an address belonging to an
exchange or wallet provider. This entity controls bitcoins given to
them by their customers.
- 2. CoinJoin
is a proposal for a group of techniques that lets multiple people
join their transactions together to make it look like one person
spent all these bitcoins, in order to thwart exactly the kind of
analysis we are performing. If everyone used CoinJoin, the naive
implementation that we are using now would be useless. If you have
used a CoinJoin implementation on your addresses, the results from
our search can not be trusted anymore. Your addresses are
effectively mixed with those of other people. But beware: There is
makes it possible to unmix joined coins. It is just a little more
work. We plan on implementing these ideas later on.
How can I protect my privacy?
Following the general suggestion of never reusing addresses is a
very good idea. It does not prevent you from linking addresses, but
the moment that they are linked they are also spent; so the public
learns nothing about your bitcoin balance. Unfortunately, many
wallets (web wallets in particular) make this simple measure hard or
has written about
ways of actually avoiding merging addresses. Unfortunately, we are
not aware of any tools implementing this, so it remains a manual
How does this work?
We built the open
Graph Explorer to do the heavy lifting. Feel free to fork and
How can I help?
Glad you asked. Processing and storing gigabytes upon gigabytes of
blockchain data doesn't come for free. If you find this helpful, we
are grateful for your
. If you are a developer, feel free to contribute to our our open source projects on github.
Writing tests would be a great start, because we never seem to get around to that.
How can I reach you?
We'd love to read your
feedback: firstname.lastname@example.org .