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

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

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

لذلك، كيف يمكن لشبكة موزعة من أجهزة الحاسوب أن تتوصل إلى قرار، إذا كانت بعض العقد محكومًا عليها بالتصرف بشكلٍ خاطئ أو بشكل غير أمين؟ هذه مسألةٌ أساسية في مشكلة الجنرالات البيزنطيين (Byzantine Generals) المعروفة، والتي أدت إلى مفهوم تحمّل أخطاء البيزنطيين (Byzantine Fault Tolerance - BFT) - أو تحمّل الأعطال البيزنطية بالعربية.

 

ما هي مشكلة الجنرالات البيزنطيين؟

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

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

 

لذلك يجب أن نأخذ الأهداف التالية بعين الاعتبار: 

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

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

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

 

إن مشاكل الاتصال التي ذُكرت سابقًا ترتبط بحقيقة أن جنرالًا واحدًا لا يستطيع التواصل مع جنرال آخر إلا عبر رسائل تُسلَّم عبر البريد. وبالتالي فإن التحدي المركزي في مشكلة جنرالات البيزنطيين هو أن الرسائل قد تتأخر بطريقة ما أو تُدمَّر أو تُفقَد.

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

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

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

 

تحمّل أخطاء البيزنطيين

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

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

 

خوارزمية توافق بلوك تشين

يمكننا تعريف خوارزمية التوافق على أنها آلية تتحقق من خلالها كل شبكة بلوك تشين من اتفاق حول حالتها. من أشهر التطبيقات Proof of Work (PoW) وProof of Stake (PoS). لكن دعونا نستخدم مثال حالة البيتكوين.

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

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

لاحظ أن خوارزمية PoW ليست 100% متحمّلة للأخطاء البيزنطية، لكن نظراً إلى التكلفة العالية لعملية التعدين والتقنيات التشفيرية الأساسية، فقد أثبت PoW أنه أحد أكثر التطبيقات أمانًا وموثوقيةً لشبكات البلوك تشين. وبهذا المعنى، تُعد خوارزمية التوافق PoW، التي طورها ساتوشي ناكاموتو، عند الكثيرين حلًا عبقريًا لمشكلة البيزنطيين.

 

اعتبارات ختامية

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

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