Skip to content

NIP-17: प्राइवेट डायरेक्ट मैसेज - एक संपूर्ण गाइड

NIP-17 के बारे में जानें, NIP-04 का सुरक्षित विकल्प, और Nostr में अपनी प्राइवेट मैसेजिंग कैसे माइग्रेट करें

उन्नत Last updated

NIP-17 Nostr में प्राइवेट मैसेज काम करने के तरीके में एक महत्वपूर्ण सुरक्षा अपग्रेड का प्रतिनिधित्व करता है। यह गाइड समझाता है कि आपको इस प्रोटोकॉल सुधार की परवाह क्यों करनी चाहिए, पुराने NIP-04 स्टैंडर्ड से कैसे माइग्रेट करें, और अपने संचार को सुरक्षित करने के व्यावहारिक कदम।

NIP-17 क्या है?

NIP-17 एक Nostr प्रोटोकॉल स्पेसिफिकेशन है जो “seal + gift wrap” कहलाती डुअल-लेयर एन्क्रिप्शन सिस्टम का उपयोग करके प्राइवेट डायरेक्ट मैसेज को परिभाषित करता है। इसे पिछले NIP-04 एन्क्रिप्शन विधि की मौलिक सुरक्षा कमियों को दूर करने के लिए बनाया गया था।

NIP-04 के विपरीत, जो सिंगल-लेयर AES-256-CBC एन्क्रिप्शन उपयोग करता था, NIP-17 उपयोग करता है:

  1. Seal (kind 13) — इनर लेयर, जो मैसेज को एन्क्रिप्ट करती है और यह छुपाती है कि इसे किस कीपेयर ने साइन किया
  2. Gift wrap (kind 1059) — बाहरी लिफाफा, जो एक थ्रोअवे की से साइन होता है, ताकि रिले जिस इवेंट को स्टोर करते हैं उस पर आपकी असली पहचान कभी न दिखे

इस लेयरिंग का मतलब है:

  • मैसेज कंटेंट प्राइवेट रहता है
  • रिले यह नहीं देख सकते कि मैसेज किसने भेजा — गिफ्ट रैप आपकी नहीं, बल्कि एक रैंडम वन-टाइम की से साइन होता है
  • टाइमस्टैम्प रैंडमाइज़ किए जाते हैं, जिससे मैसेज की टाइमिंग को आपस में जोड़ना मुश्किल हो जाता है

NIP-17 क्यों महत्वपूर्ण है: NIP-04 सुरक्षा समस्या

NIP-04 Nostr का मूल डायरेक्ट मैसेज प्रोटोकॉल था, लेकिन इसमें कई महत्वपूर्ण सुरक्षा समस्याएं हैं जो इसे वास्तव में प्राइवेट संचार के लिए अनुपयुक्त बनाती हैं।

तुलना: NIP-04 vs NIP-17

फीचरNIP-04NIP-17
एन्क्रिप्शनसिंगल-लेयर AES-256-CBCडुअल-लेयर (seal + gift wrap)
सेंडर मेटाडेटारिले को दिखाई देताछिपा हुआ — वन-टाइम की से साइन
रिसीवर मेटाडेटारिले को दिखाई देताअब भी दिखाई देता — प्लेनटेक्स्ट p टैग
मैसेज कंटेंटएन्क्रिप्टेडएन्क्रिप्टेड
रीप्ले प्रोटेक्शनकोई नहींरैंडमाइज़्ड टाइमस्टैम्प
फॉरवर्ड सीक्रेसीनहींनहीं — NIP-44 इसे प्रदान नहीं करता
सुरक्षा स्टेटसडेप्रिकेटेडरिकमेंडेड
इंटरऑपरेबिलिटीव्यापक रूप से समर्थितबढ़ता समर्थन

NIP-04 की मुख्य समस्या

NIP-04 मैसेज कौन किससे बात कर रहा है यह हर उस रिले के सामने खोल देते हैं जो उन्हें स्टोर करता है। (Nostr में कोई ब्लॉकचेन नहीं है — इवेंट्स बस रिले पर पड़े रहते हैं, और कोई भी किसी रिले से पढ़ सकता है।) जबकि मैसेज बॉडी एन्क्रिप्टेड है, लिफाफा शामिल करता है:

