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 žinutePasirašytas ir niekada nepublikuotas savarankiškai. ['nymthread', rootId] žymėti užšifruotą gandą, nurodant šaknies bendro pranešimo ID.
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]Laidų atsakymas prideda NIP-10 pažymėtą ['e', rootId, '', 'root'] Dėmesio
23333Pavadinto kanalo žinutėEfemeriškas, pažymėtas ['d', channel]Laidų atsakymas prideda NIP-10 pažymėtą ['e', rootId, '', 'root'] Dėmesio
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, šifruotų nustatymų sinchronizavimas ir pranešimai po kvantinio rakto (pažymėti nym-pq, su ML-KEM-768 viešuoju raktu su NIP-40 galiojimo laiku).
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-10Pažymėtos atsakymo žymės – kaip kanalo laidas nurodo atsakymą į savo šaknies pranešimą.
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.
Asmeninės žinutės ir grupiniai pokalbiai tarp Nymchat vartotojųTa pati NIP-44 v2 naudingumo apkrova, nepakeista, antrą kartą užantspauduota ChaCha20-Poly1305 viduje, paslėpta iš ML-KEM-768 (FIPS 203) kapsulės per HKDF-SHA256. pq2. prefikso, kad skaitytojas pasirinktų kelią, tikrindamas naudingąją apkrovą. Abu sluoksniai turi būti sulaužyti, kad būtų galima atkurti pranešimą. kvantiniam atsparumui šifravimas.
„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.