SimpleX is based around queues. Instead of pushing everything to a relay and have it stay there forever, you push messages into a queue that eventually gets consumed by the person you’re sending the messages to. They exist on the relay temporarily and they are encrypted. Cool part is that there are no long-term “addresses” or “pubkeys” to send the message to, so spam is much harder.
I think nostr could learn a lot from this protocol, I believe we can use something like this to strengthen use cases on the nostr side. I am building a SimpleX rust library to learn the protocol further, and will be looking into how we can leverage it in our apps.
Login to reply
Replies (77)
that be awesome if you swapped out nip04 dms for simplex in damus
Super!
From the top of my head:
Client -> Relay: ["PUSH", <filters>] / ["PULL", <filters>]
That with event kinds specific for this, probably in the 2k/3k range? Something that doesn't stick around forever, but can be deleted when someone comes to PULL the queue after someone has PUSHed into it.
It'd be an interesting concept to explore.
@SimpleX Chat are there any code restrictions?
Definitely
I love the fact that SimpleX puts users (and their queues) at the center of the universe. Whereas with nostr, users are at the mercy of popular relays.
Now it's getting interesting.
Following along. Really big fan of Simplex.
based
Interesting, so the message can only be consumed once?
Not sure about this cc @SimpleX Chat
Still looking through the docs and code trying to piece it together
Nostr was designed for public stuff.
I think it makes sense to leverage other protocols to add private comms in clients. Looking forward to seeing what you come up with.
The dev looks like a trove of high level ideas. Impressive.
SimpleX DMs in Damus would be sick
🫂
First I'm hearing of SimpleX 👀
View quoted note →
SimpleX
+
@npub126nt...e9ll
🤙
That's what I have! But I still haven't set up my SimpleX relay.
Love this. Keep pushing. #LFG
Dang, did someone just zap you 1000 Bitcoin?
Ben found a bug in damus zaps, im fixing it now. Noone should be able to fake a zap to my own post, so this is new!
I see, it is showing on other clients as well.
wow
haha
Will, as a newbie I'm learning a lot from your posts. Much appreciated.
The metadata protected E2E messaging in xx network takes a similar approach. It stores for a set period of time (21days) since it can't be known when the recipient receives the messages.
It's definitely the right design for private messaging applications.
View quoted note →
To není chyba? 😳😳


It is visible from amethyst
Yep.
But what's wrong with having the messages stay on one (or more) relays for a long period of time? That allows you to switch devices and preserve your historical messages, right?
Curious how it handles groups. Keep us posted
J'espère que toute la communaute des informaticiens savent que vous êtes competent et ne restez en place à tourner en rond. Merci vous avoir lu lors de vos interactions entre Jack NVK et tant d'autres en décembre en décem'''sur Twitter e je mettais dit ce gars est un bon gars qui a de la suite dans les idées... Continuez comme ça en toute amélioration continue >Qualité en normes avec vos pairs. 🙏
I’m a big fan of @SimpleX Chat from the beginning!!! 🧡
Nice! Do you need help on building the rust @SimpleX Chat library? I am experienced in rust and would love to contribute. Is there a public repo up already?
Can we contribute to rust lib? I'd like to better understand the protocol with hands dirty.
Visible on @Openvibe too
Maybe nostr encrypted group chats based on this model for privacy, and a classic nostr approach for more persistent content on the social media part ?
Watch SimpleX
View quoted note →
Considering anyone can run a relay in Nostr, it's pretty much impossible to have a "consumable". The encrypted message has to be assumed to live on the internet forever.
Best Nostr can do is try to obfuscate sender and receiver from the relays.
View quoted note →
@simplex
If you can fix the only being able to use it from one device issue, this will be viable.
Agree but can't help but notice this. Something is off here unless someone zapped you $30 million with in btc


like not having "#e" as a key be a thing needed for core functionality??

Wondering how discovery works or publishing/consuming messages of "friends" works if their are no static pub keys or addresses. Sneakernet?
What exactly do you mean by “fake a zap to my own post”?
Just trying to understand that aspect of the protocol better
They disappear after use?
It’s worth looking at NNCP as well. A newer protocol for “store and forward” from the UUCP Usenet days.
www.complete.org
NNCP Concepts
This page describes some basic concepts of NNCP.
What NNCP can do NNCP is a versatile communications layer; think of it as an Asynchronous Communic...
I actually use this! I created a “mars network connection” simulation for myself and tried to use the internet this way using
NNCP (NNCP)
NNCP (NNCP)
oh man. i know what im experimenting with tonight!
Its this a good app to use? I have to send a code to anyone else with the app? I wonder how good the encryption is
I've been using nostr:npub1exv22uulqnmlluszc4yk92jhs2e5ajcs6mu3t00a6avzjcalj9csm7d828for a couple of weeks now and so far the experience has been quite impressive. I especially was surprised that the audio quality is as good as it is...
If you haven't tried it yet, you definitely should...
View quoted note →
I love how this note was (apparently?) zapped 1000 bitcoin. Don't spend it all at once.
I like this idea too, "a dumb server" and how it is working with Simplex. At the same time the other way to go is simply run your own server and the Matrix protocol does this well. I think more energy needs to be put into helping non-techy folks run their own servers.
Are clients verifying the authenticity of zaps? Probably not, it is too cumbersome. Cashu-based zaps would probably make that much easier..
Gossip (in nostr-types) is apparently not doing it sufficiently. Looking over NIP-57 again, I'm seeing things I don't recall when I wrote the code. I'll get this issue fixed.
Verify the p tag, find its metadata, fetch its LUD address, extract the pubkey from the HTTP response and then validate the zap pubkey against that? I guess it's not that hard, but if the zap provider pubkey was included directly in the receiver metadata that would be much better.
I would love to see a client with some combination of #Nostr and SimpleX.
love it. simplex is really cool. build build build
We are getting closer to telepathy.
This ^^ , for sure. It also seems to be an issue with hypercore chats like keet. The only 'one device' issue, unique key thingamagjig.
That will change
note1e39qw85pajrud6s5pwzdsp6shnwfdgzg6qwhcsvxdglmmswnedds9jq2vv
yeah, that's just what everyone needs. more standing in line and waiting their turn in the bread lines.
hyper sanitary order is a collection process for fascist governance, not for useful and organic evolution. by forcing slow paced excessive order and compliance to be sure no drop is spilled - it creates the very lack of freedom which was the antithesis of the idea for tracking pow in the first place.
How do I open "note1e39qw85pajrud6s5pwzdsp6shnwfdgzg6qwhcsvxdglmmswnedds9jq2vv"?
Seems like a similar situation to torrents and p2p file sharing. Practically unstoppable.
Also, hoping this happens too:
note1d75r7ez8gkejh92nfyaq6r20eklj4wdn8jvvngrljupcqc9rphmsuxyk8a
🤘🤜🤛👏
Really appreciate that explanation. :)
💯
Bullshit! (The @PABLOF7z version)
been playing with
too and it's pretty cool. SimpleX is where it's at, though.
Burn After Reading
Impossible since people can just send between two wallets multiple times.
Maybe nostr DMs could learn from SimpleXchat