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?