# NIP-04 इवेंट स्ट्रक्चर (सरलीकृत)
{
  "pubkey": "<sender_public_key>",      # कोई भी देख सकता है किसने भेजा
  "tags": [["p", "<recipient_pubkey>"]], # कोई भी देख सकता है किसने प्राप्त किया
  "content": "<encrypted_content>"       # केवल कंटेंट छिपा हुआ है
}

इसका मतलब है कि रिले ऑपरेटर, नेटवर्क ऑब्जर्वर, और डेटा स्क्रैपर:

  • सोशल ग्राफ़ बना सकते हैं जो दिखाता है कौन किससे संचार कर रहा है
  • संचार पैटर्न और फ्रीक्वेंसी ट्रैक कर सकते हैं
  • मैसेज टाइमिंग से रिश्ते का अनुमान लगा सकते हैं

NIP-17 इसे पूरे मैसेज स्ट्रक्चर को एक अतिरिक्त एन्क्रिप्शन लेयर में रैप करके हल करता है, जिससे डिक्रिप्शन की बिना सेंडर या रिसीवर की जानकारी देखना असंभव हो जाता है।

NIP-17 कैसे काम करता है: Seal + Gift Wrap

तकनीकी इम्प्लीमेंटेशन को समझना सुरक्षा सुधारों की सराहना करने में मदद करता है।

गिफ्ट रैप लेयर (आउटर)

गिफ्ट रैप बाहरी लिफाफा है जो सभी मेटाडेटा को छुपाता है। यह रिसीवर की पब्लिक की से प्राप्त विशेष “गिफ्ट रैप की” से एन्क्रिप्ट किया गया है। इस लेयर में शामिल है:

  • एक रैंडम पब्लिक की (वास्तविक सेंडर से लिंक नहीं)
  • रिसीवर की पब्लिक की
  • एक टाइमस्टैम्प
  • सील किया गया इनर मैसेज

सील लेयर (इनर)

गिफ्ट रैप के अंदर सील बैठता है, जिसमें वास्तविक मैसेज होता है। इस लेयर में:

  • एक नया ephemeral की पेयर का उपयोग करके एन्क्रिप्ट किया गया
  • सेंडर की वास्तविक पब्लिक की शामिल
  • मैसेज कंटेंट शामिल
  • रीप्ले प्रोटेक्शन के लिए अपना टाइमस्टैम्प

गिफ्ट रैप (आउटर लेयर)

रैंडम pubkey, रिसीवर हिंट — रिले को बस इतना ही दिखता है

सील (इनर लेयर)

ephemeral की से एन्क्रिप्टेड

वास्तविक मैसेज कंटेंट

सेंडर: असली pubkey · टाइमस्टैम्प: 1234567890

हर लेयर अपने अंदर वाली को छुपाती है, इसलिए रिले को रिसीवर हिंट के अलावा कुछ पता नहीं चलता।

मुख्य फायदे

  1. सेंडर प्राइवेसी: रिसीवर को छोड़कर कोई भी यह निर्धारित नहीं कर सकता कि मैसेज किसने भेजा। लेकिन रिसीवर का नाम एक प्लेनटेक्स्ट p टैग में होता है, जिसे रिले का पढ़ पाना ज़रूरी है।
  2. अनलिंकेबिलिटी: हर मैसेज एक नई वन-टाइम की से साइन होता है, इसलिए एक ही सेंडर के मैसेज देखकर यह साफ़ नहीं होता कि वे आपस में जुड़े हैं।
  3. फॉरवर्ड सीक्रेसी नहीं है: NIP-44 अपनी कन्वर्सेशन की दो स्टैटिक कीज़ से निकालता है, इसलिए जिस हमलावर को बाद में आपका nsec मिल जाए, वह अपने सेव किए हुए हर मैसेज को डिक्रिप्ट कर सकता है। वन-टाइम कीज़ यह छुपाती हैं कि मैसेज किसने भेजा; वे पुराने मैसेज की रक्षा नहीं करतीं। अगर यह आपके लिए मायने रखता है, तो पुराने वार्तालाप डिलीट कर दें।

डिलीवरी: DM रिले सूची (Kind 10050)

