Skip to di tin dɛn we de insay
Bak na Nymchat

Di tin dɛn we pɔsin fɔ no bɔt Ɔf di intanɛt

Bluetooth mesh we de mek yu yuz am

Mɛsej we nɔ gɛt intanɛt, nɔ sɛl savis ɛn nɔ infrastukchɔ fɔ ɛni wan kain. Divays dɛn we de nia de link ova Bluetooth LE ɛn rilay fɔ dɛnsɛf, so wan mɛsej de rich pipul dεm we pas redio rεnj bay we dεn de hop tru di divays dεm we de bitwin.

Wetin na di mɛsh

Di mɛsh na sɛkɔn transpɔt we de rɔn nia di rilay dɛn, nɔto sɛpret ap ɔ sɛpret aydentiti fɔ pɔsin. Pɔblik chanɛl ɛn prayvet mɛsej dɛn ɔl tu de wok oba am, ɛn di ap de disayd uswan route fɔ tek in yon: onlayn sɛn go ova di intanɛt ɛn fɔdɔm bak to Bluetooth we i nɔ de, we wan kɔmpin we pɔsin kin ebul fɔ rich na di redio nɔmɔ kin de na di mɛsh ɛni we.

E na flood network. I de pas paket de wan dipik de we e de bin de hel, wit wan hop limit de 7, i de duplike wetin i bin si olred so mek wan pakit nɔ go roun and roun fɔevah. Tu pipul we nɔ kin hya i dɛn wan ɔda wan direkt, dem go stil ɛksjenj mesij olwey as long as de de insay wan tsen di dizayis ɔda wan.

Ɔnda dat, ɛvri pe fɔ dɛn kɔmpin dɛn de rɔn a Nɔys XX handshake ɛn tɔk oba in yu yon ɛnkript sɛshɔn. Dɛn kin pad paket dɛn ɛn we dɛn big, dɛn kin skata, so di sayz fɔ wetin yu sen se as likl as posbul boht wetin i bi.

Wan flod de riich enkli di wan we de lisen at dat taem, so tri tin de keri mesij past dat: disiviz rimemba di boku tin we bin apin na di pabliki histri risi an pass am to awan we no bin get am, pikin we de na naya-naya de kery lok de lɔk pɔst fɔ ɔn wan we de out ə reńj, an ɛni tin we de sɛnt wit nɔ in tɛrnet bi pablish am afta wen di internet kam bak.

Fɔ tɔn am pan am

Opin di Bluetooth mesh panɛl ɛn pres Turn pan am. Wetin go apin nɛks de dipen pan wetin yu de ron am pan.

Di Nymchat Bluetooth mesh panɛl, we de sho di mɛsh stetɔs, pe divays dɛn, piɔ dɛn na di mɛsh ɛn wan redio lɔg.
Di mɛsh panɛl: stetɔs, divays dɛn we dɛn pe, dɛn kɔmpin dɛn we dɛn yɛri, ɛn wan layv redio lɔg.

Na Andrɔyd ɛn iOS

Di ap de rɔn ɔl tu di Bluetooth rol dɛn wan tɛm — advatayz insɛf ɛn skan fɔ ɔda pipul dɛn — so ɛni tu divays dɛn we de nia de link ilɛk uswan wan notis di ɔda wan. Grant fɔ gi am di Bluetooth permishɔn we dɛn aks am ɛn i de fɛn kɔmpin dɛn bay insɛf.

Insay wan brawza

Di wɛb ap jɔyn di sem mɛsh tru Wɛb Bluetooth, na Chromium brawza dɛn: Chrome, Edge, . Opera ɛn Brave. Na Safari ɛn Fayafaks, we nɔ de impruv Wɛb Bluetooth, di mɛsh di kɔntrol dɛn de ayd ɔl pas fɔ ɔfrɛd ɛn afta dat dɛn nɔ de wok.

Wan brawza de jɔyn lɛk lif

Brawza kin jɔs tek di Bluetooth sentral rol: i nɔ kin ebul fɔ advatayz insɛf, so ɔda divays dɛn nɔ kin ebul fɔ fɛn am. I de kɔnɛkt ɔdasay to fon dɛn we de nia am ɛn i de rilay tru dɛn. Yu pik ɛni divays wan tɛm tru di brawza in yon divays chuz, afta dat i i kin kɔnɛkt bak fɔ insɛf. Tu brawza dɛn nɔ kin ebul fɔ link to dɛnsɛf dairekt wan.

Sharing wan mesh wit Bitchat

