Kalo te përmbajtja
Kthehu te Nymchat

Baza e njohurive Nën kapuç

Protokolli dhe ngjarjet

Çfarë Nymchat vendos në të vërtetë, për këdo që ndërton kundër tij, duke e audituar atë, ose duke lexuar ngjarje nga një klient tjetër i Nostr.

Llojet e ngjarjeve

E sjellshmePërdoret përShënime
0Të dhënat meta të profilitProfili standard i Nostr: emri, fotografia, banderola, rreth, lud16.
5Kërkesat për fshirjeNIP-09.
7ReagimetNIP-25, me një ['k', originalKind] tag kështu që një reagim është paraqitur kundër llojit të duhur të kanalit.
13VulëShtresa e mesme e një mesazhi NIP-17.
14Thashetheme me mesazh privatE panënshkruar dhe nuk botohet kurrë më vete.
1059Mbulesa e dhurataveNIP-59. Çfarë në të vërtetë arrin një stafetë për mesazhe private dhe biseda në grup.
1984RaportimiNIP-56.
9734 / 9735Kërkesa Zap dhe fatura zapNIP-57.
10030Listat e personalizuara të paketave të emoji-veNIP-30.
20000Mesazh i kanalit GeohashEfemerale, etiketuar ['g', geohash].
23333Mesazh i emërtuar i kanalitEfemerale, etiketuar ['d', channel].
24420 / 24421Treguesit e shtypjes publike dhe faturat e leximitNymchat specifike, për kanale publike.
25051 / 25052Sinjalizim peer-to-peer dhe statusi i transferimit të skedarëveNymchat-specifike.
30030Komplete emoji të personalizuaraNIP-30.
30078Të dhënat e aplikacionitNIP-78. Sondazhet dhe sinkronizimi i cilësimeve të koduara.
69420Faturat private të leximit dhe statusi i dorëzimitSpecifike për Nymchat, e mbartur si thashetheme brenda një pakete dhuratash. Një lloj i veçantë nga 14 qëllimisht, kështu që klientët e tjerë NIP-17 nuk japin mesazhe të drejtpërdrejta bosh për çdo faturë.

NIP-të zbaton Nymchat

NIPÇfarë i jep Nymchat
NIP-07Hyni me një shtesë të shfletuesit.
NIP-09Kërkesat për fshirje.
NIP-13Dëshmi e punës. Mesazhet dalëse minohen në të paktën 16 bit.
NIP-17Mesazhe të drejtpërdrejta private dhe baza për bisedat në grup.
NIP-25Reagimet.
NIP-30Emoji të personalizuara.
NIP-40Vula kohore të skadimit - mesazhe që zhduken.
NIP-44Kriptim i versionuar, i përdorur për vulosje, mbështjellje dhe sinkronizimin e cilësimeve.
NIP-46Nënshkrimi në distancë - bunker://.
NIP-56Raportimi.
NIP-57Rrufeja zap.
NIP-59Mbulesa dhuratash.
NIP-78Të dhëna arbitrare të aplikimit.
NIP-98Vërtetimi i HTTP, për pikat fundore të pritura.

Kriptografia

KuÇfarë
Identiteti dhe nënshkrimetsecp256k1 me nënshkrimet Schnorr (BIP-340), siç specifikon Nostr.
Mesazhe private dhe biseda në grupNIP-44 v2: ECDH në secp256k1, HKDF-SHA256, ChaCha20 me HMAC-SHA256 dhe mbushje në mënyrë që gjatësia e tekstit të shifruar të mos largojë gjatësinë e mesazhit.
Sesionet me rrjetë BluetoothZhurma XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 për nënshkrimet e shpalljes, SHA-256 dhe HMAC poshtë.
Identiteti në pushimAES-GCM-256. Çelësi vjen nga PBKDF2-SHA256 me 310,000 përsëritje për një fjalëkalim ose PIN, ose nga një dalje WebAuthn PRF përmes HKDF-SHA256 për një çelës kalimi ose biometrik.
Thirrjet dhe transferimet e skedarëveDTLS-SRTP i vetë WebRTC, i negociuar mbi sinjalizimin e mbështjellë me NIP-17.
RastësiPlatforma CSPRNG në të gjithë - çelësat, nonces dhe nervozizmi i vulës kohore të mbështjelljes së dhuratave.

Mbrojtja e meta të dhënave

Dy detaje në rrugën e mbështjelljes së dhuratave ia vlen të përmenden, sepse ato janë ato që veçojnë NIP-59 nga "i koduar, por padyshim nga ju tek ata":

  • Çdo mbështjellje nënshkruhet nga një çelës një herë krijuar vetëm për atë mesazh, kështu që nuk ka dy mbështjellje që ndajnë një dërgues.
  • Çdo mbështjellje created_at është të prapambetura rastësisht deri në dy orë duke përdorur CSPRNG, kështu që oraret e dërgimit dhe të marrjes nuk mund të rreshtohen.

Bisedat në grup shtojnë kalimësi rrotulluese marrësi çelësat në krye të kësaj - shih Si funksionon kriptimi në grup.

Duke lexuar burimin

Kripto primitivët janë në js/nym-crypto.js dhe js/modules/key-vault.js në aplikacionin e uebit dhe nën android-ios-app/lib/core/crypto/ dhe lib/services/mesh/noise/ në aplikacionin Flutter. Të depo është AGPL-3.0 dhe i plotë — nuk ka asnjë komponent të mbyllur për të marrë besim.