निर्देश

गुप्त इंटरनेट (सीक्रेट इंटरनेट), भाग 4: I2P क्या है और यह कैसे काम करता है।

  • 30 अक्टू॰ 2023, 1:58 am
  • 17 मिनट

गुप्त इंटरनेट (सीक्रेट इंटरनेट), भाग 4: I2P क्या है और यह कैसे काम करता है।

पिछले भाग में, हमने बात की थी कि  फ़्रीनेट (Freenet) और टोर (Tor) ब्राउज़र क्या हैं और डार्क वेब पर आप उनके साथ क्या कर सकते हैं।

एक नए लेख में, हम चर्चा करेंगे कि I2P नेटवर्क क्या है, यह कैसे काम करता है और यह किन कार्यों को हल करता है।


इस श्रृंखला के अन्य लेखों में:

गुप्त इंटरनेट, भाग 1: डार्क वेब क्या है और इसका उपयोग क्यों किया जाता है?

गुप्त इंटरनेट, भाग 2: .onion साइटें कैसे काम करती हैं

गुप्त इंटरनेट भाग 3: फ़्रीनेट (Freenet)   क्या है 

गुप्त इंटरनेट भाग 4: I2P क्या है और यह कैसे काम करता है आप यहां हैं

गुप्त इंटरनेट, भाग 5: Tor, I2P और फ़्रीनेट (Freenet) के माध्यम से डार्कवेब में कैसे प्रवेश करें


I2P क्या है।

I2P एक अन्य अनाम पीयर-टू-पीयर नेटवर्क है जो नियमित इंटरनेट के शीर्ष पर चलता है। यह विकेंद्रीकृत है, इसलिए, इसमें DNS सर्वर नहीं हैं, और स्वचालित रूप से अपडेट की गई "पता पुस्तिकाएं" उनकी जगह ले लेती हैं। पतों की भूमिका क्रिप्टोग्राफ़िक कुंजियों द्वारा निभाई जाती है जो वास्तविक कंप्यूटरों द्वारा जारी नहीं की जाती हैं। परियोजना के प्रत्येक उपयोगकर्ता को अपनी कुंजी प्राप्त होती है, जिसे ट्रैक नहीं किया जा सकता।

" गुप्त इंटरनेट, भाग 1: डार्क वेब क्या है और इसका उपयोग क्यों किया जाता है" लेख में, हमने अधिक जानकारी के साथ बताया था की  पीयर-टू-पीयर नेटवर्क कैसे काम करते हैं

नेटवर्क स्वयं 2003 में एक ओपन सोर्स प्रोजेक्ट के रूप में सामने आया। अब यह एक पूरी तरह से खुली परियोजना भी है, जिसे दुनिया भर के उत्साही लोगों द्वारा विकसित और समर्थित किया गया है।

I2P इस तरह से बनाया गया था कि सभी मध्यवर्ती नोड स्कैमर हैं। इसलिए, नेटवर्क में सभी सुरंगें एक ही दिशा में काम करती हैं: आने वाला ट्रैफ़िक नोड्स की एक श्रृंखला के साथ जाता है, और आउटगोइंग ट्रैफ़िक दूसरे के साथ जाता है। इसके अलावा, I2P में सभी सूचनाओं को एन्क्रिप्ट किया गया है और सुरंगों में एक दूसरे के ऊपर आरोपित किया गया है। इसलिए, किसी विशिष्ट अनुरोध को चुराना बहुत कठिन है।

I2P कैसे काम करता है

I2P में, सभी अनुरोधों को प्रेषक पक्ष पर एन्क्रिप्ट किया जाता है और NTCP2 और SSU एल्गोरिदम का उपयोग करके प्राप्तकर्ता पक्ष पर डिक्रिप्ट किया जाता है। ये टीसीपी (TCP) और यूडीपी (UDP) के क्रिप्टो एनालॉग हैं, जो राउटर को प्रेषित सभी सूचनाओं को एन्क्रिप्ट करते हैं।

