Common Misconception: BTC is very anonymous and can protect privacy.
BTC is indeed anonymous to a certain extent.
Because in the blockchain ledger, you don't use your own name, but instead use a "pseudonym" to replace it.
This "pseudonym" is actually a difficult-to-remember hash address.
But we need to know what exactly we are pursuing anonymity for.
In fact, anonymity is for the purpose of protecting "privacy", to prevent others from knowing who is associated with this name.
BTC addresses are like having multiple accounts when surfing the Internet, using different usernames.
These usernames in BTC are actually individual addresses.
In many wallet applications, transactions are also recommended to use different addresses according to the BTC whitepaper.
In this way, all the money is in different addresses, making it appear anonymous.
But does this kind of anonymity really protect your privacy?
Physical currencies like paper money and gold are actually the most private and anonymous.
What is printed on paper money is the face value or a serial number, but it is impossible to print information related to you.
Suppose you have a 100 RMB bill, and after you trade it, it goes through many hands.
The person who ultimately holds the bill can hardly find any evidence that you once held this type of bill.
If banks can use pseudonyms to register accounts, they can actually protect privacy more than BTC.
Because all your transaction records are not public, you use an account with a pseudonym, and only the bank knows how you deposit and withdraw money.
And the bank only holds your pseudonymous information. As long as I ask someone to register a bank account with a pseudonym, the bank cannot know that I am using this account, it only knows my pseudonymous information.
Of course, in reality, banks do not allow you to register with pseudonyms, and most registrations are real-name registrations. There is no such thing as privacy.
Why is BTC actually weaker in terms of "privacy protection" than the previous two?
The whitepaper mentions a way to protect your own security, which is to use different addresses for each transaction to prevent tracking.
Modern wallets actually come with this feature, and all the money is actually scattered in different addresses.
But a major feature of BTC is that the ledger is completely public, and everyone knows it.
Every transaction recorded on the ledger leaks the connection between addresses, exposing all the transactions you have made on the chain.
For example, there is a transaction now that transfers 8 BTC to your friend B.
Your account has UTXO records of 6 and 4, stored in different addresses.
This transaction record will look like this:
inputs: addr1(6), addr2(4)
outputs: addr3(8), addr4(2)
It is easy for me to deduce that addr1 and addr2 are addresses held by the same person.
Because to construct a transaction, the initiator of the transaction must hold the private key to generate a signature.
The initiator of the transaction knows the private key, and this evidence can mostly prove that the addresses are held by the same person.
Through the outputs, it is also easy to determine that addr4 is the address of the same person as addr1 and addr2.
Because for change, if addr3 is the change address, there is no need to use two UTXOs, one is enough.
I can immediately deduce that addr4 and addr1, addr2 are addresses most likely held by the same person.
So it is not difficult to see that using multiple addresses to store BTC separately is not effective in achieving anonymity.
It is easy to analyze the UTXOs of transactions and deduce the relationship between addresses, concluding whether these addresses are controlled by the same person.
On top of this, the ledger is public.
Suppose I am an online merchant and you want to buy something from me and pay with BTC.
After you pay me, you must tell me where the transaction hash is so that I can verify if the transaction has been confirmed by nodes.
At this point, I immediately know which inputs and outputs you used.
I exclude the miner's address and my own address, and most of the remaining addresses are likely related to you.
Then I find all the transactions related to these addresses, identify the associated addresses, and immediately know who you have transacted with, how much money each transaction involved, and how much money is left in your account.
Do you realize that your privacy is completely exposed? I can know everything as long as you have any transaction with addresses on the chain.
A "public ledger" not only fails to protect privacy but also exposes everything, leaving nothing hidden.
This kind of online transaction system is fine if it doesn't interact with the real world. You can always represent yourself with a hash address, even if all the ledgers are known, they won't know that it's you holding and operating them.
But once it interacts with the real world, it is easy to associate addresses with real-world individuals.
For example, if you use BTC to pay at a Starbucks and buy an iced Americano. I am standing behind you in line.
I know that you ordered an iced Americano, spent about how much money, and the time you spent, because I am right behind you.
Then I also buy a cup of coffee, also paying with BTC, and I can obtain the hash address of Starbucks (or any other method, as long as the merchant's hash address can be easily obtained).
Then, based on the price and time, I can filter out the most likely transaction that you made and deduce several possible hash addresses.
By confirming your spending one or two more times, your real-world identity can be immediately linked to the BTC hash address.
In fact, all online transaction systems have this common problem. As long as you interact with the real world, it is easy to link you to your account.
Even banks that allow pseudonymous registration are the same.
It's just that BTC directly allows everyone to know your transaction records, while banks only know them.
How to Protect Privacy#
- Anonymous at the network layer.
BTC operates on the "application layer" of the "network layer" through peer-to-peer connections.
If you really want to protect your privacy anonymously, you need to start with anonymity at the "network layer".
IP addresses are the easiest way to leak personal information. It is very simple to locate where a person is based on their IP address.
So if you really need anonymity, you need to ensure anonymity at the "network layer", such as using multi-hop routing or using onion browsers. - Anonymous at the application layer
Coin mixing. Everyone's money is mixed together, and inputs and outputs are all shuffled.
This makes it difficult to link addresses to you.
Of course, this requires a centralized service provider to specifically provide this service and mix the money of those who need it.
But because this service provider itself also needs to be anonymous. The risk is that if it runs away with the money halfway, you have no way to recover it.
Exchanges can also achieve a certain degree of coin mixing because all the money is mixed together.