Seal और gift wrap बताते हैं कि मैसेज को कैसे पैक किया जाता है। एक तीसरा हिस्सा — kind 10050 इवेंट — बताता है कि उसे कहाँ डिलीवर किया जाता है। यह उन रिले की एक छोटी, सार्वजनिक सूची है जो आपके प्राइवेट मैसेज स्वीकार करते हैं।

स्पेक इस बारे में सख्त है: भेजने वालों को gift wrap केवल रिसीवर की kind 10050 सूची में मौजूद रिले पर ही प्रकाशित करने होते हैं। अगर आपने कभी ऐसी सूची प्रकाशित ही नहीं की, तो स्पेक आपको “मैसेज प्राप्त करने के लिए तैयार नहीं” मानता है और क्लाइंट को कोशिश भी नहीं करनी चाहिए — यानी आपको भेजे गए DM चुपचाप कभी डिलीवर नहीं होते। किसी भी तरफ कोई एरर नहीं दिखता।

दो व्यावहारिक नियम:

  • कोई भी NIP-17 DM पाने की उम्मीद करने से पहले एक सूची प्रकाशित करें (नीचे माइग्रेशन गाइड का चरण ३ देखें)
  • सूची छोटी रखें — स्पेक 1-3 रिले की सिफारिश करता है, और सूची का हर रिले देख सकता है कि आपको कौन मैसेज भेज रहा है

माइग्रेशन गाइड: NIP-04 से NIP-17 में स्विचिंग

आधुनिक Nostr क्लाइंट के साथ NIP-17 में माइग्रेट करना सरल है। यहां स्विच कैसे करें।

चरण १: अपने क्लाइंट सपोर्ट चेक करें

माइग्रेट करने से पहले, सत्यापित करें कि आपका क्लाइंट NIP-17 सपोर्ट करता है:

क्लाइंटNIP-17 सपोर्टस्टेटस
Damusहाँनए DM के लिए डिफॉल्ट
Amethystहाँनए DM के लिए डिफॉल्ट
Primalहाँसमर्थित
Coracleहाँसमर्थित
Irisहाँसमर्थित
Snortहाँसमर्थित
Nosहाँसमर्थित

चरण २: अपने क्लाइंट में NIP-17 एनेबल करें

Damus (iOS/macOS)

  1. Settings → Privacy & Security खोलें
  2. “Message Encryption” तक स्क्रॉल करें
  3. “Use NIP-17 for new messages” को ON पर टॉगल करें
  4. आपके नए DM स्वचालित रूप से NIP-17 उपयोग करेंगे

नोट: पुराने NIP-04 मैसेज पढ़ने योग्य रहते हैं लेकिन नए मैसेज NIP-17 उपयोग करते हैं।

Amethyst (Android)

  1. Settings → Messages पर जाएं
  2. “Use NIP-17 for DMs” एनेबल करें
  3. पूर्ण प्रभाव के लिए ऐप रीस्टार्ट करें

Primal (iOS/Android/Web)

  1. Settings → Privacy पर नेविगेट करें
  2. “Direct Messages” के अंतर्गत, “NIP-17 (Recommended)” चुनें
  3. बदलाव नए वार्तालापों पर तुरंत लागू होते हैं

चरण ३: अपनी DM रिले सूची (Kind 10050) प्रकाशित करें

NIP-17 भेजने वाले सिर्फ़ उन्हीं रिले पर डिलीवर करते हैं जो आपके kind 10050 इवेंट में सूचीबद्ध हैं — इसके बिना आपको भेजे गए मैसेज चुपचाप गिर जाते हैं (ऊपर डिलीवरी: DM रिले सूची देखें)।

  1. अपने क्लाइंट में DM, प्राइवेट-मैसेज, या मैसेजिंग-रिले सेटिंग ढूँढें
  2. एक से तीन ऐसे रिले जोड़ें जो gift wrap (kind 1059) स्वीकार करते हों — कुछ रिले इन्हें अस्वीकार कर देते हैं
  3. सेव करें — आपका क्लाइंट आपके लिए kind 10050 सूची प्रकाशित कर देता है

कुछ क्लाइंट NIP-17 एनेबल करते ही यह सूची अपने आप प्रकाशित कर देते हैं। मान कर मत चलिए: उस पर भरोसा करने से पहले चरण ५ में डिलीवरी वेरिफाई करें।

