The weird thing about the blue checkmark was that it was originally supposed to be just a "we validated this user identity" indicator. But then someone decided that it's supposed to be a status symbol (or, more likely, Twitter couldn't figure out how to scale ID verification) and started handing out special Verified privileges... and taking them back when they found out they had handed them to a user that was too toxic for them.
I actually disagree with forcing real names everywhere; it didn't make Facebook any less awful and it shuts out anonymous speech. What Twitter needs is a defense against sock-puppeting. You should be able to totally register a pseudonym and speak out if you need to, but not 10,000 "real names" so you can go and manufacture consent. The problem with this is that it's actually really expensive to limit something that costs nothing[0], and furthermore Twitter does not want to do this. The value of their advertising is big-O[1] proportional to their active userbase, so they want to make new account registration as easy as possible to juice those numbers.
I don't think this is entirely tractable; all large online communities have problems with sock-puppeting and hate speech even when they are trying to fight it. The incentives for any ad-funded social network is to make the problem worse and worse.
[0] The cryptographic term for this conundrum is "Sybil attack", and it's the reason why all cryptocurrencies have to either burn energy (PoW) or internal liquidity (PoS) in order to both prevent rollbacks and remain robust against netsplits.
[1] Big-O notation is a system of categorizing growth curves where you only include the fastest-growing term. i.e. if something grows at n^2 + n, we say that's an O(n^2) process.