That sounds good but it's not really possible to implement. If you're following 1000 people and each of these follow 1000 people you would have to connect to relays and say: "give me replies to note x only authored by one of these 1000000 pubkeys", which would cause the relay to burn and die.

Reply to this note

Please Login to reply.

Discussion

Other way around. You just ask for the replies and it just sends the ones it hasn't filtered for being out of network, your client can keep an updated white-list to do one last step of filtering.

For DMs, (which haven't gotten spammy for me yet..) the sender can send it with a permission slip signed by the recipient. Any relay seeing a message without the signed permission gets dropped. Distribution of said permission is admittedly a problem. But you might be able to chain it. I send permission to my follows to message me up to n=3 then their follows can request it and send it along with the intermediaries permission to contact. Kind of like tls cert chains I guess.

That kinda works, but it's very inefficient. You may end up downloading thousands of spam messages.