Another one is simply carelessness.
A lot of users end up posting address information in forums.
They might post one of the Bitcoin addresses that they own for
example, to receive donations when they're posting comments on forums.
Now that might be because these users are not worried about getting de-anonymized.
It could also be because they don't realize that posting one of their
addresses is almost going to inevitably allow somebody
to To connect all of their different addresses together.
Okay, so hopefully I've convinced you there are clever ways that an attacker
might utilize in order to not only link different addresses or
transactions belonging to a user, but go from there to real world identity.
And our experience, our history of these denominization algorithms
shows that they only get more powerful with time.
And more auxiliary information as we call it, for
attackers to utilize in order to link together to get to users' identities.
So this is something to worry about if you care about privacy.
Before we look at how to make things better for anonymity,
let's look at a completely different way in which users can get de-anonymized.
So far what we've looked at is all based on
what is available to the attacker in the blockchain.
Right, the part that is permanently and publicly recorded, but
recall that that's not the only part of Bitcoin.
There is also a peer to peer network, in which a lot of messages are sent around
that don't necessarily get permanently recorded in the blockchain.
So the blockchain in networking terminology is called the application
layer, and the peer to peer network is of course, the networking layer.
And so de-anonymization can happen at this totally different layer at
the networking layer.
Well, how could that happen?
Here is an example.
This was first pointed out by Dan Kaminsky a few years ago in a talk at Black Hat.
Here's the peer to peer network.
What he noticed is that when a node creates a transaction and
wants to broadcast it, it's going to connect to a lot of nodes at once and
broadcast that transaction.
And so, if a few nodes on the network put their heads together, they can figure
out that hey, this new transaction, this is the first we heard of it,
and all of us first heard of it from this particular node.
So this must be the node,
this must be the IP address corresponding to the user who created this transaction.
So here you have a linkage not between a cluster and a real world identity.
Instead, you have a linkage between a transaction and IP address, and
of course, IP address is something that's very close to real world identity.
There are a lot of ways to go from there to the next level with finding identity.
So, this is already a serious problem.