Ti kpo yi emenyawo gbɔ
Trɔ yi Nymchat dzi

Sidzedze ƒe gɔmeɖoanyi Le ʋuƒoa te

Protocol kple nudzɔdzɔwo

Nusi Nymchat tsɔ de ka la dzi ŋutɔŋutɔ, na amesiame si le xɔ tum ɖe eŋu, . eƒe agbalẽdzikpɔkpɔ, alo nudzɔdzɔwo xexlẽ tso Nostr ƒe asisi bubu gbɔ.

Nudzɔdzɔ ƒomeviwo

Nyo dɔmeWozãnɛ naDe dzesii
0Profile metadataStandard Nostr profile: ŋkɔ, nɔnɔmetata, aflaga, ku ɖe, . lud16.
5Nubiabia be woaɖee ɖaNIP-09 ƒe agbalẽ.
7Amewo ƒe nuwɔnaNIP-25, si me a ['k', originalKind] tag ale be wotsɔa nuwɔna aɖe dea agbalẽ me ɖe mɔ̃ ƒomevi si sɔ ŋu.
13NutrenuNIP-17 gbedasi ƒe titina.
14Ame ŋutɔ ƒe gbedasi ŋuti nyaʋiʋliWomede asi ete o, eye wometae le eɖokui si gbeɖe o.
1059Nunanawo ƒe bablaNIP-59 ƒe agbalẽa. Nusi tututu ɖoa relay gbɔ na ame ŋutɔ ƒe gbedasiwo kple ƒuƒoƒo me dzeɖoɖowo.
1984Nyatakakawo nanaNIP-56 ƒe agbalẽa.
9734 / 9735Zap biabia kple zap xɔxɔNIP-57 ƒe agbalẽa.
10030Emoji pack ƒe xexlẽdzesi siwo wowɔ ɖe ɖoɖo nuNIP-30 ƒe agbalẽ.
20000Geohash channel ƒe gbedasiEphemeral, si wotsɔ dzesi de dzesii ['g', geohash].
23333Ŋkɔ na mɔ̃a ƒe gbedasiEphemeral, si wotsɔ dzesi de dzesii ['d', channel].
24420 / 24421Dutoƒo nuŋɔŋlɔ ƒe dzesiwo kple nuxexlẽ ƒe gaxɔgbalẽviwoNymchat-koŋ, na dutoƒo television dɔwɔƒewo.
25051 / 25052Hatiwo ƒe dzesiwo nana kple faɛl-ɖoɖoɖa ƒe nɔnɔmeNymchat-koŋ koŋ.
30030Emoji-ɖoɖo siwo wowɔ ɖe ɖoɖo nuNIP-30 ƒe agbalẽ.
30078Dɔdamɔnu ŋuti nyatakakawoNIP-78 ƒe agbalẽa. Polls, kple ɖoɖo siwo wotsɔ nya ɣaɣlawo ŋlɔ la wɔa ɖeka.
69420Ame ŋutɔ ƒe nuxexlẽ ƒe gaxɔgbalẽviwo kple dɔdɔ ƒe nɔnɔmeNymchat-koŋ, si wotsɔna abe nyakpakpa ene le nunana babla me. A ƒomevi aɖe si to vovo tso 14 ɖoe koŋ, ale be NIP-17 ƒe asisi bubuwo meɖoa gbedasi ƒuƒluwo tẽ ɖe gaxɔgbalẽvi ɖesiaɖe ta o.

NIPs Nymchat wɔa dɔ

