Vitor Pamplona on Nostr: My understanding is that Double Ratchet requires a strict order of messages and it is ...
My understanding is that Double Ratchet requires a strict order of messages and it is quite unforgiving when one of the messages is deleted. Since that happens all the time on Nostr, because relays generally not have everything or sometimes are just offline/busy, it might not be a good usecase. Key derivation branches would happen all the time.
The algorithm works better when a single server takes some channel management responsibilities and maybe even keeps the state of the ratchet machine, which I don't think we can do in Nostr.
I know there are fixes for it, but I didn't explore them because it gets quite complicated.
Also, keep in mind that Double Ratchet is just a concept. There are lots of ways to implement it and each has distinct levels of privacy and security with many side effects.
The algorithm works better when a single server takes some channel management responsibilities and maybe even keeps the state of the ratchet machine, which I don't think we can do in Nostr.
I know there are fixes for it, but I didn't explore them because it gets quite complicated.
Also, keep in mind that Double Ratchet is just a concept. There are lots of ways to implement it and each has distinct levels of privacy and security with many side effects.