Skip menyang isi
Bali menyang Nymchat

Basis kawruh Off internet

jaringan Bluetooth

Olahpesen tanpa internet, ora ana layanan sel lan ora ana infrastruktur apa wae jenis. Piranti sing cedhak nyambung liwat Bluetooth LE lan relay kanggo saben liyane, supaya pesen tekan wong ngluwihi jangkoan radio kanthi mlumpat liwat piranti ing antarane.

Apa bolong iku

Bolong minangka transportasi kapindho sing mlaku bebarengan karo relay, dudu aplikasi sing kapisah utawa sing kapisah identitas. Saluran umum lan pesen pribadi loro-lorone bisa digunakake, lan aplikasi kasebut mutusake rute kanggo njupuk dhewe: ngirim online liwat internet lan bali menyang Bluetooth nalika iku ora kasedhiya, nalika peer tekan mung liwat radio tetep ing bolong salah siji cara.

Iki jaringan banjir. saben piranti ngirim paket menyang piranti sing bisa ndeleng, karo batasan hop saka 7Dhèwèké, iki nglumpukake apa sing ora wis nonton supaya paket ora sirkulasi lan iku iku. Dua wong sing ora bisa ndeleng langsung uga ngganti pesan nalika ana rantai perangkat antarane loro.

Ing ngisor iki, saben pasangan kanca mlaku a Swara XX salaman lan wuwus liwat sawijining sesi ndhelik dhewe. Paket sing empuk lan, nalika gedhe, fragmented, supaya ukuran apa sampeyan ngirim ngandika sethitik minangka bisa bab apa iku.

A banjir mung mbukak siapa sing ndeleng ing momen iki, supaya tiga hal mbukak pesan liwat iku: peralatan Manggur ing sajarah publik anyar Dheweke bakal nindakake apa-apa ing nguripake. Piyambak-piyambak ing ndhuwur ngetokake surat kanggo wong luar jangkauan, lan apa-apa dikirim tanpa internet iku Publikasi ing Ing internet iku kembang.

Nguripake

Bukak panel Bluetooth mesh banjur pencet Nguripake. Apa mengkono sabanjuré gumantung ing apa sing sampeyan lakoni.

Panel bolong Bluetooth Nymchat, nuduhake status bolong, piranti sing dipasangake, kanca-kanca ing bolong lan log radio.
Panel bolong: status, piranti sing dipasangake, kanca-kanca sing krungu, lan log radio langsung.

Ing Android lan iOS

App mbukak loro peran Bluetooth bebarengan - iklan dhewe lan mindhai kanggo wong liya - dadi loro piranti sing cedhak bisa nyambung, ora preduli saka siji liyane. Grant ijin Bluetooth nalika dijaluk lan nemokake kanca-kancane dhewe.

Ing browser

Aplikasi web gabung karo jaringan sing padha liwat Bluetooth Web, ing browser Chromium: Chrome, Edge, Opera lan Wani. Ing Safari lan Firefox, sing ora ngleksanakake Web Bluetooth, bolong kontrol didhelikake tanggung tinimbang ditawakake lan banjur gagal.

A browser gabung minangka rwaning

Browser mung bisa njupuk Bluetooth tengah peran: iku ora bisa Panggenan dhewe, supaya piranti liyane ora bisa nemokake iku. Sambungake metu menyang telpon cedhak lan relay liwat wong-wong mau. Sampeyan milih saben piranti sapisan liwat pamilih piranti browser dhewe, sawise iku nyambung maneh dhewe. Loro browser ora bisa nyambung langsung.

Nuduhake bolong karo Bitchat

Nymchat ngleksanakake Bitchat's protokol bolong ing kabel, byte kanggo bait - layanan GATT padha lan karakteristik UUID, header paket sing padha, jinis pesen sing padha, watesan hop standar sing padha. Wong loro app ora bridged liwat apa-apa; padha mung ing bolong padha, lan piranti Nymchat lan piranti Bitchat nemokake saben liyane lan ijol-ijolan pesen ndhelik langsung.

Ngumumke paket uga bisa nggawa a nostrLink: link mlebu saka peer bolong kanggo identitas Nostr nyata sing. Yen ana lan verifikasi, kanca sing sampeyan temoni liwat Bluetooth nuduhake munggah minangka wong sing padha ngerti saka relay.

Salinan sajarah lan surat ngirim sing digambarake ing ngisor iki minangka format Bitchat uga, supaya dua aplikasi ora mung koeksisten ing mesh sing padha - padha sinkronisasi sajarah publik lan ngirim envelope.

Sejarah The Mesh Carries

