Sirius's avatar
Sirius
sirius@iris.to
npub1g53m...drvk
developing iris.to
Sirius's avatar
Martti Malmi 2 years ago
image Spam prevention should work by discarding events from users that are not connected to your social network like normal users are. For example, swarms of users that are connected by only 1 or less follows from legit users. Iris already discards messages from completely unconnected users, but need to add shared block list support and better detection of sybil swarms. This should work especially for trending algorithms, where reactions from socially connected users are more valuable anyway, and missing a like doesn't matter so much. Currently Iris trending list comes from nostr.band, but I want to do it locally at some point. That's the only way you know what you get.
Sirius's avatar
Martti Malmi 2 years ago
Is nip50 "search" filter commonly supported by relays? Iris is still using "keywords" which works with relay.nostr.band at least. @brugeman
Sirius's avatar
Martti Malmi 2 years ago
Afternoon break, walking around the Helsinki University of Technology campus where I lived in 2007-2011. image
Sirius's avatar
Martti Malmi 2 years ago
image While relays and file upload services are a simple and effective way to get started, I think p2p is the future. Running a relay or file uploader is expensive, and you need content moderation. On the other hand, p2p is "free" because people are already paying for their own internet access and on-device storage, or even cloud storage. P2p is also much more censorship resistant. Video hosting is so expensive that I imagine it will be the first thing to be moved onto bittorrent. If you don't like torrenting with random people, you could connect to people in your Nostr social network. When Nostr becomes popular and free relays dwindle, maybe p2p becomes more common for event sync as well. Direct connections are also better for DM privacy. If bittorrent is too clunky for general-purpose file sharing, we can devise our own file sharing on Nostr. Nostr is already based on content-addressed events. Just need a binary format and some standard for file chunking.
Sirius's avatar
Martti Malmi 2 years ago
Iris now supports secret chats that don't leak metadata, implementing the bounty #3. It works also for group messaging. It's a quick & dirty solution, but works. A shared nostr account is created for the secret chat / group. Its nsec can be shared via link, qr code or invite message from a single-use anonymous account. Users can then communicate using the shared account's messages-to-self. Iris signs the inner messages with your own key, but the arrangement could be used for anonymous group messaging as well. I'll also add inner message encryption at some point, so you can ensure that only certain group participants can read the message. This arrangement doesn't introduce any new event kinds and works also in clients that haven't implemented a special UX for it. You can just log in with the nsec and message yourself. I had to disable the Iris social graph filter to let invites through, so now Iris DMs are open to spam again, but I'll try to figure out a better solution. As always, the UX needs a lot of attention, but I believe here's an MVP. Screenshots: Alice wants to message Bob: image Alice sends a secret chat invite to Bob: image Bob automatically follows the invite from Alice. They can now message each other in the secret chat: image Here's how the invite looks in another client. I will add an "nostr:ninvite" URI in addition to the nsec. image
Sirius's avatar
Martti Malmi 2 years ago
image I don't like new event kinds. They make building a nostr client more difficult. I'd like to build a gundb-like universal database on Nostr where you write to filesystem-like paths such as group/[id]/messages or group/[id]/name instead of defining new event kinds for everything that could expressed as a path. Nostr is not going to be an "everything app" if you need new event kinds for everything. I'm quite busy improving the very basic features of Iris, but I'll try to find time for it at some point.
Sirius's avatar
Martti Malmi 2 years ago
Better with or without the borders between columns?
Sirius's avatar
Martti Malmi 2 years ago
image Just fixed a massive memory leak & performance issue I had introduced to Iris. My phone doesn't overheat anymore. It's still not great, but thanks to the OpenSats grant, I'll be working on it!