There are two primary ways to anonymize your bitcoins: 1. Obtain them anonymously. If the method you use to get bitcoins can not be linked back to you, then your bitcoins are anonymous. In short, bitcoins are as anonymous as the method used to obtain them. methods of anonymously obtaining bitcoins: A. Sell drugs for bitcoins B. Buy with western union, using fake ID if required (semi-anonymous) C. Buy with cash in the mail D. Buy with moneypak (semi anonymous) etc 2. Use a mixing service. These unlink your coins from your account. In short Account (1,2) ----> Mix -----> Account(3,4) Assume two people are using the mix. Someone watching the block chain can not link coins leaving the mix to accounts 3,4 to either accounts 1 or 2, because the coin from account 1 could have gone to either 3 or 4 and the same goes for account 2 (assuming that they both send equal amounts in and out). If a blind mixing service is used, even the mix itself can not link the accounts together. Get enough people using a mixing service and the outgoing coins have an equal chance of having originated at a huge number of people. Now when account 4 sends coins to LEs account 5, once LE trace the coins path back to the mix they can not determine if the coin actually originated from account 1 or account 2. The best bet is to combine both of these techniques, because although both are anonymous they result in different properties. Obtaining coins anonymously can still be traced back to the cash in point in many cases (WU, whatever) and you then need to rely on the attacker not being able to link your identity to that cash in point. Using a mixing service anonymizes your coins after they exit the mix, but it doesn't hide that your identity used bitcoin + a mixing service. By layering both techniques together, you can hide the fact that you use bitcoin, hide the fact that you use mixes (potentially important to do) and hide the cash in location/technique that you used.