इसलिए, कोई भी अनुरोधों को रोक नहीं सकता है। एक मध्यवर्ती नोड भी नहीं । यह नहीं जान पाएगा कि इसके बाद अनुरोध का क्या हुआ: क्या इसका अगला अनुरोध संसाधित किया गया था या आगे कहीं पारित किया गया था।

I2P में शामिल हैं:

राउटर जिनमें I2P पते और नियमित IP होते हैं। वास्तव में, ये ट्रांजिट नोड हैं। वे सभी एक जैसे हैं और एक दूसरे से भिन्न नहीं हैं।

समापन बिंदु - सर्वर या क्लाइंट जिनका वास्तविक स्थान अज्ञात है।

सुरंगें - वे रास्ते जिनके साथ अनुरोध जाता है और जिनमें कई राउटर इकट्ठे होते हैं।

राउटर, ट्रांजिट नोड्स - सर्वर की एक श्रृंखला का हिस्सा जो अनुरोध के लिए एक सुरंग बनाता है। वहीं, कौन - सा अनुरोध और किस सुरंग में जाता है, यह कोई नहीं जानता। एक अन्य विशेषता यह है कि उपयोगकर्ता स्वयं अनुरोध का गंतव्य, सुरंगों की लंबाई, साथ ही उनकी संख्या निर्धारित करता है।

सुरंग की कल्पना एक साधारण ट्रक के रूप में की जा सकती है जो कई चौकियों से होकर गुजरता है। यह उनमें से किसी पर भी नहीं रुकता है और इसलिए कोई नहीं जानता कि ट्रक कहां जा रहा है और इसके पिछले हिस्से में क्या रखा है। उसी समय, हर कोई ट्रक को देख सकता है, और केवल प्राप्तकर्ताचेकपॉइंट ही इसे रोक सकता है।


I2P में प्रगति का अनुरोध : राउटर के आरेख पर खाली घेरे।जो दुनिया भर में फैले हुए हैं। हरा रंग - आउटगोइंग टनल, रेड - इनपुट। क्या अंतर है - आगे समजाते हैं

समापन बिंदु अधिक जटिल हैं। संक्षेप में, अंतिम बिंदु एक नियमित नेटवर्क के लिए "सर्वर" जैसा कुछ है। और राउटर के रूप में अनुरोध इसके पास जाते हैं।लेकिन कोई नहीं जानता कि नेटवर्क का एक खास बिंदु ही अंतिम बिंदु होता है। इसके अलावा, कोई नहीं जानता कि डेटा किसके लिए और क्या है। केवल गंतव्य समापन बिंदु ही समझ सकता है कि डेटा उसके लिए है। इसलिए, "बिंदु" के स्थान की गणना करना असंभव है।

समझने के लिए, हम दो अवधारणाओं का परिचय देते हैं - लिसेट (LeaseSet) और फ्लडफिल  (Floodfill или Routerinfo).

लिज़सेट (LeaseSet)  I2P में सूचनाओं का एक संग्रह है जिसमें इनपुट टनल, क्रिप्टोग्राफ़िक कुंजियों और अंतिम पते के बारे में डेटा शामिल होता  है।

फ्लडफिल (Floodfill)  एक राउटर है जो एक संदर्भ पुस्तक के रूप में कार्य करता है, लिसेट्स को संग्रहीत करता है और उन सही स्थानों को जानता है जिन्हें उपयोगकर्ता ढूंढ रहा है। और अगर वह नहीं जानता है, तो वह उसे दूसरे हेल्प डेस्क पर भेज देता है।

I2P में प्रत्येक उपयोगकर्ता एक फ्लडफिल बन सकता है। ऐसा करने के लिए, बस सॉफ़्टवेयर सेटिंग में एक टिक लगाएं। हम सेटअप के बारे में निम्नलिखित भागों में बताएंगे।

जब कोई उपयोगकर्ता I2P में कुछ खोजता है, तो एक यादृच्छिक फ्लडफ़िल से एक विशिष्ट लिसेट का अनुरोध करता है।

