Ruka hadi yaliyomo
Rudi kwa Nymchat

Msingi wa maarifa Chini ya kofia

Itifaki na matukio

Ni nini Nymchat huweka kwenye waya, kwa mtu yeyote anayeunda dhidi yake, kuikagua, au kusoma matukio kutoka kwa mteja mwingine wa Nostr.

Aina za matukio

AinaInatumika kwaVidokezo
0Metadata ya wasifuProfaili ya kawaida ya Nostr: jina, picha, bendera, kuhusu, lud16.
5Maombi ya kufutaNIP-09.
7MiitikioNIP-25, pamoja na a ['k', originalKind] tag ili majibu yawekwe dhidi ya aina sahihi ya kituo.
13MuhuriSafu ya kati ya ujumbe wa NIP-17.
14Uvumi wa ujumbe wa kibinafsiHaijatiwa saini, na haijawahi kuchapishwa peke yake.
1059Ufungaji wa zawadiNIP-59. Ni nini hasa hufikia upeanaji ujumbe wa faragha na gumzo za kikundi.
1984KuripotiNIP-56.
9734 / 9735Ombi la Zap na risiti ya zapNIP-57.
10030Orodha maalum za pakiti za emojiNIP-30.
20000Ujumbe wa kituo cha GeohashEphemeral, iliyowekwa alama ['g', geohash].
23333Ujumbe wa kituo uliopewa jinaEphemeral, iliyowekwa alama ['d', channel].
24420 / 24421Viashiria vya kuchapa vya umma na risiti za kusomaNymchat-maalum, kwa vituo vya umma.
25051 / 25052Hali ya uwekaji ishara kutoka kwa rika-kwa-rika na hali ya kuhamisha failiNymchat-maalum.
30030Seti maalum za emojiNIP-30.
30078Data ya maombiNIP-78. Kura, na usawazishaji wa mipangilio iliyosimbwa kwa njia fiche.
69420Stakabadhi za kibinafsi za kusoma na hali ya uwasilishajiNymchat-maalum, iliyobebwa kama uvumi ndani ya zawadi. Aina tofauti na 14 kwa makusudi, ili wateja wengine wa NIP-17 wasitoe ujumbe tupu wa moja kwa moja kwa kila risiti.

NIPs Nymchat zana

NIPNini inatoa Nymchat
NIP-07Ingia na kiendelezi cha kivinjari.
NIP-09Maombi ya kufuta.
NIP-13Ushahidi wa kazi. Ujumbe unaotoka huchimbwa kwa angalau biti 16.
NIP-17Ujumbe wa moja kwa moja wa kibinafsi, na msingi wa mazungumzo ya kikundi.
NIP-25Miitikio.
NIP-30Emoji maalum.
NIP-40Muhuri wa muda wa kuisha - ujumbe unaopotea.
NIP-44Usimbaji fiche uliotolewa, unaotumika kwa mihuri, kanga na usawazishaji wa mipangilio.
NIP-46Kusaini kwa mbali - bunker://.
NIP-56Kuripoti.
NIP-57Vipu vya umeme.
NIP-59Vifuniko vya zawadi.
NIP-78Data ya maombi ya kiholela.
NIP-98HTTP auth, kwa ncha zilizopangishwa.

Crystalgraphy

WapiNini
Utambulisho na sainisecp256k1 na saini za Schnorr (BIP-340), kama Nostr anavyobainisha.
Ujumbe wa kibinafsi na mazungumzo ya kikundiNIP-44 v2: ECDH kwenye secp256k1, HKDF-SHA256, ChaCha20 iliyo na HMAC-SHA256, na kuweka pedi ili urefu wa maandishi ya siri hautoi urefu wa ujumbe.
Vipindi vya matundu ya BluetoothNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 kwa saini za tangazo, SHA-256 na HMAC chini.
Utambulisho katika mapumzikoAES-GCM-256. Ufunguo unatoka kwa PBKDF2-SHA256 kwa marudio 310,000 kwa nenosiri au PIN, au kutoka kwa pato la WebAuthn PRF kupitia HKDF-SHA256 kwa ufunguo wa siri au bayometriki.
Simu na uhamishaji wa failiDTLS-SRTP ya WebRTC yenyewe, iliyojadiliwa kuhusu utumaji mawimbi wa NIP-17.
NasibuMfumo wa CSPRNG kote - funguo, nonces, na muhuri wa nyakati wa kufunga zawadi.

Ulinzi wa metadata

Maelezo mawili katika njia ya kufunga zawadi yanafaa kumwita, kwa sababu ndiyo yanayotenganisha NIP-59 kutoka kwa "iliyosimbwa, lakini ni wazi kutoka kwako kwenda kwao":

  • Kila karatasi imesainiwa na a ufunguo wa wakati mmoja imetolewa kwa ajili ya ujumbe huo pekee, kwa hivyo hakuna safu mbili zinazoshiriki mtumaji.
  • Kila kanga created_at ni imesasishwa na hadi mbili masaa kwa kutumia CSPRNG, kwa hivyo saa za kutuma na kupokea haziwezi kupangwa.

Gumzo za kikundi huongeza muda unaozunguka mpokeaji funguo juu ya hiyo - tazama Jinsi usimbaji fiche wa kikundi unavyofanya kazi.

Kusoma chanzo

Malipo ya awali ya crypto yameingia js/nym-crypto.js na js/modules/key-vault.js katika programu ya wavuti, na chini android-ios-app/lib/core/crypto/ na lib/services/mesh/noise/ katika programu ya Flutter. The hazina ni AGPL-3.0 na imekamilika - hakuna kipengee funge cha kuchukua uaminifu.