Nheyo yezivo Pasi pehodhi
Protocol uye zviitiko
Izvo Nymchat inoisa chaizvo pawaya, kune chero munhu anovaka achipokana nazvo, kuiongorora, kana kuverenga zviitiko kubva kune mumwe mutengi weNostr.
Peji ino yakaturikirwa nemuchina kuti zvirerukire. ChiRungu chepakutanga ndiyo shanduro inoshanda.
Zviitiko mhando
| Kind | Used for | Notes |
|---|---|---|
0 | Profile metadata | Standard Nostr mbiri: zita, mufananidzo, banner, nezve, lud16. |
5 | Zvikumbiro zvekudzima | NIP-09. |
7 | Reactions | NIP-25, ine a ['k', originalKind] tag kuitira kuti mhinduro ifayerwe inopesana nemhando yechiteshi. |
13 | Chisimbiso | Chikamu chepakati cheNIP-17 meseji. |
14 | Runyerekupe rwemashoko ega | Haina kusaina, uye haina kumboburitswa yega. |
1059 | Chipo kuputira | NIP-59. Izvo chaizvo zvinosvika kune relay kune zvakavanzika mameseji uye chats dzeboka. |
1984 | Reporting | NIP-56. |
9734 / 9735 | Zap chikumbiro uye zap risiti | NIP-57. |
10030 | Tsika emoji pack zvinyorwa | NIP-30. |
20000 | Geohash chiteshi meseji | Ephemeral, tagged ['g', geohash]. |
23333 | Yakapihwa chiteshi meseji | Ephemeral, tagged ['d', channel]. |
24420 / 24421 | Public kutaipa zviratidzo uye kuverenga marisiti | Nymchat-chaiyo, yeruzhinji nzira. |
25051 / 25052 | Peer-to-peer signing uye faira-kutamisa mamiriro | Nymchat-specific. |
30030 | Custom emoji seti | NIP-30. |
30078 | Application data | NIP-78. Polls, uye encrypted zvigadziriso sync. |
69420 | Marisiti ekuverenga ega uye mamiriro ekutumira | Nymchat-specific, inotakurwa serunyerekupe mukati mekuputira chipo. Rudzi rwakasiyana kubva 14 nemaune, saka vamwe vatengi veNIP-17 havapi mameseji akatwasuka ega ega anotambira. |
NIPs Nymchat zvishandiso
| NIP | Izvo zvinopa Nymchat |
|---|---|
| NIP-07 | Pinda nebrowser yekuwedzera. |
| NIP-09 | Zvikumbiro zvekudzima. |
| NIP-13 | Uchapupu hwebasa. Mameseji anobuda anocherwa kusvika 16 bits. |
| NIP-17 | Yakavanzika meseji yakananga, uye hwaro hwekutaura kweboka. |
| NIP-25 | Reactions. |
| NIP-30 | Custom emoji. |
| NIP-40 | Expiration timestamps - mameseji anonyangarika. |
| NIP-44 | Versioned encryption, inoshandiswa zvisimbiso, kuputira uye kuseta sync. |
| NIP-46 | Kusaina kure - bunker://. |
| NIP-56 | Reporting. |
| NIP-57 | Mheni zaps. |
| NIP-59 | Chipo chinoputirwa. |
| NIP-78 | Arbitrary application data. |
| NIP-98 | HTTP auth, kune yakagarwa magumo. |
Cryptography
| Kupi | Chii |
|---|---|
| Identity uye masiginicha | secp256k1 ine Schnorr siginicha (BIP-340), sekutsanangurwa kwaNostr. |
| Mameseji epachivande uye chats dzeboka | NIP-44 v2: ECDH pa secp256k1, HKDF-SHA256, ChaCha20 ine HMAC-SHA256, uye padding kuti ciphertext kureba kurege kupa kureba kweshoko. |
| Bluetooth mesh zvikamu | Noise XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 yekuzivisa masiginecha, SHA-256 uye HMAC pasi. |
| Identity pakuzorora | AES-GCM-256. Kiyi inobva kuPBKDF2-SHA256 pa310,000 iterations yepassword kana PIN, kana kubva kuWebAuthn PRF inobuda kuburikidza neHKDF-SHA256 yepasskey kana biometric. |
| Kufona uye kufambisa mafaira | WebRTC's own DTLS-SRTP, yakataurirana pamusoro peNIP-17-yakaputirwa siginecha. |
| Randomness | Iyo chikuva CSPRNG mukati - makiyi, nonces, uye chipo-kupeta timestamp jitter. |
Metadata kudzivirira
Zvinyorwa zviviri munzira yechipo-yekuputira zvakakodzera kushevedzera, nekuti ndizvo zvakapatsanura NIP-59 kubva ku "encrypted, asi zviri pachena kubva kwauri kuenda kwavari":
- Kupeta kwese kunosainwa na imwe-nguva kiyi yakagadzirirwa meseji iyoyo chete, saka hapana mapeji maviri anogovera mutumi.
- Kuputirwa kwese
created_atndizvo zvisina kurongeka kumashure kusvika maviri maawa uchishandisa CSPRNG, saka kutumira uye kugamuchira nguva haigone kurongedzerwa.
Hurukuro dzeboka dzinowedzera kutenderedza ephemeral mugamuchiri makiyi pamusoro pazvo - ona Mashandiro egroup encryption.
Iyo crypto primitives iri mukati js/nym-crypto.js uye
js/modules/key-vault.js muwebhu app, uye pasi
android-ios-app/lib/core/crypto/ uye
lib/services/mesh/noise/ muFlutter app. The
repository
iri AGPL-3.0 uye yakakwana - hapana chikamu chakavharwa chekutora kuvimba.