A banjir nyedhiyakake pesan publik kanggo siapa ana ing jangkauan radio ing wektu iki. Waliko ing kamar siji menit telat lan iku ora. Jadi saben piranti nyimpen jendela saka pesan publik sing sadurunge - nganti 6 jam, dibatas ing 1000 paket - lan ngatur jendela iki karo saben peer sing ditemokake, kira-kira saben 15 detikApa sing mungke, padha ngirim sampeyan; apa sing mungke, sampeyan ngirim loro.

Perbandingan iki digawe karo set probabilistik kompak (filter-golomb-coded), supaya perdamaian seribu pesan biaya kira-kira satu kilobyte lan ora enam belas.

Ing ndhuwur, iku apa sing ngidini telpon nglakoni minangka jeruk kutha: berjalan antarane dua kelompok sing ora pernah ing jangkauan siji, utawa balik jam-jam kemudian, lan iku ngirim apa sisi liyane wis nguripake.

Panggonan publik mung

Sadurunge lalu lintas umum ana ing cara iki - pesan wis terlihat kanggo siapapun ing jangkauan radio. Pesan pribadi, tangan lan sesi enkripsi ora dadi bagian saka iku.

Surat-surat sing diwenehi dening wong liyane

Yen sampeyan ngandika menyang wong sing ora ing jangkauan radio, ora ana wong kanggo ngirim pesan kanggo. Nymchat ngetepake menyang kunci wong iki lan nyedhiyakake salinan sing ditutup kanggo sawetara peer-to-peer sing yaiku Tiyang-tayanganipun, ingkang nyebataken, ingkang nyebataken, ingkang nyebataken, ingkang nyebataken, ingkang nyebataken.

Kopi punika opaque kanggo siapa ngangkut. satu-satunya informasi routing iku tag sing Wektu rotasi lan mung bisa dihitung dening wong sing wis sadurunge kunci penerima, supaya dua envelope kanggo wong padha ing dinten sing beda ora terlihat terkait karo wong liyane. Sadurunge penerima bisa ngluwihi siji - lan nalika padha ngluwihi, padha ngerti siapa ngandika, amarga identitas pengirim ditutup ing.

Kopi ora multiply. saben pangiriman nglakoni anggaran sing diwiwiti nalika ngirim share kanggo wong liyane, supaya pesan nyebar menyang sawetara pangiriman lan banjur nghenti. 24 jam, lan mung rekan-rekan kang identitas wis dikonfirmasi ora padha diwenehi.

Dadi iku bisa, Nymchat ngetepake envelope kanggo tombol siji-wektu saben piranti diterbitake batch cilik saka iki, ditandatangani supaya padha ora bisa dipalsu, lan batch mbukak ing cara padha mbukak sajarah ndadekake - kang iku apa sing nggawe iki kasedhiya nalika pemiliké iku ora, saktun nalika surat padha mbukak. penerima nghapus saben kunci nalika iku wis digunakake. sing penghapusan iku titik: a bungkusan copied saka udara ora bisa dibukak sawise, ora malah dening wong kang banjur njupuk kunci identitas penerima.

Deletion nglakoni 48 jam, amarga sawetara pengangkut bisa nyimpen salinan saka bungkusan sing padha lan padha mbukak nalika pengangkut padha nggawé sampeyan; nghapus ing salinan pisanan bakal nindakake saben salinan pungkasan minangka surat hilang.

Apa yang dipelajari transportasi

Ngandhingake wong-wong kutipan ngandika loro yen mesej iku ana lan sampeyan ngirimake. ora isi, ora siapa iku kanggo - nanging fakta. yen perdagangan iku ora siji sing sampeyan mau nggawe, Ghost Mode ora nggunakake kurir apa-apa (lihat ing ngisor iki).

Panggonan sing digawe tanpa internet

Panggonan sing ngirim nalika offline ndadekake liwat radio langsung, kang mbukak siapa ing ndhuwur - lan ora wong liyane, amarga ing babagan relay iku ora ana. Nymchat mbukak iki, lan diterbitake nalika internet mbukak, mbukak wektu ngirim aslina supaya iku tetep ing ngendi sampeyan ngandika ing percakapan.

Sapa-sapa sing wis nampa liwat Bluetooth ora bakal nonton iki kali: salinan diterbitake ngandhut markers sing ngidini piranti. 24 jamSira-sira, wong kang ora nggawe iku ditandhegake minangka gagal lan ora ditinggalake nonton dikirim.

