i think the relay would be a better place to fight spam. relays can choose to only store events with POW and/or from users who pay/have proven balance. then users select which relays they want to use.
Discussion
This is how I envision it being used too. It would however be nice to be able to filter events without PoW in the client. Could be a user setting in the client.
yes for sure. or even a separate feed or something. the main reason I lean towards relay filtering of POW rather than client filtering is that the client can't send requests for only POW events, it has to receive all events and then superficially filter for POW
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.