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.
Bu səhifə rahatlıq üçün maşın tərəfindən tərcümə edilmişdir. İngilis orijinalı tətbiq olunan versiyadır.
Hadisə növləri
| mehriban | üçün istifadə olunur | Qeydlər |
|---|---|---|
0 | Profil metadatası | Standart Nostr profili: ad, şəkil, banner, haqqında, lud16. |
5 | Silinmə sorğuları | NIP-09. |
7 | Reaksiyalar | NIP-25, a ['k', originalKind] etiket edin ki, düzgün kanal növünə qarşı reaksiya verilsin. |
13 | Möhür | NIP-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. |
1059 | Hədiyyə paketi | NIP-59. Əslində şəxsi mesajlar və qrup söhbətləri üçün relaya çatan şey. |
1984 | Hesabat | NIP-56. |
9734 / 9735 | Zap sorğusu və zap qəbzi | NIP-57. |
10030 | Fərdi emoji paketi siyahıları | NIP-30. |
20000 | Geohash kanal mesajı | Efemer, etiketlənmiş ['g', geohash]. |
23333 | Adlandırılmış kanal mesajı | Efemer, etiketlənmiş ['d', channel]. |
24420 / 24421 | Açıq yazma göstəriciləri və oxunuş qəbzləri | İctimai kanallar üçün xüsusi Nymchat. |
25051 / 25052 | Peer-to-peer siqnalizasiya və fayl ötürmə statusu | Nymchat-a xasdır. |
30030 | Fərdi emoji dəstləri | NIP-30. |
30078 | Tə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 statusu | Nymchat-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
| NIP | Nymchat nə verir |
|---|---|
| NIP-07 | Brauzer uzantısı ilə daxil olun. |
| NIP-09 | Silinmə 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-25 | Reaksiyalar. |
| NIP-30 | Fərdi emoji. |
| NIP-40 | İstifadə müddəti bitən zaman ştampları — yoxa çıxan mesajlar. |
| NIP-44 | Möhürlər, bağlamalar və parametrlərin sinxronlaşdırılması üçün istifadə edilən versiyalı şifrələmə. |
| NIP-46 | Uzaqdan imzalama — bunker://. |
| NIP-56 | Hesabat. |
| NIP-57 | İldırım çaxır. |
| NIP-59 | Hədiyyə paketləri. |
| NIP-78 | İxtiyari tətbiq məlumatları. |
| NIP-98 | Host edilmiş son nöqtələr üçün HTTP auth. |
Kriptoqrafiya
| Harada | Nə |
|---|---|
| Şəxsiyyət və imzalar | Secp256k1 Schnorr imzaları ilə (BIP-340), Nostr müəyyən edir. |
| Şəxsi mesajlar və qrup söhbətləri | NIP-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ət | AES-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əri | WebRTC-nin öz DTLS-SRTP-si, NIP-17 ilə bükülmüş siqnal üzərində danışıqlar aparmışdır. |
| Təsadüfilik | Platforma 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_atedir 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.
Kripto primitivləri var js/nym-crypto.js və
js/modules/key-vault.js veb proqramında və altında
android-ios-app/lib/core/crypto/ və
lib/services/mesh/noise/ Flutter proqramında. The
anbar
AGPL-3.0-dır və tamdır — etibar etmək üçün qapalı komponent yoxdur.