It depends on the layer of abstraction you are talking about. Certainly all bitcoin transactions can be linked on the bitcoin address layer. On the IP layer you can prevent linking by using Tor. On the meatspace identity layer you can avoid linking if the method used for buying or cashing out bitcoins is itself anonymous, and you use Tor, but anyone can always still see that your bitcoin address sent coins to another known bitcoin address. You can use bitcoin mixes to offer unlinkability on the'who actually paid who' layer (the attacker will still be able to see your bitcoin address and five hundred others sent a bitcoin to a mix, and they can still see that five hundred bitcoin addresses took a coin out of the mix, but they can no longer tell who gave a coin to who through the mix). Of course mixing is money laundering and it might not be of particular importance that the feds can't tell what you needed to launder money for if they can tell you laundered money in the first place. In general you should be trying to pay for and cash out bitcoins as anonymously as possible and through as many additional layers as possible, and you should certainly be mixing your bitcoins using blind signature mixes if possible.