Nymchat de impliment Bitchat’s mesh protɔkɔl na di waya, bayt fɔ bayt — di sem GATT savis ɛn kwaliti UUID, di sem paket hεda, di sem mɛsej tayp, di sem difɔlt hop limit. Di tu pipul dɛn ap dɛn nɔ de brij tru ɛnitin; dɛn jɔs de pan di sem mɛsh, ɛn wan Nymchat divays ɛn wan Bitchat divays de diskɔba dɛnsɛf ɛn chenj mɛsej dɛn we dɛn dɔn ɛnkript dairekt wan.

Anɔns paket dɛn kin kɛr a nostrLink: wan sayn link frɔm wan mesh peer to dɛn rial Nostr aydentiti. We wan de ɛn verify, wan kɔmpin we yu mit ova Bluetooth sho as di sem pɔsin we yu sabi frɔm di rilay dɛn.

Di history reconciliation wetin dem bin tok wetin de bofow na Bitchat format too, so di tu app nɔ de jus de tɔgeta na di sɛm mesh — dem de sync ɛɔch ɔda pɔblik history wetin ɛɔch ɔda dem de kɛri ɛɔch ɔda ɛnvɛlop.

Di history di mesh kaba wi de keri

Wan flud de send wan pablɪk mesɪj to ɔniwan we de in raydiyo renj at dat tɛm. If yu wok in tru di rum wan mɪnɪt lɛt, di mesɪj don go. So ɛvri dɪvayss de kip wan windo ɔv di rɪsɛnt pablɪk mɛsɪj ɛs i don hɛd — ɔp tu 6 awa fɔ wok, de stop am na 1,000 pakɛt — an de mek dat window rɛkonsayl wit ɛbri pîa we in mek, rɔf na ɛbri 15 sekon. Wotɛv ɛvri sɛn yu de mis, wɔn de sɛn am to yu; wotɛv ɛvri sɛn wɔn de mis, yu de sɛn am to wɔn.

D kɔmpasɔn de de wi usin wan smɔl probabiliti set (wan Golomb-kɔdid fĩlta), so to mek wan tɔusand mesij kɔnsɛnt tɔk ɔbout wan kilobait rada de siks-tin. Na de sɛm fɔmat Bitchat de us, so di tu ap de sink ɔda dɛn ɛd dɛn histri rada dɛn de ɔl kɛp ɔda dɛn ɛd sef.

Di windo de stor wan de dɛsay, so i de de ɛf di dɛsay restart. Na dat de mek wan fon de ɔkt as wan taun krayɛ: wok bɛtwɛn tu grup we nɔ ɛvɛ de na ɔgan ɔf ɔgan, ɔ bɛ kam bak ɔ awɔ fɔ ɔ, ɛ nɔ de han ɔv wot di ɔda saɪd nɔ dɛn si.

Pablik mesij de onli

Ounli pɔblik trafık de keri dis wei — di mesij de olwey we eni wan we de na radio renj kin si. Pravet mesij, handshak, ɛn enkriptid seson de nɔ de na di pat di fɔm.

Mɛl we ɔda pɔpɔ de kɛri

If yu wan trak to wan pipul we nɔ de na di radio reeng, nɔ de nyen we de go gi di mesij to. Nymchat lok di mesij na dat pipul key an gi kopis we de lok to wan fyu pipul we de Naya-naya. Dey keri am, and dey deliv am if dey mek wit di wan we de risiiv am.

Di kopi no klan bi kapa fo eni wan we de keri am. Di wan-fala wan tɛŋ di kopa de kɔntɛl na na wan tɛg we dat e di rotet evri de an de kɔmpjut ɔnli bɔi wan pipul we i ɔlredi sabi di ripisiɛnt kii, so tu ɛnvɛlop fɔ di sɛm pipul ɔn difrɛn de nɔ luk lɛk kɔɛn kɔnek tɔ di ɔda pipul. Ónli di ripisiɛnt de kæn ɔpɛ wan — ɛn wɛn dɛm du am, dɛm ɔlɔ di wan we raat ɛt, bikɔz di sɛndɛ ɛdɛnti sɛl ɛnsaɪd.

Kopi nɔ de multiply. I nɔ de mek kopy de kam mɔ boku. If i keryer de hold wan budget we de cut in taya wen i de gi wan pɔshɔn to anɔdi pɔsin, den mek wan mesij spred go to wan fyu keryer den den go stop. Mail de pas di eksay we afas 24 awas, and na ol pìə (peers) wey dem bin verify in identiti na dem de gi am.

