Passer au contenu
Retour à Nymchat

Base de connaissances Hors Internet

Maillage Bluetooth

Messagerie sans Internet, sans service cellulaire et sans infrastructure d'aucune sorte gentil. Les appareils à proximité se connectent via Bluetooth LE et se relayent les uns pour les autres, de sorte qu'un message parvienne les personnes hors de portée radio en passant d'un appareil à l'autre.

Qu'est-ce que le maillage

Le maillage est un deuxième transport parallèle aux relais, et non une application distincte ou un service distinct. identité. Les chaînes publiques et les messages privés fonctionnent tous deux dessus, et l'application décide laquelle itinéraire à suivre seul : les envois en ligne passent par Internet et reviennent au Bluetooth lorsque il n'est pas disponible, tandis qu'un homologue accessible uniquement par radio reste sur le maillage de toute façon.

C'est un réseau d'inondation.Chaque appareil transmet des paquets aux appareils qu'il peut entendre, avec une limite de 7Deux personnes qui ne peuvent pas s'entendre directement encore échanger des messages tant qu'il y a une chaîne de dispositifs entre eux.

En vertu de cela, chaque paire de pairs gère un Bruit XX poignée de main et discute de son propre session cryptée. Les paquets sont rembourrés et, lorsqu'ils sont volumineux, fragmentés, donc la taille de ce qui vous envoyez en dit le moins possible sur ce dont il s'agit.

Une inondation ne touche qu’à celui qui écoute à ce moment-là, donc trois choses portent un message au-delà de cela : les appareils. Souvenez-vous de l’histoire publique récente et la transmettre à celui qui l'a manquée, Les voisins portent des courriels scellés pour quelqu'un hors de portée, et tout ce qui est envoyé sans internet est Publié plus tard Quand Internet reviendra.

L'allumer

Ouvrez le panneau maillé Bluetooth et appuyez sur Allumer. Ce qui se passe ensuite dépend de sur quoi vous l'exécutez.

Le panneau maillé Bluetooth Nymchat, affichant l'état du maillage, les appareils couplés, les pairs sur le maillage et un journal radio.
Le panneau maillé : état, appareils couplés, pairs entendus et journal radio en direct.

Sur Android et iOS

L'application exécute les deux rôles Bluetooth à la fois : elle s'auto-annonce et recherche les autres. - Ainsi, deux appareils à proximité se connectent, quel que soit celui qui a remarqué l'autre. Subvention l'autorisation Bluetooth lorsqu'on lui demande et il trouve les pairs par lui-même.

Dans un navigateur

L'application web rejoint le même maillage via Web Bluetooth, sur les navigateurs Chromium : Chrome, Edge, Opéra et Brave. Sur Safari et Firefox, qui n'implémentent pas le Web Bluetooth, le maillage les contrôles sont entièrement cachés plutôt que proposés et échouent ensuite.

Un navigateur rejoint en tant que feuille

Un navigateur ne peut prendre que le Bluetooth central rôle : il ne peut pas se faire de publicité, donc les autres appareils ne peuvent pas le découvrir. Il se connecte vers l'extérieur aux téléphones et relais à proximité via eux. Vous choisissez chaque appareil une fois via le sélecteur d'appareil du navigateur, après quoi il se reconnecte tout seul. Deux navigateurs ne peuvent pas se lier directement.

Partager un maillage avec Bitchat

Nymchat implémente Bitchatc'est protocole maillé sur le fil, octet pour octet - le même service et les mêmes caractéristiques du GATT UUID, même en-tête de paquet, mêmes types de messages, même limite de sauts par défaut. Les deux les applications ne sont reliées par rien ; ils sont simplement sur le même maillage, et un appareil Nymchat et un appareil Bitchat se découvrent et échangent directement des messages cryptés.

Les paquets d'annonce peuvent également transporter un nostrLink: un lien signé d'un homologue maillé vers leur véritable identité Nostr. Lorsqu'il y en a un qui est présent et vérifie, un homologue que vous avez rencontré via Bluetooth se présente comme la même personne que vous connaissez grâce aux relais.

La réconciliation de l'histoire et le courrier transporté décrit ci-dessous sont également des formats de Bitchat, de sorte que les deux applications ne coexistent pas seulement sur le même filet - elles synchronisent l'histoire publique de l'autre et portent les enveloppes l'une de l'autre.

