Who types destination addresses by hand? Probably the same people that expose a hoard of paper money to flames?
If you've ever said anything like "Donations accepted at $ADDRESS", then everyone can see if anyone ever sent anything, and from there it doesn't take much work to see if you ever spent that money on anything and what else you do with it.
You can obscure things some, but the records are permanent and anything people can figure out stays known. If the authorities are after you, then they can get information from exchanges, which at this point require giving them personal information.
Cash is much more private. It takes much more effort to figure out who you gave your cash to.
Variations of that show up everywhere: your employer can review your political donations or decide you spend too much money at the local bar, casino, or anywhere else they don’t approve of.
- There are a whole lot of bills to keep track of
- The serial numbers are not easily stored and compared with computers (at least not for private individuals)
That second point, bills not being on computers, is why cash isn't the easy answer to the banking problems we are discussing here. You can't pay someone across the country very easily using dollar bills.
With Bitcoin, there actually aren't any bills or tokens with serial numbers attached to them. There are however, as you point out, unique addresses for each transaction. Like the vast number of paper bill serial numbers, there are a lot of possibly Bitcoin addresses. Far, far more than there are paper dollar bills, sands in the sea, and stars in the sky, actually.
It is, however, somewhat possible to track Bitcoin going too and from the addresses because it is all on computers and this is a trade off of Bitcoin being permission-less and not controlled by a single entity that can decide to unbank you, and online so that you can send it to people across the country.
So, as you point out, if someone publicly associates themselves with a Bitcoin address, and if they reuse that address over and over, you can see how much Bitcoin is going into and out of that address, and if the other addresses in these transactions are also known, then you can easily see that Bob sent Alice some Bitcoin. Address reuse and publicly associating yourself with an address was unfortunately common in the early days of Bitcoin, but practically it never never happens anymore. Instead each and every transaction uses a new unique address, and as I said before, there a vast huge number of possible addresses.
As for exchanges, yes, they do have identities associated with Bitcoin addresses. You can easily accept bitcoin from an exchange and then transfer it again to other addresses that have not been publicly associated with you. Also, hopefully someday exchanges won't be necessary.
It's not "somewhat" possible, it's 100% possible because the history is public and permanent. If you make a mistake once in your entire life Chainalysis will see through anything you previously did to obscure a transaction.