Wɛr i bin de, Nymchat klose di envelap to a wan tɛm ki raeda de mek e no go to de ripisen de long-taim wan. Evri dizay pabaish smol bachi di nɔmɔ, de sign am so dem nɔ de kæn feyk am, an de bachi de trayvel de sem we de kariya atis-tekri du — we na wetin meks e de avaylebèl wen in osna de go aw, de ɛksakt de we de mɛl de kariya. De ripisen di-lit ɛch ki wan ɛf e bin yuːz dɔn. Dat di-lishin na de pɔin: ɛn ɛnvɛlop we dem kɔpi ɔf de ɛa nɔ de kæn ɔpɛn afta dat, nɔ ɛvin by ɔmɔn we de gɛt hold ɔf de ripisen aɪdɛntiti ki lɛf ɑf.

Dijileshn de wit abaut 48 ara, bikos di namba di difrɛn kariya de kapi di sɛm ɛnvɛlɔp an dɛm de kam wen dɛm kariya de mek dɛm mek dɛm met yu; if yu ɛlɪt di fɔst wan, ɔl di afta dɛn de kɔm ɔs lɔst mɛl. Wen wan sɛndɛ dɛn nɔ de ɔ ɔ de si yu bɛtʃ — ɔ dɛvays we yu nɔ de ʃɛ ōm wit — dɛn de go bak na yu long-lɪvdi ki. Di mɛsɪʤ de kam stil; na ɔ kɔntrɔl we de kɔm ɔ kɔntrɔl we de strɔng de mɪs.

Wetin di wan we de keri de lan

Wɛn yu gi wan pɔsin ɛn ɛnvɛlɔp, ɛn tɛl dɛm se wan mesij ɛksis ɛn se yu sɛnt dɛm. Nɔ ɛvɛ, nɔ dɛm kɔntɛnt, nɔ dɛm fɔ hu ɛn dɛm fɔ ɛ, bɔt de fɛkt dɛn. If dat deɪl nɔ de wan we yu want mek, Ghost Mode nɔ ɔlwe ɔs kuryɛ dɛm at ɔl (si bɪlɔ dɛn).

Sɛnd dem we dem mek witout inataneʔ

Bifor yu bin de onlayn, di mesij yu sen go de pan di radio fɔm di tɛm, ɛn ɛniwan we de naya fɔ ketch am — ɛn no bɔdi ɛls, bɔkɔs as fɔ di rɪle (relays) de, de fɔ ɛm nɔ de ɛksɪst ˈɛvər. Nymchat de kɛp am, ɛn de pɔblɪʃ am di mɔmɛnt di intanɛt kam bak, ɛn de kɛp di tɛm we yu sen am fɔ ɛm de de na di ples we yu rọt am na di kɔnvɛseʃɔn.

Enri wan we don alredi ricsiv am via Bluetooth nɔ go si am tu di tym: di kopii we dem rabulish get wan mek we de mek de dɛvays sabi am. Mɛsɪji we dem de hol fɔ ɛks-paya afta 24 awas; di wan we nɔ mek am go, dem go mark am as feyl rader rader de leav am luk lɛk se e go.

Bɔt, e nɔ de jɔst wait den. At di sām tɛm, Nymchat de ask pepul we de nɛba wey stil get signal fɔ send di mesij fɔ am — wan koneksin in di rùm ɛnɔf fɔ ɔl pipul we de in. Yu dipayiz de sign di mesij bifo in de go, so di pepul we de kɛri am de jus lɛk post-bɔks: e nɔ kæn chenj wan wɔd fɔ wetin e de send, an di rilay de rɛjekt am if e tri. E de wok di ɔda we too, so wan dipayiz we nɔ gat ɛn na signal fɔ in sɔn kæn stil rɛd pas di wan chanèl tɛru wan neba we get wan.

Dis na wan shortcut, e nɔ de eva de wan kɔpi. Nɔtin de tɛl yu dɛvays if wan neba manaj fɔ pɔblɪʃ, so di mesij go de wai na yu ɔn kɔnekʃɔn ɛbritay. If bot di wan waka, di tu kɔpi de de sekin fɔ sekin de sem, ɛn di rilay de kɛp wan. Oonli tʃanɛl mesij de travɛl dis we — if yu de ɔsk wan pɔsin fɔ pɔst wan praɪvɛt mesij, e go tɛl dem bifo yu de rayt to sef — ɛn e nɔ de ɛvɛ di Ghost Mode, we di sɪgnatʃa go pɔint dɛk sraet bak na yu rɪəl aidɛntiti.

