Cardano تقترح إزالة فحص نطاق Plutus
CIP-0205 سيزيل فحصا منفصلا يُجرى قبل تنفيذ البرنامج النصي مما يقلل عمل التحقق عبر تغيير يتطلب إصدار لغة جديدا وانقساما صلبا.
By SongMarketCap
Updated:
تقترح Cardano عبر CIP-0205 إلغاء إحدى الخطوات المستخدمة لتحضير برامج Plutus النصية للتنفيذ. يقترح المؤلف Jacco Krijnen التعامل مع أخطاء المتغيرات غير المربوطة أثناء التنفيذ بدلا من فحص البرنامج بالكامل مسبقا. قُدم المقترح في 25 سبتمبر وما يزال قيد المراجعة.
تكلفة تحضير برامج Plutus النصية
قبل تنفيذ برنامج نصي، تتحقق العقدة من أن متغيراته معرفة بشكل صحيح ضمن البرنامج. يُعرف ذلك باسم فحص النطاق ويجري خلال المرحلة الثانية من التحقق من المعاملة.
وجدت اختبارات قياسية سابقة استشهد بها المقترح أن هذا الفحص شكّل نحو 20% من وقت تحضير البرنامج النصي، شاملا فك الترميز وفحص الإصدار. وفي اختبارات التحقق الكامل، مثّل نحو 3% من إجمالي وقت التحقق. تقيس هذه الأرقام حصة الفحص من وقت المعالجة ضمن أحمال الاختبار تلك.
إن إزالته ستقلل عمل المعالجة للبرامج النصية المؤهلة. وأي خفض ناتج في رسوم المعاملات سيعتمد على تعديلات لاحقة لمعاملات الرسوم وفقا للمقترح.
كيف سيتعامل Plutus مع أخطاء المتغيرات
Plutus Core هي اللغة المستخدمة لتنفيذ برامج العقود الذكية النصية على Cardano. محرك التنفيذ فيها CEK يتعامل بالفعل مع محاولات استخدام متغيرات دون قيمة مربوطة.
في نقاش مراجعة المقترح، أشار المطور Seungheon Oh إلى أن CEK لا يعتمد على فحص النطاق التمهيدي. إن محاولة تقييم متغير غير مربوط تفضي إلى فشل عادي أثناء التنفيذ.
بموجب القواعد المقترحة، يمكن لبرنامج أن ينجح إذا ظهر متغير غير مربوط فقط في كود لا يُنفذ أبدا. ستحتفظ البرامج المضبوطة النطاق بشكل صحيح بالنتائج ذاتها أثناء التنفيذ.
ويشير المقترح إلى أن لغات التطوير بما فيها Aiken وPlinth وPlutarch تفرض بالفعل ضبط نطاق المتغيرات عبر مدققات الأنواع لديها قبل أن تصل البرامج النصية إلى البلوكشين.
إصدار لغة جديد وانقسام صلب
تربط المسودة التغيير بإصدار لغة Plutus Core 1.2.0، ما سيتطلب انقساما صلبا. ستشمل عملية التنفيذ تحديثات للمواصفة وكود التنفيذ والنموذج الصوري واختبارات المطابقة.
حصل المقترح على الرقم CIP-0205 في 29 سبتمبر. طلب محرر CIP Robert Phair تداولا أوسع بين مجموعات العمل قبل المضي في المراجعة مشيرا إلى اتساع نطاق التغيير.
وبحسب المسودة الحالية، ستحتفظ البرامج النصية القائمة التي تستخدم إصداري اللغة 1.0.0 و1.1.0 بسلوكها. وبعد التفعيل، يمكن للبرامج النصية الجديدة التي تصرح بالإصدار 1.2.0 أن تُنفذ دون فحص نطاق تمهيدي منفصل.