Tiyang-tayang, uga, Nymchat ngandika rekan-rekan sing isih duwe sinyal kanggo ngirim pesan ing jeneng - siji koneksi ing kamar cukup kanggo kabeh ing. Pesan iki ditandatangani dening piranti sampeyan sadurunge ndhuwur, supaya peer sing ngangkut iku kothak surat: iku ora bisa ngganti salah siji saka apa sing diterbitake, lan relay bakal njalukake yen ndeleng. Maca kanal liwat tetangga sing duwe salah siji.

Iki shortcut, ora siji salinan. Apa sing ngandika kanggo piranti sampeyan yen tetangga padha kasedhiya kanggo ngirim, supaya pesan tetep ing baris kanggo koneksi dhewe ing salah siji cara. Yen kedhaftar nggunakake, iki salinan byte-per-byte pesan sing padha lan relay mbantu siji. Sadurunge pesan saluran ngirim ing cara iki - ngandika wong kanggo ngirim pesan pribadi bakal ngandika wong kang sampeyan ngirim kanggo - lan ora ing Mode Ghost, ing ngendi tanda bakal langsung ngirim menyang identitas nyata sampeyan.

Mode Ghost

Piranti bolong yaiku radio sing ngumumake dhewe kanthi bola-bali, sing ndadekake gampang kanggo ngetutake papan lan sesi. Ghost Mode minangka jawaban opt-in.

Nalika iku ing, saben pengenal sing diumumake diganti diganti karo uncalan nilai, lan kabeh padha muter bebarengan:

  • tombol statis Noise - saka ID peer lan bekas driji;
  • tombol teken Ed25519;
  • jeneng Bluetooth sing diiklanake;
  • jeneng celukan;
  • sing diumumake nostrLink, sing tetep nyata nanging dadi ephemeral, supaya kanca-kanca isih bisa tekan sampeyan tanpa masalah apa-apa menyang npub sampeyan.

Rotasi kedadeyan ing jaman jittered kira-kira 15 menit. Identitas pensiunan tetep decryptable kanggo nganti 8 jaman dadi wangsulan telat isih teka, lan a obrolan diwiwiti nalika ghosted wis pinned menyang bolong kanggo apik tinimbang meneng migrasi menyang relay ing kunci nyata sampeyan.

Nuduhake avatar lan spanduk ditolak nalika Mode Ghost aktif: gambar bola-bali ngubungake loro epochs bebarengan luwih cepet saka sembarang tombol bakal.

Iki saka jalur pengiriman ing ndhuwur disalurkan karo iku, kanggo alasan sing padha. Perangkat ghosted ora ngandika wong kanggo ngangkut surat kanggo iku - a kurir uga nglakoni bungkusan sawise sampeyan rotate iku thread antarane kedhaftar iki. lan percakapan ditambahi kanggo mesh ora dipublikasikan menyang relay, amarga salinan sing bakal ditandatangani karo kunci nyata lan ngandika wong liyane akurat siapa hantu iku. Perangkat ghosted uga ngirim ora kunci siji-waktu: apa-apa bisa ngangkut menyang utawa saka iku apa-apa, supaya batch bakal dadi salah siji liyane apa-apa identitas throwaway ngirim tanpa pengiriman sing ora bisa njaluk.

Mode Ghost ora anonim

Iku ndadekake piranti akeh harder kanggo tindakake. Iku ora nggawe untraceable. Bluetooth alamat hardware kontrol dening sistem operasi, ora dening app, lan wektu lan pola sosial tetep correlatable - wong sing padha, ing panggonan sing padha, ngomong karo wong sing padha, ing wektu sing padha.

watesan

  • Range yaiku jangkauan Bluetooth. Puluhan meter ing terbuka, kurang liwat dinding. Jaringan nyebarake panggonan kanthi melompat, ora kanthi menangis luwih. Daftar peer ing panel jaringan bakal ngandika apa iku: ping peer lan iku ngandika tur lan sawetara hops jauh padha sebenarnya.
  • Bandwidth cilik. Pigura diwatesi ing 512 bait lan pesen sing luwih gedhe padha pecah-pecah. Iki dibangun kanggo teks, ora kanggo media.
  • Pangiriman minangka upaya paling apik. A 7-hop banjir nggawe ora janji, lan ora nggawe jalur sing nyebarake iku: histori ngangkut ngetokake sampeyan mung yen sampeyan ketemu piranti sing ngetokake, lan kurir mung ngirim yen iku ngetokake ngetokake penerima.
  • Browser minangka godhong, saben ndhuwur, lan gumantung ing telpon sing cedhak.
  • Radio biaya baterei, amarga mindhai lan iklan terus-terusan iku sing nggawe bolong bisa.