Just to chime in:
Bitcoin core wallet allows you to create multiple public addresses, which allows you to have all your coins in one wallet but with different 'traces'. Say you bought 1 BTC on coinbase and won 1 BTC in an online casino that didn't require KYC. The coins from coinbase would be sent to address #1, and the ones from the casino would be sent to address #2. In your wallet, you would have 2 BTC, but only 1 of those would ever be traced back to coinbase. As others have suggested, you could send the coinbase BTC to a tumbler and send it to address #3, obfuscate the origin along the way.
In general, always use a unique address when doing BTC transactions - unfortunately most wallets don't support that and leave you with a single address that is easy to track.
Gets a little more complicated when you then need to send out the coins from your wallet, if you want to preserve your pseudo-anonymity, as you'd need to select the correct inputs to not mix the coins and reveal their origin.
If you want anonymity, something like XMR is probably the way to go.
(post is archived)