Liikuge sisu juurde
Tagasi Nymchati

Teadmistebaas Kapoti all

Protokoll ja sündmused

Mida Nymchat tegelikult paneb, et igaüks, kes selle vastu ehitab, selle auditeerimine või mõne teise Nostri kliendi sündmuste lugemine.

Ürituste liigid

LahkeKasutatudMärkmed
0Profiili metaandmedTavaline Nostri profiil: nimi, pilt, bänner, umbes, lud16.
5KustutamistaotlusedNIP-09.
7ReaktsioonidNIP-25, koos a ['k', originalKind] sildi, nii et reaktsioon esitatakse õige kanalitüübi vastu.
13TihendNIP-17 sõnumi keskmine kiht.
14Privaatsõnumite kuulujuttAllkirjata ja kunagi eraldi avaldatud.
1059Kingituse pakkimineNIP-59. Mis tegelikult jõuab privaatsõnumite ja grupivestluste edastamiseni.
1984AruandlusNIP-56.
9734 / 9735Zap taotlus ja zap kviitungNIP-57.
10030Kohandatud emotikonide pakettide loendidNIP-30.
20000Geohashi kanali sõnumLühiajaline, märgistatud ['g', geohash].
23333Nimega kanali sõnumLühiajaline, märgistatud ['d', channel].
24420 / 24421Avalikud tippimise indikaatorid ja lugemiskviitungidNymchati spetsiifiline, avalike kanalite jaoks.
25051 / 25052Peer-to-peer signaalimine ja failiedastuse olekNymchati spetsiifiline.
30030Kohandatud emotikonide komplektidNIP-30.
30078Rakenduse andmedNIP-78. Küsitlused ja krüptitud seadete sünkroonimine.
69420Privaatsed lugemiskviitungid ja kohaletoimetamise olekNymchatile omane, kuulujutuna kaasas kinkepakendis. Eraldi liik alates 14 tahtlikult, nii et teised NIP-17 kliendid ei renderda iga kviitungi kohta tühje otsesõnumeid.

NIP-id Nymchat rakendab

NIPMida see Nymchatile annab
NIP-07Logige sisse brauserilaiendiga.
NIP-09Kustutamistaotlused.
NIP-13Töötõend. Väljuvad sõnumid kaevandatakse vähemalt 16-bitisteks.
NIP-17Privaatsed otsesõnumid ja grupivestluste alus.
NIP-25Reaktsioonid.
NIP-30Kohandatud emotikon.
NIP-40Aegumise ajatemplid – kaduvad sõnumid.
NIP-44Versiooniga krüptimine, mida kasutatakse tihendite, mähiste ja seadete sünkroonimiseks.
NIP-46Kaugallkirjastamine - bunker://.
NIP-56Aruandlus.
NIP-57Välk lööb.
NIP-59Kingipaberid.
NIP-78Suvalised rakenduse andmed.
NIP-98HTTP autentimine hostitud lõpp-punktide jaoks.

Krüptograafia

KusMida
Identiteet ja allkirjadsecp256k1 Schnorri allkirjadega (BIP-340), nagu Nostri täpsustab.
Privaatsõnumid ja grupivestlusedNIP-44 v2: ECDH on secp256k1, HKDF-SHA256, ChaCha20 koos HMAC-SHA256 ja polsterdus, et šifreeritud teksti pikkus ei jätaks sõnumi pikkust.
Bluetoothi ​​võrguseansidNoise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 allkirjade teatamiseks, SHA-256 ja HMAC all.
Identiteet puhkeolekusAES-GCM-256. Võti pärineb PBKDF2-SHA256-st 310 000 iteratsiooniga parooli või PIN-koodi jaoks või WebAuthni PRF-väljundist HKDF-SHA256 kaudu pääsukoodi või biomeetria jaoks.
Kõned ja failiedastusedWebRTC enda DTLS-SRTP, läbirääkimistel NIP-17 mähitud signaalimise kaudu.
JuhuslikkusPlatvorm CSPRNG läbivalt – võtmed, näpunäited ja kingituste pakkimise ajatempel värisevad.

Metaandmete kaitse

Kaks detaili kingituste pakkimise teel väärivad esiletõstmist, sest need eraldavad NIP-59 "krüpteeritud, kuid ilmselgelt teilt neile":

  • Igale ümbrisele on alla kirjutanud a ühekordne võti loodud ainult selle sõnumi jaoks, nii et kahel wrapil pole saatjat jagatud.
  • Iga mähis created_at on juhuslikult kuni kahe võrra tagasi tundi kasutades CSPRNG-d, seega ei saa saatmis- ja vastuvõtuaegu järjestada.

Grupivestlused lisavad pöörlevat lühiajalisust saaja võtmed peale selle — vt Kuidas grupi krüptimine töötab.

Allika lugemine

Krüptoprimitiivid on sees js/nym-crypto.js ja js/modules/key-vault.js veebirakenduses ja all android-ios-app/lib/core/crypto/ ja lib/services/mesh/noise/ rakenduses Flutter. The hoidla on AGPL-3.0 ja täielik – pole suletud komponenti, mida usaldada.