As far as I understand Bitcoin, user privacy and anonymity are hard to guarantee in the presence of multi-input transactions and shadow addresses. Some sites suggest using Tor to hide the source of a new user introducing an unconfirmed transaction into the network, but does this really help? It may hide the physical address from which the address was generated, but it doesn't help prevent linkability between Bitcoin addresses and single users due to the two aforementioned properties, right?
Bitcoin transactions are validated by bitcoin peers. There in no way to do send/receive money without shoe to the whole world. But if no one knows that such wallet belongs to you, your transactions stays anonymous. Tor helps to maintain your transactions anonymous.
If you want to use Bitcoin over Tor proxy, follow this article.