Jya ku bikubiyemo
Subira kuri Nymchat

Ubumenyi shingiro Munsi ya hood

Porotokole hamwe nibyabaye

Ibyo Nymchat mubyukuri ashyira kumurongo, kubantu bose bubaka, kugenzura, cyangwa gusoma ibyabaye kubandi bakiriya ba Nostr.

Ubwoko bwibyabaye

InezaByakoreshejwe KuriInyandiko
0Umwirondoro wa metadataUmwirondoro usanzwe wa Nostr: izina, ishusho, banneri, hafi, lud16.
5GusibaNIP-09.
7IbisubizoNIP-25, hamwe na ['k', originalKind] tagi rero reaction yatanzwe muburyo bwumurongo wiburyo.
13IkirangoIgice cyo hagati cyubutumwa bwa NIP-17.
14Ubutumwa bwihariyeBidashyizweho umukono, kandi ntabwo bigeze bisohoka wenyine.
1059ImpanoNIP-59. Niki mubyukuri bigera kumurongo wubutumwa bwihariye no kuganira mumatsinda.
1984RaporoNIP-56.
9734 / 9735Icyifuzo cya Zap hamwe na zapNIP-57.
10030Urutonde rwibikoresho bya emojiNIP-30.
20000Ubutumwa bwa GeohashEphemeral, tagged ['g', geohash].
23333Ubutumwa bwitwa umuyoboroEphemeral, tagged ['d', channel].
24420 / 24421Ibipimo byandika rusange kandi usome inyemezabwishyuNymchat-yihariye, kumiyoboro rusange.
25051 / 25052Urungano-rwurungano rwerekana na dosiye-yoherejwe imiterereNymchat-yihariye.
30030Gushiraho emojiNIP-30.
30078IbyatanzweNIP-78. Amatora, hamwe na encrypted igenamiterere sync.
69420Wenyine usome inyemezabwishyu hamwe nuburyo bwo gutangaNymchat-yihariye, itwarwa nkibihuha imbere yimpano. Ubwoko butandukanye na 14 nkana, bityo abandi bakiriya ba NIP-17 ntibatanga ubutumwa butaziguye kuri buri nyemezabuguzi.

NIPs Nymchat

NIPIbyo biha Nymchat
NIP-07Injira hamwe niyagurwa rya mushakisha.
NIP-09Gusiba.
NIP-13Icyemezo cy'akazi. Ubutumwa busohoka bwacukuwe byibuze 16 bits.
NIP-17Ubutumwa bwihariye butaziguye, hamwe nifatiro ryo kuganira mumatsinda.
NIP-25Ibisubizo.
NIP-30Emoji.
NIP-40Igihe kirangirire - ubutumwa bubura.
NIP-44Guhindura ibanga, bikoreshwa kuri kashe, gupfunyika no kugenzura.
NIP-46Gusinya kure - bunker://.
NIP-56Raporo.
NIP-57Umurabyo.
NIP-59Impano.
NIP-78Ibyatanzwe Porogaramu.
NIP-98HTTP auth, kumurongo wanyuma.

Cryptography

AhoNiki
Indangamuntu n'umukonosecp256k1 hamwe na Schnorr umukono (BIP-340), nkuko Nostr abisobanura.
Ubutumwa bwihariye no kuganira mumatsindaNIP-44 v2: ECDH kuri secp256k1, HKDF-SHA256, ChaCha20 hamwe na HMAC-SHA256, hamwe na padi kuburyo uburebure bwa ciphertext budatanga ubutumwa burebure.
Mesh yamashanyaraziUrusaku XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 yo gutangaza imikono, SHA-256 na HMAC munsi.
Indangamuntu mu kiruhukoAES-GCM-256. Urufunguzo ruva muri PBKDF2-SHA256 kuri 310.000 yogusubiramo ijambo ryibanga cyangwa PIN, cyangwa biva muri WebAuthn PRF isohoka binyuze muri HKDF-SHA256 kuri passkey cyangwa biometric.
Hamagara no kohereza dosiyeWebRTC yonyine DTLS-SRTP, yumvikanye kuri NIP-17 yerekana ibimenyetso.
UbusanzweIhuriro CSPRNG muri rusange - urufunguzo, nonces, hamwe nimpano-gupfunyika timestamp jitter.

Kurinda Metadata

Ibisobanuro bibiri munzira-gupfunyika inzira ikwiye guhamagarwa, kuko aribyo bitandukanye NIP-59 Kuva "gushishoza, ariko biragaragara ko biva kuri wewe":

  • Igipfunyika cyose cyashyizweho umukono na a urufunguzo rimwe byakozwe kuri ubwo butumwa bwonyine, ntamuzingo ibiri rero ugabana uwagutumye.
  • Igipfunyika cyose created_at ni ku buryo budasubirwaho inyuma kugeza kuri ebyiri amasaha ukoresheje CSPRNG, ohereza kandi wakire ibihe ntibishobora gutondekwa.

Amatsinda yo kuganira yongeraho kuzunguruka uwahawe urufunguzo hejuru yibyo - reba Uburyo itsinda ryibanga rikora.

Gusoma inkomoko

Crypto yibanze ya js/nym-crypto.js na js/modules/key-vault.js muri porogaramu y'urubuga, no munsi android-ios-app/lib/core/crypto/ na lib/services/mesh/noise/ muri porogaramu ya Flutter. Uwiteka ububiko ni AGPL-3.0 kandi yuzuye - nta kintu gifunze cyo gufata ikizere.