The CoinJoin problem is really hard to solve. But as we see, nowadays, there is actually no/few CoinJoin in exchanges, especially big exchanges.
This paper has been peer-reviewed by some experts. They also addressed the issue of CoinJoin. But I cannot find a way to solve this issue.