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

مشكلة الجنرالات البيزنطيين: الاتفاق مع الرسائل المتعارضة

تسأل المشكلة كيف يتفق المشاركون الصادقون حين يرسل المشاركون المعطّلون معلومات متعارضة. يجب تحليل مهمة الاتفاق والقنوات والمصادقة وحدّ الأعطال والعتبة والخوارزمية والتشغيل كلٌّ على حدة.

آخر تحديث

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

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

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

في صياغة الجنرال القائد، يشترط IC1 أن ينفذ جميع الضباط المخلصين الأمر نفسه، بينما يشترط IC2 أن ينفذ كل ضابط مخلص أمر القائد عندما يكون القائد مخلصاً. الاتفاق وحده غير كافٍ: فالقاعدة التي تختار الانسحاب دائماً تحقق الاتفاق لكنها تخالف أمر الهجوم الصحيح الصادر من قائد مخلص.

في نموذج «الرسائل الشفهية» الوارد في البحث، ومع وجود ما لا يزيد على m خونة، لا يوجد حل إلا عندما يكون n>3m، وهو مكافئ لعدد صحيح من المشاركين قدره n>=3m+1. يفترض النموذج أن رسائل المشاركين المخلصين تصل صحيحة، وأن المستلم يعرف مرسل كل رسالة، وأن غياب الرسالة المتوقعة قابل للكشف. وتعني «شفهية» إمكان تزوير محتوى غير موثق بوصفه تقريراً عن مشارك آخر، لا أن رسولاً غير موثوق يمكن أن يختفي إلى الأبد من دون اكتشاف ذلك.

يضيف نموذج «الرسائل الموقعة» توقيعات غير قابلة للتزوير ويمكن للجميع التحقق منها، فيتغير حد تحمل الأعطال. لكنه لا يجعل المحتوى الموقع صحيحاً، ولا يضمن التسليم، ولا يحل الإنهاء في عدم التزامن الكامل، ولا يحمي المفاتيح المسروقة، ولا يثبت سلامة بروتوكول حديث. مشكلة الجنرالات البيزنطيين ومشكلة الجنرالين أو الهجوم المنسق وFLP وبروتوكولات BFT وإثبات العمل وإثبات الحصة نماذج أو إنشاءات مترابطة لكنها مختلفة.

كيفية تحليلها

  1. عرّف مهمة الاتفاق. حدّد المشاركين والمدخلات والمخرجات وخصائص الاتفاق والصلاحية والإنهاء بدقة. في صياغة القائد، اكتب IC1 وIC2 صراحةً بدلاً من الاكتفاء بعبارة «الوصول إلى الإجماع».
  2. عرّف الهويات والقنوات. بيّن هل الرسائل بين كل طرفين موثقة وموثوقة التسليم ومرتبة ومحمية من إعادة التشغيل ومنسوبة إلى مرسلها؛ وهل يمكن اكتشاف الحذف؛ وهل البث أداة أولية أم سلسلة من عمليات الإرسال.
  3. عرّف التوقيت. افصل بين التزامن ذي التأخير المحدود، والتزامن الجزئي بعد وقت استقرار غير معلوم، وعدم التزامن الكامل. لا تضف رسلاً يختفون إلى نموذج ثم تحتفظ بنظرية بُرهنت لنموذج آخر.
  4. عرّف ميزانية الأعطال. سجّل العدد الكلي للمشاركين n والحد الأقصى للمشاركين البيزنطيين m، وهل الفساد ثابت أم تكيفي، وهل تشمل الأعطال الحذف أو المراوغة أو التواطؤ أو سرقة المفاتيح أو القنوات المعطلة.
  5. تتبّع المعلومات تكرارياً. لكل مشارك مخلص، اسرد الادعاءات المباشرة والمنقولة، بما فيها مسارات المرسلين وقيم الرسائل الغائبة وقواعد حسم التعادل القطعية. قارن ما يستطيع مشاركان مخلصان تمييزه من منظوريهما المحليين.
  6. افحص النظرية والخوارزمية معاً. طابق الحدود الدنيا والكفاية مع نموذج الرسائل الشفهية أو الموقعة بعينه ومع الاتصال وميزانية الأعطال. متباينة العتبة وحدها ليست تنفيذاً ولا برهاناً.
  7. اربط النموذج بالتشغيل. تحقق من آلية OM(m) أو SM(m) أو غيرها في البروتوكول المشغّل، ونطاقات الرسائل والجولات والأقفال والشهادات وتغييرات العضوية والمهل وسلوك العميل وقاعدة النهائية وسياسة تأكيد التطبيق.

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

أمثلة محلولة

1. لماذا لا يتحمل ثلاثة جنرالات برسائل شفهية خائناً واحداً

لنفترض n=3 وm=1. يصبح الشرط n>3m هو 3>3، وهو خاطئ. افترض أن القائد A يخبر الضابط B بـATTACK والضابط C بـRETREAT. لا يستطيع B أن يعرف أكان A هو الخائن الذي أرسل أمرين متعارضين أم كان C هو الخائن الذي كذب بشأن ما قاله A؛ ويواجه C الالتباس المناظر.

