De-taint tainted crypto

Hello All.

Is it possible to “untaint” crypto by unmixing it? Suppose that I receive a payment in ckBTC/icBTC/enter your favourite cryptocurrency here, and I trace its origins and find that 20% of it is blood money, by some definition. Is there any reason in principle why it should not be possible to take this pink money and split it so that 20% is deemed to be the bright red part corresponding to that original blood money, and 80% is clean as the driven snow?

If that is possible, I believe that the picture of how “tainting” works could get a whole lot more interesting, as there could be multiple different definitions of tainted that could interact with each other. E.g. an eco-warrior might say that as far as they are concerned, any funds that have come from fossil fuel profits are tainted. Another person might be a law abiding US citizen and so funds from Iran, North Korea and Russia might be no-no. For these two people to transact with each other, a payment system would have to seamlessly determine which funds are clean according to both of those definitions and transact only in that. Untainting would be a way of not having dozens of different wallets. If Mr America wants to buy something from Mr Eco-warrior, the payment would have to be eco-clean, so overall the funds left in Mr America’s wallet would probably be eco-dirtier and the funds in eco-warrior’s wallet would become more legal in the US.

I say, this could be fun.

1 Like

In Bitcoin, balances are not stored explicitly in a ledger as account balances, but instead, they are derived from the sum of unspent transaction outputs (UTXOs) associated with a particular address.

This makes Ordinals possible. You can split these and extract the untainted coins and nobody should care that they ever touched. In ETH and probably most other chains, you have a ledger with account balances. There is no way of telling if you took the tainted or untainted. It’s up to your local CEX algorithm or whatever you use to convert crypto into fiat. If you can’t convert it to fiat and send it to your bank account, it’s not really liquid for you. These two parties can do whatever they want, but ultimately it’s not up to them.

1 Like