Halp me understand double ratchet. What's the advantage over just periodically generating new keys and doing DH between them? Would be fairly simple to do on Nostr. Even if your main private key was stolen, your message history would be safe.
In addition to DH keys, double ratchet also has individual "message keys" and "sending/receiving chain keys". In what real-life scenario would they be compromised without also compromising all past messages on device?
https://signal.org/docs/specifications/doubleratchet/
https://image.nostr.build/c66a4b601a146bbd7bdb93122fa7b1d778355f75801deaa1298be7a09444f465.png