Pereiti prie turinio
Grįžti į Nymchat

Ž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.

Renginių rūšys

MalonusNaudojamasPastabos
0Profilio metaduomenysStandartinis Nostr profilis: vardas, paveikslėlis, reklamjuostė, apie, lud16.
5Ištrynimo prašymaiNIP-09.
7ReakcijosNIP-25, su a ['k', originalKind] žymą, kad būtų pateikta reakcija į tinkamą kanalo tipą.
13AntspaudasVidurinis NIP-17 pranešimo sluoksnis.
14Gandas asmenine žinuteNepasirašytas ir niekada nebuvo paskelbtas atskirai.
1059Dovanų įpakavimasNIP-59. Kas iš tikrųjų pasiekia asmeninių pranešimų ir grupinių pokalbių relę.
1984Ataskaitų teikimasNIP-56.
9734 / 9735Zap užklausa ir zap kvitasNIP-57.
10030Tinkinti jaustukų paketų sąrašaiNIP-30.
20000Geohash kanalo žinutėEfemeriškas, pažymėtas ['g', geohash].
23333Pavadinto kanalo žinutėEfemeriškas, pažymėtas ['d', channel].
24420 / 24421Vieši spausdinimo indikatoriai ir skaitymo kvitai„Nymchat“, skirtas viešiesiems kanalams.
25051 / 25052Lygiavertis signalizavimas ir failų perdavimo būsenaSpecifinis Nymchat.
30030Individualūs jaustukų rinkiniaiNIP-30.
30078Programos duomenysNIP-78. Apklausos ir šifruoti nustatymai sinchronizuojami.
69420Privatū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

NIPKą tai suteikia Nymchat
NIP-07Prisijunkite naudodami naršyklės plėtinį.
NIP-09Ištrynimo prašymai.
NIP-13Darbo įrodymas. Siunčiami pranešimai išgaunami mažiausiai iki 16 bitų.
NIP-17Privatūs tiesioginiai pranešimai ir grupinių pokalbių pagrindas.
NIP-25Reakcijos.
NIP-30Pasirinktinis jaustukas.
NIP-40Galiojimo laiko žymos – dingstantys pranešimai.
NIP-44Versijų šifravimas, naudojamas sandarinimui, apvyniojimui ir nustatymų sinchronizavimui.
NIP-46Nuotolinis pasirašymas – bunker://.
NIP-56Ataskaitų teikimas.
NIP-57Žaibas svaidosi.
NIP-59Dovanų įpakavimas.
NIP-78Savavališki programos duomenys.
NIP-98HTTP autentifikavimas, skirtas priglobtiems galiniams taškams.

Kriptografija

Kur
Tapatybė ir parašaisecp256k1 su Schnorr parašais (BIP-340), kaip nurodo Nostr.
Asmeninės žinutės ir grupiniai pokalbiaiNIP-44 v2: ECDH ant secp256k1, HKDF-SHA256, ChaCha20 su HMAC-SHA256 ir užpildu, kad šifruoto teksto ilgis nepateiktų pranešimo ilgio.
„Bluetooth“ tinklo sesijosNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 parašams paskelbti, apačioje SHA-256 ir HMAC.
Tapatybė ramybės būsenojeAES-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ėlimasWebRTC DTLS-SRTP, suderintas per NIP-17 apvyniotą signalizaciją.
AtsitiktinumasVisoje 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_at yra 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.

Skaitant šaltinį

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.