In theory that's a reasonable approach, in reality we've tried that on the web with all the restrictions we have. Antiviruses, real-time spam blocklists, adblockers all perpetually try to catch and block malicious actors, so far they haven't succeeded. On the local level as well, registrars have to follow local laws.
I don't think it would be any easier if you can't take any recourse besides blacklisting a pubkey there could be billion billions of. Even things that have no gray area would be nearly impossible to curtail in large volumes.
Most of those methods will still work under a decentralized DNS, because although it's decentralized at the global layer, there will still be centralized clusters
What you won't be able to do is remove at the root, and instead you blacklist
My claim is that under a decentralized DNS, "removing" or "blacklisting" have the same effect on what you consume because you are always in control.
The BIG difference is that, under a decentralized DNS, no one controls anymore what OTHER people consume/trust. And I am strongly against of any group of people limiting how other groups communicate between themselves, even if these "other groups" are sharing child pornography. I'm open to some data about this, meanwhile I have a strong bias into thinking the cure is much worse than the disease
The problem is that malware and spam have gray areas where some people are ok with it, but others don't.
We should allow all of those existing, and instead limit what we experience by filtering/censoring
In other words, instead of censoring globally, we should censor locally at a community level