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 çekilmedi we hiç haçan özbaşdak çap edilmedi.
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].
23333Kanal habaryEfemeral, bellikli ['d', channel].
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 we şifrlenen sazlamalar sinhronlanýar.
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-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.
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.