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 Of iemand anders dan de eigenaar en de beheerders dit kan doen, is de taak van de groep. Medewerkers kunnen anderen toevoegen instelling, in het contextmenu van de groep.

/groupinfo vermeldt de huidige leden.

De eigenaar of een admin schakelt op Sta deelname toe via de uitnodigingslink uit het contextmenu van de groep, waarna de link daar wordt weergegeven - voor hen, en voor leden ook wanneer "leden toestaan andere 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 of een beheerder: Geschiedenis delen met nieuwe leden in 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, beheerders, moderatoren en leden

CommandoDoetWie kan
/kick @nymVerwijdert een lidEigenaar, admins en moderators
/ban @nymVerwijdert ze en blokkeert hun terugkeerEigenaar, admins en moderators
/unban @nymHeft een verbod opEigenaar, admins en moderators
/addmod @nymPromoot tot moderatorEigenaar, admins
/removemod @nymDegradeert een moderatorEigenaar, admins
/addadmin @nymPromotie voor adminEigenaar
/removeadmin @nymVerwijder een adminEigenaar
/transferowner @nymGeeft de groep overEigenaar
/leaveVerwijdert u uit de groepIedereen

Een groep heeft precies één eigenaar, en elk aantal beheerders en moderators. mensen en acteren op De groepAdmins doen dat ook, en ook alles wat de groep zelf verandert - de naam, de beschrijving, de uitnodigingslink, de instellingen, die leden kunnen toevoegen - en ze benoemen en verwerpen moderators.

Niemand kan op iemand in of boven hun eigen rol handelen. Een moderator kan geen andere moderator kick, een beheerder kan geen andere beheerder demoten, en niemand behalve de eigenaar kan op de eigenaar handelen. eigendom is de ene rol die beweegt in plaats van stacks: /transferowner Als je het overgaat, voegt het geen tweede eigenaar toe.

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.

Groepsberichten tussen Nymchat-gebruikers kunnen ook een post-kwantumsleuteluitwisseling gebruiken hierboven. Omdat ieder lid al een eigen, afzonderlijk gecodeerde kopie krijgt, kan een groep mixen beide vrijelijk – en een bericht wordt pas als kwantumbestendig gemarkeerd als elk lid het heeft ontvangen het op die manier. Zien kwantumbestendige encryptie.