यदि फ्लडफिल अनुरोधित पते को नहीं जानता है, तो यह तीन अन्य फ्लडफिल्स का पता देता है और अनुरोध उनके पास जाता है। और बदले में, वे अपने डेटाबेस में लिसेट्स की जांच करते हैं। और इसी तरह जब तक वांछित पता नहीं मिल जाता।


उपयोगकर्ता से फ्लडफिल (Floodfill)   के लिए अनुरोध कैसा दिखता है इसकी सशर्त योजना। वास्तव में, सब कुछ अधिक जटिल है, लेकिन कुछ महत्वपूर्ण बातें हैं जिनके बारे में हमने अभी तक बात नहीं की है। इसके बारे मैं निचे बताते हैं

लक्ष्य पते और आज की तारीख के आधार पर वांछित फ्लडफिल (Floodfill)   का चयन किया जाता है। इस जानकारी से, SHA256 हैश प्राप्त होता है, डेटा एक नियमित पते के रूप में लंबे समय तक प्राप्त किया जाता है।

हैश एक ऐसा कार्य है जो डेटा पर गणितीय या तार्किक संचालन करता है। नतीजतन, बड़ी मात्रा में जानकारी वर्णों की अपेक्षाकृत छोटी स्ट्रिंग में बदल जाती है और डेटा पहचानकर्ता के रूप में कार्य करती है। उदाहरण के लिए, यदि दो चित्रों में कम से कम एक पिक्सेल का अंतर है, तो उनका हैश भिन्न होगा।

तब सिस्टम राउटर के स्थानीय डेटाबेस में फ्लडफिल (Floodfill)  की तलाश करता है और उस एक का चयन करता है, जो "लक्ष्य पता + दिनांक" ब्लॉक के साथविशेष या” ऑपरेशन का उपयोग करते समय सबसे छोटी संख्या देगा।

वास्तव में, यह फ्लडफिल (Floodfill)   तक पहुँचने का एक कार्य है, जो वांछित पते को खोजने में मदद करता है। लेकिन पता बेतरतीब ढंग से उत्पन्न होता है, इसलिए फ्लडफिल (Floodfill)   उन तीन पड़ोसियों के पते की रिपोर्ट करता है जिन्हें हम उस पते की खोज में बदलते हैं जिसकी हमें आवश्यकता है। और हिट को यादृच्छिक करने के लिए एक तारीख के साथ फ्लडफिल (Floodfill)   चुनने के लिए एल्गोरिथ्म की आवश्यकता होती है। इसलिए नए पते के लिए प्रत्येक अनुरोध एक नए फ्लडफिल (Floodfill)   से गुजरेगा और वे हर दिन बदलेंगे।

एक सक्रिय नेटवर्क नोड के डेटाबेस में औसतन 5000 सक्रिय राउटर होते हैं और सैकड़ों या हजारों बिल्कुल यादृच्छिक ट्रांजिट कनेक्शन स्वीकार करते हैं।

बहुत सारी जानकारी हमेशा समापन बिंदुओं से होकर गुजरती है, क्योंकि उनमें से प्रत्येक में आमतौर पर तीन इनपुट सुरंगें होती हैं। सुरंगें कम या ज्यादा हो सकती हैं, यह सब प्रेषक की पसंद पर निर्भर करता है।

यहां तक ​​कि यह सुरंगों को छोड़ कर सीधे नोड तक पहुंच सकता है। और, हालांकि नोड को पता नहीं है कि इसे सुरंगों के बिना एक्सेस किया जा रहा है और श्रृंखला की पूरी लंबाई नहीं जानता है, प्रेषक की गुमनामी अभी भी पीड़ित होगी। दरअसल, सुरंगों के बिना, अनुरोध को रोकना अभी भी मुश्किल है, लेकिन संभव है।