चरण ४: अपने संपर्कों को सूचित करें

NIP-17 तभी काम करता है जब दोनों पक्षों के पास NIP-17 सपोर्ट हो। बार-बार संपर्कों को एक नोट भेजें:

nostr:note1... # माइग्रेशन मैसेज टेम्प्लेट

"अरे! मैं अपने DMs में बेहतर प्राइवेसी के लिए NIP-17 में अपग्रेड कर रहा हूं।
कृपया अपना Nostr क्लाइंट अपडेट करें अगर आपने पहले से नहीं किया है।
हमारे भविष्य के मैसेज अधिक सुरक्षित होंगे!"

चरण ५: माइग्रेशन सफलता वेरिफाई करें

यह कन्फर्म करने के लिए कि NIP-17 काम कर रहा है:

  1. खुद को या दोस्त को टेस्ट मैसेज भेजें
  2. इवेंट काइंड चेक करें (गिफ्ट रैप्स के लिए 1059 होना चाहिए)
  3. मैसेज डिटेल्स में kind: 1059 देखें
  4. p टैग एक रैंडम ephemeral की को पॉइंट करना चाहिए, आपके दोस्त की वास्तविक की नहीं
// उदाहरण NIP-17 इवेंट (सरलीकृत)
{
  "kind": 1059, // गिफ्ट रैप इवेंट
  "pubkey": "<random_ephemeral_key>", // वास्तविक सेंडर नहीं!
  "tags": [["p", "<recipient_pubkey>"]],
  "content": "<encrypted_seal_content>"
}

क्लाइंट-विशिष्ट सेटअप गाइड

Damus

Damus ने हाल के वर्शन में नए डायरेक्ट मैसेज के लिए NIP-17 को डिफॉल्ट बना दिया है। अगर आप पुराने वर्शन पर हैं:

  1. App Store से लेटेस्ट Damus अपडेट करें
  2. NIP-17 नए वार्तालापों के लिए स्वचालित रूप से एनेबल है
  3. मैसेज डिटेल (टैप और होल्ड) में “NIP-17” बैज देखें

प्रो टिप: Damus सुरक्षित मैसेज पर एक लॉक आइकन “NIP-17” टेक्स्ट के साथ दिखाता है।

Amethyst

Amethyst NIP-17 सपोर्ट करता है लेकिन एक्स्प्लिसिट एनेबलमेंट की आवश्यकता हो सकती है:

  1. Settings → Advanced → Protocol Settings
  2. “NIP-17 gift wrap for DMs” एनेबल करें
  3. क्लाइंट सपोर्टेड संपर्कों के साथ स्वचालित रूप से NIP-17 नेगोशिएट करेगा

नोट: Amethyst ग्रेसफुली NIP-04 पर फॉल बैक करता है अगर रिसीवर NIP-17 सपोर्ट नहीं करता।

Primal

Primal में उत्कृष्ट NIP-17 सपोर्ट है:

  1. Settings → Security & Privacy
  2. “Messaging Protocol” के अंतर्गत “NIP-17 (Private)” चुनें
  3. वैकल्पिक: “Auto-upgrade NIP-04 conversations” एनेबल करें मौजूदा चैट्स कन्वर्ट करने के लिए

सुरक्षा सर्वोत्तम अभ्यास

NIP-17 उपयोग करते समय अपनी प्राइवेसी को अधिकतम करें:

१. संवेदनशील संचार से पहले क्लाइंट सपोर्ट वेरिफाई करें

संवेदनशील जानकारी साझा करने से पहले हमेशा कन्फर्म करें कि आपका संपर्क NIP-17-सक्षम क्लाइंट उपयोग करता है। NIP-04-ओनली क्लाइंट को NIP-17 भेजने से अपठनीय मैसेज होंगे।

२. एक ही थ्रेड में प्रोटोकॉल मिक्स न करें

एक वार्तालाप में एक प्रोटोकॉल उपयोग करके भ्रम से बचें। अगर आप NIP-04 से शुरू करते हैं, NIP-04 से समाप्त करें, या स्विच करते समय स्पष्ट रूप से इंडिकेट करें।

३. उच्च-सुरक्षा वार्तालाप के लिए नए कीज़ उपयोग करें

