As I've said before, blockchain analysis is based on guesswork.
Bitcoin, by design, is fungible. As soon as a transaction has more than one output, it is impossible to say which bitcoin ended up where. It cannot be done. Everyone who claims to be able to do it is guessing, lying, or both. All blockchain analysis companies, all centralized exchanges, and now Wasabi too (which is particularly hilarious considering they base their whole existence on coinjoins). They have made up a system based on guesswork, and have successfully marketed it for their own profit to large parts of this space as some infallible law. It is not, and the only way to get rid of it is for the community to agree to shun companies and entities which support and enforce this made up nonsense.
As soon as a transaction has been made, it is impossible to say that those coins haven't changed hands. As soon as a transaction has more than out output, it is impossible to say which bitcoin ended up where (and indeed, "which" bitcoin doesn't even exist at a protocol level). It is
trivially easily to fool many of the heuristics blockchain analysis uses, such as script type matching to identify the change output, or inputs being spent together to identify co-ownership. And not just to fool them as in "they can't draw any conclusions", but to fool them as in "they actively draw the incorrect conclusion". And of course one incorrect conclusion leads them to build more and more incorrect conclusions on top, building an entire chain of nonsense which they then pass off as irrefutable fact.
I've said for a long time that blockchain analysis is provable nonsense with no scientific basis. It seems even the directors of blockchain analysis companies agree with that. But of course they will continue to peddle their nonsense to centralized exchanges and governments alike because it pays handsomely to do so.
I did a small experiment some time ago regarding blockchain analysis:
https://bitcointalksearch.org/topic/m.59905002One particular piece of blockchain analysis software put a significant amount of coins in the wallet of various centralized exchanges in one of the categories of scams, hacks, or blacklists. Obviously the blockchain analysis software being used by these exchanges did not classify these coins in this manner, otherwise they wouldn't have accepted those coins. The fact that two different pieces of software can come to completely different conclusions about the exact same coins should be more than enough to tell you that blockchain analysis is made up trash.
One of the core principles of any piece of science is that its results are repeatable and independently verifiable. If I come up with a process to say, isolate gold from an alloy, then I publish my methods and other people perform the same steps, end up with the same results, and verify my process works. If I come up with a process to say some coins are tainted, and other people do the same thing and end up with completely different results, then my process is bullshit.