The Messaging Layer Security (MLS) Protocol is designed to provide efficient asynchronous group key establishment with forward secrecy and post-compromise security for group chat settings. It tackles the challenge of establishing keys for end-to-end security in group chat settings where more than two clients need to agree on a key but may not be online at the same time. The protocol uses tree structures and an asynchronous key-encapsulation mechanism to derive and update shared keys with costs that scale logarithmically with the group size. It also outlines the terminology and cryptographic state evolution of the protocol, as well as provides an example of protocol execution.
https://datatracker.ietf.org/doc/html/rfc9420