Slaan oor na die inhoud
Keer terug na Nymchat

Kennisbasis Van die internet af

Bluetooth mesh

Boodskappe met geen internet, geen selfoondiens en geen infrastruktuur van enige nie soort. Nabygeleë toestelle skakel oor Bluetooth LE en herlei vir mekaar, so 'n boodskap bereik mense buite radiobereik deur deur die toestelle tussenin te spring.

Wat die gaas is

Die gaas is 'n tweede vervoermiddel wat langs die aflosse loop, nie 'n aparte toepassing of 'n aparte nie identiteit. Publieke kanale en private boodskappe werk albei daaroor, en die toepassing besluit watter roete om op sy eie te neem: aanlyn stuur gaan oor die internet en val terug na Bluetooth wanneer dit is nie beskikbaar nie, terwyl 'n eweknie wat slegs oor die radio bereikbaar is, in elk geval op die maas bly.

Dit is 'n vloednetwerk. Elke toestel stuur pakkette na die toestelle wat dit kan hoor, met 'n hop limiet van 7Twee mense wat mekaar nie direk kan hoor nie, ruil nog boodskappe so lank as daar 'n ketting van toestelle tussen hulle is.

Daaronder hardloop elke paar eweknieë 'n Geraas XX handdruk en praat oor sy eie geënkripteerde sessie. Pakkies is opgevul en, wanneer groot, gefragmenteer, so die grootte van wat jy stuur sê so min as moontlik oor wat dit is.

'N vloed bereik slegs diegene wat op daardie oomblik luister, dus drie dinge dra 'n boodskap oor wat: toestelle Onthou onlangse openbare geskiedenis en gee dit aan wie dit gemis het, nabygeleë peers dra gesluit e-pos vir iemand buite die bereik, en alles wat gestuur word sonder internet is Gepubliseer later wanneer die internet terugkom.

Skakel dit aan

Maak die Bluetooth-netwerkpaneel oop en druk Skakel aan. Wat volgende gebeur, hang af van waarop jy dit laat loop.

Die Nymchat Bluetooth-maaspaneel, wat maasstatus, gekoppelde toestelle, eweknieë op die maas en 'n radiologboek wys.
Die maaspaneel: status, gekoppelde toestelle, eweknieë gehoor en 'n regstreekse radiolog.

Op Android en iOS

Die toepassing voer beide Bluetooth-rolle gelyktydig uit - adverteer homself en soek vir ander - dus skakel enige twee nabygeleë toestelle aan, ongeag watter een die ander opgemerk het. Grant die Bluetooth-toestemming wanneer dit gevra word en dit vind eweknieë vanself.

In 'n blaaier

Die webtoepassing sluit aan by dieselfde netwerk deur Web Bluetooth, op Chromium-blaaiers: Chrome, Edge, Opera en Brave. Op Safari en Firefox, wat nie Web Bluetooth implementeer nie, is die mesh kontroles word heeltemal weggesteek eerder as wat aangebied word en dan misluk.

'n Blaaier sluit aan as 'n blaar

'n Blaaier kan net die Bluetooth neem sentraal rol: dit kan homself nie adverteer nie, dus ander toestelle kan dit nie ontdek nie. Dit koppel na buite na nabygeleë fone en herlei deur hulle. Jy kies elke toestel een keer deur die blaaier se eie toestelkieser, waarna dit herkonnekteer op sy eie. Twee blaaiers kan nie direk met mekaar skakel nie.

Deel 'n maas met Bitchat

Nymchat implemente Bitchatse gaas protokol op die draad, greep vir greep - dieselfde GATT diens en kenmerk UUID's, dieselfde pakkieopskrif, dieselfde boodskaptipes, dieselfde verstek-hoplimiet. Die twee toepassings word deur niks oorbrug nie; hulle is eenvoudig op dieselfde maas, en 'n Nymchat-toestel en 'n Bitchat-toestel ontdek mekaar en ruil geïnkripteer boodskappe direk uit.

Aankondig pakkies kan ook 'n dra nostrLink: 'n getekende skakel van 'n maas-eweknie na hul werklike Nostr-identiteit. Wanneer 'n mens teenwoordig is en verifieer, 'n eweknie wat jy oor Bluetooth ontmoet het verskyn as dieselfde persoon wat jy van die aflosse ken.

Die geskiedenis versoening en die vervoer pos wat hieronder beskryf word, is ook Bitchat se formate, so die twee programme bestaan nie net op dieselfde mesh nie - hulle sinchroniseer mekaar se openbare geskiedenis en dra mekaar se enkoffers.

