Kennisbank Buiten internet
Bluetooth-gaas
Berichten zonder internet, zonder mobiele service en zonder enige infrastructuur soort. Apparaten in de buurt maken verbinding via Bluetooth LE en sturen elkaar door, zodat een bericht bereikt wordt mensen buiten het radiobereik door door de apparaten ertussen te springen.
Deze pagina is voor het gemak automatisch vertaald. Het Engelse origineel is de versie die van toepassing is.
Wat het gaas is
De mesh is een tweede transport dat naast de relais loopt, en geen aparte app of aparte identiteit. Openbare kanalen en privéberichten werken er allebei overheen, en de app beslist welke route om zelf te volgen: online verzendingen gaan via internet en vallen terug op Bluetooth wanneer het is niet beschikbaar, terwijl een peer die alleen via de radio bereikbaar is, hoe dan ook op de mesh blijft.
Het is een overstromingsnetwerk. elk apparaat geeft pakketten door naar de apparaten die het kan horen, met een hop-limit van 7Twee mensen die elkaar niet direct kunnen horen, wisselen nog steeds berichten zolang er een keten van apparaten tussen hen is.
Daaronder loopt elk paar peers een Lawaai XX handdruk en praat erover eigen gecodeerde sessie. Pakketten zijn opgevuld en, als ze groot zijn, gefragmenteerd, dus de grootte van wat je verzendt zegt zo min mogelijk over wat het is.
Een overstroming bereikt alleen degene die op dat moment luistert, dus drie dingen dragen een boodschap voorbij dat: apparaten Denk aan recente publieke geschiedenis en overdraag het aan degene die het gemist heeft, nabijgelegen peers dragen afgesloten mail voor iemand buiten bereik, en alles dat zonder internet wordt verzonden is Later gepubliceerd Als het internet terugkomt.
Het inschakelen
Open het Bluetooth-meshpaneel en druk op Schakel in. Wat er daarna gebeurt, hangt ervan af waar je het op draait.
Op Android en iOS
De app voert beide Bluetooth-rollen tegelijk uit: adverteert zichzelf en scant naar anderen - zodat twee apparaten in de buurt verbinding kunnen maken, ongeacht welke de andere heeft opgemerkt. Verleen de Bluetooth-toestemming wanneer daarom wordt gevraagd en het vindt zelf peers.
In een browser
De webapp sluit zich aan bij dezelfde mesh via Web Bluetooth, in Chromium-browsers: Chrome, Edge, Opera en dapper. In Safari en Firefox, die geen Web Bluetooth implementeren, wordt de mesh bedieningselementen worden volledig verborgen in plaats van aangeboden en falen vervolgens.
Een browser kan alleen Bluetooth gebruiken centraal rol: het kan zichzelf dus niet adverteren andere apparaten kunnen het niet ontdekken. Het maakt verbinding naar buiten met telefoons in de buurt en stuurt door zij. U kiest elk apparaat één keer via de apparaatkiezer van de browser, waarna het wordt gekozen maakt vanzelf opnieuw verbinding. Twee browsers kunnen niet rechtstreeks met elkaar linken.
Een mesh delen met Bitchat
Nymchat implementeert Bitchat's mesh-protocol op de draad, byte voor byte – dezelfde GATT-service en -karakteristiek UUID's, dezelfde pakketheader, dezelfde berichttypen, dezelfde standaard hoplimiet. De twee apps worden nergens doorheen overbrugd; ze zitten gewoon op dezelfde mesh en op een Nymchat-apparaat en een Bitchat-apparaat ontdekken elkaar en wisselen direct gecodeerde berichten uit.
Aankondigingspakketten kunnen ook een nostrLink: een ondertekende link van een mesh-peer naar
hun echte Nostr-identiteit. Wanneer er een aanwezig is en verifieert, een peer die je via Bluetooth hebt ontmoet
verschijnt als dezelfde persoon die u kent van de relais.
De geschiedenisverzoening en de hieronder beschreven verzonden e-mail zijn ook de formaten van Bitchat, dus de twee apps bestaan niet alleen samen op hetzelfde mesh - ze synchroniseren elkaars publieke geschiedenis en dragen elkaars enveloppen.
De geschiedenis van de mesh carries
Een overstroming levert een openbare boodschap aan iedereen die op dat moment in het radiogebied is. Ga een minuut te laat de kamer binnen en het is weg. 6 uur, beperkt tot 1000 pakketten - en concilieert dat venster met elke peer die het ontmoet, ongeveer elke 15 secondenWat je ook mist, ze sturen je, wat ze ook missen, je sturen ze.
De vergelijking wordt gedaan met een compacte waarschijnlijkheidsset (een Golomb-gecodeerd filter), dus het verzoenen van duizend berichten kost ongeveer een kilobyte in plaats van zestien.
Dat is wat ervoor zorgt dat een telefoon werkt als een stad schreeuw: wandelen tussen twee groepen die nooit in bereik van elkaar zijn geweest, of komen uren later terug, en het geeft over wat de andere kant gemist heeft.
Alleen het openbaar verkeer wordt ooit op deze manier vervoerd - de berichten zijn al zichtbaar voor iedereen in het radiogebied.
E-mail verzonden door andere mensen
Als je schrijft aan iemand die niet in het radiogebied is, is er niemand om het bericht over te dragen.Nymchat verzegelt het op de sleutel van die persoon en geeft verzegelde kopieën aan een paar collega's die Zijn Zij dragen het, en leveren het als zij de ontvanger ontmoeten.
De kopie is ondoorzichtig voor wie het draagt.De enige route-informatie die het bevat is een tag die Dagelijkse rotatie en kan alleen worden berekend door iemand die de sleutel van de ontvanger al kent, dus twee enveloppen voor dezelfde persoon op verschillende dagen lijken niet gerelateerd aan iemand anders.
Kopieën vermenigvuldigen zich niet. Elke vervoerder heeft een budget dat halveert wanneer hij een aandeel aan iemand anders overhandigt, dus een bericht verspreidt zich naar een handvol vervoerders en stopt vervolgens. 24 uur, en alleen peers wiens identiteit is geverifieerd worden ooit gegeven.
Waar het kan, sluit Nymchat de envelop op een eenmalige sleutel Elke apparaat publiceert een kleine partij van deze, ondertekend zodat ze niet kunnen worden vervalst, en de partij reist op dezelfde manier gedragen geschiedenis doet - dat is wat het beschikbaar maakt terwijl de eigenaar is weg, precies wanneer hun post wordt gedragen.
Deletion wacht op 48 uur, omdat verschillende vervoerders kopieën van dezelfde envelop kunnen houden en ze aankomen wanneer hun vervoerders je tegenkomen; het verwijderen op de eerste zou elke latere kopie lijken op verloren mail.
Het overhandigen van een envelop vertelt iemand dat een bericht bestaat en dat je het hebt verzonden.Nooit de inhoud, nooit voor wie het is - maar het feit.Als die transactie niet degene is die je wilt maken, gebruikt Ghost Mode nooit koeriers (zie hieronder).
Uitzendingen gemaakt zonder internet
Een bericht dat u offline verzendt, gaat onmiddellijk over de radio, die iedereen in de buurt bereikt - en niemand anders, omdat wat de relays betreft het nooit bestond. Nymchat houdt het vast en publiceert het op het moment dat het internet terugkomt, met behoud van de oorspronkelijke verzendtijd, zodat het blijft waar u het schreef in het gesprek.
Iedereen die het al via Bluetooth heeft ontvangen, zal het niet tweemaal zien: de herpubliceerde kopie draagt een marker die hun apparaat het kan herkennen. 24 uurIemand die het nooit doet, wordt gemarkeerd als mislukt in plaats van achtergelaten.
Tegelijkertijd vraagt Nymchat nabijgelegen collega's die nog steeds een signaal hebben om het bericht namens hem te publiceren - één verbinding in de kamer is genoeg voor iedereen erin. Het bericht wordt door uw apparaat ondertekend voordat het vertrekt, dus de peer die het draagt is een postvak: het kan geen woord veranderen van wat het publiceert, en de relays zouden het afwijzen als het probeerde. Lees een kanaal door een buurman die er een heeft.
Dit is een snelkoppeling, nooit de enige kopie. Niets vertelt uw apparaat of een buurman daadwerkelijk in geslaagd om te publiceren, dus het bericht blijft in de rij voor uw eigen verbinding op welke manier dan ook. Als beide werken, de twee kopieën zijn byte-voor-byte hetzelfde bericht en de relays houden een. Alleen kanalen berichten reizen op deze manier - vragen iemand om een privébericht te plaatsen zou hen vertellen aan wie u schrijft - en nooit in Ghost Mode, waar de handtekening rechtstreeks naar uw echte identiteit zou wijzen.
Ghost-modus
Een mesh-apparaat is een radio die zichzelf herhaaldelijk aankondigt, en dat is precies wat het gemakkelijk maakt om te volgen op verschillende plaatsen en sessies. Ghost Mode is het opt-in-antwoord.
Terwijl het aan is, elk ID die een aankondiging draagt, wordt vervangen door een wegwerpnummer waarde, en ze roteren allemaal samen:
- de statische sleutel van Noise – waarvan de peer-ID en vingerafdruk zijn afgeleid;
- de handtekeningsleutel Ed25519;
- de geadverteerde Bluetooth-naam;
- de bijnaam;
- de aangekondigde
nostrLink, dat echt blijft maar kortstondig wordt, zodat leeftijdsgenoten dat nog steeds kunnen doen u bereiken zonder dat er iets met uw npub wordt opgelost.
Rotatie vindt plaats in een bewogen tijdperk van ongeveer 15 minuten. Gepensioneerde identiteiten blijven decrypteerbaar voor maximaal 8 tijdperken dus er komt nog steeds een laat antwoord, en a het gesprek begon terwijl ghosted voorgoed aan het gaas was vastgemaakt in plaats van stil migreren naar de relais onder uw echte sleutel.
Het delen van avatars en banners wordt geweigerd terwijl de Ghost-modus actief is: een herhaalde afbeelding verbindt er twee tijdperken sneller samen dan welke sleutel dan ook.
Een spookapparaat vraagt nooit iemand om post voor het te dragen - een koerier die nog steeds een envelop houdt nadat je roteert is een draad tussen de twee identiteiten. En een gesprek gekoppeld aan het mesh wordt nooit opnieuw gepubliceerd aan de relays, omdat die kopie zou worden ondertekend met je echte sleutel en de andere persoon precies vertellen wie de spook was. Een spookapparaat publiceert ook geen eenmalige sleutels: niets kan op en uit het net worden gedragen, dus de partij zou nog een ding zijn dat de werkelijke identiteit uitzendt zonder levering die het ooit kon verdienen.
Het maakt een apparaat veel moeilijker te volgen. Het maakt het niet onvindbaar. De Bluetooth hardwareadres wordt beheerd door het besturingssysteem, niet door de app, en de timing en sociale patronen blijven correleerbaar: dezelfde persoon, op dezelfde plaats, waarmee hij praat dezelfde mensen, op dezelfde tijden.
Grenzen
- Bereik is Bluetooth-bereik. Tientallen meters in de open, minder door muren. Het mesh breidt het bereik uit door te springen, niet door luider te schreeuwen. De peer-lijst in het mesh paneel zal je vertellen wat het is: ping een peer en het meldt de rondreis en hoeveel sprongen ze eigenlijk zijn.
- De bandbreedte is klein. Frames zijn beperkt tot 512 bytes en grotere berichten zijn gefragmenteerd. Het is gebouwd voor tekst, niet voor media.
- Levering is best effort. Een 7-hop overstroming maakt geen beloftes, en ook niet de paden die het uitbreiden: gedragen geschiedenis bereikt je alleen als je een apparaat ontmoet dat het heeft gehouden, en een koerier levert alleen als het gebeurt om de ontvanger te ontmoeten.
- Browsers zijn bladeren, zoals hierboven, en afhankelijk zijn van een telefoon in de buurt.
- De radio kost batterij, omdat continu wordt gescand en geadverteerd is wat ervoor zorgt dat het gaas werkt.