Ok, so I have a spam detection relay prototype ready. It’s very noisey.. but that’s because there is so much spam.

If you want to connect, I’ll need your connection IP Address so I can whitelist it. And then I’ll let you know the connection details - open to well known relay operators only for now, just DM me.

Basically it’s a primitive Nostr broadcast relay that will send only 1984 events (with e and p tags + spam_score) generated by spam I’ve detected (>90% confidence). It will ignore all inbound subscriptions and other websocket messages. It's kind of a once way spam gossip network.

I’d expect at present it could mean around 500 spam events (deduped by event id) per minute, or 10/sec. It’s a lot. I’m not sure this scales well.. but we can try anyway. We could perhaps gossip other information (or less) in future, or find ways to dedupe on spam content or share patterns instead. Or it may all fail and be a losing battle.. a pay-to-relay / PoW only future.

#[0] #[1]

#[2]

#[3]

Reply to this note

Please Login to reply.

Discussion

Example event from relay:

["EVENT", "*", {"id":"738c9dcb48a5839a149f318bb1fd6abc5e320071cbb6be74a0b8e74d4c1a8c1f","pubkey":"8406b801f0421fdd8a473ac1edbdc3b068306694efcbf12aed8a046f44a2f7df","created_at":1676841118,"kind":1984,"tags":[["p","7e2975bd2ec781b2de35ed3e61fce832e9d70d623427240040dcc94aa6a6459a"],["e","8f8f031b4149b733150e213e0ea0968b6c37b7e0d286ff93665a12b11eef71c4"],["report","spam"],["spam_score","1.0000"]],"content":"","sig":"0f6e40012234bafdb8b6f0117def4cd3739b3cef8dcf2d5b72ab4ece3db7ae6e6a6009798088c010091fbf39d1ae4400e5a4b58f7f1dc6b2606ffcca1b8762c7"}]

Nice experimental relay that you have. Lol, can you whitelist based on npub? My IP could change anytime

I think most common spam will always have basic patterns like mostly advertisements spam have some links that could be filtered. So, the main issue is how to find repetitive link and keyword for spam filter. We can solve them most of times based on this.

Other case is sophisticated spam which rely on complex strategy to avoid spam filter thus we probably need to analyze more to find the pattern. Haven't seen it yet.

Thank you for this! I will play with it soon.

Nobody cares your solution since they like zap more. What is more important than making money? Even that will not guide to an open world.

Open world, it is a joke for developers today. The ideal of Nostr is dead. Only money is belief.

BTW, I have trained an AI model to recognize spam depending on content. And then the spammer’s pub key can be denied on the front end to save server resources. User’s feedback of spam is needed if deploy to production environment. That means if client has not the spam content feedback function, it is totally useless. Soon I will show a prototype.

#[6]