इसके अलावा, प्रत्येक ट्रांज़िट नोड समय-समय पर एक रैंडम फ्लडफिल (Floodfill)  का चुनाव करता है और उससे तीन नए ट्रांज़िट नोड्स के लिए प्रतिक्रिया प्राप्त करता है। इस तरह से नेटवर्क बढ़ता है और नए फ्लडफाइल्स मिलते हैं। प्रत्येक सक्रिय I2P नोड के डेटाबेस में औसतन 5000 सक्रिय राउटर हैं और सैकड़ों या हजारों पूरी तरह से यादृच्छिक ट्रांजिट कनेक्शन स्वीकार करते हैं।

इसके कारण, बहुत सारे ट्रांज़िट ट्रैफ़िक राउटर से गुजरते हैं - "श्वेत शोर" पैदा होता है। इसलिए, बहुत सारी सूचनाओं के बीच किसी विशिष्ट जानकारी की गणना करना लगभग असंभव है।

और पहचानकर्ता I2P में समापन बिंदु पतों के रूप में काम करते हैं, जो हस्ताक्षर की सार्वजनिक कुंजी से प्राप्त होते हैं। हैश योग एक निश्चित लंबाई की एक अनूठी स्ट्रिंग की गणना करता है और अंत में छद्म डोमेन ".b32.i2p" जोड़ता है - इस प्रकार सामान्य इंट्रानेट पता प्राप्त होता है।

इसके अलावा, एक नियमित पठनीय डोमेन इंट्रानेट पते से जुड़ा हुआ है।

सुरंगें राउटर की चयनित सूची के माध्यम से एक पथ बनाती हैं। वे बहु-स्तरीय एन्क्रिप्शन द्वारा सुरक्षित हैं, और रास्ते में प्रत्येक राउटर केवल एक परत को डिक्रिप्ट कर सकता है। डिक्रिप्ट की गई जानकारी में अगले राउटर का आईपी और अगले राउटर पर जाने वाली एन्क्रिप्टेड जानकारी का अगला स्तर होता है।

सुरंगों की जानकारी एक दिशा में जाती है और प्रत्येक सुरंग का प्रारंभ और अंत बिंदु होता है। वापसी संदेश प्राप्त करने के लिए एक और सुरंग की आवश्यकता होती है।

प्रत्येक सुरंग 10 मिनट के लिए मौजूद रहती है। यह सुनिश्चित करने के लिए कि कनेक्शन टूट जाए, प्राप्त करने वाले और भेजने वाले पक्ष पहले से नई सुरंगें बनाते हैं और अपनी लिसेट का आदान-प्रदान करते हैं।

सुरंग इस तरह काम करती हैं: सबसे पहले, एक आउटगोइंग टनल बनाई जाती है, जिसमें कई नोड्स होते हैं। प्रत्येक नोड जानकारी के एक टुकड़े को डिक्रिप्ट करता है जिसमें निर्देश होते हैं। वे बताते हैं कि किस नोड को आगे सूचना भेजनी है।

आउटगोइंग टनल के अंतिम बिंदु पर, नोड सूचना के एक टुकड़े को डिक्रिप्ट करता है जो कहता है कि श्रृंखला पूरी हो चुकी है।

और चूँकि सभी शृंखलाएँ एकदिशीय होती हैं, अंतिम नोड को प्रवेश द्वार सुरंग का मार्ग बताया जाता है। नतीजतन, जानकारी उपयोगकर्ता को वापस कर दी जाती है।


I2P में इनपुट और आउटपुट टनल कैसे काम करती हैं।

सुरंग के प्रकार के आधार परइनबाउंड या आउटबाउंड, अंतिम नोड को एंडपॉइंट (Endpoint) या गेटवे (Gateway)  कहा जाता है। एंडपॉइंट (Endpoint)  का अर्थ है अंत बिंदु, और गेटवे (Gateway)   का अर्थ है प्रवेश द्वार। समापन बिंदु का कार्य एक बड़े डेटा पैकेट में जानकारी के टुकड़े को इकट्ठा करना है और इसे गेटवे (Gateway)   के माध्यम से वांछित उपयोगकर्ता को भेजना है।


(Endpoint)  एक ब्लॉक में जानकारी एकत्र करता है, और गेटवे (Gateway)   इसे अंतिम उपयोगकर्ता को भेजता है

