Avatar
Blake
b2dd40097e4d04b1a56fb3b65fc1d1aaf2929ad30fd842c74d68b9908744495b
#Bitcoin #Nostr #Freedom wss://relay.nostrgraph.net

Does zuck run meta from the cave where all the crap people live? Seems he has been extracting his ideas from rocks and crustaceans.

😂 We sell your data, your attention and even charge you for the privilege!

Greed to become desperation as centralised social phases out.

We’re not good at it today, however there ate at least a dozen common anti-pattern events that should be filtered by relays.

One example is does an existing reaction event exist from this pubkey for this event.

Events with multiple root etags.

Reactions with multiple p-tags.

Metadata events that are not JSON.

Others include DMs with multiple p-tags, as only one person can read - however maybe DMs mentions someone. Either way you leak data.

I have a list somewhere.

Unless you want a private relay for backup, or want to set up something larger scale, I’d just have fun. Play around, see what’s being shared and what’s missing. And if you like it, help the network grow by sharing it and content with others.

Content like this is why we need to fight for the Nostr global/universal feed.

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"}]

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]

I’d bet out of disk space causing DB connection issues.

I see content warnings as another layer or service that’s different from spam. It’s more intensive as it needs to read media and not just text. I think it could benefit the network too.

It could sit in the 1984 kind spec as a new type (I don’t think flag with content-warning it exists today). I’m uninterested in any government like ‘Net Nanny’ approach.

One difficultly is if relays broadcast these events before any flagging services have reviewed them, you have a race condition where active users will likely see the content anyway - without having a lag. Users who connect later would be fine. It’s a trade off, slowly posting to broadcasting, or less augmented protection.

I’m still working on Nostr spam detection and prevention - and ways the network can communicate and filter it out.

Been focused on event processing as the network has now 100x since I last focused on scaling. That’s almost happy - so I can focus on more innovating stuff.

Thoughts on perhaps a wss://spam.NostrGraph.net relay that only broadcasts 1984 events with a tag of spam_score (where the score is likely > 90%). It does mean each spam message triggers a 1984 message (or perhaps batched) - and this could be 1000s events/minute or more in future.

I drop spam now and don’t persist those events, so having a meta.spam_score on my API or relay published events to websockets is likely ok - but again perhaps not ideal.

I’m leading toward the approach of a relay service that can reject events. Similar to the authentication that checks if a pubkey has paid, it could be used to check if spam score is greater than a per relay threshold. Issue then is each relay needs this service with a model and the model needs to learn - or it will miss new spam formats.

Thoughts?

Here is a Chinese website offering Nostr spam for fee.

Just around the time Jack joined, a few web apps did and it was a major security issue. A few people exploited it, some accounts were exposed, and a few web apps were taken down and/or modified to prevent it happening.

Maybe automated Nostr Events should have an unsubscribe tag that has a filter that client apps can preview and users can accept, that basically mutes that content.

Could be interesting.

Yeah. I had 360k. And those other queries I DMed likely add up over 1MM easily for me. Purging them all this weekend.