Mazmuna geçiň
Nymchat-a gaýdyp geliň

Bilim binýady Kapotyň aşagynda

Protokol we wakalar

Nymçatyň aslynda simiň üstünde goýýan zady, oňa garşy gurýan her bir adam üçin, barlamak ýa-da başga bir Nostr müşderisinden wakalary okamak.

Çäräniň görnüşleri

HoşniýetlilikÜçin ulanylýarBellikler
0Profil metadataStandart Nostr profil: ady, suraty, banner, hakda, lud16.
5Öçürmek haýyşlaryNIP-09.
7ReaksiýalarNIP-25, a ['k', originalKind] belläň, dogry kanal görnüşine garşy reaksiýa berilýär.
13MöhürNIP-17 habarynyň orta gatlagy.
14Şahsy habar myş-myşlaryGol goýulmadyk we hiç wagt özbaşdak çap edilmedi. Möwritiň jogaby bir ['nymthread', rootId] Şifrirlenen gürrüňiň içindäki teg, kökiň paýlaşylan habar ID-sine salgylanýan.
1059Sowgat dolanyşygyNIP-59. Hususy habarlar we topar söhbetleri üçin aslynda estafeta ýetýän zat.
1984HasabatNIP-56.
9734 / 9735Zap haýyşy we zap kwitansiýasyNIP-57.
10030Omörite emoji paket sanawlaryNIP-30.
20000Geohash kanal habaryEfemeral, bellikli ['g', geohash]. Mowzukdaky jogap NIP-10 belgilenen goşýar. ['e', rootId, '', 'root'] teg.
23333Kanal habaryEfemeral, bellikli ['d', channel]. Mowzukdaky jogap NIP-10 belgilenen goşýar. ['e', rootId, '', 'root'] teg.
24420 / 24421Köpçülikleýin ýazmagyň görkezijileri we kwitansiýalary okamakJemgyýetçilik kanallary üçin “Nymchat” -a mahsus.
25051 / 25052Deň-deňdeş signalizasiýa we faýl geçiriş ýagdaýyNymchat-a mahsus.
30030Omörite emoji toplumlaryNIP-30.
30078Programma maglumatlaryNIP-78. Saýlawlar, şifrlenen sazlamalar sinhronlamak we kwantdan soňky açar bildirişler (bellikli) nym-pq, NIP-40 möhleti bilen ML-KEM-768 açyk açary götermek).
69420Şahsy okalýan girdejiler we gowşuryş ýagdaýyNymchat-a mahsus, sowgat bukjasynyň içinde myş-myş hökmünde göterilýär. Aýry-aýry görnüşler 14 bilkastlaýyn, şonuň üçin beýleki NIP-17 müşderileri her kwitansiýa üçin boş göni habar bermeýärler.

NIPs Nymchat gurallary

NIPNymchat-a näme berýär
NIP-07Brauzer giňeltmesi bilen giriň.
NIP-09Öçürmek haýyşlary.
NIP-10Belgilenen jogap tegleri — kanal mowzugynyň jogaby özüniň esasy habaryna nähili görkezýändigi.
NIP-13Işiň subutnamasy. Çykýan habarlar azyndan 16 bit gazylýar.
NIP-17Şahsy göni habarlar we topar söhbetdeşlikleri üçin esas.
NIP-25Reaksiýalar.
NIP-30Omörite emoji.
NIP-40Möhleti gutarýan wagt bellikleri - ýitip barýan habarlar.
NIP-44Möhürler, gaplamalar we sazlamalar sinhronlamak üçin ulanylýan wersiýaly şifrlemek.
NIP-46Uzakdan gol çekmek - bunker://.
NIP-56Hasabat.
NIP-57Ningyldyrym çakýar.
NIP-59Sowgat gaplary.
NIP-78Esassyz programma maglumatlary.
NIP-98Geçirilen ahyrky nokatlar üçin HTTP awtor.

Kriptografiýa

NiredeNäme
Şahsyýet we gollarNostryň görkezişi ýaly, Schnorr gollary bilen (BIP-340) secp256k1.
Şahsy habarlar we topar söhbetleriNIP-44 v2: secp256k1-de ECDH, HKDF-SHA256, HMAC-SHA256 bilen ChaCha20 we şifrlenen tekstiň uzynlygy habaryň uzynlygyny bermeýär.
Nymchat ulanyjylarynyň arasynda şahsy habarlar we topar söhbetleriŞol bir NIP-44 v2 peýdalanyjy maglumaty, üýtgetilmändir, HKDF-SHA256 arkaly ML-KEM-768 (FIPS 203) inkapsulýasiýasyndan alnan açar bilen ChaCha20-Poly1305 içinde ikinji gezek berkidildi. Inkapsulýasiýa şifrlenen teksti we iki sany şahsyýet açary baglanyşykly maglumat hökmünde birleşdirildi we netije bir... pq2. prefiks, şol sebäpli okawçy peýdalanýan maglumaty gözden geçirip, ýoly saýlaýar. Habary dikeltmek üçin iki gatlak hem döwülmeli. Seret kwant çydamly şifrlemek.
Bluetooth mesh sessiýalaryGollary yglan etmek üçin XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519, SHA-256 we HMAC.
Dynç alyşda şahsyýetAES-GCM-256. Açar PBKDF2-SHA256-dan parol ýa-da PIN üçin 310,000 gezek gaýtalanylanda ýa-da açar ýa-da biometrik üçin HKDF-SHA256 arkaly WebAuthn PRF çykyşyndan gelýär.
Çagyryşlar we faýl geçirişleriWebRTC-iň öz DTLS-SRTP, NIP-17 bilen örtülen signal barada gepleşik geçirdi.
TötänlikCSPRNG platformasy - düwmeler, düwmeler we sowgat bilen örtülen wagt belligi.

Metadata goragy

Sowgat bilen örtülen ýolda iki jikme-jiklik çagyrmaga mynasypdyr, sebäbi olar NIP-59-dan aýry "şifrlenen, ýöne aç-açan sizden olara":

  • Her dolama a bir gezeklik açar Diňe şol habar üçin döredildi, şonuň üçin iberiji paýlaşmaýar.
  • Her örtük created_at bolup durýar tötänleýin iki bilen arkalaşdyrylýar sagat CSPRNG ulanyp, wagt ibermek we almak hatara düzülip bilinmez.

Toparlaýyn söhbetdeşlikler aýlanýan efemeri goşýar alyjy üstündäki düwmeler - serediň Topar şifrlemesi nähili işleýär.

Çeşmesini okamak

Kripto başlangyçlary bar js/nym-crypto.js we js/modules/key-vault.js web programmasynda we aşagynda android-ios-app/lib/core/crypto/ we lib/services/mesh/noise/ Flutter programmasynda. The ammar AGPL-3.0 we doly - ynamy ýapmak üçin ýapyk komponent ýok.