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

SpecTrum: Specification-Guided Differential Fuzzing for Ethereum Consensus Clients

إنّ Spectrum هو إطار عمل يمنع تباينات عملاء الإجماع في إيثيريوم من خلال ميكنة مواصفات الإجماع لتحديد شروط الصلاحية صراحةً، وقياس تغطية الفرضيات لتحديد السيناريوهات غير المختبرة، وتوليد مدخلات مستهدفة نجحت في كشف 27 حالة تباين بين العملاء.

المؤلفون الأصليون: Seokhun Jeong, Gyeongmin Dan, Sukyoung Ryu, Sungjae Hwang

نُشر 2026-08-19
📖 3 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Seokhun Jeong, Gyeongmin Dan, Sukyoung Ryu, Sungjae Hwang

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

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

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

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

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

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

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

جرّب Digest →