How can I hide my bitcoin transactions to protect anonymity? I read many related questions about the pseudo-anonymity and bitcoin transaction tracking.

So if I understand correctly, bitcoins, or better, transactions can be tracked for their entire lifetime.

Example user case:


I buy bitcoins from Mt.Gox
I send some bitcoins here and there
Now I decide to send 50 BTC to a person (Bob) who did a job for me, in the hope that nobody finds out about my deal.
Bob changes the 50 BTC recently received in dollars through Mt.Gox 


Now, if I'm right, it is possible to track back the transaction to me, since all transactions are public. And so everyone knows that part of the money changed by Mt.Gox was used to pay Bob and that he changed them back to dollars.

This is true as long as my address and Bob's address is also known.

Is there some way to break the transaction history of the bitcoins from Mt.Gox?
I mean, for example, would it be possible for Bob to transfer the 50 BTC to Mt.Gox from an unknown address that was never used, so it can't be associated to my address? Or is it possible to send bitcoins only from the reveicer address?

Situation when using the same address to receive and send bitcoins:

[Mt.Gox] ==> [Me] == [Bob] ==> [Mt.Gox]

Situation with new generated addresses:

1. [Mt.Gox] ==> [Me]
2. [Me] == [Bob]
3. [Bob] ==> [Mt.Gox]

In short, how to hide where bitcoins came from?
I read there is a way to generate new addresses and send through them. Is that true?

Thanks :)
It is possible to trace Bitcoins all the way back to the blocks they were mined, although it might be a hard task. Similarly, one can also trace them back to any withdrawal from MtGox, as long as we know which transaction to look for. No matter how many times you send them from one address to another, it is still possible to trace them back to that transaction, especially if you send the full amount each time.

If you want to make it way harder for someone to trace the transaction, you'd need some service that would take your Bitcoins, send them to some address that is used in many transactions and send them back to some other address you own. There have been many services like this started, but I don't know of any that had the traffic volume necessary to obscure anything. This option assumes that the service would not keep track of the finished transactions, thus not being able to reveal information about you.

You can also try "laundering" your Bitcoins by paying someone to send you Bitcoins from another address. Similarly, you could pay someone to mine a fresh block of Bitcoins for you. Similar as above, it only works if the person would not keep information about you.

Lastly, you could just order some physical Bitcoins. Trading them is completely offline, so nobody can trace who you gave the coins to. I'm not sure though if Casascius keeps any order data, which could be later linked to the person that redeemed the coins at some point in the future.