उदाहरण के लिए, बोगदान इब्राहिम को डेटा भेजता है। डेटा ट्रांसमिशन के लिए, बोगडान 4 नोड्स का आउटपुट टनल बनाता है। और इब्राहिम 5 नोड्स के लिए एक इनपुट बनाता है। जब बोगडान सूचना भेजता है, तो वह पहले अपने 4 नोड्स के माध्यम से निकास सुरंग से एंडपॉइंट (Endpoint) तक जाता है, और फिर गेटवे (Gateway)   के माध्यम से वहां से बाहर निकलता है और इब्राहिम के 5 इनपुट नोड्स से होकर जाता है।

अगर इब्राहिम जवाब देने का फैसला करते हैं, तो एक नया रास्ता बनेगा। और नोड्स की संख्या बोगडान और इब्राहिम की इच्छा पर निर्भर करेगी।

खुद  I2P नेटवर्क  “Garlic Routing”   के साथ काम करता है।

लहसुन रूटिंग “Garlic Routing”    कैसे काम करती है?

लहसुन रूटिंग “Garlic Routing”    लगभग 20 साल पहले विकसित की गई थी। यह सूचना सुरंगों के निर्माण की एक विधि है जिसमें कई संदेशों को एन्क्रिप्ट किया जाता है और एक ही अनुरोध में इकट्ठा किया जाता है।

लहसुन रूटिंग “Garlic Routing”    को उन्नत onion रूटिंग कहा जाता है जिसे टोर (Tor) नेटवर्क उपयोग करता है। इसका उपयोग तब किया जाता है जब आपको ट्रांज़िट नोड्स के माध्यम से एक एन्क्रिप्टेड संदेश भेजने की आवश्यकता होती है, जिससे सामग्री को छिपाया जा सके।

रूटिंग के दो तरीकों के बीच मुख्य अंतर यह है कि लहसुन (Garlic) में अलग-अलग कलियों में एक साथ कई संदेशों को एन्क्रिप्ट किया जा सकता है। और onion में – एक ही ।


onion एन्क्रिप्शन कैसे काम करता है, इस बारे में अधिक जानकारी के लिए, "टोर नेटवर्क क्या है और यह कैसे काम करता है" लेख पढ़ें।

और एक लहसुन  (Garlic)  राउटर के साथ एक संदेश प्रसारित करते समय, यह एन्क्रिप्टेड और डिक्रिप्ट किया जाता है क्योंकि यह प्रत्येक नोड के साथ इंटरैक्ट करता है। उसी समय, पथ बनाने के चरण में, प्रत्येक नोड को केवल अगले हॉप के लिए रूटिंग निर्देश प्रदान किए जाते हैं।

अनुरोध के पारित होने के दौरान, संदेश सुरंग के माध्यम से प्रेषित होता है और केवल इसके समापन बिंदु तक ही उपलब्ध होता है।

I2P में लहसुन (Garlic) जानकारी का एक ब्लॉक है जिसमें कई कलियाँ होती हैं। उनमें से कुछ उपयोगकर्ता के लिए आवश्यक संदेश हैं, अन्य भाग पारगमन संदेश हैं।

उदाहरण के लिए, जब कोई उपयोगकर्ता किसी अन्य व्यक्ति को जानकारी भेजना चाहता है, तो यह एक लौंग में बदल जाता है, जिसे बाद में नेटवर्क के अन्य सदस्यों से सूचना के अन्य ब्लॉकों में जोड़ा जाता है - एक लहसुन (Garlic)  बनता है। लहसुन (Garlic)  को विशेष एल्गोरिदम के साथ एन्क्रिप्ट किया जाता है और विभिन्न नेटवर्क नोड्स में प्रेषित किया जाता  है।


एमी के उदाहरण अनुरोध पर लहसुन (Garlic) एन्क्रिप्शन इस तरह काम करता है।


और आवश्यक जानकारी वाले कंप्यूटर से लहसुन (Garlic)  के अनुरोध का प्रसारण इस तरह दिखता है