Gɔst Mɔd

Mesh divays na redio we de anɔys insɛf bɔku tɛm, ɛn na dat mek i izi fɔ fala akɔdin to ples ɛn sɛshɔn dɛn. Ghost Mode na di opt-in ansa.

We i de on, . ɛvri aydentifaya we wan anɔns de kɛr, dɛn kin riples am wit wan we dɛn kin trowe valyu, ɛn dɛn ɔl de rɔta togɛda:

  • di Nɔys statik ki — we di piɔ ID ɛn finga prɛnt kɔmɔt frɔm;
  • di Ed25519 sayn ki;
  • di Bluetooth nem we dɛn advatayz;
  • di niknem we dɛn kin kɔl;
  • di wan dɛn we dɛn dɔn anɔys nostrLink, we kin de rial bɔt i kin bi fɔ shɔt tɛm, so in kɔmpin dɛn kin stil ebul fɔ du am rich yu witout enitin resolv to yu npub.

Rotashɔn kin apin pan wan jittered epoch we na roughly 15 minit. Di aydentiti dɛn we pɔsin dɔn ritaia stay decryptable fɔ te to 8 tɛm dɛn so wan let riply stil de kam, ɛn a tok-tok stat wen ghosted de pin na di mesh fo gud pas fo silent migrating to di relays anda yu rial ki.

Dɛn nɔ gri fɔ sheb Avatar ɛn baner we Ghost Mode de aktif: wan pikchɔ we dɛn ripit de link tu epochs togɛda fast pas aw ɛni ki go du.

Tu di delivery pat di bof di nɔmɔ de off wit am, fɔ di sɛm rɛzn. Wan ghosted dɛvays nɔ ɛva ɔs ɛniwan fɔ kɛri mɛl fɔ am — wan kuryer we de ɔl ɛnvɛlop afta yu rɔtēt iː na wan tɛrɛt ɛpwin di tu ɛdɛntiti. An konvɛseʃən we de pɛn to di mɛsh nɔ ɛva rɪpʌblɪʃ to di rɪlɛi, bikos dat kɔpi wud de saini wit yu rɪəl ki an tɛl di ɔda pɔsn ɛksaktli hu di goos wos. Wan ghosted dɛvays ɔlsō nɔ pʌblɪsh wan-taɪm kis: ɛniθin nɔ kan bi kɛri to ɔ frɔm am ɛniwey, so di bɛch wud bi wan mɔ θin di θrɔ-ɛ-wey ɛdɛntiti bɔdkast fɔ no dɛlivri we i ɛvɛ kan ɜːn.

Ghost Mode nɔto fɔ mek pɔsin nɔ no udat yu bi

I kin mek i at fɔ fala wan divays. I nɔ de mek pɔsin nɔ ebul fɔ fɛn am. Di Bluetooth we yu de yuz di hadwae adrɛs na di ɔpreshɔn sistem de kɔntrol am, nɔto di ap, ɛn di tɛm ɛn soshal patεn dεm de stכp kכrεlabl — di sem pכsin, na di sem ples, de tכk to di sem pipul dɛn, di sem tɛm dɛn.

Limit dɛn

  • Rɛnj na Bluetooth rɛnj. Tens di meta na di open, nɔ pass di uol. Di mesh mek di reach kɔm fɔ ɔm, nɔ se i de shak di bodi fɔ mek in vɔis big, ɛn fɔ hop. Di peer list na di mesh panèl go tɛl yu wetin de apo: ping wan peer ɛn i go tɛl yu di round trip ɛn ɔm dɛn fɔ hop we i de.
  • Bandwidth na smɔl tin. Fram dɛn de kap pan 512 bayt ɛn big mɛsej dɛn dɛn kin skata skata. Dɛn bil am fɔ tɛks, nɔto fɔ midia.
  • Dilivri na di bɛst-ɛfɔt. 7-hop flɔd nɔ de me promise, an di pat we de lɔng am nɔ de me promise den: de histri we de kɛri yu go dɔn na yu ɔnli if yu mek wit wan dɛvays we de kɛp am, an wan kuryɛ ɔnli de livri if e mek wit di pɔsin we de wit di mesij. Wan mesij we nɔ get ɔni pɔsin to kɛri am de wait, an afa 24 ɔas, e stɔp de wait.
  • Brawza dɛn na lif dɛn, per above, ɛn dipen pan fon we de nia yu.
  • Di redio de kɔst batri, bikɔs dɛn de skan ɛn advatayz ɔltɛm na wetin de mek di mɛsh wok.