Yeah. There's many ways to solve it. But they all have trade offs. If you only allow messages from people you follow, it reduces the ability to meet new people. Like, I'm not following you right now (and I'll give you a follow), so under that solution, you and I wouldn't even have had this interaction.
Discussion
it is possible to make whitelisted relays, and these could be used to aggregate well-known users in the nostr-verse. then you only need to add that one relay (or a relay which syncs with it) to essentially follow all the whitelisted users.