1. بروتوكول يقلب مفاهيم التنزيل رأسًا على عقب
ماذا سيحدث إذا حاول عشرات الآلاف من الأشخاص تنزيل بيانات تصل إلى عدة غيغابايت في نفس الوقت، مثل صور تثبيت Linux أو ملفات تحديث الألعاب الضخمة؟ مع خوادم الويب العادية (تنزيل HTTP)، سيمتلئ النطاق الترددي للاتصال وسيتعطل الخادم.
ولحل هذه المشكلة، بدلاً من “دفع الشركات للأموال لتوفير العديد من الخوادم فائقة القوة (CDN)"، ابتكر برام كوهين في عام 2001 “BitTorrent"، وهو أسلوب ثوري يقوم على فكرة “الاستعانة بقوة أجهزة الكمبيوتر الخاصة بالمستخدمين الذين يقومون بالتنزيل، ومساعدة بعضهم البعض في التنزيل”.
إن BitTorrent ليس مجرد أداة للتنزيل غير القانوني. حتى اليوم، يشكل نسبة لا يستهان بها من حركة المرور على الإنترنت في العالم، وتستخدمه شركات تكنولوجيا المعلومات الكبرى لنشر البيانات الضخمة بسرعة على خوادمها الداخلية، ويعتبر أحد أعظم روائع “خوارزميات التوزيع اللامركزي” في علوم الكمبيوتر.
2. قوة القطع (التجزئة) والسرب (Swarm)
يتمثل أعظم ابتكار في BitTorrent في تعامله مع ملف واحد ضخم عن طريق تقسيمه إلى “قطع (كتل صغيرة تتراوح عادة بين 256 كيلوبايت إلى بضعة ميغابايت)”.
في التنزيل التقليدي، يتم تلقي الملف بالتسلسل من البداية إلى النهاية من الخادم. ولكن في BitTorrent، يتشارك الأشخاص المشاركون في التنزيل (المجموعة التي تسمى السرب) باستمرار المعلومات حول “من يملك أي قطعة”.
ثم، بينما تحصل على القطع التي لا تملكها من مستخدمين آخرين (الأقران)، في نفس الوقت تقوم برفع وتمرير القطع التي أكملت تنزيلها بالفعل إلى المستخدمين الآخرين الذين لا يمتلكونها بعد.
graph TD
Seed["البذرة (يمتلك 100%)"] -->|"القطعة 1"| PeerA["النظير A (مكتمل بنسبة 20%)"]
Seed -->|"القطعة 2"| PeerB["النظير B (مكتمل بنسبة 40%)"]
Seed -->|"القطعة 3"| PeerC["النظير C (مكتمل بنسبة 10%)"]
PeerA <-->|"تبادل القطعتين 1 و 2"| PeerB
PeerB <-->|"تبادل القطعتين 2 و 3"| PeerC
PeerC <-->|"تبادل القطعتين 3 و 1"| PeerA
Note over PeerA,PeerC: يتبادل المستخدمون القطع التي لا يمتلكونها مثل أجزاء الأحجية
بفضل هذه الآلية، لا يحتاج الخادم الأصلي (البذرة) إلى إرسال الملف بالكامل إلى جميع المشاركين. بمجرد تمرير كل قطعة إلى شخص واحد، سيتكاثر الباقي بينما يتبادل المشاركون القطع مثل أجزاء الأحجية، مما يؤدي إلى ظاهرة سحرية حيث “كلما زاد عدد المشاركين، زادت سرعة التنزيل للشبكة بالكامل”.
3. خوارزمية الأندر أولاً (Rarest First)
أحد الأسباب التي تجعل BitTorrent يعمل بكفاءة عالية هو الخوارزمية الذكية المسماة “الأندر أولاً (أولوية الحصول على القطع الأكثر ندرة)” والتي تحدد ترتيب القطع التي سيتم تنزيلها.
إذا قام الجميع بتنزيل “القطعة الأولى من الملف” بالتسلسل، فستكون المجموعة مليئة “بالأشخاص الذين لديهم القطع الأولى فقط”، وسيكون عدد الأشخاص الذين لديهم القطع الأخيرة قليلًا جدًا. في هذه الحالة، في اللحظة التي تختفي فيها البذرة الأصلية، لن يتمكن أحد من إكمال الملف بنسبة 100%.
لذلك، يقوم BitTorrent بمراقبة السرب بأكمله ويفرض قاعدة على كل نظير تتمثل في “إعطاء الأولوية لتنزيل القطع النادرة التي لا تتوفر بكثرة (عددها قليل) حاليًا”.
ونتيجة لذلك، تنتشر جميع القطع بالتساوي داخل الشبكة، وحتى إذا اختفت البذرة الأصلية، يمكن إكمال الملف من خلال التبادل بين المستخدمين المتبقين فقط.
4. استراتيجية واحدة بواحدة (Tit-for-Tat): القضاء على المستفيدين المجانيين
أكبر تحدٍ في شبكات P2P هو وجود مستخدمين أنانيين (مستفيدين مجانيين) الذين “يحصلون على البيانات فقط دون رفع (توفير) أي شيء للآخرين”. إذا امتلأت الشبكة بأمثالهم، فسينهار النظام.
لمواجهة هذه المشكلة، دمج BitTorrent إجراءً مضادًا قويًا يعتمد على نظرية الألعاب يُسمى “واحدة بواحدة (Tit-for-Tat)” على مستوى البروتوكول.
تقوم برامج عملاء BitTorrent بقياس “سرعة رفع البيانات إليك” باستمرار لكل جهة متصلة. ثم، تقوم تلقائيًا بإجراء حيث “ترسل بياناتك بشكل تفضيلي كرد جميل فقط للأطراف التي تمنحك الكثير من البيانات (Choke/Unchoke)”.
بمعنى آخر، يتم الحكم على المستخدمين الذين يقللون الرفع ليصبحوا “آخذين فقط” من قبل جميع المستخدمين الآخرين بأنهم “لا يعطون البيانات، لذلك لن نعطيهم أيضًا”، ويتم قطع الاتصال بهم، ونتيجة لذلك تصبح سرعة التنزيل لديهم بطيئة للغاية. إنها خوارزمية مذهلة تم تصميمها بحيث يكون التصرف بإيثار (فتح الرفع) هو الحل الأمثل لتحقيق أهداف أنانية (تسريع التنزيل الخاص بك).
5. التطور من المتتبع (Tracker) إلى DHT (أقصى درجات اللامركزية)
في بدايات BitTorrent، كان هناك حاجة لخادم مركزي يسمى “المتتبع (Tracker)” لإدارة قائمة “أصحاب عناوين IP الذين يمتلكون هذا الملف”. كانت هناك نقطة ضعف تتمثل في أنه إذا تعطل المتتبع، فلن يتمكن المستخدمون من العثور على بعضهم البعض.
ولكن اليوم، من خلال دمج تقنية تسمى DHT (جدول التجزئة الموزع - Distributed Hash Table)، أصبح BitTorrent لا يحتاج حتى إلى خوادم تتبع (بدون متتبع). من خلال تعاون أجهزة الكمبيوتر الخاصة بملايين المستخدمين المشاركين في الشبكة لإنشاء “قائمة موزعة” ضخمة، تطور إلى نظام لامركزي مثالي يمكنه العثور على الأشخاص الذين لديهم ملفات معينة وبدء التنزيل حتى في حالة عدم وجود خادم مركزي على الإطلاق.
6. الخلاصة
تخلى BitTorrent عن فكرة القرن العشرين المتمثلة في “خادم مركزي ضخم يوزع للجميع”، وهو تقنية تجسد بشكل رائع الفلسفة اللامركزية الذاتية الأصلية للإنترنت المتمثلة في “حشد قوة الأفراد الذين يشكلون سربًا”.
يستمر المنطق الأساسي الذي يعمل عليه، والمتمثل في “تكسير الملفات إلى أجزاء صغيرة”، “الجمع من أندر القطع”، و “مكافأة المتعاونين”، في التأثير بشكل كبير على تصميم تقنية البلوكشين (Blockchain) والتخزين السحابي اللامركزي اليوم.