प्रत्येक लहसुन में प्रत्येक लौंग के निर्माता के बारे में जानकारी शामिल है:

● उसके राउटर पर टनल नंबर - जानकारी के यादृच्छिक 4 बाइट्स।

● अगले राउटर का पता और उस पर टनल नंबर।

● सममित एन्क्रिप्शन कुंजी और प्रारंभिक वेक्टर एन्क्रिप्शन कुंजी। एक इनिशियलाइज़ेशन वेक्टर वर्णों का एक यादृच्छिक या छद्म-यादृच्छिक क्रम है जो एक एन्क्रिप्शन कुंजी में जोड़ा जाता है और इसकी सुरक्षा बढ़ाता है।

● श्रृंखला में नोड की भूमिका: पारगमन या अंत।

प्रत्येक लौंग की पहचान उस जानकारी के पहले बाइट्स से होती है जो उसमे शामिल होती है - यह इसके पते के हैश का हिस्सा है। जब प्राप्तकर्ता वांछित लौंग पाता है, तो वह क्रिप्टोग्राफ़िक कुंजी का उपयोग करके सामग्री को डिक्रिप्ट करता है। अन्य लौंगो से जानकारी को डिक्रिप्ट नहीं किया जा सकता है, क्योंकि यह अन्य प्राप्तकर्ताओं के लिए अभिप्रेत है और अन्य चाबियों द्वारा संरक्षित है।

जब 4 प्रतिभागी सुरंग के निर्माण में भाग लेते हैं, तो 4 लौंग से लहसुन बनता है। अन्य स्थितियों में, लहसुन में 8 भाग और 8 प्रतिभागी होते हैं - सुरंग के निर्माण में अधिक लोगों को सिस्टम द्वारा प्रदान नहीं किया जाता है। अगर लहसुन में खाली कलियां रह जाती हैं, तो वे बेतरतीब जानकारी से भर जाती हैं।

सारांशित करने के लिए: अनुरोध और नेटवर्क कैसे इंटरैक्ट करते हैं

सबसे पहले, उपयोगकर्ता एक अनुरोध बनाता है और इसके लिए सुरंगें बनाई जाती हैं। अनुरोध कई पारगमन बिंदुओं के माध्यम से इनपुट टनल से होकर जाता है और अंतिम बिंदुओं पर पहुंचता हैरैंडम फ्लडफ़िल से लिसेट्स का अनुरोध करता है।

पारगमन बिंदुओं का उपयोग यह सुनिश्चित करने के लिए किया जाता है कि कोई भी समापन बिंदु के स्थान का पता नहीं लगा सके।

अनुरोध के साथ, इनपुट टनल डेटा समापन बिंदु पर आता है। उनकी जरूरत है ताकि प्रतिक्रिया के साथ अनुरोध उपयोगकर्ता के पास वापस सके।

जब कोई अनुरोध सर्वर पर आता है, तो यह एक प्रतिक्रिया उत्पन्न करता है और इसे उपयोगकर्ता को भेजता है। चूंकि I2P में सुरंगें यूनिडायरेक्शनल हैं, इसलिए सर्वर अपनी आउटगोइंग टनल पर प्रतिक्रिया भेजता है। और प्राप्तकर्ता का पता इनपुट टनल है जिसके माध्यम से सर्वर को मूल रूप से अनुरोध आया था।

यहाँ यह एक सामान्य आरेख में कैसा दिखता है।


यह कठिन और भ्रमित करने वाला निकला, आइए सब कुछ चरण दर चरण देखें।


पहला कदम यह है कि सर्वर फ्लडफाइल पर अपनी लिसेट प्रकाशित करता है। ऐसा करने के लिए, यह इसे आउटगोइंग टनल के माध्यम से भेजता है।

दूसरा चरण यह है कि उपयोगकर्ता इस सर्वर से जुड़ना चाहता है। ऐसा करने के लिए, वह अपने आउटगोइंग टनल के माध्यम से फ्लडफिल को एक अनुरोध भेजता है।

