Žinių bazė Po gaubtu
Protokolas ir įvykiai
Ką „Nymchat“ iš tikrųjų prideda prie laido visiems, kurie prieš jį stato, jo auditas arba kito Nostr kliento įvykių skaitymas.
Patogumui šis puslapis išverstas mašininiu būdu. Tinkama versija anglų kalba.
Renginių rūšys
| Malonus | Naudojamas | Pastabos |
|---|---|---|
0 | Profilio metaduomenys | Standartinis Nostr profilis: vardas, paveikslėlis, reklamjuostė, apie, lud16. |
5 | Ištrynimo prašymai | NIP-09. |
7 | Reakcijos | NIP-25, su a ['k', originalKind] žymą, kad būtų pateikta reakcija į tinkamą kanalo tipą. |
13 | Antspaudas | Vidurinis NIP-17 pranešimo sluoksnis. |
14 | Gandas asmenine žinute | Nepasirašytas ir niekada nebuvo paskelbtas atskirai. |
1059 | Dovanų įpakavimas | NIP-59. Kas iš tikrųjų pasiekia asmeninių pranešimų ir grupinių pokalbių relę. |
1984 | Ataskaitų teikimas | NIP-56. |
9734 / 9735 | Zap užklausa ir zap kvitas | NIP-57. |
10030 | Tinkinti jaustukų paketų sąrašai | NIP-30. |
20000 | Geohash kanalo žinutė | Efemeriškas, pažymėtas ['g', geohash]. |
23333 | Pavadinto kanalo žinutė | Efemeriškas, pažymėtas ['d', channel]. |
24420 / 24421 | Vieši spausdinimo indikatoriai ir skaitymo kvitai | „Nymchat“, skirtas viešiesiems kanalams. |
25051 / 25052 | Lygiavertis signalizavimas ir failų perdavimo būsena | Specifinis Nymchat. |
30030 | Individualūs jaustukų rinkiniai | NIP-30. |
30078 | Programos duomenys | NIP-78. Apklausos ir šifruoti nustatymai sinchronizuojami. |
69420 | Privatūs skaitymo kvitai ir pristatymo būsena | „Nymchat“, nešiojamas kaip gandas dovanų pakuotėje. Atskira rūšis iš 14 sąmoningai, todėl kiti NIP-17 klientai nepateikia tuščių tiesioginių pranešimų kiekvienam kvitui. |
NIPs Nymchat įgyvendina
| NIP | Ką tai suteikia Nymchat |
|---|---|
| NIP-07 | Prisijunkite naudodami naršyklės plėtinį. |
| NIP-09 | Ištrynimo prašymai. |
| NIP-13 | Darbo įrodymas. Siunčiami pranešimai išgaunami mažiausiai iki 16 bitų. |
| NIP-17 | Privatūs tiesioginiai pranešimai ir grupinių pokalbių pagrindas. |
| NIP-25 | Reakcijos. |
| NIP-30 | Pasirinktinis jaustukas. |
| NIP-40 | Galiojimo laiko žymos – dingstantys pranešimai. |
| NIP-44 | Versijų šifravimas, naudojamas sandarinimui, apvyniojimui ir nustatymų sinchronizavimui. |
| NIP-46 | Nuotolinis pasirašymas – bunker://. |
| NIP-56 | Ataskaitų teikimas. |
| NIP-57 | Žaibas svaidosi. |
| NIP-59 | Dovanų įpakavimas. |
| NIP-78 | Savavališki programos duomenys. |
| NIP-98 | HTTP autentifikavimas, skirtas priglobtiems galiniams taškams. |
Kriptografija
| Kur | Ką |
|---|---|
| Tapatybė ir parašai | secp256k1 su Schnorr parašais (BIP-340), kaip nurodo Nostr. |
| Asmeninės žinutės ir grupiniai pokalbiai | NIP-44 v2: ECDH ant secp256k1, HKDF-SHA256, ChaCha20 su HMAC-SHA256 ir užpildu, kad šifruoto teksto ilgis nepateiktų pranešimo ilgio. |
| „Bluetooth“ tinklo sesijos | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 parašams paskelbti, apačioje SHA-256 ir HMAC. |
| Tapatybė ramybės būsenoje | AES-GCM-256. Raktas gaunamas iš PBKDF2-SHA256 su 310 000 pakartojimų slaptažodžiui arba PIN kodui arba iš WebAuthn PRF išvesties per HKDF-SHA256 slaptažodžiui arba biometriniam kodui. |
| Skambučiai ir failų perkėlimas | WebRTC DTLS-SRTP, suderintas per NIP-17 apvyniotą signalizaciją. |
| Atsitiktinumas | Visoje platformoje CSPRNG – raktai, niekai ir dovanų pakavimo laiko žymos virpėjimas. |
Metaduomenų apsauga
Verta atkreipti dėmesį į dvi detales dovanų pakavimo kelyje, nes tai yra tai, kas išskiria NIP-59 iš „šifruota, bet akivaizdu, kad tu jiems“:
- Kiekvienas įvyniojimas yra pasirašytas a vienkartinis raktas sukurta tik šiam pranešimui, taigi jokie du įvyniojimai neturi bendro siuntėjo.
- Kiekvienas įvyniojimas
created_atyra atsitiktinai datuojamas iki dviejų valandų naudojant CSPRNG, todėl siuntimo ir gavimo laikas negali būti suderintas.
Grupiniai pokalbiai prideda besisukančio trumpalaikiškumo gavėjas raktai ant to — žr Kaip veikia grupės šifravimas.
Yra kriptovaliutų primityvai js/nym-crypto.js ir
js/modules/key-vault.js žiniatinklio programoje ir žemiau
android-ios-app/lib/core/crypto/ ir
lib/services/mesh/noise/ programėlėje „Flutter“. The
saugykla
yra AGPL-3.0 ir baigtas – nėra uždaro komponento, kuriuo būtų galima pasitikėti.