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ɔ.
Woɖe axa sia gɔme to mɔ̃ dzi be wòanɔ bɔbɔe. Eŋlisigbe me gbãtɔae nye gɔmeɖeɖe si sɔ.
Nudzɔdzɔ ƒomeviwo
| Nyo dɔme | Wozãnɛ na | De dzesii |
|---|---|---|
0 | Profile metadata | Standard Nostr profile: ŋkɔ, nɔnɔmetata, aflaga, ku ɖe, . lud16. |
5 | Nubiabia be woaɖee ɖa | NIP-09 ƒe agbalẽ. |
7 | Amewo ƒe nuwɔna | NIP-25, si me a ['k', originalKind] tag ale be wotsɔa nuwɔna aɖe dea agbalẽ me ɖe mɔ̃ ƒomevi si sɔ ŋu. |
13 | Nutrenu | NIP-17 gbedasi ƒe titina. |
14 | Ame ŋutɔ ƒe gbedasi ŋuti nyaʋiʋli | Womede asi ete o, eye wometae le eɖokui si gbeɖe o. |
1059 | Nunanawo ƒe babla | NIP-59 ƒe agbalẽa. Nusi tututu ɖoa relay gbɔ na ame ŋutɔ ƒe gbedasiwo kple ƒuƒoƒo me dzeɖoɖowo. |
1984 | Nyatakakawo nana | NIP-56 ƒe agbalẽa. |
9734 / 9735 | Zap biabia kple zap xɔxɔ | NIP-57 ƒe agbalẽa. |
10030 | Emoji pack ƒe xexlẽdzesi siwo wowɔ ɖe ɖoɖo nu | NIP-30 ƒe agbalẽ. |
20000 | Geohash channel ƒe gbedasi | Ephemeral, si wotsɔ dzesi de dzesii ['g', geohash]. |
23333 | Ŋkɔ na mɔ̃a ƒe gbedasi | Ephemeral, si wotsɔ dzesi de dzesii ['d', channel]. |
24420 / 24421 | Dutoƒo nuŋɔŋlɔ ƒe dzesiwo kple nuxexlẽ ƒe gaxɔgbalẽviwo | Nymchat-koŋ, na dutoƒo television dɔwɔƒewo. |
25051 / 25052 | Hatiwo ƒe dzesiwo nana kple faɛl-ɖoɖoɖa ƒe nɔnɔme | Nymchat-koŋ koŋ. |
30030 | Emoji-ɖoɖo siwo wowɔ ɖe ɖoɖo nu | NIP-30 ƒe agbalẽ. |
30078 | Dɔdamɔnu ŋuti nyatakakawo | NIP-78 ƒe agbalẽa. Polls, kple ɖoɖo siwo wotsɔ nya ɣaɣlawo ŋlɔ la wɔa ɖeka. |
69420 | Ame ŋutɔ ƒe nuxexlẽ ƒe gaxɔgbalẽviwo kple dɔdɔ ƒe nɔnɔme | Nymchat-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ɔ
| NIP | Nusi 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ẽa | Amewo ƒe nuwɔna. |
| NIP-30 ƒe agbalẽ | Emoji si wowɔ ɖe ɖoɖo nu. |
| NIP-40 ƒe agbalẽa | Expiration 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ẽa | Nyatakakawo nana. |
| NIP-57 ƒe agbalẽa | Dzikedzo ƒe zaps. |
| NIP-59 ƒe agbalẽa | Nunanawo ƒe bablawo. |
| NIP-78 ƒe agbalẽa | Dɔbiagbalẽvi si wowɔ le wo ɖokui si. |
| NIP-98 ƒe agbalẽa | HTTP auth, na nuwuƒe siwo woxɔ. |
Nya ɣaɣlawo ƒe nuŋɔŋlɔ
| Afi ka | Nu ka |
|---|---|
| Dzesidede ame kple asidede agbalẽ te | secp256k1 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ɖowo | NIP-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ɣiwo | Toɣ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ɣi | AES-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 amewo | WebRTC ŋutɔ ƒe DTLS-SRTP, si wowɔ ɖoɖo ɖe NIP-17-xatsa dzesiwo ŋu. |
| Nusiwo wowɔna le vome | Nuƒ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_atenye 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.
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.