The main difference between #Cordn and #Concord is that Cordn is based upon MLS and therefore has a coordinator server and forward secrecy, while Concord is client-relay-client. Concord is not as secret (if the key leaks, everyone can read everything from that epoch, and keys aren't associated with devices, so they're easy to share with people outside the group), but it's able to handle larger groups with less overhead, and you don't need to run a server. (You don't need to run one with Cordn, either, as you can use existing coordinators, but there are more relays than coordinators.) Concord seems to be aiming more at the Discord market, and Cordn is aiming more at Signal. I am going to implement Cordn in my Imwald Android app once it's a bit more mature and just not bother ever implementing DMs (since 2 people in a Cordn room is effectively the same as a DM). HTH

Replies (1)

Besao's avatar
Besao yesterday
Actually is less overhead. MLS (Cordn) uses a tree-based group key agreement called TreeKEM to manage group state. In a balanced tree, join/leave/rotation operations touch only O(log n) nodes, so very large groups can handle rekeys (including member bans and key rotations) much more efficiently than protocols that re-encrypt or re-establish keys for all n members, such as Double Ratchet–based or naive custom group protocols, which are O(n) per rekey. image