Gaa na ọdịnaya
Laghachi na Nymchat

Isi ihe ọmụma N'okpuru mkpuchi

Protocol na ihe omume

Ihe Nymchat na-etinye n'ezie na waya, maka onye ọ bụla na-ewu megide ya, nyochaa ya, ma ọ bụ ịgụ ihe omume sitere n'aka onye ahịa Nostr ọzọ.

Ụdị mmemme

ỤdịEji makaIhe ndetu
0metadata profaịlụProfaịlụ Nostr ọkọlọtọ: aha, foto, ọkọlọtọ, gbasara, lud16.
5Arịrịọ ihichapụNIP-09.
7Mmeghachi omumeNIP-25, ya na a ['k', originalKind] mkpado ka ewee mmeghachi omume megide ụdị ọwa ziri ezi.
13AkaraOghere etiti nke ozi NIP-17.
14Asịrị ozi nkeonweEbinyeghị aka na ya, na ebipụtaghị ya n'onwe ya.
1059Ihe mkpuchi onyinyeNIP-59. Ihe na-erute n'ezie ọsọ agba anọ maka ozi nzuzo na nkata otu.
1984Na-akọ akụkọNIP-56.
9734 / 9735Arịrịọ Zap na nnata zapNIP-57.
10030Ndepụta ngwugwu emoji omenalaNIP-30.
20000Ozi ọwa GeohashEphemeral, mkpado ['g', geohash].
23333Aha ozi ọwaEphemeral, mkpado ['d', channel].
24420 / 24421Ihe nrịbama pịnye ọhaneze wee gụọ nnataNymchat kpọmkwem, maka ọwa ọha.
25051 / 25052Ngosipụta ndị ọgbọ na ndị ọgbọ na ọkwa mbufe faịlụNymchat kpọmkwem.
30030Ntọala emoji omenalaNIP-30.
30078Data ngwaNIP-78. Ntuli aka na nhazi ntọala ezoro ezo.
69420Nnata ọgụgụ nkeonwe yana ọkwa nnyefeNymchat-kpọmkwem, ebu dị ka asịrị n'ime ihe mkpuchi onyinye. Ụdị dị iche iche si 14 kpachaara anya, yabụ ndị ahịa NIP-17 ndị ọzọ anaghị enye ozi ozugbo maka nnata ọ bụla.

NIPs Nymchat na-arụ ọrụ

NIPIhe ọ na-enye Nymchat
NIP-07Jiri ndọtị ihe nchọgharị wee banye.
NIP-09Arịrịọ ihichapụ.
NIP-13Ihe akaebe nke ọrụ. A na-egwupụta ozi na-apụ apụ na opekata mpe 16.
NIP-17Ozi ozugbo nkeonwe, yana ndabere maka nkata otu.
NIP-25Mmeghachi omume.
NIP-30Emoji omenala.
NIP-40Oge ngwụcha oge - ozi na-apụ n'anya.
NIP-44Izo ya ezo nke ụdịdị, ejiri maka akara, ihe mkpuchi na mmekọrịta ntọala.
NIP-46mbinye aka tere aka - bunker://.
NIP-56Na-akọ akụkọ.
NIP-57Ọkụ ọkụ.
NIP-59Ihe mkpuchi onyinye.
NIP-78Data ngwa aka ike.
NIP-98HTTP auth, maka njedebe njedebe akwadoro.

Cryptography

EbeeKedu
njirimara na mbinye akasecp256k1 nwere mbinye aka Schnorr (BIP-340), dịka Nostr siri kọwaa.
Ozi onwe na nkata otuNIP-44 v2: ECDH na secp256k1, HKDF-SHA256, ChaCha20 nwere HMAC-SHA256, na padding otú ogologo ciphertext adịghị enye ogologo ozi pụọ.
Oge ntupu BluetoothNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 maka ịkpọsa mbinye aka, SHA-256 na HMAC n'okpuru.
njirimara na izu ikeAES-GCM-256. Igodo ahụ si na PBKDF2-SHA256 na 310,000 iterations maka paswọọdụ ma ọ bụ PIN, ma ọ bụ site na WebAuthn PRF mmepụta site na HKDF-SHA256 maka passkey ma ọ bụ biometric.
Oku na mbufe faịlụWebRTC nwe DTLS-SRTP, kparita uka n'igosi NIP-17 kechie.
Enweghị usoroIkpo okwu CSPRNG niile - igodo, nonces, na ihe mkpuchi timestamp onyinye.

Nchedo metadata

Nkọwa abụọ dị na ụzọ ihe mkpuchi onyinye kwesịrị ịkpọ, n'ihi na ha bụ ihe dị iche iche NIP-59 site na "ezoro ezo, mana o doro anya na site na gị ruo ha":

  • Ihe mkpuchi ọ bụla bụ nke a bịanyere aka na ya igodo otu oge emepụtara maka ozi ahụ naanị, ya mere, ọ dịghị ihe mkpuchi abụọ na-ekekọrịta onye na-ezipụ.
  • Ihe mkpuchi ọ bụla created_at bụ na-akwadoghị ihe ruru abụọ awa iji CSPRNG, yabụ oge izipu na ịnata enweghị ike ịdekọ.

Mkparịta ụka otu na-agbakwunye ephemeral na-atụgharị onye nnata igodo n'elu nke ahụ - lee Ka otu nzuzo si arụ ọrụ.

Na-agụ isi iyi

Ihe mbụ crypto dị na js/nym-crypto.js na js/modules/key-vault.js na ngwa webụ, na n'okpuru android-ios-app/lib/core/crypto/ na lib/services/mesh/noise/ na ngwa Flutter. Nke ebe nchekwa bụ AGPL-3.0 ma zuo oke - enweghị akụrụngwa mechiri emechi iji nweta ntụkwasị obi.