Let's explore the concept of a medium group from an interesting perspective. Suppose a medium group consists of three regular members, A, B, and C, along with one special member, D. Why is D special? Because the identity of D is shared among A, B, and C. When A sends a group message, it is effectively sending a message to D, allowing us to reuse Keychat's one-on-one chat functionality. Members B and C use D's identity to receive and decrypt the message sent by A. However, D does not respond to messages, meaning that the messaging in the Medium group utilizes only one of the ratchets in the double ratchet algorithm (the symmetric ratchet), and not the DH ratchet. Therefore, messages in the Medium group have forward secrecy similar to one-on-one messages but lack backward secrecy. How can we achieve some degree of backward secrecy? By changing D, for instance to E, which effectively resets the DH ratchet. When the Medium group adds or removes members, the special member is updated, thereby gaining some degree of backward secrecy. If there's a need for more efficient and frequent changes of the special member, then we turn to the MLS protocol. nostr:note1kmdgtupw8gdh2zzhyfvd2zjjflnl2k5y3l3cv3rwgv3kcndp8l6qlrycrx