अदृश्यता सर्वोत्तम रक्षा है: इंटरनेट के भीतर इंटरनेट का निर्माण
“मेरा मानना है कि अधिकांश लोग इस तकनीक को इसलिए चाहते हैं ताकि वे स्वयं को स्वतंत्र रूप से अभिव्यक्त कर सकें। जब आपको पता होता है कि आप ऐसा कर सकते हैं, तो यह एक सुकून देने वाला एहसास होता है। इसी के साथ, सुरक्षा और गोपनीयता को देखने का नजरिया, और उन्हें कितनी अहमियत दी जाती है, दोनों में बदलाव करके हम Internet के भीतर दिखाई देने वाली कुछ समस्याओं पर काबू पा सकते हैं।”
अक्टूबर 2001 में, 0x90 (Lance James) ने एक सपना देखा। यह “अन्य Freenet उपयोगकर्ताओं के साथ Freenet से संबंधित मुद्दों पर बात करने और गुमनामी, गोपनीयता और सुरक्षा बनाए रखते हुए Freenet कुंजियों का आदान-प्रदान करने हेतु तत्काल संचार की इच्छा” के रूप में शुरू हुआ। इसे IIP — the Invisible IRC Project कहा गया।
The Invisible IRC Project, The InvisibleNet के पीछे मौजूद आदर्श और फ्रेमवर्क पर आधारित था। 2002 के एक साक्षात्कार में, 0x90 ने इस परियोजना को “बुद्धिमान नेटवर्क प्रौद्योगिकी में नवाचार” पर केंद्रित बताया, जिसका लक्ष्य “व्यापक रूप से इस्तेमाल होने वाले, फिर भी कुख्यात रूप से असुरक्षित इंटरनेट पर सुरक्षा और गोपनीयता के सर्वोच्च मानक प्रदान करना” था।
2003 तक, कई अन्य समान परियोजनाएँ शुरू हो चुकी थीं, जिनमें सबसे बड़े Freenet, GNUNet और Tor थे। इन सभी परियोजनाओं का लक्ष्य विभिन्न प्रकार के ट्रैफ़िक को एन्क्रिप्ट (कूटलेखन) करना और उसे गुमनाम बनाना था। IIP के लिए यह स्पष्ट हो गया कि केवल IRC पर्याप्त बड़ा लक्ष्य नहीं था। जिसकी आवश्यकता थी, वह सभी प्रोटोकॉल के लिए एक गुमनामी प्रदान करने वाली परत थी।
2003 की शुरुआत में, एक नए गुमनाम डेवलपर, “jrandom” परियोजना से जुड़े। उनका स्पष्ट उद्देश्य IIP के चार्टर का विस्तार करना था। jrandom IIP कोडबेस को Java में दोबारा लिखना और प्रोटोकॉलों को हालिया शोध-पत्रों तथा Tor और Freenet द्वारा लिए जा रहे प्रारंभिक डिज़ाइन निर्णयों के आधार पर पुनः डिज़ाइन करना चाहते थे। कुछ अवधारणाओं, जैसे “onion routing” (लेयर-दर-लेयर एन्क्रिप्शन के साथ रूटिंग), को संशोधित कर “garlic routing” (कई संदेशों को समूहित कर रूट करने की तकनीक) बनाया गया।
2003 की गर्मियों के अंत तक, jrandom ने परियोजना का नियंत्रण संभाल लिया और उसका नाम बदलकर Invisible Internet Project या “I2P” रख दिया। उन्होंने परियोजना के दर्शन का खाका प्रस्तुत करने वाला एक दस्तावेज़ प्रकाशित किया, और उसके तकनीकी लक्ष्यों और डिज़ाइन को mixnets (मिश्रण नेटवर्क) और anonymizing layers (गुमनाम बनाने वाली परतें) के संदर्भ में रखा। उन्होंने दो प्रोटोकॉल (I2CP और I2NP) के विनिर्देश भी प्रकाशित किए, जो उस नेटवर्क का आधार बने जिसका उपयोग I2P आज करता है।
2003 की पतझड़ तक, I2P, Freenet और Tor तेज़ी से विकसित हो रहे थे। jrandom ने 1 नवंबर, 2003 को I2P संस्करण 0.2 जारी किया, और अगले 3 वर्षों तक तेज़ी से रिलीज़ जारी रखीं।
फरवरी 2005 में, zzz ने पहली बार I2P स्थापित किया। 2005 की गर्मियों तक, zzz ने zzz.i2p और stats.i2p स्थापित किए, जो I2P विकास के लिए केंद्रीय संसाधन बन गए। जुलाई 2005 में, jrandom ने संस्करण 0.6 जारी किया, जिसमें IP खोज और फ़ायरवॉल ट्रैवर्सल के लिए अभिनव SSU (Secure Semi-reliable UDP) ट्रांसपोर्ट प्रोटोकॉल शामिल था।
2006 के उत्तरार्ध से 2007 तक, मुख्य I2P विकास काफी हद तक धीमा पड़ गया क्योंकि jrandom ने अपना ध्यान Syndie पर केंद्रित कर लिया। नवंबर 2007 में, तब विपत्ति आई जब jrandom ने एक रहस्यमय संदेश भेजा कि उन्हें एक वर्ष या उससे अधिक समय के लिए अवकाश लेना पड़ेगा। दुर्भाग्य से, फिर कभी jrandom से कोई खबर नहीं मिली।
आपदा का दूसरा चरण 13 जनवरी 2008 को उस समय हुआ जब लगभग सभी i2p.net सर्वरों की होस्टिंग करने वाली कंपनी को बिजली कटौती का सामना करना पड़ा और वह पूरी तरह सेवा में वापस नहीं आ सकी। Complication, welterde और zzz ने परियोजना को फिर से चालू करने के लिए तेजी से निर्णय लिए, i2p2.de पर स्थानांतरित होकर और source control (वर्ज़न कंट्रोल) के लिए CVS से monotone पर स्विच किया।
परियोजना को एहसास हुआ कि वह केंद्रीकृत संसाधनों पर अत्यधिक निर्भर रही थी। 2008 के दौरान किए गए कार्य ने परियोजना को विकेन्द्रीकृत किया और भूमिकाएँ कई लोगों में वितरित की गईं। 31 जुलाई, 2009 की रिलीज़ 0.7.6 से शुरुआत करते हुए, zzz ने अगली 49 रिलीज़ों पर हस्ताक्षर किए।
2009 के मध्य तक, zzz ने कोडबेस को काफ़ी बेहतर समझ लिया था और स्केलेबिलिटी से जुड़ी कई समस्याएँ पहचानी थीं। गुमनामी और सेंसरशिप से बचाव की क्षमताओं, दोनों के कारण नेटवर्क में वृद्धि हुई। नेटवर्क के भीतर स्वचालित अपडेट उपलब्ध हो गए।
2010 की शरद ऋतु में, zzz ने I2P विकास पर तब तक अस्थायी रोक की घोषणा की जब तक वेबसाइट दस्तावेज़ीकरण पूर्ण और सटीक नहीं हो गया। इसमें 3 महीने लगे।
2010 से, zzz, ech, hottuna, और अन्य योगदानकर्ताओं ने COVID प्रतिबंधों के लागू होने तक प्रतिवर्ष CCC (Chaos Communications Congress) में भाग लिया। परियोजना ने समुदाय का निर्माण किया और मिलकर रिलीज़ों का जश्न मनाया।
2013 में, Anoncoin को अंतर्निहित I2P समर्थन वाली पहली क्रिप्टोकरेंसी के रूप में बनाया गया, जिसमें meeh जैसे डेवलपर्स I2P नेटवर्क के लिए अवसंरचना प्रदान कर रहे थे।
2014 में, str4d ने I2PBote में योगदान देना शुरू किया और Real World Crypto में I2P की क्रिप्टोग्राफी को अद्यतन करने पर चर्चाएँ शुरू हुईं। 2014 के अंत तक, अधिकांश नई हस्ताक्षर क्रिप्टोग्राफी पूरी हो चुकी थी, जिनमें ECDSA और EdDSA शामिल थे।
2015 में, I2PCon टोरंटो में आयोजित हुआ, जिसमें व्याख्यान, समुदाय का समर्थन, और अमेरिका और यूरोप से आए प्रतिभागी शामिल थे। 2016 में Real World Crypto Stanford में, str4d ने क्रिप्टो माइग्रेशन की प्रगति पर एक व्याख्यान दिया।
NTCP2 को 2018 में (रिलीज़ 0.9.36) लागू किया गया था, जो DPI सेंसरशिप के खिलाफ प्रतिरोध प्रदान करता है और तेज, आधुनिक क्रिप्टोग्राफी के माध्यम से CPU लोड को कम करता है।
2019 में, टीम ने DefCon और Monero Village सहित अधिक सम्मेलनों में भाग लिया, और डेवलपर्स व शोधकर्ताओं से संपर्क किया। Hoàng Nguyên Phong के I2P पर सेंसरशिप संबंधी शोध को USENIX के FOCI में स्वीकार किया गया, जिससे I2P Metrics का निर्माण हुआ।
CCC 2019 में, Monotone से GitLab पर स्थानांतरित करने का निर्णय लिया गया। 10 दिसंबर 2020 को, परियोजना ने आधिकारिक रूप से Monotone से Git पर स्विच किया, और Git का उपयोग करने वाले डेवलपर्स की दुनिया में शामिल हो गई।
0.9.49 (2021) ने routers के लिए नई, तेज ECIES-X25519 एन्क्रिप्शन की ओर माइग्रेशन शुरू किया, जिससे वर्षों का विनिर्देशन कार्य पूरा हुआ। यह माइग्रेशन कई रिलीज़ में पूरा होगा।
1.5.0 — अग्रिम वर्षगांठ रिलीज़
0.9.x रिलीज़ के 9 वर्षों के बाद, परियोजना 0.9.50 से सीधे 1.5.0 पर पहुँची, अनामिता और सुरक्षा प्रदान करने के लगभग 20 वर्षों के कार्य की मान्यता में। इस रिलीज़ ने बैंडविड्थ कम करने के लिए छोटे tunnel build messages के कार्यान्वयन को पूरा किया और X25519 एन्क्रिप्शन की ओर संक्रमण को जारी रखा।
बधाई हो, टीम। चलो 20 और करते हैं।