İçeriğe atla
Nymchat'e geri dön

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.

Etkinlik türleri

Türİçin kullanılırNotlar
0Profil meta verileriStandart Nostr profili: isim, resim, banner, hakkında, lud16.
5Silme istekleriNIP-09.
7TepkilerNIP-25, ['k', originalKind] etiketleyerek doğru kanal türüne karşı bir tepki verilmesini sağlayın.
13FokNIP-17 mesajının orta katmanı.
14Özel mesaj söylentisiİmzasızdır ve tek başına yayınlanmamıştır.
1059Hediye paketiNIP-59. Aslında özel mesajlar ve grup sohbetleri için aktarıcıya ulaşan şey.
1984RaporlamaNIP-56.
9734 / 9735Zap isteği ve zap makbuzuNIP-57.
10030Özel emoji paketi listeleriNIP-30.
20000Geohash kanal mesajıGeçici, etiketli ['g', geohash].
23333Adlandırılmış kanal mesajıGeçici, etiketli ['d', channel].
24420 / 24421Herkese açık yazma göstergeleri ve okundu bilgileriGenel kanallar için Nymchat'e özel.
25051 / 25052Eşler arası sinyalleşme ve dosya aktarım durumuNymchat'e özgü.
30030Özel emoji setleriNIP-30.
30078Uygulama verileriNIP-78. Anketler ve şifrelenmiş ayarlar senkronize edilir.
69420Özel okundu bilgileri ve teslimat durumuNymchat'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

UUPNymchat'e ne verir?
NIP-07Bir tarayıcı uzantısıyla giriş yapın.
NIP-09Silme 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-25Reaksiyonlar.
NIP-30Özel emoji.
NIP-40Sona erme zaman damgaları — kaybolan mesajlar.
NIP-44Mühürler, sarmalar ve ayarların senkronizasyonu için kullanılan versiyonlu şifreleme.
NIP-46Uzaktan imzalama — bunker://.
NIP-56Raporlama.
NIP-57Yıldırım zapları.
NIP-59Hediye paketleri.
NIP-78Keyfi uygulama verileri.
NIP-98Barındırılan uç noktalar için HTTP kimlik doğrulaması.

Kriptografi

NeredeNe
Kimlik ve imzalarNostr'ın belirttiği gibi Schnorr imzalarına (BIP-340) sahip secp256k1.
Özel mesajlar ve grup sohbetleriNIP-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 kimlikAES-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ı.
RastgelelikCSPRNG 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?.

Kaynağın okunması

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.