Ga naar de inhoud
Terug naar Nymchat

Kennisbank Praten met mensen

Groepschats

End-to-end gecodeerde groepsgesprekken die hun eigen gesprekken niet lekken lidmaatschap. Ieder bericht wordt voor ieder lid apart verpakt, geadresseerd aan een sleutel welteverstaan één keer gebruikt.

Een groep aanmaken

/group @alice @bob Weekend plans creëert een groep met die leden en zo naam. De naam is optioneel. Je kunt ook kiezen Groepschat maken van iemands contextmenu, of gebruik de + naast het gedeelte Groepschats in de zijbalk.

Een Nymchat-groepschatgesprek.
Een groepschat.

Jij wordt van de groep eigenaar. Er is een maximum aan groepen 100 leden, omdat elk bericht voor elk bericht afzonderlijk wordt gecodeerd de fan-out per bericht moet begrensd blijven.

Leden toevoegen

/addmember @nym, of /invite @nym terwijl je in de groep zit. Of iedereen behalve de eigenaar mag dit doen, dit is van de groep sta toe dat leden anderen toevoegen instelling, in het contextmenu van de groep.

/groupinfo vermeldt de huidige leden.

Standaard uitgeschakeld. De eigenaar gaat aan Sta deelname toe via de uitnodigingslink van de contextmenu van de groep, waarna de link daar verschijnt — voor de eigenaar en voor leden ook als "leden toestaan anderen toe te voegen" is ingeschakeld.

Iemand die gloednieuw is en een uitnodigingslink opent, wordt gevraagd een nieuwe naam te kiezen of eerst in te loggen; de verbinding wordt dan vanzelf hervat, zodat ze de link geen tweede keer hoeven te vinden.

Uitnodigingslink opnieuw instellen trekt elke tot nu toe gedeelde link in één keer in. Gebruik het wanneer een link is ergens terechtgekomen waar u niet de bedoeling had.

Geschiedenis delen met nieuwe leden

Ook standaard uitgeschakeld, ook de oproep van de eigenaar: Deel geschiedenis met nieuwe leden binnen het contextmenu van de groep.

Als deze is ingeschakeld, gaat degene die iemand toevoegt door naar de laatste van de groep 50 berichten aan dat nieuwe lid, als een enkele gecodeerde klodder, aan hen alleen. Doorgestuurde berichten zijn gemarkeerd niet geverifieerd, omdat de handtekeningen van de originele auteurs niet opnieuw kunnen worden gecontroleerd zodra de tekst door een derde partij is doorgegeven, vertrouwt u de persoon die heeft toegevoegd je hebt niet bewerkt wat ze hebben doorgegeven.

Eigenaars, moderators en leden

CommandoDoetWie kan
/kick @nymVerwijdert een lidEigenaar, moderatoren
/ban @nymVerwijdert ze en blokkeert hun terugkeerEigenaar, moderatoren
/unban @nymHeft een verbod opEigenaar
/addmod @nymPromoot tot moderatorEigenaar
/removemod @nymDegradeert een moderatorEigenaar
/transferowner @nymGeeft de groep overEigenaar
/leaveVerwijdert u uit de groepIedereen
Rollen worden aan beide kanten afgedwongen

Er is geen server om te arbitreren, dus elke client controleert zelf de rol – wanneer het verzenden van een moderatieactie, en opnieuw bij elke moderatiegebeurtenis die het ontvangt. Een klant dat een macht claimt die het niet heeft, wordt eenvoudigweg door alle anderen genegeerd.

Hoe groepsversleuteling werkt

Groepschats gebruiken dezelfde NIP-17-geruchten en NIP-59-cadeauverpakkingen als privé berichten, één wrap per lid, elk gecodeerd naar dat lid. Nymchat voegt dan iets toe wat standaard NIP-17 niet heeft.

Sleutels van ontvanger roteren

Met gewoon NIP-17 ziet iemand die naar een estafette kijkt, N cadeauverpakkingen op hetzelfde moment verschijnen, geadresseerd aan N verschillende pubkeys. Dat is een ledenlijst en deze hoeft niet te worden gedecodeerd lezen.

Dus Nymchat roteert de sleutels van de ontvanger. Elke keer dat u verzendt, munt uw klant een nieuw exemplaar kortstondig sleutelpaar en maakt reclame voor de publieke helft ervan binnen het gecodeerde gerucht, als een ephemeral_pk label. Vanaf dat moment adresseert iedereen zijn berichten aan die sleutel in plaats van je echte. Voor een waarnemer reist elk bericht in de groep tussen eenmalige pubkeys die geen zichtbare link naar welke identiteit dan ook hebben, en geen twee berichten delen een ontvanger.

Herstel na een compromis

Die rotatie is tevens het herstelmechanisme. Als een apparaat is aangetast, kan de gebruiker dat eenvoudigweg doen stuurt een bericht: de nieuwe kortstondige sleutel die hij adverteert, vervangt de oude voor elk lid automatisch. Er is geen resynchronisatie buiten de band om te regelen en er is niets waar de groep het over eens is op.

Terugkomen na weggeweest te zijn

Kortstondige sleutels roteren, en de gebeurtenissen die ze dragen verlopen via relais. Een klant die geweest is dagenlang offline kunnen komen, kunnen daarom terugkomen met sleutels waar iedereen langs is gegaan. Zo verder opnieuw verbinding maakt, stuurt het, na een pauze die lang genoeg is, een sleutel-hersynchronisatieverzoek met beperkte snelheid naar elk van zijn groepen en wisselt huidige sleutels opnieuw uit - wat ervoor zorgt dat een lange vakantie niet doorgaat in een groep die je niet meer kunt lezen.