Buuka ku birimu
Okudda ku Nymchat

Omusingi gw’okumanya Wansi wa hood

Protocol n'ebibaddewo

Nymchat ky’eteeka mu butuufu ku waya, eri omuntu yenna azimba ku yo, okugibala, oba okusoma ebibaddewo okuva ku kasitoma wa Nostr omulala.

Ebika by’emikolo

KisaEkozesebwa ku...Ebiwandiiko
0Metadata ya profileStandard Nostr profile: erinnya, ekifaananyi, bendera, ebikwata ku, lud16.
5Okusaba okusazaamuNIP-09.
7Ebikolwa eby’okuddamuNIP-25, nga kuliko a ['k', originalKind] tag kale reaction eteekebwa mu fayiro ku kika ky’omukutu ekituufu.
13OkusibaLayer eya wakati ey'obubaka bwa NIP-17.
14Olugambo lw'obubaka obw'ekyamaTekirina mukono, era tekifulumizibwangako ku bwayo.
1059Okuzinga ebiraboNIP-59. Ekituufu ekituuka ku relay for private messages ne group chats.
1984Okukola lipootaNIP-56.
9734 / 9735Zap okusaba ne zap lisiitiNIP-57.
10030Enkalala za emoji pack eza customNIP-30.
20000Obubaka bw'omukutu gwa GeohashEphemeral, eriko akabonero ['g', geohash].
23333Obubaka bw'omukutu ogutuumiddwa erinnyaEphemeral, eriko akabonero ['d', channel].
24420 / 24421Ebiraga okuwandiika mu lujjudde n’okusoma lisiitiNymchat-specific, ku mikutu egy'olukale.
25051 / 25052Okulaga obubonero okuva ku bannaabwe n’embeera y’okutambuza fayiroNymchat-ekwata ku nsonga eno.
30030Ebintu ebikozesebwa mu emojiNIP-30.
30078Data y’okukozesaNIP-78. Okulonda, n'ensengeka ezikubiddwa ensirifu bikwatagana.
69420Lisiiti z’okusoma ez’obwannannyini n’embeera y’okutuusaNymchat-specific, etambuzibwa nga olugambo munda mu gift wrap. Ekika eky’enjawulo okuva ku 14 mu bugenderevu, kale bakasitoma abalala aba NIP-17 tebakola bubaka butereevu bwereere ku buli lisiiti.

NIPs Nymchat essa mu nkola

NIPBye kiwa Nymchat
NIP-07Yingira n'ekyongerwako kya browser.
NIP-09Okusaba okusazaamu.
NIP-13Obukakafu bw’omulimu. Obubaka obufuluma busimibwa okutuuka ku bits ezitakka wansi wa 16.
NIP-17Obubaka obw’obwannannyini obutereevu, n’omusingi gw’okukubaganya ebirowoozo mu bibinja.
NIP-25Ebikolwa eby’okuddamu.
NIP-30Emoji eza bulijjo.
NIP-40Ebiseera ebiggwaako — obubaka obubula.
NIP-44Ensirifu eriko enkyusa, ekozesebwa okusiba, okuzinga n'okukwataganya ensengeka.
NIP-46Okussa omukono okuva ewala — bunker://.
NIP-56Okukola lipoota.
NIP-57Omulabe gwa zaps.
NIP-59Ebirabo ebizinga.
NIP-78Data y’okusaba mu ngeri ey’ekimpatiira.
NIP-98HTTP auth, ku nkomerero ezikyaza.

Okuwandiika mu ngeri ey’ekikugu (Cryptography).

WaKiki
Endagamuntu n’emikonosecp256k1 n'emikono gya Schnorr (BIP-340), nga Nostr bw'elaga.
Obubaka obw’ekyama n’okunyumya mu bibinjaNIP-44 v2: ECDH ku secp256k1, HKDF-SHA256, ChaCha20 ne HMAC-SHA256, ne padding kale obuwanvu bwa ciphertext tebuwa buwanvu bwa bubaka wala.
Entuula za Bluetooth meshNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 ku mikono gy’okulangirira, SHA-256 ne HMAC wansi.
Endagamuntu mu kuwummulaAES-GCM-256. Ekisumuluzo kiva mu PBKDF2-SHA256 ku 310,000 iterations ku password oba PIN, oba okuva mu WebAuthn PRF output okuyita mu HKDF-SHA256 ku passkey oba biometric.
Okukuba essimu n’okutambuza fayiroWebRTC yennyini DTLS-SRTP, yateesa ku NIP-17-wrapped signalling.
Okubeera mu ngeri ey’ekifuulannengeOmukutu CSPRNG wonna — ebisumuluzo, nonces, n'ekirabo-okuzinga timestamp jitter.

Okukuuma metadata

Ebintu bibiri mu kkubo ly’okuzinga ebirabo bisaana okuyitibwa, kubanga bye byawula NIP-59 okuva ku "encrypted, naye nga kirabika okuva gy'oli okutuuka ku bo":

  • Buli wrap eteekebwako omukono gwa a ekisumuluzo eky’omulundi gumu ekoleddwa olw’obubaka obwo bwokka, . kale tewali wraps bbiri zigabana musindika.
  • Buli wrap's created_at -li randomly backdated okutuuka ku babiri essaawa nga okozesa CSPRNG, kale ebiseera by'okusindika n'okufuna tebisobola kuteekebwa mu layini.

Enjogera mu bibinja zongera ku bikyukakyuka ebikyukakyuka oyo afuna obuyambi ebisumuluzo waggulu w’ekyo — laba Engeri ensirifu y’ekibiina gye ekola.

Okusoma ensonda

Aba crypto primitives bali mu js/nym-crypto.js ne js/modules/key-vault.js mu web app, ne wansi android-ios-app/lib/core/crypto/ ne lib/services/mesh/noise/ mu pulogulaamu ya Flutter. Omu etterekero ly’ebintu ye AGPL-3.0 era ewedde — tewali kitundu kiggaddwa okutwala obwesige.