Like queries that would get sent to relays, or this is purely a client-side thing?
(I may have misinderstood the convo here, I was thinking in terms of algos like say recommending new contacts or interesting posts, flagging fake accounts, search functionality, etc.)
I wonder if APIs exposing such algos could be a type of "layer 2" for nostr. Since relays already have databases of events they may not be too hard to build on top.
I feel to some extent spam will have to be addressed by standard server-side rate limiting and banning of abusive IP addresses at the relay level, that at least helps keep the complexity out of the protocol itself
I do think there's still room for data-driven methods that detect this type of thing. All the data is out in the open so anyone can build heuristics or algorithms for flagging non-human accounts, for instance. Those algorithms can then be open sourced for any relay operator or client to use.
It may be instructive that PoW was originally invented to deal with spam but AFAIK isn't used for that today. Everyone uses machine learning, which may work on nostr too.
Regarding PoW, how would this work exactly? It seems to me it's only effective if all clients opt in (If a client doesn't do you just ignore PoW for those clients? Then all spammers use that client. If you require it then you ban everyone that uses the client. Both seem bad.)
I think this idea was already suggested, but certain relays could charge a toll in order to post to them (but not read from them). These relays will tend to be spam-free.