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.
That may be from what your relay sees.
Definitely not the case from what I see across 120+ relays and 250k+ post spam filter events a day.
I see meta events, valid NIP-05, contact lists, reactions, reposts.. everything. It’s slowly getting more intricate.
And this is with maybe 100 people attacking the network today. I’m working to protect it at 100,000 attackers… not just today.
The earliest event id I can find is this. I haven’t decoded it.
naddr1qq8xummnw3exwunpd5kh2um9wgpzqktmgt09d20qcx0w95xdu4uhm4vdfr8gm5juwv45epe67ygkr70aqvzqqqr48y33968n
And keep in mind, it could cost only 10 sat for a low PoW. It only needs to be above what spam can’t afford or be profitable if paying.
And it’s not a single no spam ever solution. It’s just one of many tactics.
That’s fair. But then users have to pay each relay individually, and perhaps their events can’t be broadcast by others as the pubkey key won’t match.
Have you seen this? It’s a zero step instant free NIP-05 spammers have already been using. It makes that spam filtering approach very limited.
Yep.
It’s also a consideration for future push notifications to mobiles. You would have one crappy day if it was already live.
Yep. Even just ignore all notifications with greater than 20 people or something reasonable.
I’d almost suggest relays block these p-tag flood events too.
Well, this is pretty cool 😎



It’s all an experiment. But innovation is experimentation. If PoW fails, no problem.
I am 100% behind finding ways to monetise both Nostr relays and clients apps - not one client app (I know of) is paid yet, while many relays accept payment or sell NIPs. It’s an ecosystem, and we’re still exploring how things can work.
How would low powered and battery operated devices generate this proof of work?
It’s still unknown what PoW difficultly is required to eliminate spam, however it’s certainly higher than a mobile can easily generate with battery usage issues.
We can break it down a little. You seem to forget I’m running one of the largest Nostr relays today.
There are seemingly two distinct mechanisms around an event’s lifetime.
1. Publishing an event (relay acceptance)
2. Persistence of an event (storage)
While more complex, I see both as distinct, and likely requiring different and simultaneously functioning approaches.
I see a few options then for relay acceptance and persistence.
1. Pay for PoW for an event (should allow broadcasting to other relays without additional payment, when above a relays min PoW acceptance). Relay may delete after a week, or may not.
2. Pay a one time fee to each relay you wish to publish to. Lightning likely isn’t suitable due to failure rate, however pre-payments or barer Bitcoin is suitable. Again, relay may delete after a week, or not.
3. Pay each for relay membership, likely providing both event publishing and event persistence. It could also offer included or extra PoW generation credits.
This PoW service can be offered by relays themselves. If you read the NIP, that’s the desirable endgame. If relays see 100,000 events a day, with $0.01 fee/event, that’s $1,000/day.
And what content relays hold and persist where they don’t get paid directly for, will ultimately be based on their paying members - if their members don’t see events they value, the relay is of no value - at least for reading/querying for those users.
Nostr Event PoW Summary
count = 12,911,167
mean = 1.0129
median = 1
min = 0
max = 33
range = 33
standard_deviation = 1.48
variance = 2.19
q1 = 0
q3 = 2
mode = 0
An alternative to PoW is just to pay the relay a fee directly to accept their event. The downside here is that when you pay a relay, you then need to pay the next relay, and the next relay.. where as if the relays accept either payment or a minimum PoW, then you can generate PoW once and broadcast to all relays - which is more censorship resistant as well.
A relay that I believe does what you’re after is strfry. It should cover your needs today.
I’m not sure I understand entirely, however payment could be in different ways. I’ve tried to make it payment method agnostic.
* Lightning invoice (less likely)
* Cashu/Fedimint (single round trip, barer Bitcoin token)
* Pre-paid credit system (ideally lightning based)
* relay membership (perhaps free, or number of included credits per month)
It’s also best not to couple too many systems - it’s helps keep it decentralised and fault tolerant.
I don’t see how this can be paired with Bitcoin mining. Maybe it’s possible.
The relay however could offer this service to clients and since it’s pretty cheap to generate POW for servers, they could make a profit while minimising spam.
It had challenges, however bitmessage was pretty interesting.
I’ll checkout SimpleX.




