Saltatu edukira
Itzuli Nymchat-era

Ezagutza oinarria Kaputxa azpian

Protokoloa eta ekitaldiak

Nymchatek benetan jartzen duena alanbrean, horren aurka eraikitzen duen edonorentzat, ikuskatzea, edo beste Nostr bezero baten gertaerak irakurtzea.

Gertaera motak

JatorraHorretarako erabiltzen daOharrak
0Profilaren metadatuakNostr profil estandarra: izena, argazkia, pankarta, buruz, lud16.
5Ezabatzeko eskaerakNIP-09.
7ErreakzioakNIP-25, batekin ['k', originalKind] etiketa, beraz, erreakzio bat kanal mota egokiaren aurka aurkeztuko da.
13ZigiluaNIP-17 mezu baten erdiko geruza.
14Mezu pribatuko zurrumurruaSinatu gabe, eta inoiz bere kabuz argitaratu.
1059Opari-paperaNIP-59. Mezu pribatuetarako eta taldeko txatetarako errelebo batera iristen dena.
1984Txostenak emateaNIP-56.
9734 / 9735Zap eskaera eta zap ordainagiriaNIP-57.
10030Emoji paketeen zerrenda pertsonalizatuakNIP-30.
20000Geohash kanalaren mezuaEfimeroa, etiketatua ['g', geohash].
23333Izeneko kanalaren mezuaEfimeroa, etiketatua ['d', channel].
24420 / 24421Mekanografia-adierazle publikoak eta irakurritako ordainagiriakNymchat-en espezifikoa, kanal publikoetarako.
25051 / 25052Peer-to-peer seinaleztapena eta fitxategi-transferentziaren egoeraNymchat-en espezifikoa.
30030Emoji multzo pertsonalizatuakNIP-30.
30078Aplikazioaren datuakNIP-78. Inkestak eta enkriptatutako ezarpenak sinkronizatzen dira.
69420Irakurketa-agiri pribatuak eta entrega-egoeraNymchat-en espezifikoa, zurrumurru gisa eramana opari-paper baten barruan. Mota bereizia 14 nahita, beraz, beste NIP-17 bezeroek ez dituzte zuzeneko mezu hutsik ematen ordainagiri bakoitzeko.

NIPak Nymchat tresnak

NIPZer ematen dio Nymchat
NIP-07Hasi saioa arakatzailearen luzapen batekin.
NIP-09Ezabatzeko eskaerak.
NIP-13Lanaren froga. Irteerako mezuak gutxienez 16 bit-era ateratzen dira.
NIP-17Zuzeneko mezu pribatuak, eta taldeko txatetarako oinarria.
NIP-25Erreakzioak.
NIP-30Emoji pertsonalizatua.
NIP-40Iraungitze denbora-zigiluak — desagertzen ari diren mezuak.
NIP-44Bertsiodun enkriptatzea, zigiluak, bilgarriak eta ezarpenak sinkronizatzeko erabiltzen dena.
NIP-46Urruneko sinadura - bunker://.
NIP-56Txostenak ematea.
NIP-57Tximista zapiak.
NIP-59Opari-paperak.
NIP-78Aplikazio arbitrarioko datuak.
NIP-98HTTP autentifikazioa, ostatatutako amaierako puntuetarako.

Kriptografia

NonZer
Nortasuna eta sinaduraksecp256k1 Schnorr sinadurarekin (BIP-340), Nostr-ek zehazten duen moduan.
Mezu pribatuak eta taldeko txatakNIP-44 v2: ECDH secp256k1-en, HKDF-SHA256, ChaCha20 HMAC-SHA256-rekin eta betegarria, zifratutako testuaren luzerak mezuaren luzera ez dezan uzten.
Bluetooth sareko saioakNoise XX - X25519, ChaCha20-Poly1305 (IETF), Ed25519 sinadurak iragartzeko, SHA-256 eta HMAC azpian.
Identitatea atsedenaldianAES-GCM-256. Gakoa PBKDF2-SHA256tik dator 310.000 iteraziotan pasahitz edo PIN baterako, edo WebAuthn PRF irteera batetik HKDF-SHA256 bidez pasahitz edo biometriko baterako.
Deiak eta fitxategien transferentziakWebRTC-ren DTLS-SRTP propioa, NIP-17-n bildutako seinaleztapenaren bidez negoziatua.
AusazkotasunaCSPRNG plataforma osoan zehar: gakoak, noncek eta opari-zigiluaren denbora-zigilua.

Metadatuen babesa

Opari-biltzeko bideko bi xehetasun deitzea merezi dute, NIP-59 bereizten dutenak baitira "zifratua, baina jakina zugandik haietara":

  • Wrap bakoitzak a sinatzen du behin-behineko giltza mezu horretarako bakarrik sortua, beraz, ez dute bi itzulbirik igorlerik partekatzen.
  • Bilgarri bakoitza created_at da Gehienez bik ausaz atzerako data orduak CSPRNG erabiliz, beraz, bidaltzeko eta jasotzeko orduak ezin dira lerrokatu.

Taldeko txateek iragankortasun birakaria gehitzen dute hartzailea horren gainean giltzak — ikus Taldeen enkriptatzea nola funtzionatzen duen.

Iturria irakurtzen

Kripto primitiboak barruan daude js/nym-crypto.js eta js/modules/key-vault.js web aplikazioan, eta azpian android-ios-app/lib/core/crypto/ eta lib/services/mesh/noise/ Flutter aplikazioan. The biltegia AGPL-3.0 da eta osatua - ez dago konfiantza hartzeko osagai itxirik.