This. I am somewhat surprised allowlist isn't a thing. I get that there are times, you want to be open to the world ( say you are actually waiting for an interview call ), but this would easily solve a good portion of the issues. Am I missing something?
My concern is how broad the definition of social network. Tinder for example requires people to be open to new massages and simply doesn’t work as a whitelist.
If you meet a new person and want to exchange messages, there's not a huge difference between adding them in your messaging app and adding them to your contact list.
Using this model it would better to have multiple lists though, or at least tagging within the general contacts list, so tag-based lists could be allowed by certain apps (to keep business and personal messaging separate for example).
Facebook messengers chat requests has basically solved this problem.
New person goes to chat requests, they communicate through another channel they've sent you a message, you go open the graveyard of chat requests and accept theirs.