अधिकतम सुरक्षा के लिए:

  • संवेदनशील संचार के लिए एक समर्पित कीपेयर बनाएं
  • सुरक्षित आउट-ऑफ-बैंड चैनल के माध्यम से पब्लिक की साझा करें
  • समय-समय पर कीज़ रोटेट करें

४. अन्य इवेंट प्रकारों में मेटाडेटा से अवगत रहें

NIP-17 केवल डायरेक्ट मैसेज को प्रोटेक्ट करता है। अन्य इवेंट प्रकार (नोट्स, रिएक्शन, फॉलोज़) अभी भी सोशल ग्राफ डेटा एक्सपोज़ करते हैं। कम्पार्टमेंटेशन के लिए मल्टीपल पहचान उपयोग करें।

५. प्राइवेसी-फोकस्ड रिले चुनें

NIP-17 के साथ भी, आपके ट्रैफिक पैटर्न रिले को दिखाई देते हैं। उपयोग करें:

  • अतिरिक्त नेटवर्क-लेवल प्राइवेसी के लिए Tor या VPN
  • ऐसे रिले जो लॉग नहीं करते या मैसेज मेटाडेटा रिटेन नहीं करते
  • अपने ट्रैफिक को वितरित करने के लिए मल्टीपल रिले

६. सीमाओं को समझें

NIP-17 उत्कृष्ट प्राइवेसी प्रदान करता है लेकिन सिद्ध नहीं है:

  • रिले अभी भी IP एड्रेस देख सकते हैं (VPN/Tor उपयोग करें)
  • टाइमिंग एनालिसिस संचार पैटर्न प्रकट कर सकती है
  • कंप्रोमाइज़्ड क्लाइंट जानकारी लीक कर सकते हैं
  • रिसीवर हमेशा सेंडर की पहचान देखता है

सामान्य समस्याओं का निवारण

”मेरे मैसेज कभी नहीं पहुँचते” — पहले अपनी DM रिले सूची जाँचें

यह NIP-17 की सबसे आम विफलता है, और यह लगभग कभी एन्क्रिप्शन की समस्या नहीं होती।

NIP-17 भेजने वाले आपके सामान्य रिले पर डिलीवर नहीं करते। वे एक kind 10050 इवेंट खोजते हैं — यानी आपकी प्रकाशित सूची कि कौन-से रिले आपके डायरेक्ट मैसेज स्वीकार करते हैं — और gift wrap सिर्फ़ वहीं भेजते हैं। अगर आपने कभी ऐसी सूची प्रकाशित ही नहीं की, तो भेजने वाले के क्लाइंट के पास कोई गंतव्य नहीं होता और मैसेज चुपचाप गिर जाता है। दोनों में से किसी भी इंटरफ़ेस में कुछ नहीं दिखता।

समाधान: NIP-17 सपोर्ट करने वाले किसी क्लाइंट में प्राइवेट-मैसेजिंग रिले सेटिंग ढूँढें और कम से कम एक रिले सेव करें — इससे आपकी kind 10050 सूची प्रकाशित हो जाती है। ऐसा रिले चुनें जो वाकई gift wrap स्वीकार करता हो — कुछ रिले kind 1059 को सीधे अस्वीकार कर देते हैं।

सूची छोटी रखें। उसमें मौजूद हर रिले वह रिले है जो देख सकता है कि आपको कौन लिख रहा है। (यह माइग्रेशन गाइड का चरण ३ है — अगर आपने इसे छोड़ दिया था, तो वहीं से शुरू करें।)

“मैसेज अपठनीय या गिबरिश दिखते हैं”

कारण: रिसीवर NIP-17 सपोर्ट नहीं करता समाधान: रिसीवर से अपना क्लाइंट अपडेट करने को कहें, या अस्थायी रूप से NIP-04 पर वापस स्विच करें

”देख नहीं सकते कि किसी ने मेरा NIP-17 मैसेज पढा”

कारण: अभी NIP-17 के लिए रीड रिसीप्ट स्टैंडर्डाइज़ नहीं हैं समाधान: यह अपेक्षित व्यवहार है। NIP-17 डिलीवरी कन्फर्मेशन से प्राइवेसी को प्राथमिकता देता है।

“मैसेज गलत क्रम में दिखते हैं”

