اللامرئية هي أفضل دفاع: بناء إنترنت داخل إنترنت
“أعتقد أن معظم الناس يريدون هذه التقنية لكي يتمكنوا من التعبير عن أنفسهم بحرية. إنه شعور مريح عندما تعلم أنك تستطيع فعل ذلك. وفي الوقت نفسه يمكننا التغلب على بعض المشكلات التي نراها على الإنترنت من خلال تغيير الطريقة التي يُنظر بها إلى الأمان والخصوصية، وكذلك مدى تقديرهما.”
في أكتوبر 2001، كان لدى 0x90 (Lance James) حلم. بدأ الأمر كـ"رغبة في التواصل الفوري مع مستخدمي Freenet الآخرين للحديث عن قضايا Freenet وتبادل مفاتيح Freenet مع الحفاظ على إخفاء الهوية والخصوصية والأمان." أُطلق عليه اسم IIP — مشروع IRC غير المرئي.
كان مشروع The Invisible IRC قائماً على فكرة وإطار عمل يقفان وراء The InvisibleNet. في مقابلة عام 2002، وصف 0x90 المشروع بأنه يركّز على “الابتكار في تقنيات الشبكات الذكية” بهدف “توفير أعلى المعايير في الأمن والخصوصية على الإنترنت واسع الاستخدام، لكنه سيئ السمعة من حيث انعدام الأمان.”
بحلول عام 2003، كانت عدة مشاريع مماثلة أخرى قد بدأت، وأكبرها Freenet وGNUNet وTor. كانت لهذه المشاريع جميعاً أهداف واسعة النطاق لتشفير وإخفاء هوية طيفٍ واسع من حركة المرور. بالنسبة إلى IIP، اتضح أن IRC وحده ليس هدفاً كبيراً بما يكفي. ما كان مطلوباً هو طبقة لإخفاء الهوية لجميع البروتوكولات.
في أوائل عام 2003، انضم مطوّر مجهول جديد، “jrandom”، إلى المشروع. كان هدفه الصريح توسيع نطاق IIP. أراد jrandom إعادة كتابة قاعدة الشفرة الخاصة بـ IIP بلغة Java وإعادة تصميم البروتوكولات استناداً إلى أوراق بحثية حديثة وقرارات التصميم المبكرة التي كانت Tor وFreenet تتخذها. وتم تعديل بعض المفاهيم مثل “onion routing” (توجيه البصل) لتصبح “garlic routing” (توجيه الثوم).
بحلول أواخر صيف 2003، كان jrandom قد تولّى السيطرة على المشروع وأعاد تسميته إلى مشروع الإنترنت غير المرئي أو “I2P”. نشر وثيقة تستعرض فلسفة المشروع، ووضع أهدافه التقنية وتصميمه في سياق شبكات المزج وطبقات إخفاء الهوية. كما نشر مواصفة بروتوكولين اثنين (I2CP وI2NP) اللذين شكّلا أساس الشبكة التي يستخدمها I2P اليوم.
بحلول خريف عام 2003، كانت I2P وFreenet وTor تتطور بسرعة. أصدر jrandom الإصدار 0.2 من I2P في 1 نوفمبر 2003، واستمر في طرح إصدارات بوتيرة سريعة خلال السنوات الثلاث التالية.
في فبراير 2005، قام zzz بتثبيت I2P لأول مرة. بحلول صيف 2005، كان zzz قد أنشأ zzz.i2p وstats.i2p، وأصبحا موردين مركزيين لتطوير I2P. في يوليو 2005، أصدر jrandom الإصدار 0.6، متضمناً بروتوكول النقل المبتكر SSU (UDP آمن وشبه موثوق) لاكتشاف عنوان IP واجتياز جدار الحماية.
من أواخر 2006 وحتى 2007، تباطأ تطوير I2P الأساسي بشكل كبير إذ حوّل jrandom تركيزه إلى Syndie. في نوفمبر/تشرين الثاني 2007، وقعت كارثة عندما أرسل jrandom رسالة غامضة تفيد بأنه سيتعيّن عليه أخذ إجازة لمدة سنة أو أكثر. للأسف، لم يتلقّوا أي خبر من jrandom بعد ذلك.
وقعت المرحلة الثانية من الكارثة في 13 يناير 2008 عندما تعرضت شركة الاستضافة لمعظم خوادم i2p.net تقريبًا لانقطاع في التيار الكهربائي ولم تعد إلى الخدمة بالكامل. اتخذ Complication وwelterde وzzz قرارات سريعة لإعادة المشروع إلى العمل، بالانتقال إلى i2p2.de والتحول من CVS إلى monotone للتحكم بإصدارات الشيفرة.
أدرك المشروع أنه كان يعتمد اعتماداً مفرطاً على الموارد المركزية. أدى العمل طوال عام 2008 إلى لامركزية المشروع وتوزيع الأدوار على عدة أشخاص. ابتداءً من الإصدار 0.7.6 في 31 يوليو 2009، تولّى zzz توقيع الإصدارات الـ49 التالية.
بحلول منتصف عام 2009، كان zzz قد توصّل إلى فهم قاعدة الشيفرة على نحو أفضل بكثير وحدّد العديد من مشكلات القابلية للتوسع. شهدت الشبكة نموًا بسبب كلٍّ من قدرات إخفاء الهوية وقدرات تجاوز الحجب. وأصبحت التحديثات التلقائية داخل الشبكة متاحة.
في خريف عام 2010، أعلن zzz تعليق تطوير I2P حتى تصبح وثائق الموقع كاملة ودقيقة. وقد استغرق ذلك 3 أشهر.
بدءًا من عام 2010، حضر zzz وech وhottuna ومساهمون آخرون CCC (Chaos Communications Congress) سنويًا حتى فرض قيود كوفيد-19. عمل المشروع على بناء مجتمع واحتفل بالإصدارات معًا.
في عام 2013، تم إنشاء Anoncoin كأول عملة مشفرة بدعم I2P مدمج، مع قيام مطورين مثل meeh بتوفير بنية تحتية لشبكة I2P.
في عام 2014، بدأ str4d المساهمة في I2PBote، وفي Real World Crypto بدأت مناقشات حول تحديث تشفير I2P. بحلول أواخر 2014، كانت معظم خوارزميات التوقيع الجديدة قد اكتملت، بما في ذلك ECDSA وEdDSA.
في عام 2015، أُقيمت I2PCon في تورنتو، وشملت محاضرات، ودعمًا من المجتمع، وحضورًا من أمريكا وأوروبا. في عام 2016 في Real World Crypto ستانفورد، قدّم str4d محاضرة حول تقدّم ترحيل التشفير.
تم تنفيذ NTCP2 في عام 2018 (الإصدار 0.9.36)، مما يوفر مقاومة ضد رقابة التفتيش العميق للحزم (DPI) ويقلل حمل وحدة المعالجة المركزية عبر تشفير حديث أسرع.
في عام 2019، حضر الفريق المزيد من المؤتمرات، بما في ذلك DefCon وMonero Village، للتواصل مع المطورين والباحثين. تم قبول بحث Hoàng Nguyên Phong حول الرقابة على I2P في FOCI خلال مؤتمر USENIX، مما أدى إلى إنشاء I2P Metrics.
في CCC 2019، اتُّخذ قرار بالانتقال من Monotone (نظام إدارة إصدارات موزّع) إلى GitLab (منصة استضافة مستودعات Git). في 10 ديسمبر 2020، انتقل المشروع رسميًا من Monotone إلى Git (نظام إدارة إصدارات موزّع)، لينضم إلى عالم المطوّرين الذين يستخدمون Git.
بدأ الإصدار 0.9.49 (2021) عملية الانتقال إلى تشفير ECIES-X25519 الجديد والأسرع لـ routers، وبذلك استُكملت سنوات من العمل على المواصفات. كان من المتوقع أن تستغرق عملية الانتقال عدة إصدارات.
1.5.0 — إصدار الذكرى السنوية المبكر
After 9 years of 0.9.x releases, the project went straight from 0.9.50 to 1.5.0 as recognition of almost 20 years of work to provide anonymity and security. This release finished implementation of smaller tunnel build messages to reduce bandwidth and continued the transition to X25519 encryption.
تهانينا يا فريق. دعونا ننجز عشرين أخرى.