L'histoire de la Mesh Carries

Une inondation transmet un message public à quiconque est à portée de la radio à ce moment-là. Entrez dans la pièce une minute en retard et elle disparaît.Ainsi, chaque appareil garde une fenêtre des messages publics récents qu'il a entendus - jusqu'à 6 heures, limitée à 1 000 paquets - et concilie cette fenêtre avec chaque peer qu'elle rencontre, à peu près chaque 15 secondesTout ce qui vous manque, ils vous envoient ; tout ce qui leur manque, vous les envoyez.

La comparaison est faite avec un ensemble de probabilités compact (un filtre codé Golomb), de sorte que la conciliation de mille messages coûte environ un kilobyte au lieu de seize.

C'est ce qui permet à un téléphone d'agir comme un cri de ville: marcher entre deux groupes qui n'ont jamais été à portée de main l'un de l'autre, ou revenir des heures plus tard, et il transmet ce que l'autre partie a manqué.

Messages publics uniquement

Seul le trafic public est jamais transporté de cette façon - les messages sont déjà visibles à n'importe qui dans la radio. Messages privés, gestes et sessions cryptées ne font jamais partie de celui-ci.

Courrier envoyé par d'autres personnes

Si vous écrivez à quelqu'un qui n'est pas à portée radio, il n'y a personne à qui transmettre le message.Nymchat le scelle à la clé de cette personne et donne des copies scellées à quelques pairs qui sont Ils le portent, et le livrent s’ils rencontrent le destinataire.

La copie est opaque pour celui qui la porte.La seule information de routage qu'elle contient est une étiquette qui rotation quotidienne et ne peut être calculé que par quelqu'un qui connaît déjà la clé du destinataire, de sorte que deux enveloppes pour la même personne sur des jours différents ne semblent pas liés à quelqu'un d'autre.

Les copies ne se multiplient pas. Chaque transporteur détient un budget qui diminue de moitié lorsqu'il donne une part à quelqu'un d'autre, de sorte qu'un message se propage à une poignée de transporteurs puis s'arrête. 24 heureset seuls les pairs dont l'identité a été vérifiée sont jamais donnés.

Là où c'est possible, Nymchat scelle l'enveloppe à un clé à usage unique Chaque appareil publie un petit lot de ceux-ci, signés de sorte qu'ils ne puissent pas être falsifiés, et le lot voyage de la même manière que l'histoire portée - ce qui le rend disponible pendant que son propriétaire est absent, exactement quand leur courrier est transporté.Le destinataire efface chaque clé une fois qu'elle a été utilisée.Cette suppression est le point: une enveloppe copiée de l'air ne peut pas être ouverte par la suite, même par quelqu'un qui prend ensuite la clé d'identité du destinataire.

La dédicace attend 48 heures, parce que plusieurs transporteurs peuvent détenir des copies de la même enveloppe et ils arrivent chaque fois que leurs transporteurs arrivent à vous rencontrer ; supprimer sur le premier ferait chaque copie ultérieure ressembler à un courrier perdu.

Ce qu’apprend un transporteur

Donner une enveloppe à quelqu'un leur dit qu'un message existe et que vous l'avez envoyé. Jamais le contenu, jamais pour qui il est - mais le fait. Si ce commerce n'est pas celui que vous voulez faire, le mode fantôme n'utilise jamais de courrier (voir ci-dessous).

Transmission réalisée sans internet

Un message que vous envoyez pendant que vous êtes hors ligne passe immédiatement sur la radio, qui atteint qui est à proximité - et personne d'autre, car en ce qui concerne les relais, il n'a jamais existé. Nymchat le tient, et le publie au moment où l'Internet revient, en gardant son temps d'envoi d'origine afin qu'il reste où vous l'avez écrit dans la conversation.

Toute personne qui l'a déjà reçu via Bluetooth ne le verra pas deux fois : la copie rééditée porte un marqueur qui permet à son appareil de la reconnaître. 24 heuresCelui qui ne le fait jamais est marqué comme échoué plutôt que laissé regarder envoyé.

Cependant, en même temps, Nymchat demande aux pairs voisins qui ont encore un signal de publier le message en son nom - une connexion dans la pièce suffit pour tout le monde. Le message est signé par votre appareil avant de le quitter, de sorte que le pair qui le porte est une boîte aux lettres: il ne peut pas changer un mot de ce qu'il publie, et les relais le rejeteraient s'il essayait. Lire un canal à travers un voisin qui en a un.

Ceci est un raccourci, jamais la seule copie. Rien ne dit à votre appareil si un voisin a réellement réussi à publier, de sorte que le message reste en file d'attente pour votre propre connexion d'une manière ou d'une autre. Si les deux copies fonctionnent, les deux copies sont du même byte par byte et les relais en gardent un. Seuls les messages de canal se déplacent de cette façon - demander à quelqu'un de publier un message privé leur dira à qui vous écrivez - et jamais en mode fantôme, où la signature indiquerait directement votre véritable identité.

Mode fantôme

Un appareil maillé est une radio qui s'annonce à plusieurs reprises, ce qui facilite la tâche. à suivre à travers les lieux et les séances. Le mode fantôme est la réponse facultative.

Pendant qu'il est allumé, chaque l'identifiant qu'une annonce porte est remplacé par un jetable valeur, et tous tournent ensemble :

  • la clé statique Noise – dont dérivent l’identifiant du homologue et l’empreinte digitale ;
  • la clé de signature Ed25519 ;
  • le nom Bluetooth annoncé ;
  • le surnom ;
  • l'annoncé nostrLink, qui reste réel mais devient éphémère, afin que les pairs puissent toujours vous atteindre sans que rien ne résolve votre npub.

La rotation se produit à une époque instable d'environ 15 minutes. Identités retraitées rester déchiffrable jusqu'à 8 époques donc une réponse tardive arrive toujours, et un la conversation démarrée alors qu'elle était fantôme est épinglée au maillage pour de bon plutôt que silencieusement migrer vers les relais sous votre vraie clé.

Le partage d'avatar et de bannière est refusé lorsque le mode Ghost est actif : une image répétée relie deux les époques ensemble plus rapidement que n’importe quelle clé ne le ferait.

Deux des voies de livraison ci-dessus sont désactivées avec elle, pour la même raison. Un appareil fantôme ne demande jamais à quiconque de porter le courrier pour cela - un courrier qui tient toujours une enveloppe après que vous roulez est un fil entre les deux identités. Et une conversation attachée au filet n'est jamais republiée aux relais, parce que cette copie serait signée avec votre clé réelle et dira à l'autre personne exactement qui était le fantôme. Un appareil fantôme ne publie pas non plus de clés à la fois: rien ne peut être transporté vers ou à partir de celui-ci de toute façon, de sorte que le lot serait une autre chose que l'identité jetée diffuse sans livraison qu'il pourrait jamais gagner.

Le mode fantôme n'est pas l'anonymat

Cela rend un appareil beaucoup plus difficile à suivre. Cela ne le rend pas introuvable. Le Bluetooth L'adresse matérielle est contrôlée par le système d'exploitation, et non par l'application, et la synchronisation et les modèles sociaux restent corrélables : la même personne, au même endroit, parlant à les mêmes personnes, aux mêmes heures.

Limites

  • La portée est la portée Bluetooth. Des dizaines de mètres en ouvert, moins à travers les murs. Le filet s'étend en sautant, pas en criant plus fort. La liste des pairs dans le panneau du filet vous dira ce qu'il est: ping un pair et il rapporte le tour et combien de sauts ils sont réellement loin.
  • La bande passante est petite. Les trames sont limitées à 512 octets et aux messages plus volumineux sont fragmentés. Il est conçu pour le texte, pas pour les médias.
  • La livraison s'effectue au mieux. Une inondation de 7 coups ne fait pas de promesses, ni ne fait les chemins qui l'étendent: l'histoire transportée ne vous atteint que si vous rencontrez un appareil qui l'a gardé, et un courrier ne livre que s'il arrive de rencontrer le destinataire.
  • Les navigateurs sont des feuilles, comme ci-dessus, et dépendent de la présence d'un téléphone à proximité.
  • La radio coûte de la batterie, car la numérisation et la publicité en continu c'est ce qui fait fonctionner le maillage.