तीसरा कदम यह है कि फ्लडफिल उपयोगकर्ता के आने वाली सुरंग के माध्यम से व्यक्ति के कंप्यूटर पर प्रतिक्रिया भेजता है।


चौथा चरण यह है कि उपयोगकर्ता सर्वर को एक अनुरोध भेजता है। सबसे पहले, अनुरोध आउटगोइंग यूजर टनल से होकर जाता है और इनकमिंग यूजर टनल में प्रवेश करता है।


पांचवां चरण - सर्वर उपयोगकर्ता को प्रतिक्रिया देता है। यह सर्वर के आउटगोइंग टनल के माध्यम से प्रतिक्रिया भेजता है, जो तब उपयोगकर्ता की आने वाली टनल में प्रवेश करता है और व्यक्ति के पीसी पर समाप्त होता है। उसके बाद, व्यक्ति आवश्यक संसाधन खोलता है।

I2P किन ग्राहकों के माध्यम से काम करता है?

I2P नेटवर्क दो तकनीकों पर बनाया गया है: जावा (Java) और C++ प्रारंभ में, परियोजना जावा (Java)  में बनाई गई थी और I2P कहलाती थी, और 2013 में मूल उपनाम के साथ एक उत्साही ने C ++ में I2P क्लाइंट बनाया और इसे I2Pd कहा। और यह अपने पूर्ववर्ती से काफी बेहतर है। हम बताते हैं क्यों।

I2Pd वास्तुकला की दृष्टि से जावा (Java) संस्करण से बेहतर है। तथ्य यह है कि I2P में बहुत सारी क्रिप्टोग्राफी है, जो कि भयानक ब्रेक के कारण जावा (Java)  के माध्यम से लागू करना बहुत मुश्किल है। उन्होंने इस समस्या को हल करने की कोशिश की और С  भाषा में लिखी गई लाइब्रेरी को जावा राउटर में जोड़ा। और इन पुस्तकालयों के लिए प्रत्येक कॉल एक बड़ा ओवरहेड है।

और С ++ सभी क्रिप्टोग्राफी नेटवर्क में बनाई गई है और मूल रूप से काम करती है - यह नेटवर्क को लोड नहीं करती है।

तेज नेटवर्क प्रदर्शन के अलावा, I2Pd में राउटर कम सिस्टम संसाधनों का उपभोग करते हैं। क्योंकि C++ प्रोग्राम सीधे सिस्टम से इंटरैक्ट करता है। और जावा संस्करण में, सब कुछ एक वर्चुअल मशीन के अंदर काम करता है, जो ऑपरेटिंग सिस्टम और सॉफ्टवेयर के बीच एक परत के रूप में कार्य करता है।

I2Pd का एक और फायदा तेज गति है। सामान्य I2P में, कनेक्शन कई जावा राउटर से होकर जाता है, जो अनुरोध का कारण बनता है

लंबे समय तक संसाधित और इंटरनेट की गति कुछ दसियों किलोबाइट से अधिक नहीं होती है। С ++ में, अनुरोधों को तेजी से संसाधित किया जाता है, इसलिए कनेक्शन की गति एक मेगाबिट तक पहुंच सकती है।

I2P Tor से कैसे अलग है

दो नेटवर्क के बीच मुख्य अंतर यह है कि Tor क्लाइंट का नेटवर्क है, और I2P सर्वर का नेटवर्क है। मुद्दा यह है कि टोर (Tor) का काम अनुरोध करने वाले ग्राहक के आईपी पते को छिपाना है। और I2P का कार्य उस सर्वर को छिपाना है जिससे उपयोगकर्ता से अनुरोध किया जाता है। लेकिन अन्य अंतर भी हैं:

1. I2P में सुरंगें यूनिडायरेक्शनल हैं, Tor में वे दोनों दिशाओं में जाती हैं। अर्थात्, I2P में, ट्रैफ़िक एक सुरंग से होकर प्राप्तकर्ता तक जाता है, और दूसरे के माध्यम से प्रेषक के पास लौटता है।

