Midnight تفصّل إصلاحات أمنية في Ledger 9.1.0.1

الإصدار المُفعَّل على الشبكة الرئيسية يعالج مشكلات تتعلق برسوم المعاملات، وحدود الكُتل، وأرصدة المحافظ. كما يقدم تحققاً أكثر صرامة للمطورين الذين يبنون على Midnight.

By SongMarketCap

Updated:

Midnight News - Midnight تفصّل إصلاحات أمنية في Ledger 9.1.0.1

نشرت Midnight الشفرة المصدرية وملاحظات الإصدار لـ Ledger 9.1.0.1، وهو الإصدار الذي تم تفعيله على الشبكة الرئيسية خلال ترقية الشبكة في 6 نوفمبر. يسرد الإصدار 13 إصلاحاً، بما في ذلك تغييرات في حساب رسوم المعاملات، وحدود الكُتل، وطريقة عرض المحافظ للعملات.

وفقاً لملاحظات الإصدار، تلقى مشغلو العُقد البرنامج في 3 نوفمبر. ونُشرت الشفرة المصدرية ووصف الإصلاحات في 7 نوفمبر. كما يرفض التحديث بعض المعاملات التي كانت إصدارات سابقة من Ledger 9 تقبلها.

تغييرات في رسوم المعاملات وحدود الكُتل

الـ ledger هو الجزء من برمجيات Midnight الذي يحدد ما إذا كانت المعاملات صالحة وكم تكلفتها. انتقلت Midnight إلى Ledger 9 من دون فترة التمهيد المعتادة على شبكة الاختبار Preprod. أوضح المشروع أنه يستخدم عملية إصدار أكثر ضبطاً عندما تتطلب الإصلاحات الأمنية ذلك.

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

يعالج إصلاحان آخران حدود الكُتل. في السابق كان بإمكان معاملة أن تعلن عمليات حذف لم تُنفَّذ فعلياً، مما يقلل الرسوم لأجزاء أخرى من المعاملة ويتجاوز حد صافي البايتات المكتوبة. أتاحت مشكلة حسابية منفصلة احتساب زمن حوسبة مُعلَن لا يقل عن 2⁶³ بيكوثانية على أنه صفر. يُرفض الآن كلا النوعين من المعاملات باعتبارهما غير صالحين.

DUST، المحافظ، وجسر Cardano

تُدفع رسوم معاملات Midnight باستخدام DUST، وهو مورد يُولَّد من حيازات NIGHT. تصف ملاحظات الإصدار مشكلة يمكن فيها لعقد ذكي أن يلتقط مورداً زائداً من الرسوم المُقَيَّدة أثناء التسجيل بينما يستمر المُسجِّل في تلقي المبلغ كاملاً. تُرفض الآن استدعاءات العقود التي تنقل مورد الرسوم كمدخل عام أو كمخرج عام.

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

يقوم التحديث أيضاً بمسح أكثر شمولاً للبيانات الحساسة المشتقة من بذور المحافظ من الذاكرة. يشير بعض الإصلاحات المدرجة إلى نتائج تدقيق، وتشير ملاحظات الإصدار إلى تسع تنبيهات أمنية على GitHub لم تكن صفحاتها متاحة للعامة صباح 8 نوفمبر.

ينطبق إصلاح منفصل على جسر البروتوكول المُصمَّم لنقل الرموز من Cardano إلى Midnight. في السابق كان بإمكان المطالبات ذات القيمة الصفرية اجتياز التحقق من دون دفع رسوم. يجب الآن أن تفي المطالبات بالحد الأدنى المطلوب أو تغطي الرصيد المتبقي كاملاً. الجسر موجود في شيفرة Ledger 9 لكنه يظل معطلاً على الشبكة الرئيسية حتى يفعّله إجراء حوكمة منفصل.

[NEWSBREAK]

حِزم المطورين والمشكلات المتبقية

يتضمن الإصدار @midnight-ntwrk/ledger-v9 1.0.1 و onchain-runtime-v4 4.0.1 و Proof Server 9.0.1. يقوم خادم إثبات بتوليد براهين المعرفة الصفرية المستخدمة في المعاملات. تسرد وثائق ترقية الشبكة الرئيسية الخاصة بـ Midnight بشكل منفصل Proof Server 9.0.0 ضمن مكوناته المتوافقة.

يرفض Ledger 9.1.0.1 المعاملات التي تحتوي على توقيعات لجنة مكررة أو تسجيلات رسوم مكررة. لا يجوز أن يتضمن عقد أكثر من 256 عملية، ويُحاسَب كل نشر على حالته الكاملة، ويجب أن تبقى كمية الغاز المُعلَنة ضمن حد الكُتلة.

عدة دوال لحساب التكاليف في Rust تُرجِع الآن خطأ بدلاً من قيمة. يجب على المطورين الذين يحسبون الرسوم مباشرةً أخذ هذا التغيير في الاعتبار ضمن تكاملاتهم.

لا تزال مشكلتان معروفتان من الإصدار 9.1.0.0 مفتوحتين. يمكن لإحداهما أن تتسبب في رفض استدعاء عقد عندما تُدفَع رسومه بإنفاق DUST واحد فقط. تحدد وثائق Midnight استخدام إنفاقين أو أكثر من DUST كحل مؤقت بينما يُخطَّط لإصلاح في إصدار لاحق.