It is not correct to say, as you do in the video, that you can "trace a Bitcoin's ownership" (I paraphrase but you made this point more than once).
Any particular transaction can have multiple inputs and multiple outputs, and crucially, it's possible to create transactions with more than one wallet owner contributing to the inputs.
Here is a quote from gmaxwell on his proposal "CoinJoin":
The signatures, one per input, inside a transaction are completely independent of each other. This means that it's possible for Bitcoin users to agree on a set of inputs to spend, and a set of outputs to pay to, and then to individually and separately sign a transaction and later merge their signatures. The transaction is not valid and won't be accepted by the network until all signatures are provided, and no one will sign a transaction which is not to their liking.
Please note this is NOT future technology - Bitcoin was designed this way.
The outputs of a transaction are specified *independently* of the inputs.
Taking all this together, if Alice inputs 0.43 bitcoins into a tx and Bob inputs 0.58, and there is one output of 0.2 to Charlie and one output of 0.8 to D (thus with a tx fee of 0.01), nobody can EVER know whether Alice paid Charlie or D - because it doesn't even make sense to ask the question. (Obviously scale this up to N users for interesting behaviour).
So basically you're wrong about anonymity being impossible at the level you think.