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.
Omuko guno guvvuunuddwa mu kyuma okusobola okugunguyira. Enkyusa y’Olungereza original y’enkyusa ekwata ku nsonga eno.
Ebika by’emikolo
| Kisa | Ekozesebwa ku... | Ebiwandiiko |
|---|---|---|
0 | Metadata ya profile | Standard Nostr profile: erinnya, ekifaananyi, bendera, ebikwata ku, lud16. |
5 | Okusaba okusazaamu | NIP-09. |
7 | Ebikolwa eby’okuddamu | NIP-25, nga kuliko a ['k', originalKind] tag kale reaction eteekebwa mu fayiro ku kika ky’omukutu ekituufu. |
13 | Okusiba | Layer eya wakati ey'obubaka bwa NIP-17. |
14 | Olugambo lw'obubaka obw'ekyama | Tekirina mukono, era tekifulumizibwangako ku bwayo. |
1059 | Okuzinga ebirabo | NIP-59. Ekituufu ekituuka ku relay for private messages ne group chats. |
1984 | Okukola lipoota | NIP-56. |
9734 / 9735 | Zap okusaba ne zap lisiiti | NIP-57. |
10030 | Enkalala za emoji pack eza custom | NIP-30. |
20000 | Obubaka bw'omukutu gwa Geohash | Ephemeral, eriko akabonero ['g', geohash]. |
23333 | Obubaka bw'omukutu ogutuumiddwa erinnya | Ephemeral, eriko akabonero ['d', channel]. |
24420 / 24421 | Ebiraga okuwandiika mu lujjudde n’okusoma lisiiti | Nymchat-specific, ku mikutu egy'olukale. |
25051 / 25052 | Okulaga obubonero okuva ku bannaabwe n’embeera y’okutambuza fayiro | Nymchat-ekwata ku nsonga eno. |
30030 | Ebintu ebikozesebwa mu emoji | NIP-30. |
30078 | Data y’okukozesa | NIP-78. Okulonda, n'ensengeka ezikubiddwa ensirifu bikwatagana. |
69420 | Lisiiti z’okusoma ez’obwannannyini n’embeera y’okutuusa | Nymchat-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
| NIP | Bye kiwa Nymchat |
|---|---|
| NIP-07 | Yingira n'ekyongerwako kya browser. |
| NIP-09 | Okusaba okusazaamu. |
| NIP-13 | Obukakafu bw’omulimu. Obubaka obufuluma busimibwa okutuuka ku bits ezitakka wansi wa 16. |
| NIP-17 | Obubaka obw’obwannannyini obutereevu, n’omusingi gw’okukubaganya ebirowoozo mu bibinja. |
| NIP-25 | Ebikolwa eby’okuddamu. |
| NIP-30 | Emoji eza bulijjo. |
| NIP-40 | Ebiseera ebiggwaako — obubaka obubula. |
| NIP-44 | Ensirifu eriko enkyusa, ekozesebwa okusiba, okuzinga n'okukwataganya ensengeka. |
| NIP-46 | Okussa omukono okuva ewala — bunker://. |
| NIP-56 | Okukola lipoota. |
| NIP-57 | Omulabe gwa zaps. |
| NIP-59 | Ebirabo ebizinga. |
| NIP-78 | Data y’okusaba mu ngeri ey’ekimpatiira. |
| NIP-98 | HTTP auth, ku nkomerero ezikyaza. |
Okuwandiika mu ngeri ey’ekikugu (Cryptography).
| Wa | Kiki |
|---|---|
| Endagamuntu n’emikono | secp256k1 n'emikono gya Schnorr (BIP-340), nga Nostr bw'elaga. |
| Obubaka obw’ekyama n’okunyumya mu bibinja | NIP-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 mesh | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 ku mikono gy’okulangirira, SHA-256 ne HMAC wansi. |
| Endagamuntu mu kuwummula | AES-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 fayiro | WebRTC yennyini DTLS-SRTP, yateesa ku NIP-17-wrapped signalling. |
| Okubeera mu ngeri ey’ekifuulannenge | Omukutu 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.
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.