ცოდნის ბაზა კაპოტის ქვეშ
პროტოკოლი და მოვლენები
რასაც Nymchat რეალურად აყენებს მავთულს, ვინც მას ეწინააღმდეგება, მისი აუდიტი, ან ნოსტრის სხვა კლიენტის მოვლენების წაკითხვა.
ეს გვერდი მოხერხებულობისთვის მანქანურად ითარგმნება. ინგლისური ორიგინალი არის ვერსია, რომელიც გამოიყენება.
ღონისძიების სახეები
| კეთილი | გამოიყენება | შენიშვნები |
|---|---|---|
0 | პროფილის მეტამონაცემები | სტანდარტული Nostr პროფილი: სახელი, სურათი, ბანერი, შესახებ, lud16. |
5 | წაშლის მოთხოვნები | NIP-09. |
7 | რეაქციები | NIP-25, ა ['k', originalKind] ტეგი, რათა რეაქცია შეიტანოს სწორი არხის ტიპის წინააღმდეგ. |
13 | ბეჭედი | NIP-17 შეტყობინების შუა ფენა. |
14 | პირადი შეტყობინების ჭორი | ხელმოუწერელია და არასოდეს გამოქვეყნებულა თავისით. |
1059 | სასაჩუქრე შეფუთვა | NIP-59. რა რეალურად აღწევს რელეს პირადი შეტყობინებებისა და ჯგუფური ჩეთებისთვის. |
1984 | მოხსენება | NIP-56. |
9734 / 9735 | Zap მოთხოვნა და zap ქვითარი | NIP-57. |
10030 | მორგებული emoji პაკეტების სიები | NIP-30. |
20000 | Geohash არხის შეტყობინება | ეფემერული, მონიშნული ['g', geohash]. |
23333 | დასახელებული არხის შეტყობინება | ეფემერული, მონიშნული ['d', channel]. |
24420 / 24421 | საჯარო აკრეფის ინდიკატორები და წაკითხული ქვითრები | Nymchat-ს სპეციფიკური, საჯარო არხებისთვის. |
25051 / 25052 | Peer-to-peer სიგნალიზაცია და ფაილის გადაცემის სტატუსი | Nymchat-ს სპეციფიკური. |
30030 | მორგებული emoji ნაკრები | NIP-30. |
30078 | განაცხადის მონაცემები | NIP-78. გამოკითხვები და დაშიფრული პარამეტრების სინქრონიზაცია. |
69420 | პირადი წაკითხვის ქვითრები და მიწოდების სტატუსი | Nymchat-ის სპეციფიკური, ჭორების სახით წარმოდგენილი საჩუქრის შეფუთვაში. ცალკე სახის 14 განზრახ, ამიტომ სხვა NIP-17 კლიენტები არ აწვდიან ცარიელ პირდაპირ შეტყობინებებს ყოველი ქვითრისთვის. |
Nymchat ახორციელებს NIP-ებს
| NIP | რას აძლევს Nymchat-ს |
|---|---|
| NIP-07 | შედით ბრაუზერის გაფართოებით. |
| NIP-09 | წაშლის მოთხოვნები. |
| NIP-13 | სამუშაოს დადასტურება. გამავალი შეტყობინებები ამოღებულია მინიმუმ 16 ბიტით. |
| NIP-17 | პირადი პირდაპირი შეტყობინებები და ჯგუფური ჩეთის საფუძველი. |
| NIP-25 | რეაქციები. |
| NIP-30 | მორგებული emoji. |
| NIP-40 | ვადის გასვლის ვადის შტამპები — ქრება შეტყობინებები. |
| NIP-44 | ვერსიული დაშიფვრა, გამოიყენება ბეჭდების, შეფუთვისა და პარამეტრების სინქრონიზაციისთვის. |
| NIP-46 | დისტანციური ხელმოწერა - bunker://. |
| NIP-56 | მოხსენება. |
| NIP-57 | ელვისებური ზარები. |
| NIP-59 | სასაჩუქრე შეფუთვები. |
| NIP-78 | განაცხადის თვითნებური მონაცემები. |
| NIP-98 | HTTP ავტორიზაცია, ჰოსტინგის ბოლო წერტილებისთვის. |
კრიპტოგრაფია
| სად | რა |
|---|---|
| პირადობა და ხელმოწერები | secp256k1 Schnorr ხელმოწერებით (BIP-340), როგორც Nostr აკონკრეტებს. |
| პირადი შეტყობინებები და ჯგუფური ჩეთები | NIP-44 v2: ECDH secp256k1-ზე, HKDF-SHA256, ChaCha20 HMAC-SHA256-ით და შიფრული ტექსტის სიგრძე არ აშორებს შეტყობინებას. |
| Bluetooth mesh სესიები | Noise XX — X25519, ChaCha20-Poly1305 (IETF), Ed25519 გამოცხადების ხელმოწერებისთვის, SHA-256 და HMAC ქვემოთ. |
| იდენტურობა დასვენების დროს | AES-GCM-256. გასაღები მომდინარეობს PBKDF2-SHA256-დან 310000 გამეორებით პაროლის ან PIN-ისთვის, ან WebAuthn PRF გამოსასვლელიდან HKDF-SHA256-დან პაროლის ან ბიომეტრიული მნიშვნელობისთვის. |
| ზარები და ფაილების გადაცემა | WebRTC-ის საკუთარი DTLS-SRTP, მოლაპარაკება მოხდა NIP-17-ით შეფუთული სიგნალიზაციის შესახებ. |
| შემთხვევითობა | პლატფორმა CSPRNG - კლავიშები, ნონსები და საჩუქრის შეფუთვის დროის ანაბეჭდი. |
მეტამონაცემების დაცვა
საჩუქრის შეფუთვის გზაზე ორი დეტალი ღირს ყურადღების გამახვილება, რადგან ისინი განასხვავებენ NIP-59-ს "დაშიფრული, მაგრამ აშკარად შენგან მათგან":
- ყოველ შეფუთვას ხელს აწერს ა ერთჯერადი გასაღები შექმნილი მხოლოდ ამ შეტყობინებისთვის, ასე რომ, არც ერთი შეფუთვა არ იზიარებს გამგზავნს.
- ყოველი შეფუთვა
created_atარის შემთხვევით დათარიღებული ორამდე საათები CSPRNG-ის გამოყენებით, ასე რომ, გაგზავნისა და მიღების დრო არ შეიძლება განლაგდეს.
ჯგუფური ჩეთები ამატებენ მბრუნავ ეფემერულს მიმღები გასაღებები თავზე - იხ როგორ მუშაობს ჯგუფური დაშიფვრა.
კრიპტო პრიმიტივები შედიან js/nym-crypto.js და
js/modules/key-vault.js ვებ აპში და ქვემოთ
android-ios-app/lib/core/crypto/ და
lib/services/mesh/noise/ Flutter აპლიკაციაში. The
საცავი
არის AGPL-3.0 და სრული — არ არსებობს დახურული კომპონენტი ნდობის მისაღებად.