المعرفة الصفرية المثالية مقابل الحسابية: ماذا يعني هذا التمييز حقًا
تأتي إثباتات المعرفة الصفرية في ثلاثة أنواع - مثالية، وإحصائية، وحسابية - والفرق بينها أكثر أهمية مما تعترف به معظم النقاشات الهندسية. يشرح هذا المقال كل نوع بلغة بسيطة، ولماذا يُعد تقريبًا كل نظام معرفة صفرية (ZK) إنتاجي في عام 2026 نظامًا حسابيًا، وما هي فوائد وتكاليف ذلك.
- cryptography
- zero-knowledge
- zk-snark
- theory

عندما يتحدث العاملون في مجال التشفير عن "إثباتات المعرفة الصفرية" (zero-knowledge proofs)، فإنهم يقصدون دائمًا تقريبًا شيئًا واحدًا محددًا: تقنية SNARK أو STARK التي تثبت أن عملية حسابية معينة قد تم تنفيذها بشكل صحيح، دون الكشف عن المدخلات. هذا النموذج الذهني جيد لمعظم النقاشات الهندسية. ولكنه يخفي تمييزًا يصبح مهمًا في اللحظة التي تحاول فيها التفكير فيما تضمنه الحماية الأمنية فعليًا.
تأتي إثباتات المعرفة الصفرية في ثلاثة أنواع رسمية — المعرفة الصفرية المثالية (perfect)، والإحصائية (statistical)، والحسابية (computational) — وتختلف فيما يمكن للمُتحقق (verifier) أن يتعلمه حتى مع وجود موارد غير محدودة. من شبه المؤكد أن النظام الذي تقوم بنشره هو نظام حسابي. ومن المفيد معرفة سبب ذلك، وما الذي يقدمه لك.
شكل إثبات المعرفة الصفرية
الإعداد الكلاسيكي: يريد المُثبِت (prover) إقناع المُتحقِق (verifier) بأن عبارة ما صحيحة، دون أن يتعلم المُتحقِق أي شيء آخر. كلمة "صحيحة" هنا تعني شيئًا مثل "أنا أعرف x بحيث أن H(x) = y" أو "أعرف مسارًا في هذا الرسم البياني" أو "لقد نفذت هذا البرنامج بشكل صحيح على مدخلات خاصة".
يُعد نظام الإثبات صفري المعرفة (zero-knowledge) عندما، بشكل غير رسمي، يكون بإمكان المُتحقِق إنشاء الإثبات بمفرده دون معرفة السر. بشكل رسمي، يتم التعبير عن ذلك من خلال وجود مُحاكي (simulator): وهو خوارزمية تعمل في وقت كثير الحدود (polynomial-time)، والتي عند إعطائها العبارة العامة فقط (بدون شاهد أو دليل witness)، تُنتج سجلاً يبدو غير قابل للتمييز عن سجل الإثبات الحقيقي.
تختلف الأنواع الثلاثة من المعرفة الصفرية في معنى "غير قابل للتمييز".
المعرفة الصفرية المثالية
يكون مخرجات المُحاكي موزعة بشكل متطابق (identically distributed) مع الإثبات الحقيقي. لا يوجد اختبار إحصائي، ولا اختبار يمكنك إجراؤه باستخدام كمبيوتر كمي، ولا اختبار يمكنك إجراؤه في غضون 10^100 عام، يمكنه التمييز بين المُحاكي والمُثبِت الحقيقي. من الناحية الرياضية، التوزيعان متماثلان.
هذا هو المعيار الذهبي. وهو يعني: حتى الخصم غير المقيد (unbounded adversary) — بدون حد زمني، وبدون افتراضات حسابية — لن يتعلم أي شيء من الإثبات.
المعرفة الصفرية الإحصائية
تكون مخرجات المُحاكي قريبة إحصائيًا (statistically close) من الإثبات الحقيقي. مسافة التباين الكلي بين التوزيعين ضئيلة جدًا. من حيث المبدأ، قد يتعلم الخصم غير المقيد شيئًا ما، لكن مقدار ما يمكنه تعلمه ينخفض بشكل أسي مع معيار الأمان.
لجميع الأغراض العملية، تُعد المعرفة الصفرية الإحصائية جيدة تمامًا مثل المعرفة الصفرية المثالية. لا يشترط على المُحاكي مطابقة التوزيع الحقيقي بدقة؛ بل يكفي أن يطابقه بدرجة قريبة كفاية بحيث لا يمكن لأي قدر من الحسابات تضخيم هذه الفجوة.
المعرفة الصفرية الحسابية
تكون مخرجات المُحاكي غير قابلة للتمييز حسابيًا (computationally indistinguishable) عن الإثبات الحقيقي: لا يمكن لأي خوارزمية ذات وقت كثير الحدود (polynomial-time) التفرقة بينهما. لكن قد يتمكن الخصم غير المقيد — أي شخص لديه القدرة على اختراق دالة التجزئة (hash function) الأساسية بالقوة الغاشمة أو حل المشكلة المعقدة الأساسية — من التمييز بينهما بسهولة، وقد يتمكن من معرفة الشاهد (witness).
هذا هو النوع الأضعف بين الثلاثة، بالمعنى الرسمي، وهو النوع الذي تقدمه تقريبًا كافة الأنظمة الحديثة في الواقع.
لماذا يُعد تقريبًا كل نظام معرفة صفرية إنتاجي نظامًا حسابيًا
هناك نظرية تختبئ وراء ذلك: بالنسبة للغات NP-Complete، من غير المرجح أن توجد معرفة صفرية مثالية ما لم ينهار التسلسل الهرمي لكثيرات الحدود (Goldreich and Krawczyk, 1996). بعبارة أخرى، إذا كنت ترغب في إثبات عبارات عشوائية باستخدام المعرفة الصفرية — عبارات تعبيرية مثل "لقد قمت بتشغيل هذا البرنامج بشكل صحيح" — فلن تتمكن من الحصول على معرفة صفرية مثالية دون جعل الإثبات نفسه يعتمد على افتراضات تعقيد غير مُثبتة.
ما يمكنك الحصول عليه لعبارات NP العشوائية هو:
- إثباتات المعرفة الصفرية الحسابية، والتي توجد إذا كانت الدوال أحادية الاتجاه موجودة. (Goldreich, Micali, Wigderson 1991.)
- المعرفة الصفرية الإحصائية لفئات محدودة من العبارات (المشكلات العشوائية القابلة للاختزال الذاتي، وتماثل الرسوم البيانية)، ولكن ليس لـ NP العامة.
لذا، عندما يقول نظام حقيقي — مثل Groth16، أو PLONK، أو Halo2، أو STARK، أو Bulletproofs — إنه نظام "معرفة صفرية"، فهو دائمًا يعني معرفة صفرية حسابية. لا يكشف الإثبات شيئًا للمُتحقق الذي يعمل في وقت كثير الحدود، بشرط صحة الافتراضات حول المنحنيات الإهليلجية، أو دوال التجزئة، أو غيرها من الأساسيات التشفيرية.
وإذا تم كسر هذه الافتراضات — كأن تقوم خوارزمية مستقبلية بكسر مشكلة اللوغاريتم المنفصل (discrete log problem) على منحنى يعتمد عليه المخطط — فإن حجة المعرفة الصفرية يمكن أن تضعف بأثر رجعي. ما يُصبح ممكنًا على وجه التحديد يعتمد على البنية ذاتها: فقد يتمكن المهاجم من التمييز بين السجلات الحقيقية والمُحاكاة، أو تزوير الإثباتات، أو استخراج المعلومات التي كانت محمية سابقًا. يجب ألا تفترض أن سجلات المعرفة الصفرية الحسابية القديمة ستحتفظ بنفس هامش الخصوصية بعد فشل افتراضاتها الأساسية.
مثال عملي: مخططات الالتزام (Commitment Schemes)
الالتزام يعني تقريبًا: "أقوم بقفل القيمة v في ظرف مغلق c، وأُسلمك الظرف، ثم أكشف عن v لاحقًا. يمكنك التحقق من أنني كشفت عن القيمة الأصلية، ولكن لا يمكنك استراق النظر إلى v قبل أن أكشف عنها."
هناك خاصيتان أمنيتان:
- الإخفاء (Hiding) — لا يكشف الظرف أي شيء عن القيمة
v. - الإلزام (Binding) — لا يمكنني فتح الظرف بقيمة أخرى غير القيمة التي التزمت بها في الأصل.
لا يمكنك الحصول على كليهما بشكل مثالي. فالالتزام المُخفي بشكل مثالي يكون مُلزمًا حسابيًا (مع وجود قدر كافٍ من الحسابات، يمكن للمهاجم إيجاد فتحة ثانية). والالتزام المُلزم بشكل مثالي يكون مُخفيًا حسابيًا (مع وجود قدر كافٍ من الحسابات، يمكن للمهاجم استخراج القيمة الملتزم بها).
تُعد التزامات بيدرسن (Pedersen commitments) مُخفية بشكل مثالي ومُلزمة حسابيًا — فهي لا تكشف أي شيء عن القيمة الملتزم بها حتى للمهاجم غير المقيد، ولكن كسر اللوغاريتم المنفصل في المستقبل قد يسمح لك بالتحايل على الإلزام. الالتزامات المستندة إلى التجزئة (c = H(v || r)) مُخفية حسابيًا ومُلزمة حسابيًا (عندما تكون التجزئة مقاومة للتصادم).
يعتمد اختيارك للنوع على الخاصية التي يُسمح بضعفها بمرور الوقت. من أجل الخصوصية طويلة المدى لتصويت أو عرض مالي، عادةً ما ترغب في الحصول على إخفاء مثالي حتى وإن كان الإلزام حسابيًا فقط — لأنك تستطيع إعادة إثبات الإلزام قبل انكسار افتراض اللوغاريتم المنفصل، ولكن لا يمكنك بأثر رجعي إخفاء تصويت قد تم تسريبه.
لماذا يهم هذا الأمر بالنسبة لمجموعات ZK (ZK Rollups) وأنظمة الطبقة الثانية (L2)
تستخدم معظم مجموعات ZK Rollups تقنيات SNARKs ذات المعرفة الصفرية الحسابية. والآثار العملية لذلك هي:
- اليوم، لا تكشف الإثباتات أي شيء لأي مهاجم فعلي. ضمان الخصوصية يُعد قويًا.
- على المدى الطويل، تكشف الإثباتات كل ما يحميه الافتراض الأساسي. إذا كانت مجموعة التجميع تستخدم تقنية SNARK التي يعتمد أمانها على اللوغاريتم المنفصل BN254، وتم كسر BN254 في عام 2050، فسيُصبح كل إثبات نُشر قبل ذلك الوقت قابلاً للكشف.
- اعتبارات ما بعد الكم (Post-quantum) تُعد مهمة: تقنيات SNARKs المعتمدة على اللوغاريتم المنفصل (مثل Groth16، و PLONK عبر منحنيات الاقتران القياسية) ليست آمنة ضد الحوسبة الكمية. في حين أن تقنيات STARKs، التي تعتمد فقط على مقاومة تصادم دوال التجزئة، تُعد آمنة. (StarkWare، الورقة البحثية التي أسست اختصار STARK.)
- المعرفة الصفرية الإحصائية أو المثالية ممكنة في إعدادات مقيدة (على سبيل المثال، إثبات علاقات جبرية معينة) وتُستخدم أحيانًا عندما تكون ميزانية الخصوصية طويلة المدى أكثر أهمية من القدرة التعبيرية.
بالنسبة للتطبيقات مثل التصويت المجهول، وقنوات الإبلاغ عن المخالفات، وغيرها من الأنظمة حيث قد يتم أرشفة السجلات لعقود من الزمن، فإن الاختيار بين المعرفة الصفرية الحسابية والإحصائية ليس مجرد تفصيل شكلي. إنه الفرق بين الخصوصية التي تصمد أمام خصم الغد، والخصوصية التي تصمد أمام أي خصم.
شجرة قرارات بسيطة
إذا كنت تختار نظام معرفة صفرية (ZK) للإنتاج:
- خصوصية للمُتحقق فقط، بيانات قصيرة الأجل، الأداء هو الأهم: المعرفة الصفرية الحسابية من أنظمة SNARK أو STARK المُجربة فعليًا تُعد كافية. وهذا يشمل معظم شبكات rollups، ومعظم أنظمة ZK-KYC، ومعظم أنظمة تسجيل الدخول ZK-login.
- خصوصية طويلة الأجل، حساسية قانونية/تدقيقية: يُفضل استخدام نظام قائم على دوال التجزئة (STARK) أو التزام بنمط بيدرسن (Pedersen-style) كأساس. وقم بتوثيق هذا الافتراض.
- خصوصية قابلة للإثبات بغض النظر عن الافتراضات الحسابية: أنت هنا تبحث عن معرفة صفرية مثالية أو إحصائية ضمن فئة عبارات مقيدة. وتوقع التخلي عن بعض القدرات التعبيرية أو التفاعلية.
لا يوجد شيء مجاني. فأنواع المعرفة الصفرية تتضمن مقايضات (trade-offs) ضد بعضها البعض وضد الكفاءة. السؤال هو ما هي المقايضة التي ستقوم بها بوعي وإدراك.
كيف تفكر Namefi في هذا الأمر
في مسارات ملكية أسماء النطاقات (domain ownership)، يتمثل الاستخدام الأكثر إثارة للاهتمام للمعرفة الصفرية (ZK) في إثبات أنك تمتلك اسمًا دون الكشف عن ماهية هذا الاسم. يمكن جعل إثباتات الملكية مقابل السجلات الموجودة على السلسلة (on-chain registry) معرفة صفرية حسابية باستخدام أدوات ناضجة جدًا (مثل Groth16 و PLONK)، وهذا هو ما تعمل عليه أنظمة الإنتاج اليوم. بالنسبة للمسارات الأكثر حساسية — لنفترض، إثبات أن النطاق ينتمي إلى مجموعة من الكيانات الموثوقة دون الكشف عن هويتها — فقد تُصبح مخططات المعرفة الصفرية الإحصائية أو المثالية على العبارات المقيدة ذات صلة. الهدف من هذا المقال هو جعل المقايضة واضحة: اختر ما تحتاجه فعليًا، ودوّن الافتراضات التي تبني عليها نظامك.
المصادر ومزيد من القراءة
- جولدريتش (Goldreich)، ميكالي (Micali)، ويجدرسون (Wigderson) — إثباتات لا تنتج شيئًا سوى صلاحيتها (J. ACM 1991).
- جولدريتش وكراوتشيك (Goldreich and Krawczyk) — حول تكوين أنظمة إثبات المعرفة الصفرية (1996).
- بيدرسن (Pedersen) — مشاركة سرية آمنة يمكن التحقق منها غير تفاعلية ونظرية للمعلومات (1991).
- بن ساسون (Ben-Sasson)، بينتوف (Bentov)، حوريش (Horesh)، ريابزيف (Riabzev) — تكامل حسابي قابل للتطوير وشفاف وآمن لمرحلة ما بعد الكم (ورقة STARK، 2018).
- a16z crypto — "الإثباتات، والحجج، والمعرفة الصفرية" لـ Justin Thaler، الكتاب المدرسي الحديث المعتمد.