NIPNusi wòna Nymchat
NIP-07 ƒe agbalẽTsɔ web-browser ƒe kpeɖeŋutɔ ge ɖe eme.
NIP-09 ƒe agbalẽNubiabia be woaɖee ɖa.
NIP-13 ƒe agbalẽDɔwɔwɔ ƒe kpeɖodzi. Woɖea gbedasi siwo dona ɖa la ɖe bit 16 ya teti dzi.
NIP-17 ƒe agbalẽGbedasi siwo woɖona tẽ tso ame ŋutɔ gbɔ, kple nusi dzi woanɔ te ɖo aɖo dze le ƒuƒoƒo me.
NIP-25 ƒe agbalẽaAmewo ƒe nuwɔna.
NIP-30 ƒe agbalẽEmoji si wowɔ ɖe ɖoɖo nu.
NIP-40 ƒe agbalẽaExpiration timestamps — gbedasi siwo bu.
NIP-44 ƒe agbalẽVersioned encryption, si wozãna na seals, wraps kple settings sync.
NIP-46 ƒe agbalẽAsidede agbalẽ te le didiƒe — . bunker://.
NIP-56 ƒe agbalẽaNyatakakawo nana.
NIP-57 ƒe agbalẽaDzikedzo ƒe zaps.
NIP-59 ƒe agbalẽaNunanawo ƒe bablawo.
NIP-78 ƒe agbalẽaDɔbiagbalẽvi si wowɔ le wo ɖokui si.
NIP-98 ƒe agbalẽaHTTP auth, na nuwuƒe siwo woxɔ.

Nya ɣaɣlawo ƒe nuŋɔŋlɔ

Afi kaNu ka
Dzesidede ame kple asidede agbalẽ tesecp256k1 kple Schnorr ƒe asidede agbalẽ te (BIP-340), abe alesi Nostr gblɔe ene.
Ame ŋutɔ ƒe gbedasiwo kple ƒuƒoƒo me dzeɖoɖowoNIP-44 v2: ECDH le secp256k1, HKDF-SHA256, ChaCha20 kple HMAC-SHA256, kple padding ale be ciphertext ƒe didime mena gbedasi ƒe didime o.
Bluetooth mesh ƒe ɣeyiɣiwoToɣliɖeɖe XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 na gbeƒãɖeɖe ƒe asidede agbalẽ te, SHA-256 kple HMAC le ete.
Dzesidede ame le gbɔɖemeɣiAES-GCM-256 ƒe agbalẽa. Safuia tso PBKDF2-SHA256 le 310,000 iterations na password alo PIN, alo tso WebAuthn PRF output to HKDF-SHA256 na passkey alo biometric.
Kaƒoƒo kple faɛlwo ɖoɖo ɖe amewoWebRTC ŋutɔ ƒe DTLS-SRTP, si wowɔ ɖoɖo ɖe NIP-17-xatsa dzesiwo ŋu.
Nusiwo wowɔna le vomeNuƒolanɔƒea CSPRNG katã — safuiwo, nonces, kple nunana-xatsa ɣeyiɣidzesi jitter.

Metadata takpɔkpɔ

Edze be míayɔ nya eve siwo le nunana babla ƒe mɔa dzi tsitotsito, elabena woawoe ma NIP-59 dome tso "encrypted, gake edze ƒã tso gbɔwò va ɖo wo gbɔ":

  • Wodea asi agbalẽ xatsaxatsa ɖesiaɖe te kple a safui si wozãna zi ɖeka si wowɔ na gbedasi ma ɖeɖeko, . eyata agbalẽ xatsaxatsa eve aɖeke mamã ame aɖe si ɖoe ɖa o.
  • Wrap ɖesiaɖe ƒe created_at enye wotsɔa eve ɖoa megbe le vome gaƒoƒo geɖe zã CSPRNG, eyata womate ŋu aɖo ɣeyiɣi siwo woaɖo ɖa kple esiwo woaxɔ la ɖe fli me o.

Ƒuƒoƒo me dzeɖoɖowo tsɔa ɣeyiɣi kpui aɖe ƒe nya siwo trɔna kpena ɖe eŋu amesi xɔe safuiwo le ema dzi — kpɔ Alesi ƒuƒoƒo ƒe nya ɣaɣlawo tsɔtsɔ ɣla wɔa dɔe.

Nyadzɔdzɔtsoƒea xexlẽ

Crypto primitives la le eme js/nym-crypto.js kple js/modules/key-vault.js le web app la me, kple le ete android-ios-app/lib/core/crypto/ kple lib/services/mesh/noise/ le Flutter dɔwɔnua me. The nudzraɖoƒe nye AGPL-3.0 eye wòwu enu — akpa aɖeke meli si wotu be woaxɔ kakaɖedzi o.