Die verhaal van die mesh carries

'N vloed lewer 'n openbare boodskap aan almal wat op daardie oomblik in die radio bereik is. Gaan 'n minuut laat in die kamer en dit is weg. 6 uur, beperk tot 1000 pakkette - en versoen daardie venster met elke peer wat dit ontmoet, ongeveer elke 15 sekondesWat jy mis, stuur hulle jou; wat hulle mis, stuur jy hulle.

Die vergelyking word gedoen met 'n kompakte waarskynlikheidsset ('n Golomb-gekodeerde filter), so 'n duisend boodskappe versoen kos ongeveer 'n kilobyte eerder as sestien.

Dit is wat toelaat dat 'n telefoon optree as 'n stadskryer: loop tussen twee groepe wat nog nooit in die bereik van mekaar was nie, of kom ure later terug, en dit gee oor wat die ander kant gemis het.

Openbare boodskappe slegs

Slegs openbare verkeer word ooit op hierdie manier vervoer - die boodskappe is reeds sigbaar vir enigiemand in die radio-bereik. privaat boodskappe, handshakes en versleutelde sessies is nooit deel daarvan nie.

E-pos wat deur ander mense vervoer word

As jy skryf aan iemand wat nie in die radio bereik is nie, is daar niemand om die boodskap aan te gee nie. Nymchat verzegel dit op die sleutel van daardie persoon en gee verzegelde kopieë aan 'n paar eweknieë wat is Hulle dra dit, en lewer dit as hulle die ontvanger ontmoet.

Die kopie is opaak vir wie dit dra. Die enigste routing inligting wat dit hou, is 'n tag wat Daglikse roete en kan slegs bereken word deur iemand wat reeds die ontvanger se sleutel ken, so twee enkoeke vir dieselfde persoon op verskillende dae lyk nie verwant aan iemand anders nie.

Kopieë vermenigvuldig nie. Elke draer hou 'n begroting wat gehalveer wanneer dit 'n aandeel aan iemand anders gee, sodat 'n boodskap versprei na 'n handvol draers en dan stop. 24 uur, en slegs peers wie se identiteit geverifieer is, word ooit enige gegee.

Waar dit kan, sluit Nymchat die envelop na 'n eenmalige sleutel Elke toestel publiseer 'n klein batch van hierdie, onderteken sodat hulle nie vervals kan word nie, en die batch reis op dieselfde manier gedra geskiedenis doen - wat dit beskikbaar maak terwyl die eienaar is weg, presies wanneer hul pos word gedra. Die ontvanger verwyder elke sleutel sodra dit gebruik is. Dat verwydering is die punt: 'n omslag gekopieer van die lug kan nie daarna geopen word nie, selfs nie deur iemand wat later die ontvanger se identiteit sleutel kry nie.

Delegasie wag vir 48 uur, want verskeie draers kan kopieë van dieselfde omslag hou en hulle kom wanneer hul draers gebeur om jou te ontmoet; Verwyder op die eerste een sal elke latere kopie lyk soos verlore pos.

Wat 'n vervoerder leer

Om iemand 'n omhulsel te gee, vertel hulle dat 'n boodskap bestaan en dat jy dit gestuur het.Nooit die inhoud, nooit vir wie dit is nie - maar die feit.As daardie handel nie een is wat jy wil maak nie, gebruik Ghost Mode nooit koeriers nie (sien hieronder).

Gemaak sonder internet

'N Boodskap wat jy stuur terwyl jy offline is, gaan onmiddellik oor die radio uit, wat almal bereik wat naby is - en niemand anders nie, want wat die oordrag betref, het dit nooit bestaan nie.Nymchat hou dit aan, en publiseer dit op die oomblik dat die internet terugkom, hou sy oorspronklike stuur tyd sodat dit bly waar jy dit in die gesprek geskryf het.

Elkeen wat dit reeds oor Bluetooth ontvang het, sal dit nie twee keer sien nie: die herverspreide kopie dra 'n marker wat hulle toestel toelaat om dit te herken. 24 uurEen wat dit nooit maak, word gemerk as misluk, eerder as om te kyk gestuur.

