There is a big misconception about Bitcoin which makes people think its transactions are anonymous. Since your account address contains gibberish numbers and letters like 1KqvSRNmxoGmGDHLLivZPfeDMxhneLEBKK, you may think its impossible to link that address to you. After all if you randomly create a wallet or generate a Bitcoin address, and get these random letters, who would know they belong to you? That’s correct (there’s a But incoming). But, that is correct only until you do not use that address. Wait, what use is an address if you don’t put anything in it? Exactly! Read on.
While it is true that a brand new address might not be tracked down to you, the weak link begins the moment you get money in it. For example you use an exchange to buy Bitcoins. Exchanges can be bound by the law to reveal their Bitcoin addresses as well as information about you. KYC (Know your customer) and AML (Anti-money laundering) When signing up at an exchange, you need to give your information, identification, utility bills, address along with a selfie and your first born. Ok, not your first born.
Lets say your account is xyz, and you bought some Bitcoins from an exchange, so the exchange sent you Bitcoins from their account abc to your account xyz. Then it so happens that the government forces this exchange to reveal all their Bitcoin addresses. One of their accounts that the government can see, will be abc, and they will be able to see that abc sent Bitcoins to xyz. Since it is the exchange that sent money to xyz, the government can also require the exchange to give out information about xyz because they are this exchange’s customer. Lets say you sent 100 Bitcoins there and didn’t declare those in your tax, you just got interesting.. That was pretty easy?
Or worse, you bought only 0.01 Bitcoins from the exchange, but then you transferred this small amount to an old address of yours 123 that contained a lot of Bitcoins from before. So previously even if 123 was hard to trace, you just linked it to yourself by reusing your account. Now they know 123 belongs to you because you withdrew Bitcoins from the exchanges account abc to your account. This is called address reuse.
Creating addresses in Bitcoin is free, and a Best Practice is to never reuse your account. Have a look at this example: Alice sends you Bitcoins and you store them in address 1. Now Bob wants to send you Bitcoins. Do not send him that same address 1, instead make a new address 2 and send him that. This way Bob won’t know how many Bitcoins you already have, and Alice won’t know that you received more Bitcoins. Similarly if either of them were traced, it would make tracing all your Bitcoins hard because you have them in different addresses not linked to each other.
Address reuse also requires that when sending Bitcoins, you send the change back to a new address. For example you have 2 Bitcoins in address A, and you want to send 1 Bitcoin to Alice. The right way to do this would be to make a transaction with 1 Bitcoin output to Alice, and 1 Bitcoin (that is the change) to a new address B that you just created. This way someone looking at the transaction will see 1 Bitcoin going to an account, and 1 Bitcoin going to another account. This becomes a little harder to trace compared to the 1 Bitcoin change back to account A.
All these measures can only increase the difficulty of being traced, however I really doubt there is a way to completely anonymize your transactions and addresses. There are Bitcoin mixers that claim to fix this problem, but I don’t think there is a service that is 100% private.
Monero is a cryptocurrency that boasts private transactions. Bitshares is also coming up with STEALTH transactions that can hide the sender, the receiver as well as the amount transacted. Its still work in progress. I’ll post an article on it soon! 🙂