أي اختيار قطعي يحافظ على أمر قائد مخلص في التنفيذات المناظرة التي يكون فيها A مخلصاً قد يجبر B وC على اختيارين مختلفين عندما يكون A خائناً. نقل الرسائل لا ينشئ مصدراً مستقلاً رابعاً، ولذلك لا يمكن ضمان IC1 وIC2 معاً.

2. أربعة جنرالات برسائل شفهية وخائن واحد

مع OM(1) وn=4 وm=1، يرسل القائد أمراً إلى ثلاثة ضباط؛ وينقل كل ضابط القيمة التي استلمها إلى الاثنين الآخرين؛ ويطبق كل ضابط مخلص قاعدة الأغلبية والقيمة الافتراضية نفسيهما. إذا كان القائد مخلصاً وأرسل v، يرى الضابط المخلص قيماً مثل v وv وربما x من الخائن، فيختار v.

إذا كان القائد هو الخائن الوحيد، يكون الضباط الثلاثة مخلصين وينقلون تماماً ما استلمه كل منهم. لذلك يعيدون بناء المجموعة نفسها من ادعاءات القائد إلى الضباط ويطبقون القاعدة القطعية نفسها. قد لا يستعيدون «النية الحقيقية» للقائد، لكنهم يحققون الاتفاق.

3. الحد الأدنى العام للرسائل الشفهية

عند n=7 وm=2 تتحقق 7>6، فيتحقق الشرط المسبق لعدد المشاركين ويمكن للبناء التكراري للرسائل الشفهية تحمل خائنين كحد أقصى ضمن افتراضاته. عند n=6 تكون 6>6 خاطئة. وعند n=10 وm=3 تتحقق 10>9. اجتياز المتباينة ضروري، لكن تظل الجولات والنقل والأغلبية والقيم الافتراضية والقنوات الصحيحة مطلوبة.

4. ما الذي تغيره التوقيعات

في مثال ثلاثة جنرالات مع SM(1)، يوقع القائد الخائن ATTACK لـB وRETREAT لـC. ينقل الضابطان المخلصان الأمرين الموقعين، فيحصل كل منهما على المجموعة نفسها {ATTACK, RETREAT} ويطبق القيمة الافتراضية المحددة نفسها، ولتكن RETREAT. ويمكن نسبة مراوغة القائد إليه.

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

المخاطر وإخفاقات المراجعة

المشكلة والنموذج

  • سرد الحكاية من دون شروط دقيقة للاتفاق والصلاحية والإنهاء.
  • اعتبار المشكلة حصاراً تاريخياً أو خوارزمية واحدة أو مرادفاً للبلوك تشين.
  • خلطها بمشكلة الجنرالين التي تتمحور حول المعرفة المشتركة عبر قناة غير موثوقة.
  • إضافة فقد دائم للرسائل غير قابل للكشف مع الاستشهاد بنظرية تستبعده افتراضات الرسائل الشفهية فيها.
  • تطبيق n>3m على كل بروتوكول موثق أو غير متزامن أو موزون أو مفتوح أو قائم على الموارد.
  • مساواة التوقف والحذف والمراوغة والحساب الاعتباطي والقنوات المعطلة واختراق المفتاح بعضها ببعض.
  • افتراض أن عدد المشاركين يساوي كيانات مستقلة أو حصة أو قوة تجزئة أو وزن لجنة.
  • إغفال الفرق بين القائد المخلص والقائد الخائن في شرط الصلاحية.

الخوارزمية والتنفيذ

  • فحص الأغلبية النهائية فقط من دون تتبع مسارات المرسلين التكرارية والمنظور المحلي لكل مشارك مخلص.
  • استخدام قيم افتراضية أو قواعد تعادل أو لقطات عضوية أو ترتيب رسائل مختلف بين التنفيذات.
  • قبول الرسائل من دون ربطها بالبروتوكول والسلسلة والمهمة والارتفاع والجولة والقيمة والمرسل وعصر العضوية.
  • إعادة تشغيل الرسائل أو تركيبها بين تنفيذات أو جولات أو تفرعات أو شبكات أو تغييرات عضوية.
  • افتراض أن التوقيعات تثبت الحقيقة والحداثة وسياق التفويض والتسليم والتوافر والحفظ الأمين للمفتاح.
  • الاستشهاد بـOM(m) أو SM(m) من دون تنفيذ الجولات والنقل والتحقق والاتصال المطلوبة.
  • اختبار موضع واحد للخائن بدلاً من حالات القائد والضابط والتواطؤ والحذف والمراوغة.

التشغيل والتفسير

  • الادعاء بأن بروتوكول إجماع «حل البيزنطيين» من دون افتراضاته الدقيقة للسلامة والحيوية والشبكة.
  • اعتبار الاتفاق على البايتات دليلاً على صحة تنفيذ التطبيق أو حقيقة خارجية.
  • تجاهل العملاء والمشغلين والسحب وأنظمة المفاتيح والحوكمة المشتركة التي تربط مشاركين منفصلين اسماً.
  • إضافة الإيداعات أو سك أصول مجسّرة أو تسوية إجراءات لا رجعة فيها قبل تحقق شرط النهائية المطلوب.
  • استنتاج اللامركزية أو أمان الأصول أو الحقيقة القانونية أو قيمة الرمز من تسمية تحمل الأعطال.

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

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

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

المصادر

التنقل

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