شرح تحمل الأخطاء البيزنطية
مشكلة الجنرال البيزنطي
تشرح مشكلة الجنرال البيزنطي الصعوبات التي تواجه الأطراف اللامركزية في التوصل إلى إجماع عندما لا توجد سلطة مركزية لفرض اللوائح والإشراف على المشاركين. قد تفشل المكونات في التوصل إلى اتفاق بسبب الأعطال الفنية أو المعلومات المضللة. وتتمثل المشكلة في: " نتخيل عدة فرق من الجيش البيزنطي مخيمة خارج مدينة العدو، وكل فرقة يقودها جنرال خاص بها. يمكن للجنرالات التواصل مع بعضهم البعض فقط عن طريق المراسل. بعد مراقبة العدو، يجب عليهم اتخاذ قرار بشأن خطة عمل مشتركة. ومع ذلك، قد يكون بعض الجنرالات خونة، يحاولون منع الجنرالات المخلصين من التوصل إلى اتفاق. يجب أن يكون لدى الجنرالات خوارزمية لضمان (أ) أن جميع الجنرالات المخلصين يقررون نفس خطة العمل و(ب) لا يمكن لعدد صغير من الخونة أن يجعل الجنرالات المخلصين يتبنون خطة سيئة " ( مشكلة الجنرالات البيزنطيين، 1982 ). اقترح مارشال بيس وروبرت شوستاك وليزلي لامبورت مشكلة الجنرالات البيزنطيين في عام 1982، "معبراً عنها بشكل مجرد من حيث مجموعة من جنرالات الجيش البيزنطي المخيمين مع جنودهم حول مدينة العدو."
:quality(80)/2022-10-20/661795FBE7E7C417B2168C1195FCD136.jpg)
تشكيل المشكلة البيزنطية
في السيناريو أدناه، أحد القادة أو الملازم خائن، مما يمنع المجموعة من التوصل إلى إجماع. اعتبر الخائن طرفاً خبيثاً يحاول تسهيل المعاملات الاحتيالية في سياق السجل المالي.
:quality(80)/2022-10-20/7A1C4F862FD9EEF51CF839BC0866CB0E.jpg)
مع زيادة عدد الأطراف في النظام، تزداد طرق الاتصال واحتمالية عدم الثقة والمعلومات المضللة. فكر في صعوبة التوصل إلى اتفاق مع وجود آلاف أو ملايين من الملازمين أو الجنرالات. هذه هي الصعوبة التي تواجهها العقد التي تحكم النظام اللامركزي، والتي نشأت في تطوير نماذج تحمل الأخطاء البيزنطية لحل هذه المشكلة.
شرح تحمل الأخطاء البيزنطية
تحمل الأخطاء البيزنطية (BFT) هو خاصية الأنظمة اللامركزية غير المقيدة التي يمكنها بنجاح اكتشاف ورفض المعلومات الخاطئة أو غير الدقيقة. في نظام تحمل الأخطاء البيزنطية، يمكن لأي طرف الانضمام إلى الشبكة بطريقة الند للند دون وجود سلطة مركزية تحكم وتسيطر على شبكة المشاركين. أنظمة تحمل الأخطاء البيزنطية لامركزية وغير مقيدة، ويمكن لأي شخص أن يكون جزءاً من الشبكة. بدون تحمل الأخطاء البيزنطية، يمكن لأي مشارك في الشبكة إرسال معلومات خاطئة، مما يعرض موثوقيتها للخطر. في سياق شبكة بلوكتشين البيتكوين، يُطلق على كل مشارك اسم عقدة، ويمكن للعقدة الانضمام بسرعة إلى شبكة البيتكوين والبدء في بث الكتل والمعاملات. نظام تحمل الأخطاء البيزنطية المطبق في سلاسل الكتل هو الحل لمشكلة الجنرال البيزنطي.
كيف يرتبط تحمل الأخطاء البيزنطية بالبلوكتشين؟
تُستخدم تقنية البلوكتشين للتحقق من صحة المعاملات في العملات المشفرة ومعالجتها وتسجيلها. يجب أن تتفق مجموعة من العقد على أن المعاملة صالحة قبل إتمامها. تحتوي كل شبكة بلوكتشين على خوارزمية إجماع، وهي مجموعة القواعد التي تستخدمها عقدها للاتفاق على المعاملات. تتكون شبكة البلوكتشين من عقد متصلة بطريقة الند للند. عقدة البلوكتشين هي أي مشارك في الشبكة يتصل بالشبكة باستخدام أي جهاز (كمبيوتر). تتواصل عقد البلوكتشين مع بعضها البعض بطريقة لامركزية عبر إجماع. في البلوكتشين اللامركزي بالكامل، لا تملك أي عقدة قوة أكبر من العقد الأخرى. تستخدم العقد في شبكة البلوكتشين إجماعاً للتوصل إلى اتفاق. في سياق أنظمة تحمل الأخطاء البيزنطية، الإجماع هو "اتفاق الجنرالات." الإجماع هو المهمة الأكثر أهمية والأكثر تحدياً في نظام لامركزي بدون سلطة مركزية تحكم الشبكة. لكي تنجح المعاملة على بلوكتشين لامركزي، يجب أن تتفق غالبية العقد على صحة المعاملة، مما يضمن التشغيل الفعال وشفافية شبكة البلوكتشين.
العقد البيزنطية هي عقد خبيثة في البلوكتشين تحاول تعطيل النظام. يُشار إلى هذه العقد عادةً باسم العقد الخائنة لأنها قد تضلل العقد الأخرى في الشبكة عمداً من أجل السرقة من النظام (الإنفاق المزدوج) أو مجرد تعطيل النظام. ستضمن شبكة البلوكتشين التي تعمل بشكل صحيح أن تحمل الأخطاء البيزنطية للبلوكتشين يساعدها في التغلب على الإخفاقات.
تحمل الأخطاء البيزنطية العملي واللامتزامن
تحمل الأخطاء البيزنطية العملي (pBFT) هو نموذج يوفر نسخ حالة بيزنطية عملية للتغلب على قيود أنظمة تحمل الأخطاء البيزنطية. من خلال افتراض وجود أعطال مستقلة للعقد ورسائل متلاعب بها من قبل عقد مستقلة معينة، يحل pBFT الأخطاء البيزنطية. تم تطوير نموذج pBFT فقط لحل المشاكل والقصور في حلول التحمل البيزنطي المتوفرة بالفعل. البلوكتشين والحوسبة الموزعة هما التطبيق الرئيسي لنماذج تحمل الأخطاء البيزنطية العملي (pBFT). تقلل نماذج تحمل الأخطاء البيزنطية العملي من تأثير العقد الخبيثة، مما يحمي النظام اللامركزي من الإخفاقات وأوقات التوقف. الخوارزمية عالية الأداء ومحسنة للعمل في الأنظمة غير المتزامنة مع زيادة طفيفة فقط في زمن الاستجابة.
ميزة نموذج تحمل الأخطاء البيزنطية تسمى تحمل الأخطاء البيزنطية اللامتزامن (aBFT). تمكّن أنظمة تحمل الأخطاء البيزنطية اللامتزامنة (aBFT) عقد الشبكة الموثوقة من ضمان أنها ستتفق على توقيت وتسلسل مجموعة من المعاملات بشكل عادل وآمن. تتغلب خاصية 'اللامتزامن' لتحمل الأخطاء البيزنطية على تحديات التوقيت في أنظمة تحمل الأخطاء البيزنطية. في أنظمة تحمل الأخطاء البيزنطية التقليدية، عند التوصل إلى إجماع، تفترض العقد وجود حد أقصى لزمن تأخير الرسائل. يتم التخلص من افتراض التوقيت هذا في أنظمة تحمل الأخطاء البيزنطية التي تتسبب في فقدان بعض الرسائل أو تأخيرها إلى أجل غير مسمى من خلال شبكة تحمل الأخطاء البيزنطية اللامتزامنة (aBFT).