شرح الـ Byzantine Fault Tolerance

مشاركة
الإستماع الى هذه المقالة
00:00 / 00:00

منذ بداية البيتكوين في عام 2008 كنظام مالي إلكتروني يعمل بطريقة الند للند تم إنشاء العديد من العملات الرقمية كل واحده منهم تعمل بآلية خاصة. لكن الشئ الوحيد المشترك بين جميع العملات الرقمية هو البلوكشين باعتبارها العنصر الأساسي في بنيتهم.

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

حاليا يتم تبني إستخدام العملات الرقمية باعتبارها بديلا قابلا للتطبيق للأنظمة المصرفية و طرق الدفع التقليدية التي تعتمد بشكل كبير على الثقة.

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

إذن، كيف يمكن لشبكة موزعة من عقد الكمبيوتر أن توافق على قرار ما إذا كان من المرجح أن تفشل بعض العقد أو أن تعمل بشكل غير شرعي؟ هذا هو السؤال الأساسي لما يسمى بـ Byzantine Generals’ problem (مسألة الجنرال البيزنطي) التي نشأ عنها مفهوم تسامح الخطأ البيزنطي (Byzantine Fault Tolerance)


ما هي مسألة الجنرال البيزنطي (Byzantine Generals’ problem)؟

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

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

لذلك، قد نضع في الاعتبار الأهداف التالية:

  • يجب على كل جنرال أن يقرر: الهجوم أو التراجع (نعم أو لا).

  • بعد اتخاذ القرار، لا يمكن تغييره.

  • يجب أن يتفق جميع الجنرالات على نفس القرار و أن يقوموا بتنفيذه بطريقة متزامنة.

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

بالإضافة إلى ذلك، حتى إذا تم تسليم الرسالة بنجاح فقد يختار جنرال واحد أو أكثر (لأي سبب) أن يقوم بالتصرف بشكل خبيث وإرسال رسالة مخادعة للتشويش على الجنرالات الآخرين مما يؤدي إلى الفشل التام للمهمة.

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

لذلك، فإن الطريقة الوحيدة للتوصل إلى توافق في الآراء في هذه الأنواع من الأنظمة الموزعة هي من خلال وجود ⅔ (ثلثي) أو أكثر من العقد الصادقة. وهذا يعني أنه إذا قررت غالبية الشبكة التصرف بشكل ضار، فسوف يكون النظام عرضة للفشل والهجمات (مثل الهجوم بنسبة 51٪).


Byzantine Fault Tolerance - BFT

بإختصار، الـ Byzantine fault tolerance أو (BFT) هو خاصية نظام قادر على مقاومة نوع الفشل المستمد من معضلة مشكلة الجنرالات البيزنطيين. وهذا يعني أن نظام BFT قادر على الاستمرار في التشغيل حتى في حالة فشل بعض العقد أو التصرف بشكل ضار.

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


خوارزميات إجماع البلوكشين

يمكننا تعريف خوارزمية الإجماع كالآلية التي من خلالها تصل شبكة البلوكشين إلى الإجماع. التطبيقات الأكثر شيوعًا منها هي خوارزمية إثبات العمل Proof of Work - PoW و إثبات الحصة Proof of Stake - PoS. لكن لنأخذ حالة البيتكوين كمثال. 

في حين ينص بروتوكول البيتكوين على قواعد النظام الأساسية، فإن خوارزمية الإجماع المعروفة بإسم إثبات العمل (PoW)  هي التي تحدد كيفية اتباع هذه القواعد من أجل التوصل إلى توافق في الآراء (على سبيل المثال، أثناء التحقق من المعاملات).

على الرغم من أن مفهوم إثبات العمل أقدم من العملات الرقمية إلا أن ساتوشي ناكاموتو قام بتطوير نسخة معدّلة منه كخوارزمية مكنت من إنشاء البيتكوين كنظام BFT.

لاحظ أن خوارزمية إثبات العمل (PoW) ليست متسامحة بنسبة 100٪ مع الأخطاء البيزنطية ولكن بسبب عملية التعدين الكثيفة التكلفة وتقنيات التشفير، أثبتت PoW أنها واحدة من أكثر التطبيقات أمانًا و الجديرة بالثقة لشبكات البلكوشين.

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


الختام

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

ضمن سياق العملات الرقمية، وجود شبكة اتصال فعالة جنبا إلى جنب مع آلية إجماع هو أمر حيوي لأي نظام بلوكشين. يعتبر تأمين هذه الأنظمة جهدًا مستمرًا ولا تزال خوارزميات الإجماع الموجودة تعمل على التغلب على بعض القيود (مثل قابلية التوسع). ومع ذلك، تعتبر خوارزمية إثبات العمل (PoW) و إثبات الحصة (PoS) منهجين شيقين للغاية لأنظمة BFT والتطبيقات المحتملة هي بالتأكيد مصدر إلهام واسع الانتشار. 

Loading