Gå til innholdet
Tilbake til Nymchat

Kunnskapsgrunnlag Utenfor internett

Bluetooth mesh

Meldinger uten internett, ingen mobiltjeneste og ingen infrastruktur snill. Enheter i nærheten kobler sammen over Bluetooth LE og reléer for hverandre, slik at en melding når frem personer utenfor radiorekkevidde ved å hoppe gjennom enhetene i mellom.

Hva er mesh

Mesh er en andre transport som kjører ved siden av reléene, ikke en separat app eller en separat identitet. Både offentlige kanaler og private meldinger fungerer over det, og appen bestemmer hvilke rute å ta på egen hånd: elektroniske sendinger går over internett og faller tilbake til Bluetooth når den er utilgjengelig, mens en peer som bare kan nås over radioen, forblir på nettet uansett.

Det er et "store-and-forward"-flomnettverk. Hver enhet sender pakker videre til enhetene den kan høre, med en hoppgrense på 7, dedupliserer det den allerede har sett, så en pakken sirkulerer ikke for alltid. To personer som ikke kan høre hverandre direkte fortsatt utveksle meldinger så lenge det er en kjede av enheter mellom dem.

Under det løper hvert par jevnaldrende en Støy XX håndtrykk og snakker over sin egen kryptert økt. Pakker er polstret og, når de er store, fragmenterte, så størrelsen på hva du sender sier minst mulig om hva det er.

Slår den på

Åpne Bluetooth mesh-panelet og trykk Slå på. Hva som skjer videre avhenger av hva du kjører den på.

Nymchat Bluetooth-mesh-panelet, som viser mesh-status, sammenkoblede enheter, peers på mesh og en radiologg.
Mesh-panelet: status, sammenkoblede enheter, jevnaldrende hørt og en direkte radiologg.

På Android og iOS

Appen kjører begge Bluetooth-rollene samtidig - annonserer seg selv og skanner etter andre – så alle to enheter i nærheten kobles sammen uavhengig av hvilken som la merke til den andre. Grant Bluetooth-tillatelsen når den blir spurt, og den finner jevnaldrende av seg selv.

I en nettleser

Nettappen kobles sammen med det samme nettet via nett-Bluetooth, på Chromium-nettlesere: Chrome, Edge, Opera og Brave. På Safari og Firefox, som ikke implementerer nett-Bluetooth, er masken kontroller skjules helt i stedet for å tilbys og deretter mislykkes.

En nettleser blir med som et blad

En nettleser kan bare ta Bluetooth sentral rolle: den kan ikke annonsere seg selv, så andre enheter kan ikke oppdage det. Den kobles utover til nærliggende telefoner og reléer gjennom dem. Du velger hver enhet én gang gjennom nettleserens egen enhetsvelger, deretter kobles til på egen hånd. To nettlesere kan ikke koble til hverandre direkte.

Deler en mesh med Bitchat

Nymchat implementerer Bitchat's mesh-protokoll på ledningen, byte for byte — samme GATT-tjeneste og karakteristikk UUID-er, samme pakkehode, samme meldingstyper, samme standard hoppgrense. De to apper er ikke brokoblet gjennom noe; de er rett og slett på samme mesh, og en Nymchat-enhet og en Bitchat-enhet oppdager hverandre og utveksler krypterte meldinger direkte.

Annonse-pakker kan også bære en nostrLink: en signert lenke fra en mesh-peer til deres virkelige Nostr-identitet. Når en er tilstede og verifiserer, en peer du møtte over Bluetooth dukker opp som samme person du kjenner fra stafettene.

Spøkelsesmodus

En mesh-enhet er en radio som annonserer seg selv gjentatte ganger, og det er nettopp det som gjør det enkelt å følge med på tvers av steder og økter. Ghost Mode er svaret for valg.

Mens den står på, hver eneste identifikator en kunngjøring bærer erstattes med en kast verdi, og alle roterer sammen:

  • den statiske støynøkkelen – som peer-ID og fingeravtrykk stammer fra;
  • signeringsnøkkelen Ed25519;
  • det annonserte Bluetooth-navnet;
  • kallenavnet;
  • det annonserte nostrLink, som forblir ekte, men blir flyktig, så jevnaldrende kan fortsatt nå deg uten at noe løser npub-en din.

Rotasjon skjer i en urolig epoke på omtrent 15 minutter. Pensjonerte identiteter forbli dekrypterbar i opptil 8 epoker så et sent svar kommer fortsatt, og a samtalen startet mens ghosted er festet til nettet for godt i stedet for stille migrere til reléene under din virkelige nøkkel.

Avatar- og bannerdeling nektes mens spøkelsesmodus er aktiv: et gjentatt bilde kobler to epoker sammen raskere enn noen nøkkel ville gjort.

Ghost Mode er ikke anonymitet

Det gjør en enhet mye vanskeligere å følge. Det gjør det ikke usporbart. Bluetooth maskinvareadressen styres av operativsystemet, ikke av appen, og timing og sosiale mønstre forblir korrelerbare - samme person, på samme sted, snakker med de samme menneskene, til samme tider.

Grenser

  • Rekkevidde er Bluetooth-rekkevidde. Titalls meter i det fri, mindre gjennom vegger. Nettingen utvider rekkevidden ved å hoppe, ikke ved å rope høyere.
  • Båndbredden er liten. Rammer er begrenset til 512 byte og større meldinger er fragmentert. Den er bygget for tekst, ikke for media.
  • Levering er best mulig innsats. En store-and-forward-flom med en grense på 7 hopp gir ingen løfter. Hvis ingen er innenfor rekkevidde og ingen kommer innenfor rekkevidde, venter meldingen.
  • Nettlesere er blader, per ovenfor, og er avhengig av at en telefon er i nærheten.
  • Radioen koster batteri, fordi skanning og annonsering kontinuerlig er det som får mesh til å fungere.