कारण: डिवाइस के बीच क्लॉक स्क्यू समाधान: सुनिश्चित करें कि आपका डिवाइस समय सिंक्रनाइज़्ड है (ऑटोमैटिक टाइम सिंक एनेबल करें)

“रिले NIP-17 इवेंट्स रिजेक्ट करता है”

कारण: पुराना रिले सॉफ्टवेयर समाधान:

  1. रिले के समर्थित NIPs चेक करें
  2. NIP-17 सपोर्ट करने वाले आधुनिक रिले जोड़ें
  3. रिले ऑपरेटर को रिपोर्ट करें

”क्लाइंट NIP-04 और NIP-17 दोनों विकल्प दिखाता है”

अपेक्षित व्यवहार: कई क्लाइंट ट्रांजिशन पीरियड के दौरान दोनों सपोर्ट करते हैं। उपलब्ध होने पर हमेशा NIP-17 चुनें।

Nostr में प्राइवेट मैसेजिंग का भविष्य

NIP-17 Nostr प्राइवेट मैसेजिंग का वर्तमान गोल्ड स्टैंडर्ड है, लेकिन डेवलपमेंट जारी है:

  • NIP-44: एक बेहतर एन्क्रिप्शन स्कीम जो NIP-17 को सुपरसीड कर सकती है
  • ग्रुप एन्क्रिप्शन: प्राइवेट ग्रुप मैसेजिंग प्रोटोकॉल विकसित किए जा रहे हैं
  • पेमेंट इंटीग्रेशन: Lightning पेमेंट्स के साथ प्राइवेट मैसेज

अपडेट के लिए फॉलो करें:

  • nostr:npub1… # Nostr प्रोटोकॉल डेवलपमेंट
  • nostr:npub1… # सुरक्षा सर्वोत्तम अभ्यास

निष्कर्ष

NIP-17 Nostr में प्राइवेसी के लिए एक बड़ा कदम है। NIP-04 की मेटाडेटा लीकेज समस्याओं को दूर करके, यों सच में प्राइवेट डायरेक्ट मैसेजिंग सक्षम बनाता है जो कंटेंट और संचार पैटर्न दोनों को प्रोटेक्ट करती है।

माइग्रेशन प्रोसेस सीधा है: अपना क्लाइंट अपडेट करें, वेरिफाई करें कि आपके संपर्क NIP-17 सपोर्ट करते हैं, और बढ़ी हुई प्राइवेसी का आनंद लें। व्यापक क्लाइंट सपोर्ट पहले से उपलब्ध होने के साथ, डेप्रिकेटेड NIP-04 प्रोटोकॉल का उपयोग जारी रखने का कोई कारण नहीं है।

एक्शन आइटम:

  1. ✅ अपना Nostr क्लाइंट लेटेस्ट वर्शन में अपडेट करें
  2. ✅ सेटिंग्स में NIP-17 एनेबल करें
  3. ✅ अपनी DM रिले सूची (kind 10050) प्रकाशित करें — इसके बिना कुछ नहीं पहुँचता
  4. ✅ संपर्कों के साथ वेरिफाई करें कि वे NIP-17 सपोर्ट करते हैं
  5. ✅ सभी नए प्राइवेट वार्तालापों के लिए NIP-17 उपयोग करना शुरू करें

याद रखें: प्राइवेसी एक अभ्यास है, उत्पाद नहीं। NIP-17 आपको टूल्स देता है—उनका समझदारी से उपयोग करें।


अपने NIP-17 ज्ञान का परीक्षण करें

सुरक्षित मैसेजिंग की अपनी समझ चेक करने के लिए तैयार हैं?

NIP-17 प्रश्नोत्तरी

एन्क्रिप्शन

प्रश्न 1/5

0/5 उत्तर दिए

NIP-17 संदेश कैसे सुरक्षित होते हैं?
महत्वपूर्ण

अंतिम अपडेट: 28 जुलाई, 2026

_क्वेश्चन हैं? Nostr पर चर्चा में शामिल हों या इस डॉक्यूमेंटेशन रिपोजिटरी पर इश्यू खोलें।


आगे पढ़ें

इस पेज को बेहतर बनाएं

कोई टाइपो या कुछ अस्पष्ट दिखा? इस गाइड को GitHub पर संपादित करें।

Nostr पर हमें फॉलो करें