But how would you handle the fact that currently clients publish to multiple relays at once? Would users end up having to pay this toll 10x over?
Discussion
I think a lot of people would choose to set up blastr relays like mutinywallet has
They are gonna ruin nostr by trying to make it like crypto lol
Relays should act like every other decentralized tech, federated view and serve uploads
If the work is done, all relays can verify it. One work per message, not per relay. The blastr relay would be a great place to put this worker service, to do the work before it gets broadcast wide.
Clients can have a pre publish step where they request a PoW, get back the event and sign it, and then after that publish to whatever relays they want as normal.
Proof of work can also be adaptive by relays. It maybe ask you for 0. If you seem suspicious, it could ask for 10, then 20, etc.
In a pay to post system, most users will just pick 2-3 read relays and then write to one blastr relay like mutinywallet
Sure, but at some point blastr relays will become rate limited themselves or need a PoW event to prove they are not spam.
The secondary issue is relay event aggregation. You can’t just block IPs, as you don’t know the poster. And we need aggregation or we will never get a broader set of stats like reaction counts, replies, etc. you will be stuck with a smaller pool.