<div dir="auto">Signatures are being chained (like a blockchain) to create a provable order -- necessary to avoid split-brain problems in an offline-first environment. The original use case was that one of the devs lived on a sailboat & got internet once every like six months.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 21, 2020, 5:46 AM fuzzyTew <<a href="mailto:fuzzytew@gmail.com">fuzzytew@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Tue, Apr 21, 2020, 12:40 AM John Ohno <<a href="mailto:john.ohno@gmail.com" target="_blank" rel="noreferrer">john.ohno@gmail.com</a>> wrote:</div><div dir="ltr" class="gmail_attr"><...></div></div><div class="gmail_quote" dir="auto"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Fully independent implementations are under development, but they're difficult because the protocol as defined involves cryptographically signing sections of regular JSON -- which, of course, has no defined order for objects. This means that in practice, the SSB protocol is not standard JSON plus signatures, but the entire set of nodejs JSON serialization quirks. In order to implement it in another language, you have to duplicate exactly the ordering produced by nodejs, or else old messages will not be interpreted as valid by your implementation and the messages produced by your implementation will not be interpreted as valid by competing implementations. Ultimately, this means that if you want a full-featured SSB client, you're stuck with an electron app (with all the attendant bloat and memory leaks).</div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">It sounds like the protocol is a little complicated under the hood?</div><div dir="auto"><br></div><div dir="auto">Do you know why the order of serialized content matters when it is only being signed and not encrypted?</div><div class="gmail_quote" dir="auto"></div></div>
</blockquote></div>