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 kibinafsiHakuna muamuzi wa kibinadamu aliyekwisha kufanya hivyo. —Yoh. ['nymthread', rootId] tag ndani ya rumor iliyosajiliwa, kutaja id ya ujumbe ulioshirikiwa ya root.
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]Jibu la thread huongeza alama ya NIP-10 ['e', rootId, '', 'root'] ya siku.
23333Ujumbe wa kituo uliopewa jinaEphemeral, iliyowekwa alama ['d', channel]Jibu la thread huongeza alama ya NIP-10 ['e', rootId, '', 'root'] ya siku.
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, usawazishaji wa mipangilio iliyosimbwa kwa njia fiche, na matangazo muhimu ya baada ya quantum (yaliyotambulishwa nym-pq, iliyobeba ufunguo wa umma wa ML-KEM-768 ambao muda wa matumizi wa NIP-40 umeisha).
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.
Kifungu cha 10Marekebisho ya majibu - jinsi majibu ya thread ya channel yanaonyesha kwenye ujumbe wake wa mizizi.
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.
Ujumbe wa faragha na mazungumzo ya kikundi, kati ya watumiaji wa NymchatNIP-44 v2 yenye thamani sawa, isiyobadilishwa, imefungwa kwa mara ya pili ndani ya ChaCha20-Poly1305 iliyofungwa kutoka kwa ML-KEM-768 (FIPS 203) encapsulation kupitia HKDF-SHA256. Nambari ya encapsulation na vifungo viwili vya utambulisho vinahusishwa kama data zinazohusiana, na matokeo yanaonyesha pq2. prefix ili msomaji anachagua njia kwa kuangalia matumizi ya mzigo. viwango vyote viwili vinapaswa kuvunjwa ili kurejesha ujumbe. usimbaji fiche unaostahimili quantum.
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 uwekaji wa 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.