Would it help mixers if they use the services of a blockchain analysis company to filter out "tainted" inputs from entering their liquidity pool?
Theymos mentioned that if a mixer uses KYC, then it is allowed. And your proposal is more or less KYC, because then, you "Know Your Customer", and you know, if some coins are allowed, or not (instead of allowing all coins).
That would have an argument that a service isn't part of the "darknet", no?
Well, it depends. You know, a coin can be marked as "tainted", but there are more ways to mix your coins, than you can imagine. For example, imagine a mining pool as a mixing service: you send you coins as a fee, and you receive your coins in the coinbase transaction. Of course, that kind of mixing is for whales, or for a large group of users, but it is still possible. And it can be used to bypass a rule, that "My mixer definition says to assume that
zero miners are evil".
Edit: And yes, it can be done trustlessly. For example, we have Taproot, which means, all miners can create a huge N-of-N multisig. It can be required in the first place, to turn coins into fees, and in the second place, to give each user his on-chain coins over time. It can be spread between many coinbase transactions, it depends how huge a given mining pool is. And also, not all users have to go on-chain immediately. They can stay in a "coin pool", behind a single N-of-N multisig, as long as they want. If you think about a CoinJoin with a multisig in the middle, you will get the idea:
+---------------------------------------+
| coin #1 -> 6-of-6 multisig -> coin #1 |
| coin #2 coin #2 |
| coin #3 coin #3 |
| coin #4 coin #4 |
| coin #5 coin #5 |
| coin #6 coin #6 |
+---------------------------------------+
And then, imagine the first transition from coins into multisig, can be done by fees. And the second transition can happen in many coinbase transactions, and can take a lot of time. Also note that it is possible to use "Proof of Work coupons" called "shares" in the process, so it is possible to make it compatible with existing centralized mining pools. Which means, if you want to mix 0.01 BTC, then all you need, is to send 0.01 BTC in fees, and get some shares, produced by some miner, as a reward, and then claim your coins in the same way, as that miner would claim his reward from the mining pool.
Edit: Also note that while the regular CoinJoin can be easily marked as such, in this specific case, if you have a huge multisig in the middle, it is equivalent, but it is less tainted. Because then, you can pretend, that you just sent your coins to a huge entity (called "exchange"), and then you got your coins back. And also note that N-of-N multisig can be done outside Taproot, even on P2PK.
So, if you want to mix your coins, this kind of CoinJoin is much better, than if you have direct transaction with M inputs and N outputs. Because then, you can call the address in the middle "exchange", "mining pool", or whatever, and make it legal in many jurisdictions, including new rules on this forum (of course, talk to your lawyer before applying any of that, if you want to pay taxes, based on this model; disclaimer: I am not a lawyer, so take it with a grain of salt).