Subject: [MLS] P2P operation of MLS?

From: Ian <[email-masked]>
Date: Fri, 14 Jun 2019 16:57:45 +0000

Hi All,

I'm the founder of Peergos [1], a decentralised end-to-end encrypted storage and social network built on top of IPFS [2]. I'm looking for an appropriate protocol for large group chats and was pointed toward MLS. I am looking into the possibility of implementing and using MLS in Peergos in the future.

The main thing I currently have questions about is the delivery service (We have a pki that fits perfectly the authentication service). The main question is whether MLS will still work in a fully P2P store and forward network. The setup I'm imagining is logically equivalent to each member of a group storing their own append only list of messages in the group. When they themselves send a message they just append to their own copy. Other members have access to each other member's version, and periodically merge in any new messages to their own copy. This preserves the order of messages from a given user, and ensures that dependent messages are before those that depend on them. Would this suffice?

The other related question is if there is a network partition, my understanding so far is the two halves of a group can still continue messaging amongst their partition (in their view the other half is just offline), and eventually the halves could reconnect and merge and receive all the messages from the other half, updating the treekem as they go. Is this correct?

One small comment on my readings so far: In my opinion the directory service where the initial key material is obtained from is logically distinct from the delivery service and should be described as such, giving three architectural dependencies.

p.s. I live in Oxford (UK) and would love to meet the Oxford based members if they are interested.

Many thanks,
Ian Preston

[1] https://github.com/peergos/peergos
[2] https://ipfs.io

--
Dr Ian Preston
Peergos
@peergos
https://peergos.org