Pāriet uz saturu
Atpakaļ uz Nymchat

Zināšanu bāze Zem pārsega

Protokols un notikumi

Tas, ko Nymchat patiesībā liek uz vadiem ikvienam, kas pret to būvē, to auditēt vai nolasīt notikumus no cita Nostr klienta.

Pasākumu veidi

LaipniLietots priekšPiezīmes
0Profila metadatiStandarta Nostr profils: vārds, attēls, reklāmkarogs, par, lud16.
5Dzēšanas pieprasījumiNIP-09.
7ReakcijasNIP-25, ar a ['k', originalKind] tagu, lai tiktu iesniegta reakcija pret pareizo kanāla veidu.
13ZīmogsNIP-17 ziņojuma vidējais slānis.
14Privātās ziņas baumasNeparakstīts un nekad nav publicēts atsevišķi.
1059Dāvanu iesaiņojumsNIP-59. Kas faktiski sasniedz privāto ziņojumu un grupu tērzēšanas releju.
1984ZiņošanaNIP-56.
9734 / 9735Zap pieprasījums un zap kvītsNIP-57.
10030Pielāgoti emocijzīmju pakotņu sarakstiNIP-30.
20000Geohash kanāla ziņojumsĪslaicīga, atzīmēta ['g', geohash].
23333Nosaukta kanāla ziņojumsĪslaicīga, atzīmēta ['d', channel].
24420 / 24421Publiski mašīnrakstīšanas indikatori un lasīšanas kvītisĪpaši Nymchat, publiskiem kanāliem.
25051 / 25052Vienādranga signalizācija un failu pārsūtīšanas statussSpecifiski Nymchat.
30030Pielāgoti emocijzīmju komplektiNIP-30.
30078Lietojumprogrammu datiNIP-78. Aptaujas un šifrētu iestatījumu sinhronizācija.
69420Privātas lasīšanas kvītis un piegādes statussĪpaši Nymchat, tiek nēsāts kā baumas dāvanu iesaiņojumā. Atsevišķs veids no 14 apzināti, tāpēc citi NIP-17 klienti neveido tukšus tiešos ziņojumus par katru kvīti.

NIPs Nymchat ievieš

NĪPKo tas dod Nymchat
NIP-07Piesakieties, izmantojot pārlūkprogrammas paplašinājumu.
NIP-09Dzēšanas pieprasījumi.
NIP-13Darba apliecinājums. Izejošie ziņojumi tiek iegūti vismaz līdz 16 bitiem.
NIP-17Privāti tiešie ziņojumi un grupas tērzēšanas pamats.
NIP-25Reakcijas.
NIP-30Pielāgotas emocijzīmes.
NIP-40Derīguma termiņa zīmogi — pazūd ziņojumi.
NIP-44Versionēta šifrēšana, ko izmanto plombu, aptinumu un iestatījumu sinhronizēšanai.
NIP-46Attālā parakstīšana - bunker://.
NIP-56Ziņošana.
NIP-57Zibens zap.
NIP-59Dāvanu iesaiņojumi.
NIP-78Patvaļīgi pieteikuma dati.
NIP-98HTTP autentifikācija mitinātajiem galapunktiem.

Kriptogrāfija

KurKas
Identitāte un parakstisecp256k1 ar Schnorr parakstiem (BIP-340), kā norāda Nostr.
Privātās ziņas un grupu tērzēšanaNIP-44 v2: ECDH uz secp256k1, HKDF-SHA256, ChaCha20 ar HMAC-SHA256 un polsterējumu, lai šifrētais teksts nezaudētu ziņojuma garumu.
Bluetooth tīkla sesijasTroksnis XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 parakstu paziņošanai, SHA-256 un HMAC apakšā.
Identitāte miera stāvoklīAES-GCM-256. Atslēga tiek iegūta no PBKDF2-SHA256 ar 310 000 iterāciju parolei vai PIN vai no WebAuthn PRF izvades, izmantojot HKDF-SHA256 piekļuves atslēgu vai biometriskos datus.
Zvani un failu pārsūtīšanaWebRTC paša DTLS-SRTP, kas saskaņots, izmantojot NIP-17 ietītu signalizāciju.
NejaušībaVisā platformā CSPRNG — atslēgas, iesaiņojuma laikspiedols trīcē.

Metadatu aizsardzība

Dāvanu iesaiņošanas ceļā ir vērts pieminēt divas detaļas, jo tās atdala NIP-59 no "šifrēta, bet acīmredzot no jums viņiem":

  • Katru iesaiņojumu paraksta a vienreizēja atslēga ģenerēts tikai šim ziņojumam, tāpēc nav divu wraps kopīgu sūtītāju.
  • Katrs aptinums created_at ir nejauši atpakaļ datēts līdz diviem stundas izmantojot CSPRNG, tāpēc sūtīšanas un saņemšanas laikus nevar sakārtot.

Grupu tērzēšana pievieno rotējošu īslaicīgu raksturu saņēmējs atslēgas pa virsu — skat Kā darbojas grupas šifrēšana.

Izlasot avotu

Kriptoprimitīvi ir iekšā js/nym-crypto.js un js/modules/key-vault.js tīmekļa lietotnē un zem android-ios-app/lib/core/crypto/ un lib/services/mesh/noise/ lietotnē Flutter. The krātuve ir AGPL-3.0 un pabeigts — nav neviena slēgta komponenta, kas varētu uzticēties.