Svetuka kune zviri mukati
Dzokera kuNymchat

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.

Zviitiko mhando

KindUsed forNotes
0Profile metadataStandard Nostr mbiri: zita, mufananidzo, banner, nezve, lud16.
5Zvikumbiro zvekudzimaNIP-09.
7ReactionsNIP-25, ine a ['k', originalKind] tag kuitira kuti mhinduro ifayerwe inopesana nemhando yechiteshi.
13ChisimbisoChikamu chepakati cheNIP-17 meseji.
14Runyerekupe rwemashoko egaHaina kusaina, uye haina kumboburitswa yega.
1059Chipo kuputiraNIP-59. Izvo chaizvo zvinosvika kune relay kune zvakavanzika mameseji uye chats dzeboka.
1984ReportingNIP-56.
9734 / 9735Zap chikumbiro uye zap risitiNIP-57.
10030Tsika emoji pack zvinyorwaNIP-30.
20000Geohash chiteshi mesejiEphemeral, tagged ['g', geohash].
23333Yakapihwa chiteshi mesejiEphemeral, tagged ['d', channel].
24420 / 24421Public kutaipa zviratidzo uye kuverenga marisitiNymchat-chaiyo, yeruzhinji nzira.
25051 / 25052Peer-to-peer signing uye faira-kutamisa mamiriroNymchat-specific.
30030Custom emoji setiNIP-30.
30078Application dataNIP-78. Polls, uye encrypted zvigadziriso sync.
69420Marisiti ekuverenga ega uye mamiriro ekutumiraNymchat-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

NIPIzvo zvinopa Nymchat
NIP-07Pinda nebrowser yekuwedzera.
NIP-09Zvikumbiro zvekudzima.
NIP-13Uchapupu hwebasa. Mameseji anobuda anocherwa kusvika 16 bits.
NIP-17Yakavanzika meseji yakananga, uye hwaro hwekutaura kweboka.
NIP-25Reactions.
NIP-30Custom emoji.
NIP-40Expiration timestamps - mameseji anonyangarika.
NIP-44Versioned encryption, inoshandiswa zvisimbiso, kuputira uye kuseta sync.
NIP-46Kusaina kure - bunker://.
NIP-56Reporting.
NIP-57Mheni zaps.
NIP-59Chipo chinoputirwa.
NIP-78Arbitrary application data.
NIP-98HTTP auth, kune yakagarwa magumo.

Cryptography

KupiChii
Identity uye masiginichasecp256k1 ine Schnorr siginicha (BIP-340), sekutsanangurwa kwaNostr.
Mameseji epachivande uye chats dzebokaNIP-44 v2: ECDH pa secp256k1, HKDF-SHA256, ChaCha20 ine HMAC-SHA256, uye padding kuti ciphertext kureba kurege kupa kureba kweshoko.
Bluetooth mesh zvikamuNoise XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 yekuzivisa masiginecha, SHA-256 uye HMAC pasi.
Identity pakuzororaAES-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 mafairaWebRTC's own DTLS-SRTP, yakataurirana pamusoro peNIP-17-yakaputirwa siginecha.
RandomnessIyo 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_at ndizvo 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.

Kuverenga kwakabva

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.