اختبار اللامركزية في Cardano يتجاوز عدد العُقد

المُضيف في Cheeky Crypto Nick Regan يوضح أن تعدد عملاء Cardano المستقلين يعزّز اللامركزية فقط عندما يفسّرون البروتوكول بصورة متسقة. المقترح CPS-0034 يطرح توسيع اختبارات Plutus Core عبر إصدارات البروتوكول الحالية والتاريخية.

By SongMarketCap

Cardano News - اختبار اللامركزية في Cardano يتجاوز عدد العُقد

Nick Regan، الشريك المؤسس والمُضيف في Cheeky Crypto، نشر تحليلاً مدته 24 دقيقة حول خطر أقل وضوحاً داخل لامركزية Cardano، وهو أن برمجيات مطوّرة بشكل مستقل قد تختلف حول قواعد الشبكة. Cheeky Crypto منصة لتحليل وتثقيف العملات المشفّرة تأسست في عام 2020 على يد Nick وChris Regan.

ربط Regan تحليله بالمقترح CPS-0034، وهو Cardano Problem Statement مفتوح يقترح توسيع اختبارات المطابقة لمقيمي Plutus Core المستخدمين في تطبيقات عقد Cardano البديلة. يتجاوز النقاش توزيع مجمّعات الحصص، ومشاركة الحوكمة، وعدد الأجهزة المتصلة بالشبكة.

تعدد العملاء لا يزيد الأمان تلقائياً

يفرّق Regan بين التوزيع المادي للشبكة وتوزيع برمجياتها. قد تضم Cardano آلاف العُقد التي تديرها جهات مختلفة عبر دول متعددة، بينما يعتمد جزء كبير من تلك البنية التحتية على نفس تطبيق العقدة الأساسي.

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

ويظهر خطر آخر عندما تفسّر تلك التطبيقات البروتوكول بطرق مختلفة.

قد يقبل عميل معاملة يرفضها عميل آخر. وقد يعالج مقيمان لـ Plutus البرنامج النصي نفسه لكن يعيدان نتائج مختلفة أو يحتسبان تكاليف تنفيذ مختلفة. وبما أن صلاحية الكتلة قد تعتمد على تلك النتائج، فقد يؤدي الخلاف بين العُقد إلى انقسام في السلسلة بدلاً من زيادة المرونة.

UPLC أو Untyped Plutus Core هي لغة التنفيذ التي تُحوَّل إليها عقود Plutus الذكية. لا يحتاج المقيم البديل إلى استنساخ بنية تطبيق Haskell المعتمد لدى Cardano، لكنه يجب أن يستنسخ السلوك المرتبط بالإجماع والمتوقَع من البروتوكول.

يصف Regan هذا الشرط بأنه حاجة إلى توافق مستقل.

توفّر القواعد البرمجية المنفصلة ازدواجية ذات معنى فقط عندما تصل باستمرار إلى الإجابة نفسها للمدخلات الصحيحة وحالات الحافة وإصدارات البروتوكول التاريخية.

يستخدم Regan عنوان ADA Has a Decentralisation Problem للتمييز بين هذا الخطر على مستوى البرمجيات وجدالات اللامركزية التي يواجهها معظم الحائزين. يركّز تحليله على أعمال بنية تحتية وقائية بدلاً من حادث قائم على الشبكة الرئيسية.

CPS-0034 يوسّع اختبارات مطابقة Plutus Core

فتح فريق Plutus Core المقترح للمراجعة العامة في 12 أغسطس. وبعد المراجعة الأولية، أسند محررو CIP إليه الرقم CPS-0034، بينما لا يزال المقترح التقني مفتوحاً لتلقي الملاحظات.

وفقاً لمقترح CPS-0034، توفّر Cardano حالياً للمطورين الخارجيين نحو 1000 اختبار golden-file محدد مسبقاً. تتيح هذه الاختبارات للمقيم المستقل تنفيذ برنامج نصي مُقدّم ومقارنة مخرجاته بالنتيجة المتوقعة.

توفر الحزمة الحالية فحص توافق أولي لكنها تعاني من قيدين محددين. فهي لا تكشف عن اختبارات property-based المستخدمة داخلياً من قبل فريق Plutus، كما أنها تغطي فقط أحدث توليفة من إصدار البروتوكول وإصدار لغة السجل ونموذج التكلفة.

يتجاوز اختبار property-based مجموعة أصغر من الأمثلة المُعدّة يدوياً. يمكن للمولّد إنتاج مئات أو آلاف المدخلات المتنوعة، وبناء برامج Plutus النصية منها، والتحقق مما إذا كانت الخصائص السلوكية المحددة لا تزال متحققة.

يوسّع هذا النهج التغطية عبر تراكيب غير مألوفة وقيم حدية وظروف قد نادراً ما تظهر أثناء النشاط المعتاد. وتلك أيضاً هي الحالات التي يُرجّح أن تكشف فيها التطبيقات المطوّرة بشكل مستقل عن افتراضات مختلفة حول سلوك البروتوكول.

يقترح CPS-0034 توزيع حالات الاختبار المولّدة بصيغة قابلة للنقل بحيث تستطيع التطبيقات الخارجية استهلاكها مع حد أدنى من جهد التكامل. يمكن أن يحتوي كل اختبار على البرنامج ومدخلاته والنتيجة المتوقعة وعند الاقتضاء ميزانية التنفيذ المتوقعة.

تشمل الخطة أيضاً تغطية تاريخية. لقد مرت Cardano بعدة عصور للسجل، وعمليات hard fork، وإصدارات من لغة Plutus، وتغييرات في نموذج التكلفة. يجب على العقدة البديلة تفسير ذلك التاريخ بدقة إذا كان من المتوقع أن تعيد تشغيل السلسلة وتتحقق من الكتل الأقدم.

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

يجب أن يثبت الكود المستقل سلوكاً متسقاً

لا يزال CPS-0034 يتضمن عدة أسئلة تقنية مفتوحة. يناقش المطورون كيفية توزيع الاختبارات المولّدة، وكيفية الإبلاغ عن الفروق بين النتائج المتوقعة والفعلية، وكيفية تصفية الحالات بحسب إصدار البروتوكول، وكيف يمكن تنفيذ آلاف الاختبارات بكفاءة.

انضم مطورون مرتبطون بـ Amaru بالفعل إلى النقاش العام. Amaru عميل لعقدة Cardano مفتوح المصدر ومكتوب بلغة Rust، ويوفّر للمشغّلين تطبيقاً مطوّراً بشكل منفصل عن Haskell cardano-node المعتمد.

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

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

لن يتطلب معيار اختبار مشترك شيفرة مصدرية متطابقة. يمكن لكل فريق الاحتفاظ بهندسته ولغة برمجته ونهج تطويره، بينما يظل سلوك التنفيذ الناتج متوافقاً مع قواعد Cardano.

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

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