ज्ञानधार हुड के नीचे
प्रोटोकॉल और घटनाएँ
निमचैट वास्तव में क्या करता है, इसके खिलाफ निर्माण करने वाले किसी भी व्यक्ति के लिए, इसका ऑडिट करना, या किसी अन्य नोस्ट्र क्लाइंट से घटनाओं को पढ़ना।
सुविधा के लिए यह पृष्ठ मशीन-अनुवादित है। अंग्रेजी मूल संस्करण वह संस्करण है जो लागू होता है।
घटना के प्रकार
| दयालु | के लिए इस्तेमाल होता है | टिप्पणियाँ |
|---|---|---|
0 | प्रोफ़ाइल मेटाडेटा | मानक नोस्ट्र प्रोफ़ाइल: नाम, चित्र, बैनर, के बारे में, lud16. |
5 | हटाने के अनुरोध | एनआईपी-09. |
7 | प्रतिक्रियाओं | एनआईपी-25, ए के साथ ['k', originalKind] टैग करें ताकि सही चैनल प्रकार के विरुद्ध प्रतिक्रिया दर्ज की जा सके। |
13 | मुहर | एनआईपी-17 संदेश की मध्य परत। |
14 | निजी संदेश अफवाह | अहस्ताक्षरित, और कभी भी अपने आप प्रकाशित नहीं हुआ। |
1059 | उपहार को लपेटना | एनआईपी-59. वास्तव में निजी संदेशों और समूह चैट के लिए रिले तक क्या पहुंचता है। |
1984 | रिपोर्टिंग | एनआईपी-56. |
9734 / 9735 | जैप अनुरोध और जैप रसीद | एनआईपी-57. |
10030 | कस्टम इमोजी पैक सूचियाँ | एनआईपी-30. |
20000 | जियोहैश चैनल संदेश | क्षणभंगुर, टैग किया गया ['g', geohash]. |
23333 | नामित चैनल संदेश | क्षणभंगुर, टैग किया गया ['d', channel]. |
24420 / 24421 | सार्वजनिक टाइपिंग संकेतक और पठन रसीदें | सार्वजनिक चैनलों के लिए निमचैट-विशिष्ट। |
25051 / 25052 | पीयर-टू-पीयर सिग्नलिंग और फ़ाइल-स्थानांतरण स्थिति | निमचैट-विशिष्ट। |
30030 | कस्टम इमोजी सेट | एनआईपी-30. |
30078 | अनुप्रयोग डेटा | एनआईपी-78. मतदान, और एन्क्रिप्टेड सेटिंग्स सिंक। |
69420 | निजी पठन रसीदें और वितरण स्थिति | निमचैट-विशिष्ट, एक उपहार रैप के अंदर एक अफवाह के रूप में फैलाया गया। से एक अलग तरह का 14 जानबूझकर, ताकि अन्य एनआईपी-17 ग्राहक प्रत्येक रसीद के लिए खाली प्रत्यक्ष संदेश प्रस्तुत न करें। |
एनआईपी निमचैट लागू करता है
| जापानी | यह निमचैट क्या देता है |
|---|---|
| एनआईपी-07 | ब्राउज़र एक्सटेंशन के साथ लॉगिन करें. |
| एनआईपी-09 | हटाने के अनुरोध. |
| एनआईपी-13 | कार्य का प्रमाण. आउटगोइंग संदेशों को कम से कम 16 बिट्स पर माइन किया जाता है। |
| एनआईपी-17 | निजी प्रत्यक्ष संदेश, और समूह चैट का आधार। |
| एनआईपी-25 | प्रतिक्रियाएँ. |
| एनआईपी-30 | कस्टम इमोजी. |
| एनआईपी-40 | समाप्ति टाइमस्टैम्प - गायब होने वाले संदेश। |
| एनआईपी-44 | संस्करणीकृत एन्क्रिप्शन, सील, रैप्स और सेटिंग्स सिंक के लिए उपयोग किया जाता है। |
| एनआईपी-46 | दूरस्थ हस्ताक्षर - bunker://. |
| एनआईपी-56 | रिपोर्टिंग. |
| एनआईपी-57 | बिजली कड़कती है. |
| एनआईपी-59 | उपहार लपेटें. |
| एनआईपी-78 | मनमाना अनुप्रयोग डेटा. |
| एनआईपी-98 | होस्ट किए गए एंडपॉइंट के लिए HTTP प्रमाणीकरण। |
क्रिप्टोग्राफी
| कहाँ | क्या |
|---|---|
| पहचान और हस्ताक्षर | secp256k1 Schnorr हस्ताक्षरों (BIP-340) के साथ, जैसा कि Nostr निर्दिष्ट करता है। |
| निजी संदेश और समूह चैट | एनआईपी-44 वी2: एसईसीपी256के1 पर ईसीडीएच, एचकेडीएफ-एसएचए256, एचएमएसी-एसएचए256 के साथ चाचा20, और सिफरटेक्स्ट लंबाई को पैडिंग करने से संदेश की लंबाई दूर नहीं होती है। |
| ब्लूटूथ जाल सत्र | शोर XX - X25519, चाचा20-पॉली1305 (IETF), घोषणा हस्ताक्षर के लिए Ed25519, नीचे SHA-256 और HMAC। |
| आराम पर पहचान | एईएस-जीसीएम-256। कुंजी पासवर्ड या पिन के लिए 310,000 पुनरावृत्तियों पर PBKDF2-SHA256 से, या पासकी या बायोमेट्रिक के लिए HKDF-SHA256 के माध्यम से WebAuthn PRF आउटपुट से आती है। |
| कॉल और फ़ाइल स्थानांतरण | WebRTC का अपना DTLS-SRTP, NIP-17-रैप्ड सिग्नलिंग पर बातचीत की। |
| अनियमितता | संपूर्ण प्लेटफ़ॉर्म सीएसपीआरएनजी - चाबियाँ, नॉन्स, और उपहार-रैप टाइमस्टैम्प जिटर। |
मेटाडेटा सुरक्षा
उपहार-रैप पथ में दो विवरण ध्यान देने योग्य हैं, क्योंकि वे ही एनआईपी-59 को अलग करते हैं "एन्क्रिप्टेड से, लेकिन जाहिर तौर पर आपसे उनसे":
- प्रत्येक रैप पर एक हस्ताक्षर होता है एक बार की कुंजी अकेले उस संदेश के लिए उत्पन्न, इसलिए कोई भी दो रैप एक प्रेषक को साझा नहीं करते हैं।
- हर लपेटा
created_atहै बेतरतीब ढंग से दो तक पिछली दिनांकित घंटे सीएसपीआरएनजी का उपयोग करते हुए, इसलिए भेजने और प्राप्त करने का समय पंक्तिबद्ध नहीं किया जा सकता है।
समूह चैट में घूर्णनशील क्षणिकता जुड़ती है प्राप्तकर्ता उसके शीर्ष पर कुंजियाँ - देखें समूह एन्क्रिप्शन कैसे काम करता है.
क्रिप्टो आदिम में हैं js/nym-crypto.js और
js/modules/key-vault.js वेब ऐप में, और नीचे
android-ios-app/lib/core/crypto/ और
lib/services/mesh/noise/ फ़्लटर ऐप में।
कोष
एजीपीएल-3.0 और पूर्ण है - विश्वास पर लेने के लिए कोई बंद घटक नहीं है।