diff --git a/technical/2.3.-Swarm.md b/technical/2.3.-Swarm.md index 44d40cab..0a507928 100644 --- a/technical/2.3.-Swarm.md +++ b/technical/2.3.-Swarm.md @@ -25,8 +25,8 @@ We identified four modes for swarm chat that we want to implement: *Bob wants to create a new swarm* -1. Bob create a local git repository. -2. Then, he adds an initial signed commit and adds the following: +1. Bob creates a local git repository. +2. Then, he creates an initial signed commit with the following: + His public key in `/admins` + His device certificate in ̀ /devices` + His CRL in ̀ /crls` @@ -38,7 +38,7 @@ We identified four modes for swarm chat that we want to implement: *Alice adds Bob* 1. Alice adds Bob to the repo: - + Adds the invited uri in `/invited` + + Adds the invited URI in `/invited` + Adds the CRL into `/crls` 2. Alice sends a request on the DHT @@ -88,7 +88,7 @@ Note2: If a fetch is too big, it's not done (**TODO**) + Check that device cert is added + Check CRLs added + Check that no other file is added -+ The commit has 1 parent, commit msg is a JSON with a type: ++ The commit has 1 parent, commit message is a JSON with a type: + If text (or other mime-type that doesn't change files) + Check signature from certificate in the repo + Check that no weird file is added outside device cert nor removed @@ -144,7 +144,7 @@ This is needed to detect revoked devices, or simply avoid getting unwanted peopl Note: Alice MUST be admins to vote -+ First, she votes for ban Bob. To do that, she creates the file in /votes/members/uri_bob/uri_alice (members can be replaced by devices for a device) and commit ++ First, she votes for ban Bob. To do that, she creates the file in /votes/members/uri_bob/uri_alice (members can be replaced by devices for a device) and commits + Then she checks if the vote is resolved. This means that >50% of the admins agree to ban Bob (if she is alone, it's sure it's more than 50%). + If the vote is resolved, files into /votes can be removed, all files for Bob in /members, /admins, /CRLs, /devices can be removed (or only in /devices if it's a device that is banned) and Bob's certificate can be placed into /banned/members/bob_uri.crt (or /banned/devices/uri.crt if a device is banned) and committed to the repo + Then, Alice informs other users (outside Bob) @@ -470,7 +470,7 @@ Group chat can be based on the same work we already have for multi-devices (but ## Another dedicated DHT -Like a DHT with superuser. (Not convinced) +Like a DHT with a superuser. (Not convinced) # File transfer