الانتقال إلى المحتوى

شبكة الند للند

تمنح شبكة الند للند كل عقدة مجموعة محدودة ومتغيرة من الأقران المباشرين للاكتشاف والنشر وعمليات الطلب والاستجابة؛ ولا تنشئ رؤية عالمية واحدة ولا تحول قبول الرسالة إلى إجماع.

آخر تحديث

لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.

الإجابة المباشرة

تتيح شبكة الند للند لكل عقدة اكتشاف مجموعة محدودة من الأقران المباشرين والمحافظة عليها، وتبادل رسائل بروتوكول موثقة، وبناء رؤيتها المحلية من دون تمرير كل شيء عبر خادم مركزي واحد. وهي ليست رسما بيانيا كاملا ولا مجمع معاملات عالميا ولا مصدرا للحقيقة بذاته. فتلقّي أحد الأقران لكائن أو التحقق منه أو تمريره لا يثبت أن كل عقدة رأته أو أن كتلة أدرجته أو أن الإجماع منحه النهائية.

تستخدم إيثريوم بعد الدمج شبكتي ند للند منفصلتين. تستخدم عملاء طبقة التنفيذ الاكتشاف مع RLPx وقدرة eth ذات الإصدارات للمزامنة وتبادل المعاملات. وتستخدم عملاء طبقة الإجماع discv5 للاكتشاف، ونشر libp2p بالشائعات وبروتوكولات الطلب والاستجابة لكتل المنارة والإثباتات وغيرها من كائنات الإجماع. ينسق العميلان محليا عبر Engine API الموثق؛ أما المحفظة فعادة ما ترسل عبر JSON-RPC ولا تصبح بذلك عقدة تنشر بالشائعات.

آلية العمل

  1. ثبّت السلسلة والشبكة والتكوين الابتدائي وتكوين الانقسام، وإصدارات عميل التنفيذ وعميل الإجماع، وهويات العقد، ووقت الرصد. وارسم عميل التنفيذ وعميل الإجماع والمدقق الاختياري وEngine API المحلي وRPC الموجه للمستخدم كمكونات منفصلة.
  2. افحص كل مسار اكتشاف: عقد البدء المدمجة، وقوائم DNS، والأقران الثابتة أو الموثوقة، وهوية ENR أو enode، ونقطة النهاية المعلنة وتسلسلها، وتوافق الشبكة، وNAT، وإمكانية الوصول الوارد. يربط ENR الموقّع السجل بمفتاح؛ لكنه لا يثبت الأمانة أو المزامنة أو إمكانية الوصول الحالية.
  3. سجّل الاتصال والتفاوض على البروتوكول بصورة منفصلة. تنشئ أقران التنفيذ جلسات RLPx وتتفاوض على قدرات مثل eth؛ وتتفاوض أقران الإجماع على وسائل نقل libp2p والأمان ومعرفات البروتوكول بعد اكتشاف discv5. العثور على نقطة نهاية لا يعني توافق التطبيق.
  4. تتبع كل كائن عبر مساره الفعلي. قد تنتقل المعاملة من الإرسال عبر RPC إلى التحقق المحلي ومجمع معاملات التنفيذ، ثم عبر إعلانات وطلبات eth. وتستخدم كائنات الإجماع تحقق النشر المخصص لكل موضوع، بينما يمكن جلب الكتل المفقودة عبر الطلب والاستجابة.
  5. طبّق حدود فك الترميز وإزالة التكرار وحدود المعدل وفحوص التوقيع والبنية والحالة قبل القبول المحلي أو التمرير. وسجّل النتائج غير الصالحة والمتجاهلة وغير المتاحة والمقيدة بالموارد؛ فتقييم النظير وسياسة قطع الاتصال قرارات تنفيذ محلية وليسا سمعة إجماع.
  6. افصل بين التلقي والتحقق والتمرير وإدراج المعاملة ونتيجة التنفيذ واختيار الفرع والتبرير والنهائية كحالات وساعات مستقلة. وقارن عدة أقران أو عقد عندما يكون رد المجمع المحلي أو الرأس أو السجل ناقصا أو متعارضا أو قديما.
  7. راقب تنوع الأقران الواردة والصادرة والمشغل وبادئة IP وتركيز ASN والتقلب والزمن الضائع وفقد الحزم وعرض النطاق والطوابير وحركة البيانات غير الصالحة وسلامة الساعة وتبعيات RPC. وتمرّن على فقد عقد البدء وفشل NAT والانقسام وهجوم الحجب الشبكي والحمل الزائد والتعافي من دون ادعاء مقاومة مطلقة.

يعالج اكتشاف الأقران وأمان النقل وصلاحية التطبيق مشكلات مختلفة. تعرّف عقد البدء العقدة إلى مرشحين، لكنها لا تمرر حركة البيانات العادية ولا تختار السلسلة القانونية. يحمي التشفير محتوى الجلسة والتوثيق، لكن الأقران يطلعون مع ذلك على نقاط النهاية والتوقيت؛ ويمكن لمزود RPC بعيد أن يراقب أيضا الاستعلامات والعناوين والمعاملات المرسلة.

الانتشار متزامن ويعتمد على الطوبولوجيا. يحدد التوزيع وذيل أزمنة الوصول كل من سعة النشر والمسارات المكررة وتسلسل عرض النطاق واستهلاك التحقق للمعالج والطوابير وفقد الحزم وإعادة الإرسال وتقييم الأقران والقواعد الخاصة بالكائن. الصيغة delay = hops * perHopTime ليست سوى نموذج تعليمي تسلسلي معلن، وليست ضمانا للشبكة.

