تم اقتراح مشكلة الجنرالات البيزنطيين، والمعروفة أيضًا باسم مشكلة الجنرالين، في ورقة ليزلي لامبرت حول التسامح مع الخطأ في اتصالات الشبكة الموزعة من نظير إلى نظير في عام 1982. في اتصال النظام الموزع، قد تتسبب بعض المشكلات المحلية في قيام الكمبيوتر بإرسال رسائل خطأ وتدمير تناسق النظام. لذلك، فإن مشكلة الجنرالات البيزنطيين هي في الأساس مشكلة الإجماع في التواصل من نقطة إلى نقطة.
نشأت مشكلة الجنرالات البيزنطيين في العصور الوسطى. نظرًا لمساحة بيزنطة الشاسعة، يمكن للتواصل بين الجيوش الاعتماد فقط على الرسل. إذا كان هناك خائن تعمد تحريف معلومات قادة الجيش، فسيؤدي ذلك إلى خطط تشغيلية غير متسقة، مما يؤدي إلى «الإخفاقات البيزنطية».
من أجل حل هذه المشكلة، هناك حلان: الأول هو إرسال رسل لبعضهم البعض بالاتفاق الشفوي، والتوصل إلى توافق في الآراء بأغلبية بسيطة، ولكن من الصعب التمييز بين الخونة المحتملين؛ والثاني هو إرسال رسل في شكل اتفاقيات مكتوبة لتسليم رسائل مكتوبة بتوقيعات حصرية، والتي يجب أن يعيرها كل جيش، ولكن إذا كان الإرسال بطيئًا جدًا، فقد تُفقد التوقيعات. نظرًا لأن كلا الحلين لا يمكنهما حل سوى جزء من المشكلة، ويستغرق الأمر الكثير من الوقت والموارد للوصول إلى توافق في الآراء، فإنهما غير مفيدين.
تعني مشكلة الجنرالات البيزنطيين في الإنترنت أنه في عملية نقل القناة، قد يكون من الصعب على بعض العقد تحقيق مزامنة المعلومات بسبب عبء العمل المفرط أو بعض الهجمات الضارة. في عام 1999، اقترح ميغيل كاسترو وباربرا ليسكوف التسامح البيزنطي مع الخطأ (BFT). لقد اعتقدوا أنه إذا عملت ثلثي العقد في النظام بشكل طبيعي، فيمكن ضمان اتساق النظام وصحته. وفي وقت لاحق، اقترح ساتوشي ناكاموتو آلية إثبات العمل (PoW) وخوارزمية التشفير غير المتماثلة لبيتكوين، والتي قدمت حلاً جديدًا لمشكلة الجنرالات البيزنطيين.
لنفترض أنه لا يوجد جنرالات وخونة. قل n=3، t=1، لذا فإن أحد A و B و C هو خائن. إذا أصدر A أمر [الهجوم]، لكن الخائن B أخبر C بـ [التراجع]، فلن يتمكن C من إصدار حكم؛ إذا أرسل الخائن B أمر [الهجوم] إلى A وأمر [التراجع] إلى C، فلن يتمكن A و C من التوصل إلى اتفاق. لذلك، عندما يكون عدد الخونة أكبر من أو يساوي 1/3، لا يمكن حل مشكلة الجنرالات البيزنطيين.
وبالمثل، بافتراض أن العدد الإجمالي لعقد الشبكة هو N وعدد العقد الضارة هو T، يمكن حل المشكلة فقط عندما تكون N> = 3T+1، أي أن عدد العقد العادية في الشبكة لا يقل عن (2/3) N، وذلك لضمان اتساق المعلومات. في الاتصالات الشبكية الموثوقة، يمكن لـ Byznatine Fault Tolerance حل مشكلة فشل العقدة إلى حد ما، بحيث يمكن للنظام الوصول إلى توافق في الآراء.
لنفترض أن الجنرال «أ» أصدر أولاً أمر [الهجوم] وأرفق توقيعه. بعد استلامه، إذا خطط جنرالات آخرون للهجوم أيضًا، فسوف يتبعون أمر [الهجوم] وتوقيعه بعد أمر الجنرال أ. إذا لم ينفذ A أمر [الهجوم] بعد أن يرسله A، يمكن للجنرالات الآخرين الحكم على A كخائن واستخدامه لتمييز المعلومات الصحيحة.
وبالمثل، ستحصل العقد المشاركة المتعددة على نتيجة من خلال سلسلة من الأعمال، وستقوم العقدة الأولى التي تحصل على النتيجة ببثها إلى الشبكة بأكملها. إذا كانت النتيجة صحيحة، فستضيف العقد الأخرى النتيجة إلى دفاتر الأستاذ الخاصة بها للتحضير للحساب من أجل الفوز بالحق في تسجيل المعاملات على البلوكشين.
يجب أن يمتلك الهاكر أكثر من 51٪ من القدرة الحاسوبية لتدمير أمان الشبكة أو نشر كتل مزيفة. التكلفة أكبر بكثير من العائد. لذلك، يمكن لهذه الآلية أن تقلل من احتمالية المعلومات الخاطئة وتجعل النظام يصل إلى توافق في الآراء بشكل أسرع.
يحتاج تشفير وفك تشفير خوارزميات المفتاح غير المتماثل إلى مفتاحين سريين منفصلين - المفتاح العام والمفتاح الخاص، اللذان يظهران عادةً في أزواج. إذا أراد A إرسال رسالة إلى B، يحتاج A إلى مفتاح B العام لتشفير المعلومات، ويحتاج B إلى مفتاحه الخاص لفك تشفير المعلومات. إذا أراد B إظهار هويته، فيمكنه التوقيع على المفتاح الخاص وكتابة «نص التوقيع» وبثه. يمكن للآخرين التحقق من هويته/هويتها وفقًا للمفتاح العام لـ B.
نظرًا لأنه لا يمكن تزوير الهوية والتوقيع، تضمن خوارزميات المفتاح غير المتماثل خصوصية الإرسال والتوقيع الموثوق به.
تم اقتراح مشكلة الجنرالات البيزنطيين، والمعروفة أيضًا باسم مشكلة الجنرالين، في ورقة ليزلي لامبرت حول التسامح مع الخطأ في اتصالات الشبكة الموزعة من نظير إلى نظير في عام 1982. في اتصال النظام الموزع، قد تتسبب بعض المشكلات المحلية في قيام الكمبيوتر بإرسال رسائل خطأ وتدمير تناسق النظام. لذلك، فإن مشكلة الجنرالات البيزنطيين هي في الأساس مشكلة الإجماع في التواصل من نقطة إلى نقطة.
نشأت مشكلة الجنرالات البيزنطيين في العصور الوسطى. نظرًا لمساحة بيزنطة الشاسعة، يمكن للتواصل بين الجيوش الاعتماد فقط على الرسل. إذا كان هناك خائن تعمد تحريف معلومات قادة الجيش، فسيؤدي ذلك إلى خطط تشغيلية غير متسقة، مما يؤدي إلى «الإخفاقات البيزنطية».
من أجل حل هذه المشكلة، هناك حلان: الأول هو إرسال رسل لبعضهم البعض بالاتفاق الشفوي، والتوصل إلى توافق في الآراء بأغلبية بسيطة، ولكن من الصعب التمييز بين الخونة المحتملين؛ والثاني هو إرسال رسل في شكل اتفاقيات مكتوبة لتسليم رسائل مكتوبة بتوقيعات حصرية، والتي يجب أن يعيرها كل جيش، ولكن إذا كان الإرسال بطيئًا جدًا، فقد تُفقد التوقيعات. نظرًا لأن كلا الحلين لا يمكنهما حل سوى جزء من المشكلة، ويستغرق الأمر الكثير من الوقت والموارد للوصول إلى توافق في الآراء، فإنهما غير مفيدين.
تعني مشكلة الجنرالات البيزنطيين في الإنترنت أنه في عملية نقل القناة، قد يكون من الصعب على بعض العقد تحقيق مزامنة المعلومات بسبب عبء العمل المفرط أو بعض الهجمات الضارة. في عام 1999، اقترح ميغيل كاسترو وباربرا ليسكوف التسامح البيزنطي مع الخطأ (BFT). لقد اعتقدوا أنه إذا عملت ثلثي العقد في النظام بشكل طبيعي، فيمكن ضمان اتساق النظام وصحته. وفي وقت لاحق، اقترح ساتوشي ناكاموتو آلية إثبات العمل (PoW) وخوارزمية التشفير غير المتماثلة لبيتكوين، والتي قدمت حلاً جديدًا لمشكلة الجنرالات البيزنطيين.
لنفترض أنه لا يوجد جنرالات وخونة. قل n=3، t=1، لذا فإن أحد A و B و C هو خائن. إذا أصدر A أمر [الهجوم]، لكن الخائن B أخبر C بـ [التراجع]، فلن يتمكن C من إصدار حكم؛ إذا أرسل الخائن B أمر [الهجوم] إلى A وأمر [التراجع] إلى C، فلن يتمكن A و C من التوصل إلى اتفاق. لذلك، عندما يكون عدد الخونة أكبر من أو يساوي 1/3، لا يمكن حل مشكلة الجنرالات البيزنطيين.
وبالمثل، بافتراض أن العدد الإجمالي لعقد الشبكة هو N وعدد العقد الضارة هو T، يمكن حل المشكلة فقط عندما تكون N> = 3T+1، أي أن عدد العقد العادية في الشبكة لا يقل عن (2/3) N، وذلك لضمان اتساق المعلومات. في الاتصالات الشبكية الموثوقة، يمكن لـ Byznatine Fault Tolerance حل مشكلة فشل العقدة إلى حد ما، بحيث يمكن للنظام الوصول إلى توافق في الآراء.
لنفترض أن الجنرال «أ» أصدر أولاً أمر [الهجوم] وأرفق توقيعه. بعد استلامه، إذا خطط جنرالات آخرون للهجوم أيضًا، فسوف يتبعون أمر [الهجوم] وتوقيعه بعد أمر الجنرال أ. إذا لم ينفذ A أمر [الهجوم] بعد أن يرسله A، يمكن للجنرالات الآخرين الحكم على A كخائن واستخدامه لتمييز المعلومات الصحيحة.
وبالمثل، ستحصل العقد المشاركة المتعددة على نتيجة من خلال سلسلة من الأعمال، وستقوم العقدة الأولى التي تحصل على النتيجة ببثها إلى الشبكة بأكملها. إذا كانت النتيجة صحيحة، فستضيف العقد الأخرى النتيجة إلى دفاتر الأستاذ الخاصة بها للتحضير للحساب من أجل الفوز بالحق في تسجيل المعاملات على البلوكشين.
يجب أن يمتلك الهاكر أكثر من 51٪ من القدرة الحاسوبية لتدمير أمان الشبكة أو نشر كتل مزيفة. التكلفة أكبر بكثير من العائد. لذلك، يمكن لهذه الآلية أن تقلل من احتمالية المعلومات الخاطئة وتجعل النظام يصل إلى توافق في الآراء بشكل أسرع.
يحتاج تشفير وفك تشفير خوارزميات المفتاح غير المتماثل إلى مفتاحين سريين منفصلين - المفتاح العام والمفتاح الخاص، اللذان يظهران عادةً في أزواج. إذا أراد A إرسال رسالة إلى B، يحتاج A إلى مفتاح B العام لتشفير المعلومات، ويحتاج B إلى مفتاحه الخاص لفك تشفير المعلومات. إذا أراد B إظهار هويته، فيمكنه التوقيع على المفتاح الخاص وكتابة «نص التوقيع» وبثه. يمكن للآخرين التحقق من هويته/هويتها وفقًا للمفتاح العام لـ B.
نظرًا لأنه لا يمكن تزوير الهوية والتوقيع، تضمن خوارزميات المفتاح غير المتماثل خصوصية الإرسال والتوقيع الموثوق به.