لأغراض تعليمية فقط؛ لا يشكل ذلك نصيحة استثمارية أو توصية استثمارية. قد تؤدي الاستثمارات إلى خسائر.
الجواب المباشر
تحمل الأخطاء البيزنطية (BFT) خاصية لبروتوكول موزع محدد ضمن نموذج محدد للأخطاء والشبكة: يواصل الوفاء بضماناته المعلنة حتى لو تعطلت بعض الجهات المشاركة أو حجبت الرسائل أو أرسلت رسائل متعارضة إلى أقران مختلفين أو تصرفت اعتباطيا. لا يشير BFT إلى خوارزمية واحدة، ولا يعني بقاء كل الخدمات متاحة أثناء كل انقسام للشبكة.
يجب فصل الضمانات. تعني safety (السلامة) ألا تقرر الجهات الصادقة قيما متعارضة؛ وتعني liveness (الحيوية) أن المدخلات المؤهلة يمكن أن تفضي في النهاية إلى قرار؛ وتحدد validity (الصلاحية) القيم التي يجوز تقريرها. قد يتوقف البروتوكول حفاظا على السلامة عندما لا يكفي الاتصال أو وزن التصويت الصادق. كما أن صحة الإجماع لا تثبت صحة كود التطبيق أو قواعد صلاحية المعاملات أو الجسور أو المفاتيح أو الحوكمة.
في فئة شائعة من بروتوكولات BFT الموثقة وجزئية التزامن، تتحمل n=3f+1 نسخة متماثلة ما لا يزيد على f نسخة بيزنطية، وتستخدم شهادة الالتزام q=2f+1 صوتا. تأتي عبارتا «أقل من الثلث معطوب» و«نصاب أكبر من الثلثين» من هذا النموذج. قد تختلف الافتراضات والحدود في البروتوكولات المتزامنة أو العشوائية غير المتزامنة أو المتحملة للتوقف، وسلاسل إثبات العمل، وبنى BFT الأخرى.
تشير الحدود في الأنظمة الموزونة بالحصة إلى قوة التصويت التي يعرفها البروتوكول، لا إلى عدد المدققين أو العناوين أو الأشخاص أو المشغلين المستقلين بالضرورة. قبل تطبيق أي كسر، يجب تحديد إصدار البروتوكول ولقطة الأوزان ونوع القرار وافتراض الشبكة ومقارنة النصاب (> أو >=) وسلوك العطل.
- حصة عدائية
- 25%
- الهامش إلى العتبة
- 8.4%
المخرجات هي تقريبية تعليمية. وهي تستبعد قواعد المكان، والضرائب، وزمن الوصول، وسلوك أوراكل، والمعلمات الأخرى الخاصة بالبروتوكول ما لم يتم عرضها.
آلية العمل
- تعريف القرار. حدد هل ترتب العقد المعاملات أم تلتزم بكتلة أم تنهي نقطة تحقق أم تنتخب قائدا أم تقبل انتقال حالة أم تختار تفرعا. ليست هذه قرارات قابلة للتبادل.
- بيان نموذج النظام والخصم. سجل العضوية والتوثيق وتغييرات الصلاحيات وأوزان التصويت والفساد التكيفي واختراق المفاتيح والتصويت المتعارض والتوقف وفقد الرسائل والرقابة وحجب الخدمة واحتمال ترابط الأخطاء.
- بيان نموذج الشبكة. ميز بين التزامن والتزامن الجزئي وعدم التزامن. في التزامن الجزئي، حدد ما يضمن فقط بعد وقت استقرار عالمي غير معروف وكيف تتكيف المهل.
- اشتقاق قاعدة النصاب. استخدم الحد الدقيق وقواعد القفل أو التصويت الخاصة بالبروتوكول. في حالة
n=3f+1التقليدية، يتقاطع نصابان من2f+1فيf+1نسخة على الأقل؛ وإذا لم يتجاوز البيزنطيfاحتوى التقاطع على نسخة صادقة. - تتبع كل مرحلة وشهادة. تحقق من الاقتراح والتصويت والقفل وتغيير العرض أو الجولة والالتزام واختيار التفرع والاسترداد. لا تعني الأغلبية الفائقة الموقعة شيئا إلا بعد التحقق من الارتفاع والجولة والقيمة والأصل والنطاق وحقبة العضوية والشهادة السابقة.
- فصل أدلة السلامة والحيوية. أثبت القرارات المتعارضة المستبعدة في كل وقت ذي صلة، ثم اختبر عودة التقدم بعد تحقق افتراضات الاتصال والمشاركة الصادقة. المهلة أداة جدولة وليست دليلا على خبث نظير صامت.
- التحقق من التنفيذ والتشغيل. طابق تنوع العملاء وحفظ المفاتيح وتحويل موقع التوقيع والحماية من الإعادة ومزامنة الحالة ومعالجة الأدلة وتغيير العضوية والمراقبة وسياسة تأكيد التطبيق والتعافي مع النموذج المثبت.
تقول نتيجة FLP إن بروتوكول إجماع حتميا لا يستطيع ضمان الانتهاء في نموذج غير متزامن بالكامل حتى مع احتمال توقف عملية واحدة فقط. لا تقول إن السلامة مستحيلة أو إن الإجماع الموزع لا يعمل أبدا. يغير التزامن الجزئي أو العشوائية أو كواشف الأعطال أو الافتراضات الاقتصادية أو الضمانات الأضعف شروط الاستحالة المحددة بطرق مختلفة.
أمثلة محسوبة
1. أربع نسخ متساوية الوزن
لنفترض n=4 وf=1 وq=3. تتقاطع أي مجموعتين من ثلاثة أصوات في 3+3-4=2 نسخة على الأقل. ومع نسخة بيزنطية واحدة كحد أقصى، تكون نسخة واحدة على الأقل في التقاطع صادقة. إذا منعت قواعد العقد الصادقة التصويت لقيم متعارضة في سجل الارتفاع والجولة المعني، فلا يمكن تكوين شهادتي التزام متعارضتين.
إذا خرجت نسختان من الخدمة، لم يبق إلا 2 صوت، ولا تتكون شهادة q=3. هذا عطل في الحيوية لا في السلامة تلقائيا: ينتظر البروتوكول المصمم بأمان بدلا من خفض الحد محليا.
2. سبع نسخ متساوية الوزن
لنفترض n=7 وf=2 وq=5. يتقاطع النصابان في 5+5-7=3=f+1 نسخة على الأقل. وبما أن عدد البيزنطي لا يتجاوز 2 يحتوي التقاطع على نسخة صادقة. لا تستطيع نسختان بيزنطيتان وحدهما تكوين شهادة بخمسة أصوات، لكن غياب ثلاث نسخ أو حجبها للتصويت لا يترك إلا 4 أصوات ويمكنه وقف التقدم.
حساب الحد ضروري لكنه غير كاف. إذا قبلت التطبيقات الصادقة أصواتا من ارتفاع خاطئ أو أعادت استخدام مجموعة عضوية أو خالفت قفلا أو وقعت بمفاتيح مخترقة، لم تعد افتراضات البرهان تصف النظام المنشور.
3. قوة تصويت موزونة
لنفترض أوزانا 40 و30 و20 و10 بمجموع 100، وأن الشهادة تتطلب أكثر من 2/3 حصرا، أي 67 على الأقل هنا. يستطيع ائتلاف 40+30=70 إصدار شهادة؛ ولا يستطيع 30+20+10=60 ذلك رغم أنه يضم ثلاثة من أربعة مدققين. إذا خرج المدقق ذو الوزن 40 من الخدمة لم يبق إلا 60 وتوقفت النهائية.
تتقاطع أي مجموعتين بوزن 67 على الأقل في 67+67-100=34 على الأقل. لذلك تعني الشهادات المتعارضة أن وزنا قدره 34 على الأقل شارك في المجموعتين أو أن افتراضا آخر فشل. في بعض البروتوكولات قد يكفي ما يزيد قليلا على الثلث من التصويت المتعارض لخرق السلامة؛ فعبارة «يلزم الثلثان للهجوم» ليست حدا أدنى عاما.
4. التزامن الجزئي والمهل
لنفترض مهل جولات تبلغ 1 s و2 s و4 s و8 s. قبل وقت الاستقرار المجهول، قد تصل الرسائل بعد كل مهلة حالية فتتغير الجولات دون قرار. إذا انخفض التأخير بعد الاستقرار إلى أقل من 3 s، فقد تمنح جولة 4 s أو أطول المقترح الصادق والنصاب وقتا كافيا للتقدم، مع بقاء بقية الافتراضات.
توضح الأرقام التقدم النهائي وليست معادلة عامة للمهل. تسبب المهل القصيرة تغييرات غير لازمة، وتطيل المهل الكبيرة التعافي. يجب ألا تعتمد السلامة على تخمين حد التأخير الصحيح قبل الاستقرار.
المخاطر وأخطاء المراجعة
النموذج والبرهان
- قول «BFT» دون تسمية البروتوكول والإصدار والقرار ونموذج العطل والشبكة وقاعدة العضوية والحد.
- تطبيق
n=3f+1أو نسبة الثلث على كل سجل موزع، حتى إن استخدم برهانه افتراضات مختلفة. - اعتبار السلامة والحيوية والصلاحية والتوافر والاتساق والنهائية واختيار التفرع وصحة المعاملة مترادفات.
- الادعاء بأن FLP يجعل الإجماع مستحيلا مع حذف شروط الحتمية وعدم التزامن الكامل وضمان الانتهاء.
- عد العقد أو العناوين عندما يعد البروتوكول الحصة أو التفويض أو اللجان أو الحقب أو موردا آخر.
- تقريب «الثلثين» بغموض أو تجاهل ما إذا كان التنفيذ يستخدم
>أو>=أو أوزانا صحيحة أو لقطة مقام معينة. - فحص حجم النصاب دون فحص التقاطع والأقفال والشهادات وتغيير العرض وإعادة التكوين ونقل الحالة.
- افتراض أن البرهان يغطي الفساد التكيفي أو سرقة المفاتيح أو الأخطاء المترابطة أو حجب الخدمة أو التاريخ بعيد المدى دون دليل.
التنفيذ والتشغيل
- قبول توقيعات غير مرتبطة بالسلسلة والنطاق والارتفاع والجولة والقيمة والأصل وحقبة العضوية ونوع الرسالة.
- إعادة أصوات أو شهادات قديمة عبر الجولات أو الارتفاعات أو التفرعات أو الشبكات أو الترقيات أو تغييرات المدققين.
- السماح بالتوقيع المزدوج أو تراجع القفل أو تحويل توقيع غير آمن أو مشاركة نسختين نشطتين هوية مدقق واحدة.
- اعتبار انتهاء المهلة دليلا على الخبث واتخاذ قرار يمس السلامة بالاعتماد على الساعات المحلية وحدها.
- تجاهل الأخطاء المترابطة الناتجة عن عميل أو سحابة أو منطقة أو شبكة أو عتاد أو إدارة مفاتيح أو مشغل مشترك.
- افتراض أن خفض الحصة يمنع الأخطاء أو يعيد الحيوية أو يعكس إجراء تطبيق نهائيا أو يعوض الجميع.
- اختبار التشغيل الطبيعي فقط دون الانقسامات والتأخير وإعادة الترتيب والتصويت المتعارض وفشل المقترح وإعادة التشغيل وتغيير العضوية.
التطبيق والحوكمة
- اعتبار قيمة ملتزم بها حالة تطبيق صالحة دون تنفيذ حتمي والتحقق من انتقال الحالة.
- قيد الإيداعات أو سك أصول عبر الجسر أو تسوية الصفقات قبل شرط النهائية الدقيق الذي يحتاجه التطبيق.
- مساواة نهائية البروتوكول بعدم الرجوع الاجتماعي بعد اختراق المفاتيح أو فشل البرمجيات أو تدخل الحوكمة.
- تجاهل الرقابة وتأخير الإدراج لأن الكتل تواصل بلوغ النهائية لمستخدمين آخرين.
- استنتاج اللامركزية أو سلامة الأصول أو قيمة الرمز أو قابلية الإنفاذ القانوني من تسمية BFT أو عدد المدققين المعلن.
مفاهيم شائعة خاطئة
- يعني BFT أن الشبكة لا تتوقف أبدا. تضحي بروتوكولات كثيرة بالحيوية عمدا أثناء الأخطاء الزائدة أو الانقسامات للحفاظ على السلامة.
- تكفي دائما نسبة تتجاوز 51% من المشاركين الصادقين. يعتمد الحد على البروتوكول؛ ويتطلب BFT التقليدي جزئي التزامن غالبا أكثر من ثلثي قوة التصويت المعنية للتقدم.
- يحتاج المهاجم دائما إلى الثلثين لخرق السلامة. يستطيع الثلثان إصدار شهادة وحدهما، لكن شهادتين متعارضتين قد تكشفان تصويتا متعارضا يتجاوز الثلث بقليل.
- زيادة عناوين المدققين تحسن التحمل تلقائيا. تحدد الملكية المشتركة والتفويض والعملاء والبنية والمفاتيح ونطاقات العطل الاستقلال الحقيقي.
- خفض الحصة هو برهان BFT. إنه استجابة اقتصادية في بعض أنظمة PoS؛ تأتي السلامة من القواعد والافتراضات، ولا تلغي العقوبة النتائج الخارجية.
موضوعات ذات صلة
المصادر
- The Byzantine Generals Problem - ACM Transactions on Programming Languages and Systems (تاريخ الاطلاع: 2026-08-18)
- Impossibility of Distributed Consensus with One Faulty Process - Journal of the ACM (تاريخ الاطلاع: 2026-08-18)
- Consensus in the Presence of Partial Synchrony - Journal of the ACM (تاريخ الاطلاع: 2026-08-18)
- Practical Byzantine Fault Tolerance - USENIX OSDI (تاريخ الاطلاع: 2026-08-18)
- CometBFT Consensus Algorithm - CometBFT (تاريخ الاطلاع: 2026-08-18)
- HotStuff: BFT Consensus with Linearity and Responsiveness - arXiv (تاريخ الاطلاع: 2026-08-18)
- Gasper - Ethereum.org (تاريخ الاطلاع: 2026-08-18)
- Blockchain Technology Overview - NIST (تاريخ الاطلاع: 2026-08-18)