Bilgi tabanı Kaputun altında
Protokol ve etkinlikler
Nymchat'in aslında ona karşı inşa eden herkes için tellere koyduğu şey, denetlemek veya başka bir Nostr istemcisinden gelen olayları okumak.
Bu sayfa kolaylık sağlamak amacıyla makine tarafından çevrilmiştir. İngilizce orijinali geçerli olan versiyondur.
Etkinlik türleri
| Tür | İçin kullanılır | Notlar |
|---|---|---|
0 | Profil meta verileri | Standart Nostr profili: isim, resim, banner, hakkında, lud16. |
5 | Silme istekleri | NIP-09. |
7 | Tepkiler | NIP-25, ['k', originalKind] etiketleyerek doğru kanal türüne karşı bir tepki verilmesini sağlayın. |
13 | Fok | NIP-17 mesajının orta katmanı. |
14 | Özel mesaj söylentisi | İmzasızdır ve tek başına yayınlanmamıştır. |
1059 | Hediye paketi | NIP-59. Aslında özel mesajlar ve grup sohbetleri için aktarıcıya ulaşan şey. |
1984 | Raporlama | NIP-56. |
9734 / 9735 | Zap isteği ve zap makbuzu | NIP-57. |
10030 | Özel emoji paketi listeleri | NIP-30. |
20000 | Geohash kanal mesajı | Geçici, etiketli ['g', geohash]. |
23333 | Adlandırılmış kanal mesajı | Geçici, etiketli ['d', channel]. |
24420 / 24421 | Herkese açık yazma göstergeleri ve okundu bilgileri | Genel kanallar için Nymchat'e özel. |
25051 / 25052 | Eşler arası sinyalleşme ve dosya aktarım durumu | Nymchat'e özgü. |
30030 | Özel emoji setleri | NIP-30. |
30078 | Uygulama verileri | NIP-78. Anketler ve şifrelenmiş ayarlar senkronize edilir. |
69420 | Özel okundu bilgileri ve teslimat durumu | Nymchat'e özel, hediye paketinde söylenti olarak taşınan. Ayrı bir tür 14 kasıtlı olarak, diğer NIP-17 istemcileri her alındı için boş doğrudan mesajlar oluşturmaz. |
Nymchat'in uyguladığı NIP'ler
| UUP | Nymchat'e ne verir? |
|---|---|
| NIP-07 | Bir tarayıcı uzantısıyla giriş yapın. |
| NIP-09 | Silme talepleri. |
| NIP-13 | Çalışma kanıtı. Giden mesajlar en az 16 bit olacak şekilde çıkarılır. |
| NIP-17 | Özel doğrudan mesajlar ve grup sohbetlerinin temeli. |
| NIP-25 | Reaksiyonlar. |
| NIP-30 | Özel emoji. |
| NIP-40 | Sona erme zaman damgaları — kaybolan mesajlar. |
| NIP-44 | Mühürler, sarmalar ve ayarların senkronizasyonu için kullanılan versiyonlu şifreleme. |
| NIP-46 | Uzaktan imzalama — bunker://. |
| NIP-56 | Raporlama. |
| NIP-57 | Yıldırım zapları. |
| NIP-59 | Hediye paketleri. |
| NIP-78 | Keyfi uygulama verileri. |
| NIP-98 | Barındırılan uç noktalar için HTTP kimlik doğrulaması. |
Kriptografi
| Nerede | Ne |
|---|---|
| Kimlik ve imzalar | Nostr'ın belirttiği gibi Schnorr imzalarına (BIP-340) sahip secp256k1. |
| Özel mesajlar ve grup sohbetleri | NIP-44 v2: secp256k1, HKDF-SHA256, HMAC-SHA256 ile ChaCha20 üzerinde ECDH ve şifreli metin uzunluğunun mesaj uzunluğunu ortadan kaldırmayacak şekilde doldurulması. |
| Bluetooth ağ oturumları | Noise XX — X25519, ChaCha20-Poly1305 (IETF), anons imzaları için Ed25519, altta SHA-256 ve HMAC. |
| Dinlenme halindeki kimlik | AES-GCM-256. Anahtar, bir şifre veya PIN için 310.000 yinelemede PBKDF2-SHA256'dan veya şifre veya biyometrik için HKDF-SHA256 aracılığıyla bir WebAuthn PRF çıkışından gelir. |
| Aramalar ve dosya aktarımları | WebRTC'nin kendi DTLS-SRTP'si, NIP-17 ile sarılmış sinyalleşme üzerinden anlaşma sağladı. |
| Rastgelelik | CSPRNG platformu baştan sona - anahtarlar, tekrarlar ve hediye paketi zaman damgası titreşimi. |
Meta veri koruması
Hediye paketi yolundaki iki ayrıntıya değinmeye değer çünkü bunlar NIP-59'u ayıran şeylerdir. "şifreli ama tabii ki sizden onlara":
- Her paket bir kişi tarafından imzalanır tek kullanımlık anahtar yalnızca bu mesaj için oluşturulmuş, yani hiçbir iki paket aynı göndericiyi paylaşmaz.
- Her ambalaj
created_atöyle rastgele en fazla iki tarih geriye doğru tarihlenir saat CSPRNG kullanıldığından gönderme ve alma süreleri sıralanamaz.
Grup sohbetleri dönüşümlü olarak geçici hale gelir alıcı bunun üzerine anahtarlar - bkz. Grup şifrelemesi nasıl çalışır?.
Kripto ilkelleri burada js/nym-crypto.js Ve
js/modules/key-vault.js web uygulamasında ve altında
android-ios-app/lib/core/crypto/ Ve
lib/services/mesh/noise/ Flutter uygulamasında.
depo
AGPL-3.0'dır ve eksiksizdir; güven alınacak kapalı bir bileşen yoktur.