مشكلة الجنرالات البيزنطيين: كيف تتّفق شبكة لا تثق ببعضها؟

مسألة رياضية من 1982 لا علاقة لها بالمال، لكنها السبب الذي جعل البيتكوين ممكناً بعدها بستّة وعشرين عاماً.

في المقال السابق قلنا إن الشبكة تتّفق على سجل واحد. طيب — كيف تتّفق؟ آلاف الأجهزة، منتشرة في العالم، لا يعرف بعضها بعضاً، وبعضها قد يكون كاذباً عمداً. هذه ليست مشكلة كريبتو، هذه مسألة كلاسيكية في علوم الحاسب.

الحكاية

صاغها Leslie Lamport وRobert Shostak وMarshall Pease في ورقة نُشرت عام 1982. تخيّل عدة جنرالات يحاصرون مدينة، كلٌّ بجيشه في جهة. لا يستطيعون الاجتماع، فقط تبادل الرسائل عبر مراسلين.

  • إذا هجموا كلهم معاً — انتصروا.
  • إذا انسحبوا كلهم معاً — نجوا.
  • إذا هجم بعضهم وانسحب البعض — هُزموا جميعاً.

المشكلة أن بينهم خونة. الخائن يرسل لجنرال «اهجم» وللآخر «انسحب»، والهدف الوحيد أن يفشل الاتفاق. السؤال: هل يمكن للأمناء أن يصلوا لقرار موحّد رغم ذلك؟

الجواب الرياضي

نعم — لكن بشرط. النتيجة التي أثبتتها الورقة: يلزم أن يكون عدد المشاركين n ≥ 3m + 1، حيث m أقصى عدد للخونة.

الشرط عملياً
m = 1 → n ≥ 4 (خائن واحد يحتاج 4 مشاركين على الأقل)m = 2 → n ≥ 7m = 3 → n ≥ 10

أي أن الخونة يجب أن يبقوا أقل من الثلث. تجاوزوا الثلث، وينهار الاتفاق رياضياً — لا حيلة برمجية تنقذك.

حلّ ساتوشي: غيّر السؤال

الأوراق الأكاديمية كانت تفترض أن عدد المشاركين معروف ومحدود. البيتكوين شبكة مفتوحة — أي أحد يدخل ويخرج متى شاء، ويستطيع الشخص الواحد أن يفتعل ألف هوية. فكيف تعدّ «الثلث» أصلاً؟

الحيلة الذكية: لا تعُدّ الهويات، عُدّ الطاقة. إثبات العمل يجعل «الصوت» مربوطاً بقدرة حوسبة حقيقية تكلّف كهرباء وأجهزة. تستطيع أن تفتعل ألف اسم مجاناً، لكن لا تستطيع أن تفتعل ألف مصنع طاقة.

الإجماع الكلاسيكي (BFT)إجماع البيتكوين (Nakamoto)
عدد المشاركين معروف مسبقاًمفتوح — أي أحد ينضم ويغادر
الأمان مضمون إذا كان الخونة أقل من الثلثالأمان احتمالي — يزداد كلما دُفنت المعاملة تحت بلوكات أكثر
قرار نهائي فورينهائية تدريجية (كل بلوك يزيدها رسوخاً)
سريع وقليل الطاقةبطيء ومكلف طاقياً — والتكلفة هي الأمان نفسه

ماذا تأخذ من هذا الدرس؟

  1. الاتفاق بلا وسيط ممكن رياضياً — لكنه مشروط ومكلف، وليس سحراً.
  2. الأمان في هذه الشبكات يُشترى بالتكلفة (طاقة أو رأس مال مُجمَّد). ما في أمان مجاني.
  3. كل شبكة لها عتبة انهيار. اسأل عنها قبل أن تسأل عن السعر.
  4. الشبكة الصغيرة أسهل في الاختراق من الكبيرة — الحجم هنا ليس غروراً، هو جزء من نموذج الأمان.
العقدةNodeجهاز يحتفظ بنسخة من السجل ويتحقّق من القواعد بنفسه.
هجوم السيبيلSybil Attackأن يفتعل مهاجم واحد هويات كثيرة ليبدو أغلبية. إثبات العمل هو المضاد له.
النهائيةFinalityاللحظة التي تصبح فيها المعاملة غير قابلة للتراجع عملياً.
هجوم الـ51٪51% Attackسيطرة طرف على أغلبية قوة الشبكة تمكّنه من إعادة كتابة معاملات حديثة.

المصادر

كل ما ورد أعلاه مبنيّ على هذه المراجع. المصدر الأوّلي والجهة الرسمية يتقدّمان دائماً على التحليل الثانوي.

  1. Lamport, Shostak & Pease أكاديمي 1982 The Byzantine Generals Problem — ACM Transactions on Programming Languages and Systems lamport.azurewebsites.net/pubs/byz.pdf
  2. arXiv — Tim Roughgarden et al. أكاديمي 2021 Byzantine Generals in the Permissionless Setting arxiv.org/pdf/2101.07095
  3. MDPI Electronics أكاديمي 2023 Byzantine Fault-Tolerant Consensus Algorithms: A Survey www.mdpi.com/2079-9292/12/18/3801