← أحدث الأبحاث
💻 computer science

OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains

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

المؤلفون الأصليون: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

نُشر 2026-08-03
📖 6 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Sungwook Chung, Jinwoo Yang, Hyunwoo Kim, Wonjae Lee, Minsoo Ryu

البحث الأصلي مرخَّص بموجب CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

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

لفترة طويلة، عانت هذه المذكرات الرقمية من ازدحام مروري كبير. فلكي يظل الجميع صادقين، كان على كل شخص في المجموعة قراءة الصفحة الجديدة بالكامل من المذكرات، والتحقق من كل كلمة، وكتابتها بنفسه، واحدة تلو الأخرى. كان الأمر يشبه فصلاً دراسياً حيث يتعين على كل طالب حل كل مسألة رياضية مكتوبة على السبورة، حتى لو كانت مخصصة لطالب واحد فقط. جعل هذا النظام بطيئاً ومكلفاً، خاصة مع انضمام المزيد من الناس. يسمي العلماء هذا "تحمل الخطأ البيزنطي" (Byzantine Fault Tolerance)، وهي طريقة منمقة للقول بأن النظام يظل آمناً حتى لو حاول بعض الأعضاء الغش. كان السؤال الكبير الذي طرحه الباحثون هو: هل يمكننا جعل هذه المجموعة تعمل بشكل أسرع دون السماض للمخادعين بإفساد الحفلة؟

إليك OPERA، وهي فكرة جديدة من باحثين في جامعة هانيانغ (Hanyang University) تحاول حل هذا الازدحام المروري عبر السماح للطلاب بتقسيم العمل. فبدلاً من أن يقرأ الجميع الصفحة بأكملها، تقوم OPERA بتعيين أجزاء مختلفة من الصفحة لطلاب مختلفين. الأمر يشبه مأدبة "بوفيه" ضخمة حيث يحضر كل شخص طبقاً مختلفاً، لكنهم جميعاً يتذوقون طعام بعضهم البعض للتأكد من أن أحداً لم يقدم تفاحة مسمومة. بنى الباحثون نظاماً يسمى OPERA-PBFT لاختبار هذه الفكرة. ووجدوا أنه من خلال السماح للعقد (الحواسيب التي تشغل البلوكشين) بتنفيذ جزء صغير فقط من المعاملات ثم التحقق من عمل بعضهم البعض، استطاعوا جعل النظام أسرع بكثير. في اختباراتهم، تعاملت هذه الطريقة الجديدة مع أكثر من 33,787 معاملة في الثانية، وهو ما يعادل حوالي 2.4 ضعف سرعة بعض الأنظمة الأسرع حالياً مثل Aptos. وحتى عندما أصبح العمل فوضوياً وغير منظم، مع وجود العديد من المعاملات التي تتنافس على نفس البيانات، لم تنخفض سرعة OPERA إلا بنسبة ضئيلة بلغت 7%، بينما انهارت الأنظمة الأخرى أو تباطأت بشكل كبير.

المشكلة: عنق الزجاجة المتمثل في "الجميع يفعل كل شيء"

فكر في البلوكشين التقليدي كأنه مكتبة شديدة الصرامة. عندما يصل كتاب جديد (كتلة من المعاملات)، يتعين على كل أمين مكتبة (عقدة) في المبنى قراءة الكتاب بالكامل من الغلاف إلى الغلف، والتحقق من كل حقيقة، وكتابتها في نسختها الخاصة. حتى لو كان لدى المكتبة 100 أمين مكتبة، فإن سرعة المكتبة بأكملها تتقيد بأبطأ أمين مكتبة. إذا كان أحد الأمناء بطيئاً أو تشتت انتباهه، يتوقف الخط بأكمله. يُسمى هذا "النسخ الكامل" (full replication). إنه آمن لأن الجميع يتحقق من كل شيء، لكنه مضيعة كبيرة للوقت والجهد. الأمر يشبه وجود 100 طاهٍ في مطبخ، ويتعين على كل طاهٍ منهم طهي الوجبة الكاملة المكونة من 10 أطباق، رغم أنه يحتاج فقط لتذوق طبق واحد ليعرف ما إذا كان جيداً.

الحل: "البوفيه المتخصص"

تساءل مؤلفو هذه الورقة البحثية، سونغ ووك تشونغ وفريقه، سؤالاً بسيطاً: ماذا لو لم نجعل الجميع يطهون الوجبة بأكملها؟