Dit wag egter nie net nie. Terselfdertyd vra Nymchat nabygeleë eweknieë wat nog steeds 'n signaal het om die boodskap namens hom te publiseer - een verbinding in die kamer is genoeg vir almal daarin. Die boodskap word deur jou toestel onderteken voordat dit verlaat, dus die eweknie wat dit dra, is 'n posbus: dit kan nie 'n woord van wat dit publiseer verander nie, en die oordragers sal dit verwerp as dit probeer. Lees 'n kanaal deur 'n buurman wat een het.

Dit is 'n kortkom, nooit die enigste kopie nie. Niets vertel jou toestel of 'n buurman eintlik daarin geslaag het om te publiseer nie, dus bly die boodskap op enige manier vir jou eie verbinding. As beide werk, is die twee kopieë byte-vir-byte dieselfde boodskap en die oordragte hou een. Slegs kanaal boodskappe reis op hierdie manier - om iemand te vra om 'n privaat boodskap te plaas, sal hulle vertel aan wie jy skryf nie - en nooit in Ghost Mode, waar die handtekening regop na jou werklike identiteit sal wys nie.

Spookmodus

'n Maastoestel is 'n radio wat homself herhaaldelik aankondig, en dit is presies wat dit maklik maak oor plekke en sessies te volg. Spookmodus is die inteken-antwoord.

Terwyl dit aan is, elke identifiseerder wat 'n aankondiging dra, word vervang met 'n weggooi waarde, en almal van hulle roteer saam:

  • die geraas statiese sleutel - waarvan die eweknie-ID en vingerafdruk afkomstig is;
  • die Ed25519-tekensleutel;
  • die geadverteerde Bluetooth-naam;
  • die bynaam;
  • die aangekondigde nostrLink, wat eg bly, maar kortstondig word, so maats kan steeds bereik jou sonder dat iets vir jou npub oplos.

Rotasie vind plaas op 'n wankelrige tydperk van ongeveer 15 minute. Afgetrede identiteite bly dekripteerbaar vir tot 8 tydperke so 'n laat antwoord kom steeds, en a gesprek het begin terwyl ghosted vir goed eerder as stil aan die maas vasgespeld is migreer na die relais onder jou regte sleutel.

Avatar- en banierdeling word geweier terwyl Spookmodus aktief is: 'n herhaalde beeld skakel twee tydperke vinniger saam as enige sleutel sou.

Twee van die oorspronklike afleweringspads word met dit uitgesluit, om dieselfde rede. 'n spookapparaat vra nooit iemand om die pos vir dit te dra nie - 'n koerier wat nog steeds 'n envelop hou nadat jy draai, is 'n draad tussen die twee identiteiteite. En 'n gesprek wat aan die mesh gekoppeld is, word nooit weer aan die relays gepubliseer nie, want daardie kopie sal met jou werklike sleutel onderteken word en die ander persoon presies vertel wie die spook was. 'n spookapparaat publiceer ook geen eenmalige sleutels nie: niks kan op enige manier na of van dit vervoer word nie, dus die batch sou nog 'n ding wees wat die gooi identiteit uitstraal vir geen aflewering wat dit ooit kon verdien nie.

Spookmodus is nie anonimiteit nie

Dit maak 'n toestel baie moeiliker om te volg. Dit maak dit nie onnaspeurbaar nie. Die Bluetooth hardeware adres word beheer deur die bedryfstelsel, nie deur die toepassing nie, en tydsberekening en sosiale patrone bly korreleerbaar - dieselfde persoon, op dieselfde plek, waarmee hy praat dieselfde mense, op dieselfde tye.

Perke

  • Reeks is Bluetooth-reeks. Tien meter in die oop, minder deur die mure. Die mesh brei die bereik uit deur te spring, nie deur harder te skree. Die peer lys in die mesh paneel sal jou vertel wat dit is: ping 'n peer en dit rapporteer die rondreis en hoeveel hops weg hulle eintlik is.
  • Bandwydte is klein. Rame word beperk tot 512 grepe en groter boodskappe is gefragmenteer. Dit is gebou vir teks, nie vir media nie.
  • Aflewering is die beste poging. 'N 7-hop vloed maak geen beloftes nie, en ook nie die paaie wat dit uitbrei nie: gedra geskiedenis bereik jou slegs as jy 'n toestel ontmoet wat dit gehou het, en 'n koerier lewer slegs as dit gebeur om die ontvanger te ontmoet. 'n boodskap met niemand om dit te dra wag, en na 24 uur stop dit wag.
  • Blaaiers is blare, volgens hierbo, en is afhanklik van 'n foon wat naby is.
  • Die radio kos battery, want skandering en adverteer voortdurend is wat die gaas laat werk.