Isisekelo solwazi Ngaphansi kwesigqoko
Iphrothokholi nemicimbi
Yini iNymchat eyibeka ocingweni, kunoma ngubani owakha ngokumelene nayo, ukuyihlola, noma ukufunda imicimbi kwelinye iklayenti le-Nostr.
Leli khasi lihunyushwe ngomshini ukuze kube lula. IsiNgisi sangempela inguqulo esebenzayo.
Izinhlobo zomcimbi
| Uhlobo | Isetshenziselwa | Amanothi |
|---|---|---|
0 | Imethadatha yephrofayela | Iphrofayili ejwayelekile ye-Nostr: igama, isithombe, isibhengezo, mayelana, lud16. |
5 | Izicelo zokusula | I-NIP-09. |
7 | Ukusabela | I-NIP-25, ene-a ['k', originalKind] maka ukuze ukusabela kugcwaliswe ngokumelene nohlobo lwesiteshi olulungile. |
13 | Faka uphawu | Isendlalelo esimaphakathi somlayezo we-NIP-17. |
14 | Amahemuhemu omlayezo oyimfihlo | Akusayiniwe, futhi akukaze kushicilelwe ngokwako. |
1059 | Ukugoqa izipho | I-NIP-59. Yini ngempela efinyelela ukudluliselwa kwemilayezo eyimfihlo nezingxoxo zeqembu. |
1984 | Ukubika | I-NIP-56. |
9734 / 9735 | Isicelo se-Zap kanye nerisidi ye-zap | I-NIP-57. |
10030 | Uhlu lwephekhi ye-emoji yangokwezifiso | I-NIP-30. |
20000 | Umlayezo wesiteshi se-Geohash | I-Ephemeral, imakiwe ['g', geohash]. |
23333 | Umlayezo wesiteshi oqanjwe igama | I-Ephemeral, imakiwe ['d', channel]. |
24420 / 24421 | Izinkomba zokuthayipha ezisesidlangalaleni namarisidi afundiwe | I-Nymchat-specific, yeziteshi zomphakathi. |
25051 / 25052 | Ukubonisana kontanga nesimo sokudlulisa ifayela | I-Nymchat-specific. |
30030 | Amasethi e-emoji angokwezifiso | I-NIP-30. |
30078 | Idatha yohlelo lokusebenza | I-NIP-78. Amapholi, nokuvumelanisa izilungiselelo ezibethelwe. |
69420 | Amarisidi okufunda ayimfihlo kanye nesimo sokudiliva | I-Nymchat-specific, eyenziwa njengamahemuhemu ngaphakathi kokugoqwa kwesipho. Uhlobo oluhlukile 14 ngamabomu, ukuze amanye amaklayenti e-NIP-17 anganikezi imilayezo eqondile engenalutho kukho konke okwamukelwe. |
Izinsiza ze-NIPs Nymchat
| I-NIP | Yini enikeza i-Nymchat |
|---|---|
| I-NIP-07 | Ngena ngemvume ngesandiso sesiphequluli. |
| I-NIP-09 | Izicelo zokusula. |
| I-NIP-13 | Ubufakazi bomsebenzi. Imilayezo ephumayo yembiwa okungenani ibe amabhithi ayi-16. |
| I-NIP-17 | Imilayezo eqondile eyimfihlo, kanye nesisekelo sezingxoxo zeqembu. |
| I-NIP-25 | Ukusabela. |
| I-NIP-30 | I-emoji yangokwezifiso. |
| I-NIP-40 | Izitembu zesikhathi zokuphelelwa yisikhathi — imiyalezo enyamalalayo. |
| I-NIP-44 | Ukubethela okunguqulo, okusetshenziselwa ama-seal, ukugoqa nokuvumelanisa izilungiselelo. |
| I-NIP-46 | Ukusayina kwesilawuli kude - bunker://. |
| I-NIP-56 | Ukubika. |
| I-NIP-57 | Umbani zaps. |
| I-NIP-59 | Ukugoqa kwezipho. |
| I-NIP-78 | Idatha yohlelo lokusebenza engafanele. |
| I-NIP-98 | I-HTTP Auth, yezindawo zokugcina ezisingathiwe. |
I-Cryptography
| Kuphi | Ini |
|---|---|
| Ubunikazi kanye namasignesha | secp256k1 namasiginesha e-Schnorr (BIP-340), njengoba u-Nostr ecacisa. |
| Imilayezo eyimfihlo nezingxoxo zamaqembu | NIP-44 v2: ECDH ku-secp256k1, HKDF-SHA256, ChaCha20 ene-HMAC-SHA256, nokupheda ukuze ubude bombhalo we-ciphertext abuniki ubude bomlayezo. |
| Izikhathi ze-Bluetooth mesh | I-Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 yokumemezela amasiginesha, i-SHA-256 ne-HMAC ngaphansi. |
| Ubunikazi ekuphumuleni | I-AES-GCM-256. Ukhiye uvela ku-PBKDF2-SHA256 ekuphindaphindweni okungu-310,000 kwephasiwedi noma iphinikhodi, noma okukhiphayo kwe-WebAuthn PRF nge-HKDF-SHA256 ngokhiye wokudlula noma we-biometric. |
| Izingcingo nokudluliswa kwamafayela | I-DTLS-SRTP ye-WebRTC, kuxoxiswane ngayo ngokusayina okugoqelwe kwe-NIP-17. |
| Ukungahleliwe | Iplathifomu ye-CSPRNG kuyo yonke — okhiye, ama-nonces, kanye nejita yesitembu sesikhathi sokugoqa isipho. |
Ukuvikelwa kwemethadatha
Imininingwane emibili endleleni yokugoqa isipho ifanele ukubizwa, ngoba iyona ehlukanisa i-NIP-59 kusukela "kubethelwe, kodwa ngokusobala kusuka kuwe kuya kubo":
- Konke ukugoqa kusayinwe ngu-a ukhiye wesikhathi esisodwa eyenzelwe lowo mlayezo kuphela, ngakho-ke akukho ukugoqa okubili okwabela umthumeli.
- Konke ukugoqa
created_atkuyinto ihlehliswe ngokungahleliwe kufika kokubili amahora usebenzisa i-CSPRNG, ngakho-ke izikhathi zokuthumela nokwamukela azikwazi ukukleliswa.
Izingxoxo zeqembu zengeza i-ephemeral ejikelezayo umamukeli okhiye phezu kwalokho - bheka Ukubethela kweqembu kusebenza kanjani.
Ama-primitives e-crypto angenile js/nym-crypto.js futhi
js/modules/key-vault.js kuhlelo lokusebenza lwewebhu, nangaphansi
android-ios-app/lib/core/crypto/ futhi
lib/services/mesh/noise/ kuhlelo lokusebenza lwe-Flutter. I
inqolobane
i-AGPL-3.0 futhi iqedile — ayikho ingxenye evaliwe engathatha ukwethenjwa.