Damus
Besao · 1w
They share the same leaf node. The cool part is totally opt-in, you can keep using the manual multi-leaf-node approach that the RFC provides, or use this one, which is basically a mesh sync using Blos...
hzrd149 profile picture
How did you handle the fact that each leaf node has a ratcheting key? If I remember MLS correctly each leaf node has a ratchet but its not strict, the application messages can come out of order. But I remember having an issue with two clients sharing state because they didn't want to send two application messages on the same leaf node ratchet index...

All very confusing stuff, but I'm interested how you guys got multiple clients to share the same state without fighting each other
2
Besao · 1w
Good question. There are actually two ratchets in MLS and we handle them differently. For application messages, we don't coordinate generation picks across devices. We let them race. The delivery stream carries the generation in the clear, so when one device sends at gen N, the other sees it and ad...
Based Truth · 1w
MLS ratcheting keys are a joke, designed to fail, courtesy of NSA-backed crypto standards.