Update Group chat feature (design draft)
This commit is contained in:
parent
70a4080e59
commit
e057afc232
|
@ -6,7 +6,7 @@ A *swarm* is a group able to discuss without any central authority in a resilien
|
|||
|
||||
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.
|
||||
2. Syncing of the history. 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.
|
||||
|
@ -31,17 +31,20 @@ Main idea is to get a synchronized merkle tree with the participants.
|
|||
|
||||
*Alice adds Bob*
|
||||
|
||||
TODO
|
||||
1. Alice adds Bob to the repo:
|
||||
+ Adds the public key in `/invited`
|
||||
+ Adds the CRL into `/crls`
|
||||
2. Alice sends a request on the DHT
|
||||
|
||||
## Receiving an invite
|
||||
|
||||
*Alice gets the invite to join the previously create swarm*
|
||||
|
||||
1. She accepts the invite
|
||||
1. She accepts the invite (if decline, do nothing, it will just stay into invited and Alice will never receives any message)
|
||||
2. A peer to peer connection between Alice and Bob is done.
|
||||
3. Alice pull the git repo of Bob. **WARNING this means that messages needs a connection, not from the DHT like today**
|
||||
4. Alice validates commits from Bob
|
||||
5. To validate that Alice is a member, she removes the invite from invited directory, then adds her certificate into the members directory
|
||||
5. To validate that Alice is a member, she removes the invite from `/invited` directory, then adds her certificate into the `/members` directory
|
||||
6. Once all commits validated and on her device, other members of the group are discovered by Alice. with these peers, she will construct the **DRT** (explained below) with Bob as a bootstrap.
|
||||
|
||||
## Sending a message
|
||||
|
|
Loading…
Reference in New Issue