Zum Inhalt der Seite gehen


Decentralizers, attention! :)

Last #deltachat releases introduced stable #p2p group membership not found in any other messenger. Members can add/remove peers also while being offline, and when everything comes online again, everyone has the same consistent membership view. We formalized and ran a simulation model using #TLA+ (invented by Leslie Lamport of vector clock fame):

https://github.com/chatmail/models/tree/main/group-membership

and a complementary #pytest model with more corner cases tested here:

https://github.com/chatmail/models/blob/main/gmc/test_gmc.py
sounds cool! how does this differ from 'group chat' in earlier versions? It now does via eventsourcing of a global clock or something?
we always had a decentralized model for group membership but the prior implementation had several edge cases that would result in difficulties to effectively leave groups, and other issues. The new implementation is based on extensive simulations and tests, before it was implemented and released, putting to rest systematically all #P2P group membership issues that occured in the last years. Group membership consistency is also important for end-to-end encryption security.
#p2p
do you have plans to address the remaining edge cases excluded from the threat model?
could you be a bit more specific what cases you are concerned about? We are not aware of any practical issues anymore and there were not bug reports after we introduced the new model.
let's start off with non members who know the group ID can add themselves to it
we work with the assumptions stated here https://github.com/chatmail/models/tree/main/group-membership#assumptions and those include that the group-id is secret and only known to the members. #Chatmail servers never see the group id as it is transmitted in the end-to-end encrypted part of messages between peers.