Also, your comment about blacklisting is really not the same at all (nor feasible). Zero-conf replacement requires only a few miners to participate for it to make zero-conf transactions pretty much useless in zero-trust transactions. That's not the same as blacklisting, which needs 100% miner participation to work.
No, it doesn't even require > 50%.
For example, assume 75% of the miners are profit seeking and 10% of the miners said that they won't build on blocks with any of of transactions for at least 2 blocks.
If you add a block containing one of those transactions, then there is a 10% chance that the alternative miners will get the next block. Rational miners would then switch to that block, since if it wins, it get 100% of the hashing. If the other block wins, it still only gets 90% of the hashing, since the "bad" transaction has to be buried two deep.
The effect is that 85% of the miners end up supporting the blacklisting.
Mine a "clean" block
- you get 100% of miners to build on yours
Miner a "tainted" block
- you get at most 90% of the miners to build on yours
If the 10% find another block
- there are 2 equal POW blocks
-- miners following the rules stay on the first block (15%)
-- taint enforcers stay on alt branch (10%)
-- rational miners switch to alt branch (75%)
If the 90% find the next block
-- all switch to that chain
So, if you mine a "bad" block, you have a 10% chance of it being matched by the taint enforcers and then an 85% of it then be superseded. This gives an 8.5% chance of you losing your tx and minting rewards.
As long as only a small number of transactions are tainted, it isn't worth including them.
The defense would be to have lots of p2p mixing operations. If most coins are tainted, then none are.