2. Tor Onion  एन्क्रिप्शन का उपयोग करता है, जबकि I2P लहसुन (Garlic)  एन्क्रिप्शन का उपयोग करता है। दोनों प्रकार के एन्क्रिप्शन विश्वसनीय हैं, लेकिन प्याज एन्क्रिप्शन में, ट्रैफ़िक परतों में सुरक्षित है, और लहसुन एन्क्रिप्शन में, यह प्रत्येक प्राप्तकर्ता के लिए ब्लॉक में भी सुरक्षित है। यही है, लहसुन एन्क्रिप्शन में सुरक्षा का अंतिम स्तर अधिक है।

3. I2P में, कोई भी नेटवर्क प्रतिभागी नहीं जानता कि प्रेषक कौन है और प्राप्तकर्ता कौन है। और Tor के पास एक मध्यवर्ती नोड है जो जानता है कि फ़ाइल कहाँ से रही है और इसे कहाँ भेजने की आवश्यकता है।

4. अगर आपके देश में टोर बैन है, तो इससे जुड़ने में दिक्कत होगी। यह नेटवर्क बनाने  में और यह पता लगाने के लिए कि किसे संदेश भेजना है, इनपुट नोड्स खोजने में सक्षम नहीं होगा.

और I2P में, भले ही एक फ्लडफिल प्रतिबंधित हो, आप स्वयं एक और सेट कर सकते हैं और इस प्रकार नेटवर्क प्रवेश बिंदुओं की एक सूची प्राप्त कर सकते हैं। दूसरी बार आपको कुछ भी निर्दिष्ट करने की आवश्यकता नहीं है - नेटवर्क के इनपुट बिंदु पहले से ही ज्ञात होंगे और सॉफ़्टवेयर उनका उपयोग करेगा। यह पता चला है कि I2P में दोष सहिष्णुता Tor की तुलना में अधिक है।

5. टॉर  (Tor) केवल डार्क वेब में प्रवेश करने के लिए उपयुक्त है, बल्कि नियमित इंटरनेट का उपयोग करने के लिए भी उपयुक्त है। उदाहरण के लिए, Tor के माध्यम से, आप नियमित सामाजिक नेटवर्क तक पहुँच सकते हैं या स्ट्रीमिंग सेवाओं का उपयोग कर सकते हैं। और I2P केवल अपने नेटवर्क पर संदेश भेजने के लिए अभिप्रेत है, हालाँकि I2Pd में नियमित इंटरनेट की लगभग सभी सुविधाएँ हैं।

6. I2P मूल रूप से उत्साही लोगों द्वारा विकसित एक ओपन सोर्स प्रोजेक्ट है। उनका लक्ष्य एक अनाम और सुरक्षित इंटरनेट बनाना है। और टोर (Tor) नेटवर्क मूल रूप से सरकार द्वारा आविष्कार किया गया था और अब यह एक विशिष्ट उपयोगकर्ता की पहचान कर सकता है।

उदाहरण के लिए, 2016 में, अमेरिका ने नियम 41 में संशोधन किया। इसने FBI को एक ही वारंट का उपयोग करके दुनिया में कहीं भी किसी भी कंप्यूटर को बड़े पैमाने पर हैक करने का अधिकार दिया। इसलिए, कानून प्रवर्तन को नोड में हैक करने और आपकी गोपनीय जानकारी का पता लगाने का अधिकार होगा। यह घटना 2016 में हुई थी। फिर FBI ने 120 देशों में 8,000 कंप्यूटरों को हैक किया।

यह पता चला है कि I2P Tor से बेहतर है क्योंकि नेटवर्क मूल रूप से इस तरह से बनाया गया था कि हर किसी पर शक किया जा सके और किसी पर भरोसा न किया जा सके। और इसमें सबके कर्म छिपे रहते हैं। और टॉर (Tor) के साथ, इसके विपरीत, आप उपयोगकर्ता को डीन कर सकते हैं, और ऐसे मामले पहले भी हो चुके हैं।