مثال

  • المسار التسلسلي مقابل خط الأنابيب. في مسار تعليمي من 4 hops، يستغرق كل انتقال 80 ms للشبكة و20 ms للتحقق. تعطي المعالجة التسلسلية الكاملة 4 * (80 + 20) = 400 ms. وإذا تداخل التحقق مع الإرسال التالي كان حد أدنى مبسطا 4 * 80 + 20 = 340 ms. لا تمثل أي من القيمتين زمن الانتشار في الشبكة كلها.
  • إعلان المعاملة وجلبها. تتلقى العقدة 20 تجزئة معاملات ولديها 6 منها، لذلك تنقصها أجسام 20 - 6 = 14. وإذا حمل الطلب التعليمي 8 كحد أقصى، فهو يحتاج ceil(14 / 8) = 2 batches. عند زمن ذهاب وإياب 120 ms مع تحقق 30 ms لكل دفعة، يكون الإكمال التسلسلي 2 * (120 + 30) = 300 ms والإكمال المتوازي المثالي 150 ms. تعتمد الحدود الفعلية على إصدار eth المتفاوض عليه والعميل.
  • احتمال مبسط لهجوم الحجب الشبكي. إذا اختير كل من 8 أقران صادرة باستقلال، وكانت الجهات الخبيثة تشكل 25% من المرشحين، فإن احتمال أن تكون جميعها خبيثة هو 0.25^8 = 0.0000152587890625 = 0.00152587890625%. يخرق تحيز الاكتشاف وهويات Sybil وارتباط IP وASN والاحتفاظ بالأقران افتراض الاستقلال، لذلك فهذه ليست ضمانة أمنية.
  • الحمل الزائد للتحقق. تبلغ الشائعات الواردة 900 messages/s؛ ويتحقق 4 عمال بمعدل 250 messages/s لكل منهم، فتكون السعة 1,000 messages/s والسعة الفائضة 100 messages/s والاستغلال 90%. ينشئ هجوم بمعدل 1,400 messages/s تراكما قدره 400 messages/s و6,000 messages خلال 15 seconds. ويمتلئ طابور بحجم 5,000-message خلال 5,000 / 400 = 12.5 seconds قبل الإسقاط أو تقييد المعدل، مع تجاهل تباين زمن الخدمة.

المخاطر

  • خطأ في تكوين السلسلة أو التكوين الابتدائي أو الانقسام
  • عدم توافق عميل التنفيذ أو عميل الإجماع أو Engine API
  • تركز اكتشاف عقد البدء وDNS أو اختطافه
  • بيانات نقاط نهاية قديمة أو مزورة أو غير قابلة للوصول
  • حجب NAT أو الجدار الناري أو إعداد المنفذ للوصول المتوقع
  • هجوم حجب شبكي يرشح الرؤية المحلية للعقدة
  • هويات Sybil وتركيز IP أو ASN أو المشغل أو السحابة
  • الاعتماد المفرط على الأقران الثابتة أو الموثوقة
  • رقابة المعاملات أو التمرير الانتقائي
  • اختلاف تدفق الأوامر العام والخاص
  • اختلاف قبول مجمع المعاملات المحلي واستبداله وإخلائه
  • استنزاف الشائعات غير الصالحة لمعالج التحقق
  • استنزاف الطلبات الكبيرة أو فك الضغط أو عرض النطاق أو الذاكرة أو القرص
  • التلاعب بتقييم الأقران أو العقوبات الخاطئة
  • إسقاط ضغط الطابور للرسائل الحساسة للوقت
  • تسبب الزمن الضائع أو الفقد أو انحراف الساعة في اختلاف مؤقت للرأس
  • عدم توافق إصدار البروتوكول أو بصمة الانقسام
  • إساءة تفسير السجل المقصوص أو رد المورد غير المتاح على أنه عدم وجود
  • تسرب خصوصية IP والتوقيت والاستعلام ومنشأ المعاملة
  • تسبب RPC المركزي أو المكشوف في التتبع أو الرؤى القديمة أو الرقابة أو الاختراق

مفاهيم خاطئة شائعة

  • كل عقدة تتصل مباشرة بكل عقدة أخرى. لكل عقدة مجموعة محلية محدودة ومتغيرة من الأقران، وقد ترى العقد المختلفة رسائل ورؤوسا مختلفة مؤقتا.
  • عقدة البدء مصدر موثوق للكتل أو مشارك في الإجماع. دورها المعتاد هو التعريف الأولي بالأقران؛ ويُتحقق من صلاحية السلسلة واختيار الفرع في موضع آخر.
  • المعاملة التي يقبلها نظير واحد تُبث عالميا ويضمن إدراجها. القبول والتمرير محليان، وقد يحذفها منشئ الكتلة أو مقترحها.
  • التحقق من الشائعات يعني الإجماع والنهائية. إنه بوابة شبكية محلية مبكرة؛ أما اختيار الفرع والتبرير والنهائية فهي آلات حالة منفصلة.
  • زيادة الأقران أو النقل المشفر توفر تلقائيا إخفاء الهوية ومقاومة الحجب الشبكي. يهم التنوع والاختيار، ولا يزال بإمكان الأقران ومزودي RPC ربط نقاط النهاية والتوقيت والنشاط.

مواضيع ذات صلة

المصادر

التنقل

ابحث في الويكي...