But when you transfer BTC out, even if it's in the exact amount of the tainted coins transferred in, how do you decide whether the outgoing coins represent the tainted ones or the untainted ones?
Say there's a 50 BTC untainted wallet, and tainted 1 BTC is transferred in, then 1 BTC is transferred out. How do you decide whether that outgoing 1 BTC was drawn on the tainted portion or the untainted portion of the account?
Always regards the last bitcoins as the tainted ones. Local wallets could simply treat tainted bitcoins as not existing, thus removing that annoyance too.