Məzmuna keçin
Nymchat səhifəsinə qayıt

Bilik bazası Başlıq altında

Protokol və hadisələr

Nymchat əslində telə qoyur, ona qarşı olan hər kəs üçün, onu yoxlamaq və ya başqa Nostr müştərisindən hadisələri oxumaq.

Hadisə növləri

mehribanüçün istifadə olunurQeydlər
0Profil metadatasıStandart Nostr profili: ad, şəkil, banner, haqqında, lud16.
5Silinmə sorğularıNIP-09.
7ReaksiyalarNIP-25, a ['k', originalKind] etiket edin ki, düzgün kanal növünə qarşı reaksiya verilsin.
13MöhürNIP-17 mesajının orta təbəqəsi.
14Şəxsi mesaj şayiəsiİmzasızdır və heç vaxt öz başına dərc olunmur.
1059Hədiyyə paketiNIP-59. Əslində şəxsi mesajlar və qrup söhbətləri üçün relaya çatan şey.
1984HesabatNIP-56.
9734 / 9735Zap sorğusu və zap qəbziNIP-57.
10030Fərdi emoji paketi siyahılarıNIP-30.
20000Geohash kanal mesajıEfemer, etiketlənmiş ['g', geohash].
23333Adlandırılmış kanal mesajıEfemer, etiketlənmiş ['d', channel].
24420 / 24421Açıq yazma göstəriciləri və oxunuş qəbzləriİctimai kanallar üçün xüsusi Nymchat.
25051 / 25052Peer-to-peer siqnalizasiya və fayl ötürmə statusuNymchat-a xasdır.
30030Fərdi emoji dəstləriNIP-30.
30078Tətbiq məlumatlarıNIP-78. Sorğular və şifrələnmiş parametrlər sinxronlaşdırılır.
69420Şəxsi oxunuş qəbzləri və çatdırılma statusuNymchat-a xas, bir hədiyyə paketi içərisində şayiə olaraq daşınır. Ayrı bir növ 14 qəsdən, buna görə də digər NIP-17 müştəriləri hər qəbz üçün boş birbaşa mesajlar vermir.

NIPs Nymchat tətbiq edir

NIPNymchat nə verir
NIP-07Brauzer uzantısı ilə daxil olun.
NIP-09Silinmə sorğuları.
NIP-13İşin sübutu. Gedən mesajlar ən azı 16 bitə bölünür.
NIP-17Şəxsi birbaşa mesajlar və qrup söhbətləri üçün əsas.
NIP-25Reaksiyalar.
NIP-30Fərdi emoji.
NIP-40İstifadə müddəti bitən zaman ştampları — yoxa çıxan mesajlar.
NIP-44Möhürlər, bağlamalar və parametrlərin sinxronlaşdırılması üçün istifadə edilən versiyalı şifrələmə.
NIP-46Uzaqdan imzalama — bunker://.
NIP-56Hesabat.
NIP-57İldırım çaxır.
NIP-59Hədiyyə paketləri.
NIP-78İxtiyari tətbiq məlumatları.
NIP-98Host edilmiş son nöqtələr üçün HTTP auth.

Kriptoqrafiya

Harada
Şəxsiyyət və imzalarSecp256k1 Schnorr imzaları ilə (BIP-340), Nostr müəyyən edir.
Şəxsi mesajlar və qrup söhbətləriNIP-44 v2: secp256k1-də ECDH, HKDF-SHA256, HMAC-SHA256 ilə ChaCha20 və şifrəli mətn uzunluğu mesajın uzunluğunu verməməsi üçün doldurma.
Bluetooth mesh seanslarıSəs-küy XX — X25519, ChaCha20-Poly1305 (IETF), imzaları elan etmək üçün Ed25519, altındakı SHA-256 və HMAC.
İstirahət zamanı şəxsiyyətAES-GCM-256. Açar parol və ya PİN üçün 310.000 təkrarlama ilə PBKDF2-SHA256-dan və ya keçid açarı və ya biometrik üçün HKDF-SHA256 vasitəsilə WebAuthn PRF çıxışından gəlir.
Zənglər və fayl köçürmələriWebRTC-nin öz DTLS-SRTP-si, NIP-17 ilə bükülmüş siqnal üzərində danışıqlar aparmışdır.
TəsadüfilikPlatforma CSPRNG boyunca — açarlar, boşluqlar və hədiyyə paketinin vaxt möhürü titrəməsi.

Metadata qorunması

Hədiyyə paketi yolunda iki detalı qeyd etməyə dəyər, çünki onlar NIP-59-u bir-birindən ayırırlar "şifrələnmiş, lakin sizdən onlara":

  • Hər paket bir tərəfindən imzalanır birdəfəlik açar yalnız bu mesaj üçün yaradılan, belə ki, heç bir iki paket göndəricini paylaşmır.
  • Hər sarğı created_at edir ikiyə qədər təsadüfi olaraq geri tarixlənir saat CSPRNG istifadə edərək, göndərmə və qəbul vaxtlarını sıralamaq olmaz.

Qrup çatları fırlanan efemer əlavə edir alıcı bunun üstündəki düymələr - baxın Qrup şifrələməsi necə işləyir.

Mənbənin oxunması

Kripto primitivləri var js/nym-crypto.jsjs/modules/key-vault.js veb proqramında və altında android-ios-app/lib/core/crypto/lib/services/mesh/noise/ Flutter proqramında. The anbar AGPL-3.0-dır və tamdır — etibar etmək üçün qapalı komponent yoxdur.