გადადით შინაარსზე
დაბრუნება Nymchat-ზე

ცოდნის ბაზა კაპოტის ქვეშ

პროტოკოლი და მოვლენები

რასაც Nymchat რეალურად აყენებს მავთულს, ვინც მას ეწინააღმდეგება, მისი აუდიტი, ან ნოსტრის სხვა კლიენტის მოვლენების წაკითხვა.

ღონისძიების სახეები

კეთილიგამოიყენებაშენიშვნები
0პროფილის მეტამონაცემებისტანდარტული Nostr პროფილი: სახელი, სურათი, ბანერი, შესახებ, lud16.
5წაშლის მოთხოვნებიNIP-09.
7რეაქციებიNIP-25, ა ['k', originalKind] ტეგი, რათა რეაქცია შეიტანოს სწორი არხის ტიპის წინააღმდეგ.
13ბეჭედიNIP-17 შეტყობინების შუა ფენა.
14პირადი შეტყობინების ჭორიარასამთავრობო, და არასამთავრობო გამოქვეყნდა საკუთარი. thread პასუხი შეიცავს a ['nymthread', rootId] ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერეთ ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი ჩაწერილი
1059სასაჩუქრე შეფუთვაNIP-59. რა რეალურად აღწევს რელეს პირადი შეტყობინებებისა და ჯგუფური ჩეთებისთვის.
1984მოხსენებაNIP-56.
9734 / 9735Zap მოთხოვნა და zap ქვითარიNIP-57.
10030მორგებული emoji პაკეტების სიებიNIP-30.
20000Geohash არხის შეტყობინებაეფემერული, მონიშნული ['g', geohash]A thread reply adds a NIP-10 დაარსებული ['e', rootId, '', 'root'] თა
23333დასახელებული არხის შეტყობინებაეფემერული, მონიშნული ['d', channel]A thread reply adds a NIP-10 დაარსებული ['e', rootId, '', 'root'] თა
24420 / 24421საჯარო აკრეფის ინდიკატორები და წაკითხული ქვითრებიNymchat-ს სპეციფიკური, საჯარო არხებისთვის.
25051 / 25052Peer-to-peer სიგნალიზაცია და ფაილის გადაცემის სტატუსიNymchat-ს სპეციფიკური.
30030მორგებული emoji ნაკრებიNIP-30.
30078განაცხადის მონაცემებიNIP-78. გამოკითხვები, დაშიფრული პარამეტრების სინქრონიზაცია და პოსტ-კვანტური გასაღების განცხადებები (მონიშნული nym-pq, რომელსაც აქვს ML-KEM-768 საჯარო გასაღები NIP-40 ვადის გასვლით).
69420პირადი წაკითხვის ქვითრები და მიწოდების სტატუსიNymchat-ის სპეციფიკური, ჭორების სახით წარმოდგენილი საჩუქრის შეფუთვაში. ცალკე სახის 14 განზრახ, ამიტომ სხვა NIP-17 კლიენტები არ აწვდიან ცარიელ პირდაპირ შეტყობინებებს ყოველი ქვითრისთვის.

Nymchat ახორციელებს NIP-ებს

NIPრას აძლევს Nymchat-ს
NIP-07შედით ბრაუზერის გაფართოებით.
NIP-09წაშლის მოთხოვნები.
ნომერი 10Marked reply tags — როგორ kanaal thread reply ეხება მისი root შეტყობინებას.
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-98HTTP ავტორიზაცია, ჰოსტინგის ბოლო წერტილებისთვის.

კრიპტოგრაფია

სადრა
პირადობა და ხელმოწერებიsecp256k1 Schnorr ხელმოწერებით (BIP-340), როგორც Nostr აკონკრეტებს.
პირადი შეტყობინებები და ჯგუფური ჩეთებიNIP-44 v2: ECDH secp256k1-ზე, HKDF-SHA256, ChaCha20 HMAC-SHA256-ით და შიფრული ტექსტის სიგრძე არ აშორებს შეტყობინებას.
პირადი შეტყობინებები და ჯგუფური ჩეთები Nymchat-ის მომხმარებლებს შორისიგივე NIP-44 v2 ეფექტური სიჩქარე, არასამთავრობო, ორჯერ დახურული ChaCha20-Poly1305 ში დახურული ML-KEM-768 (FIPS 203) encapsulation მეშვეობით HKDF-SHA256. encapsulation encapsulation ციფრული ტექსტი და ორივე identity keys შეესაბამება როგორც დაკავშირებული მონაცემები, და შედეგს შეიცავს pq2. დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში დასაწყისში. კვანტური რეზისტენტული დაშიფვრა.
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 და სრული — არ არსებობს დახურული კომპონენტი ნდობის მისაღებად.