There are many so-called Bitcoin tumblers out there. Google and you shall find a few. Hopefully, you will land on a service that can be trusted. We wouldn’t advise anyone to look for services on the dark web; a notorious hang-out for crooks and scoundrels, who will run away with your coins as fast as they can. We can do it more secure, faster and cheaper – ourselves!
It is probably in order to start by mentioning why someone would like to control Bitcoin whose origin cannot be traced or linked to any individual. A common misunderstanding is that Bitcoin offers privacy and anonymity out of the box, so to speak. Honestly, however, the average Bitcoin user must undertake several methods of obfuscation before he or she can rest assured that the Bitcoin they control cannot be linked to them with ease (or withstand a forensic analysis, if you’re into that kind of stuff).
John Doe needs traceless Bitcoin
Let’s talk about a hypothetical but not far-fetched case: John Doe wants to pay for a premium VPN service. He wants to pay for it with a cryptocurrency so that his VPN account cannot be linked to his real identity. But John Doe doesn’t own any Bitcoin, so he buys some from one of the ordinary markets. Those who are having their customers fill out lengthy KYC forms, and want notarized copies of at least two forms of ID.
John Doe is a smart guy. He uses Electrum and has created a native Seqwit address for it. He has north of 0.01 BTC, or whatever amount he needs, sent to his wallet from one of the major markets. Even though John Doe’s Bitcoin sits perfectly safe in his wallet, they are fairly easy to trace to where he got them from. And that is no good. He wants to pay for his VPN service in such a way that the purchase can never ever be associated with him. Therefore, he correctly concludes that paying straight from his new wallet puts both his privacy and anonymity at risk.
The quick and dirty method that just works
There are hundreds of sites on which you can play simple betting games with cryptocurrencies. Curiously, the biggest and most reputable gaming sites never ask you for your name; some if not all even offer anonymous betting (which we shall not be using, because of high fees and the mayhem that results if coins are accidentally lost).
We are John Doe
We are going to put ourselves in John Doe’s shoes and show you a quick and dirty solution. One that leads you to control a new wallet without a history that can be traced to you, regardless of sophistication.
The goal is simple: Create a new native segwit wallet and load it with Bitcoin that cannot be traced to any individual. (We always opt for native segwit here, since there will be few transactions back and forth, and you definitely want to pay bare-minimum transaction fees.)
Finding the perfect middle-man
We have combed the web and come to the conclusion that 999Dice is probably your best bet (pun inteded). It can be trusted, is exceptionally fast, and asks very few questions. With these desired features, it is maybe OK that their web-design looks like a high school project from 1998 or something. Access the site (over TOR if you are extra paranoid) and create a free account.
[Full disclosure: Yes, that is an affiliate link; you lose nothing if you use it, and we may end up earning a few satoshis – feel free to honor it.]
Choose a username you’ve never used before anywhere else, a safe password, and disposable email service such as Mailinator; you never want to expose your real email in these cases.
Got an email verified account? Cool. Let’s begin!
Step 1 – The deposit
Alright, so in this case, we needed 0.01 BTC in a new and untraceable place. The first measure we take is that we never use round numbers because they make blockchain analysis so much easier. So we add a random number to the last four or five decimal places (satoshis). For good measure, we will use a cryptographically safe pseudorandom number generator. Do you know what else is cool? If you are not on Linux or for some other reason have no immediate access to Python, just open the “Console” tab in Electrum – there is your Python terminal! So:
Alright, simple addition says we should send exactly 0.01022176 BTC – keep track of the decimals – to our personal deposit address on 999Dice. For paranoia level security, look up the address on a blockchain explorer, it should never have been used before.
Said and done, here is our transaction, still indeed very traceable back to ourselves. We will take care of that.
Step 2 – Mixing it up
First a word of advice: You shouldn’t be playing Satoshi Dice games for significant sums. Even if you have the best strategy in the world coupled with some luck, you will lose coins in the longer run. However – and this is a key step – we WILL place one bet, and this is in order to further make it difficult for people to try and trace our activities.
Since we don’t want anybody to be able to match inputs with outputs, we have a remedy for it: Once our deposit is confirmed, we will make a coinflip for 2 % of the total balance. In our case, this means we will place ONE bet for 0.01022176 * 0.02 = 0.00020443 BTC (manually round to 8 decimal places) at 49.95 % win-chance. (Because of the house edge, the win-chance isn’t exactly 50.00 %, and that is negligible here.) This means that after this…
… we will end up with either 0.01022176 + 0.00020443 = 0.01042619 BTC (if the small coinflip is won) or 0.01022176 – 0.00020443 = 0.01001733 BTC (if the small coinflip is lost). In any case, we have a new number that is not equal to anything on the blockchain, so from our perspective, a small win or loss doesn’t matter; what matters is that the amount is changed.
After pressing “Bet Low” or “Bet High” – only once at it doesn’t matter which – within a few milliseconds, we have a new balance. Good. We are ready for the next step. (If you must know, during this experiment we did lose the bet.)
Step 3 – Create new segwit address
You should know this by now. A native segwit address (beginning with “bc1”) is what you are looking for. A lazy person (we like lazy people!) lets their wallet create one for them. We prefer generating a compressed private key WIF and importing it into a fresh Electrum wallet using the proper prefix.
Step 4 – Withdraw and profit
This should be pretty self-explanatory. From 999Dice, withdraw the full balance to your newly generated native segwit address. Look it up on a blockchain explorer! It was not paid out from any address that can be linked to the deposit address.
We challenge you! We withdrew the full balance to
Please try and link it to our original spending address. Let us know down below how it went. (If we later decide to transfer the balance back to the page’s main address, that transaction can of course not be used in your blockchain investigation.)
Why and how this works
The key to success here is that betting sites have large coin buffers. Incoming transactions are thus unleaded to outgoing transactions. Their UTXOs cannot be linked to each other regardless of what blockchain analysis is performed.
There you go. A simple and fast way to significantly boost your Bitcoin privacy and anonymity.
Questions and comments?
One more thing!
Consider the donation address at the bottom of the page. We re-invest all contributions into new projects for btcleak.com. Help us create new content and remain ad-free forever. Thank you.