Vidensgrundlag Ud af internettet
Bluetooth mesh
Beskeder uden internet, ingen mobiltjeneste og ingen infrastruktur venlig. Enheder i nærheden linker over Bluetooth LE og relæer for hinanden, så en besked når frem mennesker uden for radiorækkevidde ved at hoppe gennem enhederne imellem.
Denne side er maskinoversat for nemheds skyld. Den engelske original er den version, der gælder.
Hvad masken er
Nettet er en anden transport, der kører sammen med relæerne, ikke en separat app eller en separat identitet. Offentlige kanaler og private beskeder arbejder begge over det, og appen bestemmer hvilke rute at tage på egen hånd: online afsendelser går over internettet og falder tilbage til Bluetooth, når den er utilgængelig, mens en peer, der kun kan nås via radioen, forbliver på nettet på begge måder.
Hver enhed overfører pakker til de enheder, den kan høre, med en hopgrænse på 7To mennesker, der ikke kan høre hinanden direkte, udveksler stadig beskeder, så længe der er en kæde af enheder mellem dem.
Under det løber hvert par jævnaldrende en Støj XX håndtryk og taler over sin egen krypteret session. Pakker er polstrede og, når de er store, fragmenterede, så størrelsen på hvad du sender siger så lidt som muligt om hvad det er.
En oversvømmelse når kun den, der lytter i det øjeblik, så tre ting bærer et budskab forbi det: enheder Husk den seneste offentlige historie og overgive det til den, der har savnet det, Nærmeste peers bærer forseglet mail for nogen uden for rækkevidde, og alt, der sendes uden internet, er Udgivet senere Når internettet vender tilbage.
Tænder den
Åbn Bluetooth-mesh-panelet, og tryk på Tænd. Hvad der så sker afhænger af hvad du kører den på.
På Android og iOS
Appen kører begge Bluetooth-roller på én gang - annoncerer sig selv og scanner efter andre — så alle to enheder i nærheden forbinder sig, uanset hvilken der har bemærket den anden. Grant Bluetooth-tilladelsen, når den bliver spurgt, og den finder peers af sig selv.
I en browser
Webappen forbinder det samme mesh via Web Bluetooth på Chromium-browsere: Chrome, Edge, Opera og Brave. På Safari og Firefox, som ikke implementerer Web Bluetooth, er masken kontroller skjules fuldstændigt i stedet for at blive tilbudt og derefter fejle.
En browser kan kun tage Bluetooth central rolle: den kan ikke reklamere for sig selv, så andre enheder kan ikke opdage det. Den forbinder udad til nærliggende telefoner og relæer igennem dem. Du vælger hver enhed én gang gennem browserens egen enhedsvælger, hvorefter den forbindes igen af sig selv. To browsere kan ikke linke direkte til hinanden.
Deler et mesh med Bitchat
Nymchat implementerer Bitchat's maskeprotokol på ledningen, byte for byte - samme GATT-tjeneste og karakteristik UUID'er, den samme pakkeoverskrift, de samme meddelelsestyper, den samme standard hop-grænse. De to apps er ikke koblet gennem noget; de er simpelthen på samme mesh og en Nymchat-enhed og en Bitchat-enhed opdager hinanden og udveksler krypterede beskeder direkte.
Annoncepakker kan også bære en nostrLink: et signeret link fra en mesh peer til
deres rigtige Nostr-identitet. Når en er til stede og verificerer, en peer du mødte via Bluetooth
dukker op som den samme person, du kender fra stafeterne.
Historien forlig og den bærbare post beskrevet nedenfor er Bitchats formater også, så de to apps ikke kun sameksisterer på samme mesh - de synkroniserer hinandens offentlige historie og bærer hinandens kuverter.
Historien om mesh bærer
En oversvømmelse leverer et offentligt budskab til alle, der er i radiorækkevidde på det tidspunkt. Gå ind i rummet et minut sent, og det er væk. 6 timer, begrænset til 1.000 pakker - og forsoner det vindue med hver peer, det møder, omtrent hver 15 sekunderHvad du mangler, sender de dig; hvad de mangler, sender du dem.
Sammenligningen er lavet med et kompakt probabilistisk sæt (et Golomb-kodet filter), så at forene tusind beskeder koster omkring en kilobyte i stedet for seksten.
Det er det, der gør det muligt for en telefon at fungere som en bygriller: gå mellem to grupper, der aldrig har været i rækkevidde af hinanden, eller komme tilbage timer senere, og det giver over, hvad den anden side savnede.
Kun offentlig trafik er nogensinde transporteret på denne måde - de beskeder, der allerede er synlige for alle i radio rækkevidde.
Mail sendt af andre
Hvis du skriver til en person, der ikke er i radiorækkevidde, er der ingen at videregive meddelelsen til. Nymchat forsegler det til den persons nøgle og giver forseglede kopier til et par jævnaldrende, der er De bærer det, og leverer det, hvis de møder modtageren.
Kopien er uigennemsigtig for den, der bærer den. Den eneste routinginformation, den har, er et tag, der Daglige ruter og kan kun beregnes af nogen, der allerede kender modtagerens nøgle, så to kuverter for den samme person på forskellige dage ser ikke relateret til nogen andre.
Kopierne multipliceres ikke. Hver transportør har et budget, der halveres, når den overdrager en andel til en anden, så en besked spredes til en håndfuld transportører og stopper derefter. 24 timerDet er kun dem, hvis identitet er blevet bekræftet, der bliver givet nogen.
Hvor det er muligt, forsegler Nymchat kuvertet til en engangsnøgle hver enhed udgiver en lille batch af disse, underskrevet, så de ikke kan forfalskes, og batchen rejser på samme måde båret historie gør - hvilket er, hvad der gør det tilgængeligt, mens dens ejer er væk, præcis, når deres mail bliver båret. modtageren sletter hver nøgle, når den er blevet brugt. at sletning er pointen: en kuvert kopieret fra luften kan ikke åbnes bagefter, ikke engang af nogen, der senere får fat i modtagerens identitetsnøgle.
Delivery venter på 48 timer, fordi flere transportører kan holde kopier af samme kuvert, og de ankommer, når deres transportører tilfældigvis møder dig; slette på den første ville gøre hver efterfølgende kopi se ud som tabt mail.
At give nogen en kuvert fortæller dem, at en besked eksisterer, og at du har sendt den. Aldrig indholdet, aldrig hvem det er for - men faktum.
Sender lavet uden internet
En besked, du sender, mens offline går ud over radioen med det samme, som når hvem der er i nærheden - og ingen andre, fordi hvad angår relæerne er det aldrig eksisterede. Nymchat holder på det, og offentliggør det, når internettet kommer tilbage, bevarer sin oprindelige sendetid, så det forbliver, hvor du skrev det i samtalen.
Enhver, der allerede har modtaget det via Bluetooth, vil ikke se det to gange: den genudgivne kopi bærer en markør, der gør det muligt for deres enhed at genkende det. 24 timerEn, der aldrig gør det er markeret som mislykkedes i stedet for forladt ser sendt.
Samtidig beder Nymchat nærliggende jævnaldrende, der stadig har et signal, om at offentliggøre meddelelsen på vegne af det - en forbindelse i rummet er nok for alle i det. Meddelelsen underskrives af din enhed, før den forlader, så den peer, der bærer det, er en postkasse: det kan ikke ændre et ord af, hvad det offentliggør, og relæerne ville afvise det, hvis det forsøgte. Læs en kanal gennem en nabo, der har en.
Dette er en genvej, aldrig den eneste kopi. Intet fortæller din enhed, om en nabo rent faktisk formåede at offentliggøre, så meddelelsen forbliver i kø for din egen forbindelse på en eller anden måde. Hvis begge fungerer, er de to kopier byte-for-byte den samme meddelelse, og relæerne holder en. Kun kanalbeskeder rejser på denne måde - at bede nogen om at sende en privat besked ville fortælle dem, hvem du skriver til - og aldrig i Ghost Mode, hvor signaturen ville pege direkte tilbage til din sande identitet.
Spøgelsestilstand
En mesh-enhed er en radio, der annoncerer sig selv gentagne gange, hvilket netop er det, der gør det nemt at følge med på tværs af steder og sessioner. Ghost Mode er opt-in-svaret.
Mens den er tændt, hver identifikator, som en annoncerer bærer, erstattes med en smid værdi, og alle roterer sammen:
- den statiske støjnøgle - som peer-id'et og fingeraftrykket stammer fra;
- Ed25519 signeringsnøglen;
- det annoncerede Bluetooth-navn;
- kaldenavnet;
- det annoncerede
nostrLink, som forbliver ægte, men bliver flygtig, så jævnaldrende stadig kan nå dig uden at noget løser din npub.
Rotation sker i en rystet epoke på ca 15 minutter. Pensionerede identiteter forbliv dekrypteret i op til 8 epoker så der kommer stadig et sent svar, og en samtalen startede, mens ghosted er fastgjort til nettet for altid i stedet for lydløst migrere til relæerne under din rigtige nøgle.
Avatar- og bannerdeling afvises, mens Ghost Mode er aktiv: et gentaget billede forbinder to epoker sammen hurtigere end nogen nøgle ville.
To af de ovennævnte leveringsveje er slukket med det, af samme grund. En spøgelsesenhed beder aldrig nogen om at bære post for det - en kurer, der stadig holder en kuvert efter at du roterer, er en tråd mellem de to identiteter. Og en samtale fastgjort til nettet bliver aldrig genudgivet til relæerne, fordi den kopi ville blive underskrevet med din rigtige nøgle og fortælle den anden person nøjagtigt, hvem spøgelsesenheden var. En spøgelsesenhed udgiver også ingen engangsnøgler: intet kan transporteres til eller fra det alligevel, så batchen ville være en anden ting den kastede identitet udsender for ingen levering det nogensinde kunne tjene.
Det gør en enhed meget sværere at følge. Det gør det ikke usporbart. Bluetooth hardwareadressen styres af operativsystemet, ikke af appen, og timing og sociale mønstre forbliver korrelerbare - den samme person, på samme sted, taler med de samme mennesker, på samme tidspunkter.
Grænser
- Rækkevidde er Bluetooth-rækkevidde. Titusinder af meter i det åbne, mindre gennem vægge. Mesh udvider rækkevidden ved at hoppe, ikke ved at råbe højere. Peer-listen i meshpanelet vil fortælle dig, hvad det er: ping en peer og det rapporterer om rundrejsen og hvor mange hop væk de rent faktisk er.
- Båndbredden er lille. Frames er begrænset til 512 bytes og større meddelelser er fragmenterede. Det er bygget til tekst, ikke til medier.
- Levering er den bedste indsats. En 7-hop oversvømmelse gør ingen løfter, og heller ikke de veje, der udvider det: båret historie når dig kun, hvis du møder en enhed, der holdt det, og en kurer leverer kun, hvis det sker at møde modtageren.
- Browsere er blade, ifølge ovenfor, og afhænger af, at en telefon er i nærheden.
- Radioen koster batteri, fordi scanning og annoncering løbende er det, der får masken til at fungere.