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

zkFuzz: Foundation and Framework for Effective Fuzzing of Zero-Knowledge Circuits

تقدم هذه الورقة البحثية zkFuzz، وهو إطار عمل جديد للفحص القائم على الطفرات (mutation-based fuzzing) يستند إلى اختبار اتساق تتبع القيود (TCCT) النظري، والذي يكتشف بفعالية ثغرات القيود الناقصة والقيود الزائدة في دوائر المعرفة الصفرية من خلال التغلب على قيود أدوات التحليل الاستاتيكي والتحليل الرسمي الحالية.

المؤلفون الأصليون: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

نُشر 2026-05-26
📖 4 دقيقة قراءة☕ قراءة في استراحة قهوة

المؤلفون الأصليون: Hideaki Takahashi, Jihwan Kim, Suman Jana, Junfeng Yang

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

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

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

  1. السماح لأي شخص بالدخول (حتى لو لم يعرف كلمة المرور).
  2. قفل الباب في وجه المالك الحقيقي (حما حتى لو كان يمتلك كلمة المرور الصحيحة).

يقدم البحث أداة جديدة تسمى ZKFUZZ لاكتشاف هذه الأخطاء قبل أن يكتشفها المتربصون. وإليك كيف تعمل، مشروحة ببساطة:

المشكلة: "المخطط" مقابل "الواقع"

في هذه الأنظمة، يكتب المطورون برنامجاً يقوم بشيئين في آن واحد:

  • الحوسبة (The Computation): العمليات الرياضية الفعلية لاستنتاج السر (مثل حساب مسار على خريطة).
  • القيود (The Constraints): القواعد التي تثبت أن الحسابات تمت بشكل صحيح (مثل قائمة مراجعة للتحقق من وجود المسار).

المشكلة تكمن في أن هذين الجزأين غالباً ما يفقدان التزامن.

  • ضعف القيود (Under-constrained): القواعد فضفاضة للغاية. يمكن للمخترق خداع النظام لقبول مسار مزيف.
  • إفراط في القيود (Over-constrained): القواعد صارمة للغاية. يرفض النظام مساراً صحيحاً تماماً بسبب قاعدة صغيرة غير ضرورية.

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

الحل: ZKFUZZ (المُحوّر العشوائي - Mutation Fuzzer)

ابتكر المؤلفون إطار عمل جديداً يسمى ZKFUZZ. وبدلاً من مجرد قراءة الكود، يعمل ZKFUZZ كـ مهندس اختبار مشاكس يحاول كسر النظام عن قصد.

إليك التشبيه:
تخيل أن لديك وصفة طعام (الحوسبة) و اختبار تذوق (القيود).

  • الأدوات القديمة: تنظر إلى الوصفة وتقول: "هذا يبدو مريباً لأن الوصفة تستخدم الملح". (هي تخمن بناءً على قواعد).
  • ZKFUZZ: يقوم فعلياً بطبخ الطبخة، ولكنه بعد ذلك يُجري تحويراً (Mutation) على الوصفة. يتبدل "السكر" بـ "الملح"، أو يغير وقت الطبخ. ثم يقدم هذا الطبق المتحور إلى اختبار التذوق.
    • إذا قال اختبار التذوق: "لذيذ!" لطبق يُفترض أن يكون طعمه سيئاً (لأن الوصفة قد تغيرت)، فإن ZKFUZZ يدرك أن القيود فضفاضة جداً (Under-constrained).
    • إذا قال اختبار التذوق: "مقزز!" لطبق يُفترض أن يكون لذيذاً (لأن الوصفة الأصلية كانت صحيحة)، فإن ZKFUZZ يدرك أن القيود صارمة جداً (Over-constrained).

السر الكامن: "اللياقة" و "الاستهداف"

إن العثور على ثغرة في دائرة ZK يشبه البحث عن إبرة في كومة قش بحجم كوكب. الأرقام المعنية ضخمة جداً لدرجة أن الكمبيوتر لا يمكنه تجربة كل الاحتمالات.

يستخدم ZKFUFF خوارزمية جينية (مثل التطور):

  1. التحوير (Mutation): ينشئ آلاف النسخ المعطلة قليلاً من البرنامج.
  2. درجة اللياقة (Fitness Score): يقيم هذه النسخ المعطلة. إذا اقتربت نسخة معطلة من اجتياز الاختبار (حتى لو فشلت)، فإنها تحصل على "درجة جيدة". هذا يخبر النظام: "أنت تقترب من الهدف!".
  3. الاستهداف (Targeting): هو لا يخمن عشوائياً فح. فهو يعلم أن الأخطاء غالباً ما تحدث عند "الحالات الحدية" (مثل عندما تكون الأرقام صفراً، أو كبيرة للغاية). لذا، يحاول تحديداً تغذية النظام بهذه الأرقام الصعبة ليرى ما إذا كان سينهار.

النتائج: كشف المستور

اختبر الفريق ZKFUFF على 452 دائرة حقيقية مستخدمة في مشاريع فعلية.

  • النتيجة: وجد 85 خطأً.
  • الثغرات الصفرية (Zero-Days): 59 منها كانت أخطاء جديدة تماماً وغير معروفة (Zero-Days) لم يكن أحد يعلم بوجودها.
  • التأثير: أكد المطورون 39 من هذه الأخطاء، وتم إصلاح 14 منها بالفعل. ويشمل ذلك أخطاء في مشاريع كبرى مثل zkSync (منصة كريبتو) و passport-zk-circuits (أنظمة الهوية الرقمية).
  • لا إنذارات كاذبة: على عكس الأدوات الأخرى، لم يحدد ZKFUFF أي شيء كخطأ ما لم يكن خطأً بالفعل.

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

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

باخت صريح

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

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

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

جرّب Digest →