People can opt out of the 4th step if they don't want to recover their own sent messages.

I am not sure if there is a practical solution for the DM history leaking issue. If people want to keep their history between clients, they will keep whatever is needed to recover the history together with the key. Once the key leaks, the rest is also leaked. :(

Reply to this note

Please Login to reply.

Discussion

The way SimpleX handles that with a chat database is better

I am not so sure. In practice, the security is as faulty as with Nostr keys. The things that would cause a key leak in Nostr would also cause a chat database leak in SimpleXChat. And since on Nostr, people want their DMs in every client, there will be a lot of export and import happening, which yields bigger chances for leaking the entire thing.

If we drop the assumption that people want their DMs in every client we can start making headway

I don’t think that’s a very safe assumption to make.

I don't see it. As long as there are two clients doing DMs, we are going to have this issue. We only need two good ones that compete well and people will be lost. It gets attenuated when people use a client on the desktop or a tablet and another in the phone. They want to see the same feed in both, at all times.

Any way to make keeping or removing the DM history, and creating a new receiver address, a user configurable option with Nostr?

What about making the DM history available to export and import locally?

You bring up good points, but I still prefer the chat database because messages can be deleted from it. Local storage > Nostr cloud storage

SimpleX chat relays do keep your messages for a while just like Nostr does. And the receiver also has a copy of your messages. So, it's not that different than in Nostr (with the new idea, dropping step 4).

I think the ephemeral keys make a big difference

The new idea does use ephemeral keys to send. We could do ephemeral keys to receive as well, but I am not sure if it actually adds much security.

Wouldn't it solve the problem of leaking your entire message history?

Not if you need to save all these keys somewhere (locally or on the cloud) to see the same feed in another client or device. That's what SimpleX does with the local database. Keys don't leak randomly. They leak when you are inserting them in a new device/client or when somebody gets access to it. If you keep your keys and the local db together, the attackers gets both.

Couldn't you save ephemeral receiving keys for like a week, then discard them? Just long enough to sync up all the devices.

We can rotate keys, but if you discard them, you won't see the messages address to that key anymore. In all cases, you will need a collection of all your past receiving keys to move to a new phone, for instance.

Wouldn't it make more sense to just link your nostr ID to your simplex ID for DMs and then when you want to DM someone you can choose whether to do it over nostr (if they're not a SimpleX user) or over SimpleX if they are.🤷🏼‍♂️

Simplex doesn't want to have a link to a known identity like Nostr would have.