اقترحوا OPERA، وهي طريقة جديدة لتشغيل البلوكشين تستخدم النسخ الجزئي (partial replication). تخيل نفس المطبخ، ولكن هذه المرة يقوم رئيس الطهاة (القائد) بتوزيع قائمة الطعام. بدلاً من أن يطهو كل طاهٍ الوجبة الكاملة المكونة من 10 أطباق، يقوم الطاهي (أ) بطهي المقبلات فقط، والطاهي (ب) يطهو الحساء فقط، والطاهي (ج) يطهو التحلية فقط.

ولكن إليكم الجزء الصعب: ماذا لو كان الطاهي (أ) كذاباً وقدم سلطة فاسدة؟ في النظام القديم، سيكتشف الجميع ذلك لأن الجميع تذوقوا كل شيء. في OPERA، بما أن الطاهي (ب) والطاهي (ج) لم يلمسا السلطة، فكيف يعرفان أنها آمنة؟

تحل OPERA هذه المعضلة عبر "رقصة" ذكية من خطوتين:

  1. تعيين "ثق ولكن تحقق": يتم تعيين كل معاملة (طبق) لمجموعة صغيرة من الطهاة (العقد) لطهيها. وتحديداً، تُعطى لـ f + 1 من الطهاة الأساسيين و f - k من الطهاة الاحتياطيين. يمثل العدد f الحد الأقصى لعدد الكذابين الذين يمكن للنظام التعامل معهم. إذا كان النظام يمكنه التعامل مع كذابين اثنين، فيجب على 3 طهاٍ على الأقل الطهي والاتفاق على النتيجة.
  2. شهادة "تذوق الاختبار": بمجرد انتهاء الطهاة الأساسيين، لا يكتفون بمجرد قول "لقد انتهينا". بل يسلمون مجموعة القراءة/الكتابة (read/write set). فكر في هذا كإيصال يقول: "لقني قرأت هذه المكونات وغيرت هذه النكهات". ينظر الطهاة الآخرون إلى هذه الإيصالات. إذا قدم f + 1 من الطهاة (الحد الأدنى المطلوب للتصويت ضد الكذابين) نفس الإيصال بالضبط، فإن النظام يثق في أن الطبق آمن.

إذا كان الطاهي الأساسي كذاباً أو اختفى (خطأ بيزنطي)، يتدخل الطهاة الاحتياطيون لطهي الطبق وإنشاء إيصالاتهم الخاصة. وبمجرد جمع عدد كافٍ من الإيصالات المتطابقة، يعتبر الطبق "تم التحقق منه".

رقصة "النزاع": عندما تتصادم الأطباق

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

لإصلاح ذلك، تستخدم OPERA تقنية تسمى إعادة التنفيذ الحتمية لحل النزاعات (CRDR). إنها تشبه الحكم الذي يراقب عملية الطهي.

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

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

النتائج: تسريع الحفلة

اختبر الباحثون فكرتهم من خلال بناء OPERA-PBFT، وهي نسخة من البلوكشين تستخدم طريقة تقسيم العمل الجديدة هذه. أجروا عمليات محاكاة مع أعداد مختلفة من الحواسيب وأنواع مختلفة من أعباء العمل.

  • الفوز الكبير: في اختباراتهم، وصلت سرعة OPERA-PBFT إلى 33,787 معاملة في الثانية (TPS). وهذا أسرع بـ 2.4 مرة من Aptos، أحد القادة الحاليين في السرعة.
  • اختبار "الفوضى": اختبروا أيضاً ما يحدث عندما يصبح العمل فوضوياً (يسمى أعباء العمل المنحرفة)، حيث تتنافس العديد من المعاملات على نفس البيانات. معظم الأنظمة تتباطأ بشكل كبير في هذا السيناريو. أما OPERA-PBFT فلم تنخفض سرعتها إلا بنسبة 7% فقط، بينما تباطأت أنظمة أخرى مثل Aptos بنسبة 77%.
  • التكلفة: قاموا أيضاً بقياس مقدار "العمل" الذي قام به النظام. في النظام التقليدي، يقوم كل حاسوب بكل مهمة. في OPERA، تم تقليل إجمالي العمل بنسبة تصل إلى 44%. وهذا يعني أن النظام ليس أسرع فحسب، بل هو أكثر كفاءة أيضاً، حيث يستهلك طاقة وقدرة حوسبية أقل.

لماذا يهم هذا الأمر

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

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →