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.
Kjo faqe është përkthyer me makinë për lehtësi. Origjinali në anglisht është versioni që zbatohet.
Llojet e ngjarjeve
| E sjellshme | Përdoret për | Shënime |
|---|---|---|
0 | Të dhënat meta të profilit | Profili standard i Nostr: emri, fotografia, banderola, rreth, lud16. |
5 | Kërkesat për fshirje | NIP-09. |
7 | Reagimet | NIP-25, me një ['k', originalKind] tag kështu që një reagim është paraqitur kundër llojit të duhur të kanalit. |
13 | Vulë | Shtresa e mesme e një mesazhi NIP-17. |
14 | Thashetheme me mesazh privat | E panënshkruar dhe nuk botohet kurrë më vete. |
1059 | Mbulesa e dhuratave | NIP-59. Çfarë në të vërtetë arrin një stafetë për mesazhe private dhe biseda në grup. |
1984 | Raportimi | NIP-56. |
9734 / 9735 | Kërkesa Zap dhe fatura zap | NIP-57. |
10030 | Listat e personalizuara të paketave të emoji-ve | NIP-30. |
20000 | Mesazh i kanalit Geohash | Efemerale, etiketuar ['g', geohash]. |
23333 | Mesazh i emërtuar i kanalit | Efemerale, etiketuar ['d', channel]. |
24420 / 24421 | Treguesit e shtypjes publike dhe faturat e leximit | Nymchat specifike, për kanale publike. |
25051 / 25052 | Sinjalizim peer-to-peer dhe statusi i transferimit të skedarëve | Nymchat-specifike. |
30030 | Komplete emoji të personalizuara | NIP-30. |
30078 | Të dhënat e aplikacionit | NIP-78. Sondazhet dhe sinkronizimi i cilësimeve të koduara. |
69420 | Faturat private të leximit dhe statusi i dorëzimit | Specifike 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-07 | Hyni me një shtesë të shfletuesit. |
| NIP-09 | Kërkesat për fshirje. |
| NIP-13 | Dëshmi e punës. Mesazhet dalëse minohen në të paktën 16 bit. |
| NIP-17 | Mesazhe të drejtpërdrejta private dhe baza për bisedat në grup. |
| NIP-25 | Reagimet. |
| NIP-30 | Emoji të personalizuara. |
| NIP-40 | Vula kohore të skadimit - mesazhe që zhduken. |
| NIP-44 | Kriptim i versionuar, i përdorur për vulosje, mbështjellje dhe sinkronizimin e cilësimeve. |
| NIP-46 | Nënshkrimi në distancë - bunker://. |
| NIP-56 | Raportimi. |
| NIP-57 | Rrufeja zap. |
| NIP-59 | Mbulesa dhuratash. |
| NIP-78 | Të dhëna arbitrare të aplikimit. |
| NIP-98 | Vërtetimi i HTTP, për pikat fundore të pritura. |
Kriptografia
| Ku | Çfarë |
|---|---|
| Identiteti dhe nënshkrimet | secp256k1 me nënshkrimet Schnorr (BIP-340), siç specifikon Nostr. |
| Mesazhe private dhe biseda në grup | NIP-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ë Bluetooth | Zhurma XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 për nënshkrimet e shpalljes, SHA-256 dhe HMAC poshtë. |
| Identiteti në pushim | AES-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ëve | DTLS-SRTP i vetë WebRTC, i negociuar mbi sinjalizimin e mbështjellë me NIP-17. |
| Rastësi | Platforma 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.
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.