Recently I have been thinking about privacy in Bitcoin. It seems to me that the general public is not clear as to what degree of financial privacy comes with Bitcoin. As a result i have decided to start another series of posts to talk about Bitcoin privacy. Perhaps the first post should have been about the very basics. However, I felt compelled to point out a way to transfer bitcoins in a way that it is untraceable. There is one caveat, it is between parties that trust each other. So technically the title should have been “Untraceable bitcoin transfer between trusted parties”.
We can transfer bitcoins using the blockchain, that is send them from one address to another. By doing that we transfer control of the bitcoins to the private key corresponding to the public address that we send the coins to. This way is of course fully transparent, everyone can see that the transfer took place. For example here is one famous transaction: a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d That’s 10,000 BTC (around $7,500,000 today) for two pizzas. That transaction too place on May 22, 2010, it was included in Bitcoin block 57,043, and it is considered to be the first transaction exchanging bitcoin for a product. That transaction is now forever on the blockchain.
When bitcoin first was released, the general consensus was that it is anonymous because “there is no way to tie the Bitcoin address to my real world identity”. What people forgot about is the thousands of grad students and new professors just itching to make a name for themselves. Those smart souls used different ways to group addresses together, and with information from sources outside the blockchain, figure out who controls these addresses. (I will make a separate post about that). So now we know that Bitcoin is not anonymous, at best it is pseudo-anonymous. However with all the bits of information we leave on the web, Bitcoin is very “nonymous”.
So, what is the way to transfer bitcoin in an untraceable way between trusted parties? Your bitcoin wallet software has a file in which the wallet is stored. It is the wallet.dat file in Bitcoin Core. By moving this file to another entity we have accomplished the transfer off-blockchain. It is not traceable. Of course we have to trust that the transferrer did not keep a copy of the private key to themselves. But this could be done, with both parties present. Of course the shorter version of that would be just to transfer the private key. But you do not want to expose the private key to the world. The wallet.dat file can be encrypted with a password. There is of course BIP 38 that would help us in encrypting a private key with a passphrase. Once the private key is encrypted it can be emailed/mailed/even posted in the open. To transfer the bitcoins one just transfers the passphrase to the new owner.
Law enforcement agencies may want to look into this if they haven’t already. However it is my opinion, that no technologically – savvy criminal would ever touch bitcoin, they should stick to the most anonymous financial product of all – cash.
I believe that the ever more publicized traceability of bitcoin will spawn the creation of tools to transfer bitcoins without involving the blockchain apparatus.