Wiesselt op den Inhalt
Zréck op Nymchat

Wëssensbasis Ënnert der Hood

Protokoll an Evenementer

Wat Nymchat tatsächlech op den Drot setzt, fir jiddereen deen dergéint baut, Audit et, oder liesen Evenementer vun engem aneren Nostr Client.

Event Zorte

AartBenotzt firNotizen
0Profil MetadatenStandard Nostr Profil: Numm, Bild, Banner, iwwer, lud16.
5Läschen DemandenNIP-09.
7ReaktiounenNIP-25, mat engem ['k', originalKind] Tag sou datt eng Reaktioun géint de richtege Kanaltyp ofgehale gëtt.
13SigelD'Mëtt Schicht vun engem NIP-17 Message.
14Privat Message RumeurNet ënnerschriwwen, an ni eleng publizéiert.
1059GeschenkverpackungNIP-59. Wat erreecht tatsächlech e Relais fir privat Messagen a Gruppechats.
1984BerichterstattungNIP-56.
9734 / 9735Zap Ufro an Zap EmpfangNIP-57.
10030Benotzerdefinéiert Emoji Pack LëschtenNIP-30.
20000Geohash Kanal MessageEphemeral, tagged ['g', geohash].
23333Numm Kanal MessageEphemeral, tagged ['d', channel].
24420 / 24421Ëffentlech Schreifweis Indicateuren a LiesempfängerNymchat-spezifesch, fir ëffentlech Kanäl.
25051 / 25052Peer-to-Peer-Signalisatioun an Datei-TransferstatusNymchat-spezifesch.
30030Benotzerdefinéiert Emoji SetsNIP-30.
30078Applikatioun DatenNIP-78. Ëmfroen, a verschlësselte Astellunge synchroniséiert.
69420Privat liesen Empfang a Liwwerung StatusNymchat-spezifesch, als Rumeur an engem Kaddoverpackung gedroen. Eng separat Zort vun 14 bewosst, sou datt aner NIP-17 Clienten net eidel Direktnoriichten fir all Empfang maachen.

NIPs Nymchat implementéiert

NIPWat et gëtt Nymchat
NIP-07Login mat enger Browser Extensioun.
NIP-09Läschen Demanden.
NIP-13Beweis vun Aarbecht. Ausgaang Messagen ginn op d'mannst 16 Bits ofgebaut.
NIP-17Privat Direktnoriichten, an der Basis fir Grupp Chat.
NIP-25Reaktiounen.
NIP-30Benotzerdefinéiert Emoji.
NIP-40Verfallszäitstempel - verschwannen Messagen.
NIP-44Versioun Verschlësselung, benotzt fir Seals, Wraps an Astellungssynchroniséierung.
NIP-46Fernënnerschrëft - bunker://.
NIP-56Berichterstattung.
NIP-57Blëtz zaps.
NIP-59Cadeau Wraps.
NIP-78Arbiträr Uwendungsdaten.
NIP-98HTTP Auth, fir déi gehost Endpunkte.

Kryptographie

WouWat
Identitéit an Ënnerschrëftensecp256k1 mat Schnorr Ënnerschrëften (BIP-340), wéi Nostr spezifizéiert.
Privat Messagen a GruppchatsNIP-44 v2: ECDH op secp256k1, HKDF-SHA256, ChaCha20 mat HMAC-SHA256, a padding sou Chiffertext Längt gëtt de Message Längt net ewech.
Bluetooth Mesh SessiounenNoise XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 fir Ënnerschrëften ze verkënnegen, SHA-256 an HMAC drënner.
Identitéit am ReschtAES-GCM-256. De Schlëssel kënnt aus PBKDF2-SHA256 bei 310.000 Iteratiounen fir e Passwuert oder PIN, oder vun engem WebAuthn PRF Output duerch HKDF-SHA256 fir e Passschlëssel oder biometresch.
Appellen an Fichier TransfereWebRTC säin eegene DTLS-SRTP, ausgehandelt iwwer NIP-17-gewéckelt Signaléierung.
ZoufällegkeetD'Plattform CSPRNG uechter - Schlësselen, Nonces, an de Kaddo-Wrap Zäitstempel Jitter.

Metadatenschutz

Zwee Detailer am Cadeau-Wrap-Wee sinn derwäert ze ruffen, well se sinn déi separat NIP-59 aus "verschlësselte, awer selbstverständlech vun Iech un hinnen":

  • All Wrap gëtt ënnerschriwwen vun engem eng Kéier Schlëssel eleng fir dee Message generéiert, also keng zwee Wraps deelen e Sender.
  • All Wrap ass created_at ass zoufälleg backdated vun bis zu zwee Stonnen benotzt der CSPRNG, sou schécken an kréien mol kann net opgestallt ginn.

Gruppechats addéiere rotéierend ephemeral Empfänger Schlësselen op erop - gesinn Wéi Gruppeverschlësselung funktionnéiert.

D'Quell liesen

D'Krypto Primitiv sinn an js/nym-crypto.js an js/modules/key-vault.js an der Web App, an ënner android-ios-app/lib/core/crypto/ an lib/services/mesh/noise/ an der Flutter App. Déi repository ass AGPL-3.0 a komplett - et gëtt keng zouene Komponente fir Vertrauen ze huelen.