Update Group chat feature (design draft)

This commit is contained in:
Sébastien Blin 2019-12-11 19:38:48 -05:00
parent 2c7f4acd5d
commit 80e3a0a866
1 changed files with 25 additions and 1 deletions

View File

@ -1,4 +1,28 @@
**!!Currently this patch is only a draft following our meetings!!**
# Synospis
The goal of this document is to describe how group chats (a.k.a. **swarm chat**) will be implemented in Jami.
A *swarm* is a group able to discuss without any central authority in a resilient way. Indeed, if two person doesn't have any connectivity with the rest of the group (ie Internet outage) but they can contact each other (in a LAN for example or in a sub network), they will be able to send messages to each other and then, will be able to sync with the rest of the group when it's possible.
So, the *swarm* is defined by:
1. Ability to split and merge following the connectivity.
2. Syncing of the hitory. Anyone must be able to send a message to the whole group.
3. No central authority. Can't rely on any server.
4. Non-repudiation. Devices must be able to verify old messages validity and to replay the whole history.
5. PFS on the transport. Storage is managed by the device.
# Scenarios
## Create a Swarm
*Bob wants to create a new swarm*
**IN CONSTRUCTION**
---------------
**!! OLD DRAFT !!**
Note: Following notes are not organized yet. Just some line of thoughts.