ما هو تحويل Fiat–Shamir؟
تحويل Fiat–Shamir تقنية تشفيرية تحول بعض بروتوكولات الإثبات التفاعلية إلى إثباتات غير تفاعلية أو توقيعات رقمية.وهو يلغي حاجة المدقق إلى إرسال تحدٍ عشوائي جديد مباشرةً إلى المُثبت.بدلًا من ذلك، يحسب المُثبت التحدي عبر تجزئة سجل البروتوكول والبيان العام والالتزام والرسالة والسياق المطلوب وغير ذلك.يمكن إنشاء الإثبات الناتج مرة واحدة، ثم يتحقق منه لاحقًا أي شخص لديه المعلومات العامة نفسها.تُسمى التقنية أيضًا إرشاد Fiat–Shamir، لأن أمنها يعتمد عادةً على نمذجة دالة التجزئة التشفيرية بوصفها صندوقًا عشوائيًا.قدم Amos Fiat وAdi Shamir هذا النهج في عملهما الصادر عام 1986، How to Prove Yourself: Practical Solutions to Identification and Signature Problems.
تكتسب التقنية أهمية في العملات المشفرة لأن أنظمة البلوكتشين لا تستطيع دائمًا دعم اتصالات خاصة متكررة بين كل مُثبت ومدقق.يمكن تضمين الإثباتات غير التفاعلية في المعاملات والكتل واستدعاءات العقود الذكية وإثباتات Rollup والتوقيعات والرسائل العابرة للسلاسل.ما المشكلة التي يحلها تحويل Fiat–Shamir؟
صُممت بروتوكولات كثيرة لإثبات المعرفة في الأصل على شكل حوار بين مُثبت ومدقق.يبدأ المُثبت بتقديم التزام بشأن عشوائية مخفية أو معلومات مرتبطة بسر.ثم يرسل المدقق تحديًا عشوائيًا لم يكن بمقدور المُثبت توقعه قبل تقديم الالتزام.ويرد المُثبت باستخدام الشاهد السري والتحدي.يتحقق المدقق من استيفاء الالتزام والتحدي والاستجابة والبيان العام لمعادلات البروتوكول.قد يكون هذا التفاعل غير ملائم في شبكة لامركزية، لأن المُثبت والمدقق يجب أن يكونا متصلين في الوقت نفسه ويتبادلا عدة رسائل.وقد تتحقق آلاف العقد لاحقًا بصورة مستقلة من معاملة بلوكتشين، رغم أنها لم تكن حاضرة عند إنشاء الإثبات.يستبدل تحويل Fiat–Shamir التحدي العشوائي المباشر من المدقق بتحدٍ حتمي ناتج عن التجزئة، يمكن لكل مدقق إعادة حسابه.وهذا ينشئ سجل إثبات قابلًا للنقل والتخزين والإرسال والتحقق دون الاتصال بالمُثبت الأصلي.كيف يعمل الإثبات التفاعلي؟
يتكون البروتوكول التفاعلي الشائع المؤلف من ثلاث رسائل من التزام وتحدٍ واستجابة.يعرف المُثبت قيمة سرية تُسمى الشاهد.يصف البيان العام ما يدعي المُثبت معرفته أو الحساب الذي يدعي إتمامه على نحو صحيح.في الخطوة الأولى، يختار المُثبت عشوائية سرية وينشئ التزامًا.في الخطوة الثانية، ينشئ المدقق تحديًا عشوائيًا لا يمكن توقعه.في الخطوة الثالثة، يجمع المُثبت الشاهد والعشوائية السرية والتحدي لحساب استجابة.ولا يقبل المدقق إلا إذا كانت الاستجابة متوافقة مع الالتزام والتحدي والبيان العام.يجب ألا يكون التحدي قابلًا للتوقع عند إنشاء الالتزام.وإلا فقد ينشئ مُثبت غير نزيه التزامًا لا يصلح إلا لتحدٍ اختير مسبقًا.كيف يعمل تحويل Fiat–Shamir؟
يلغي التحويل رسالة المدقق الثانية ويستبدل بها عملية تجزئة تشفيرية.ينشئ المُثبت أولًا الالتزام نفسه الذي كان سيستخدمه في البروتوكول التفاعلي.ثم يجمع المُثبت البيان العام والالتزام والرسالة ومعرّف البروتوكول وبيانات السجل الأخرى المطلوبة في دالة التجزئة.ويحوّل ناتج التجزئة إلى تحدٍ ضمن فضاء التحديات الصالح للبروتوكول.بعد ذلك، يحسب المُثبت الاستجابة باستخدام ذلك التحدي والشاهد السري.يتضمن الإثبات غير التفاعلي النهائي عادةً الالتزام والاستجابة، بينما يستطيع المدقق إعادة حساب التحدي.يعيد المدقق بناء السجل ويحسب تحدي التجزئة نفسه، ثم ينفذ معادلة التحقق الأصلية.يمكن تمثيل التحويل المبسط كما يلي:مثال على بروتوكول Schnorr
يوفر بروتوكول التحقق من الهوية Schnorr مثالًا واضحًا على تحويل Fiat–Shamir.افترض أن مجموعة دورية لها مولد
لدى المُثبت مفتاح خاص
يريد المُثبت إثبات معرفته بـ
في البروتوكول التفاعلي، يختار المُثبت قيمة عشوائية
يرد المدقق بتحدٍ عشوائي
ويحسب المُثبت
ويتحقق المدقق من أن
تطبيق Fiat–Shamir على بروتوكول Schnorr
يستبدل الإصدار غير التفاعلي التحدي الذي ينشئه المدقق بتجزئة.يحسب المُثبت تحديًا مثل
ثم يحسب
يتضمن الإثبات أو التوقيع الالتزام
يحدد RFC 8235 إثبات معرفة صفرية غير تفاعليًا من Schnorr، أُنشئ من مخطط التحقق ذي المراحل الثلاث عبر تحويل Fiat–Shamir.
كيف ينشئ التحويل توقيعًا رقميًا؟
يثبت إثبات التحقق من الهوية أن المُثبت يعرف سرًا مرتبطًا بهوية عامة.ولإنشاء توقيع رقمي، يُربط التحدي أيضًا برسالة محددة.يؤدي تغيير الرسالة إلى تغيير ناتج التجزئة، ومن ثم التحدي.ولذلك لا يمكن عادةً إعادة استخدام إثبات أنشئ لمعاملة كتوقيع صحيح لمعاملة أخرى.تثبت استجابة الموقّع معرفته بالمفتاح الخاص، وتربط هذه المعرفة بالرسالة الموقعة.ويُعد نمط تحويل التحقق من الهوية إلى توقيع من أهم استخدامات تحويل Fiat–Shamir.Fiat–Shamir وتوقيعات Schnorr في Bitcoin
يحدد BIP 340 الخاص بـ Bitcoin توقيعات Schnorr لمنحنى secp256k1 الإهليلجي.يُشتق تحدي التوقيع عبر تجزئة التزام قيمة nonce والمفتاح العام والرسالة.ويتبع ذلك نمط توقيع Schnorr غير التفاعلي المرتبط بتحويل Fiat–Shamir.يستخدم BIP 340 أيضًا تجزئات موسومة لفصل حساباته عن الاستخدامات الأخرى لدالة التجزئة.
تضيف التجزئة الموسومة إلى المدخل بادئة مشتقة من تسمية خاصة بالبروتوكول.وهذا يقلل احتمال تفسير دالة التجزئة نفسها وتنسيق المدخلات نفسيهما على أنهما عمليتان تشفيريتان مختلفتان.تُستخدم توقيعات BIP 340 في قواعد معاملات Taproot في Bitcoin.لكن التحويل أوسع نطاقًا من Bitcoin، ويمكن استخدامه مع أنظمة إثبات ومجموعات جبرية وافتراضات تشفيرية كثيرة.Fiat–Shamir في أنظمة إثبات المعرفة الصفرية
تبدأ أنظمة إثبات المعرفة الصفرية الحديثة غالبًا ببروتوكول يسهل وصفه كتفاعل بين مُثبت ومدقق.يرسل المُثبت التزامات متعددة الحدود أو جذور Merkle أو عناصر مجموعات أو رسائل أخرى.ويرد المدقق بعناصر عشوائية من حقل رياضي أو مواضع استعلام.يشتق Fiat–Shamir تلك التحديات من سجل البروتوكول بدل الحاجة إلى مدقق مباشر.وهذا يتيح إنشاء الإثبات خارج السلسلة والتحقق منه لاحقًا بواسطة عقدة بلوكتشين أو عقد ذكي.يُستخدم التحويل في أنظمة تدعم المعاملات الخاصة وإثباتات الصلاحية وRollup القابلة للتوسع والحوسبة القابلة للتحقق والتوافق بين شبكات البلوكتشين.Fiat–Shamir في Halo2
يصف Halo2 بروتوكول إثباته تفاعليًا لأغراض التحليل، لكنه يحققه بصورة غير تفاعلية باستخدام تحويل Fiat–Shamir.يتضمن السجل الالتزامات ورسائل أخرى من المُثبت.وتُحوّل نواتج التجزئة التشفيرية إلى تحديات للمدقق تُستخدم في تقييمات كثيرات الحدود وفحوص الإثبات.تشرح وثائق بروتوكول Halo2 أن الحجة التفاعلية ذات العملة العامة تصبح غير تفاعلية باستبدال المدقق بدالة تجزئة قوية تشفيريًا.
كما يحلل Halo2 خصائص أمنية تأخذ في الحسبان قدرة المُثبت على إنشاء حالات السجل وإعادة النظر فيها.وهذا يوضح أن التطبيق الآمن لـ Fiat–Shamir يتطلب أكثر من استبدال مولد أعداد عشوائية باستدعاء واحد لدالة تجزئة.Fiat–Shamir في إثباتات STARK
تستخدم أنظمة إثبات STARK جولات متعددة من الالتزامات وتحديات المدقق.وقد تحدد التحديات معاملات عشوائية ونقاط تقييم لكثيرات الحدود واستعلامات اختبارات الدرجة المنخفضة.تشتق قناة Fiat–Shamir هذه العشوائية غير التفاعلية من سجل الإثبات المتطور.يدمج المُثبت الالتزامات في القناة قبل طلب التحدي التالي.ويكرر المدقق عمليات السجل نفسها ويحصل على التحديات نفسها.تصف وثائق مُثبت STARK قناة Fiat–Shamir تُستخدم لإنشاء عشوائية غير تفاعلية طوال بناء الإثبات.
إذا تغيرت الالتزامات أو المدخلات العامة، فينبغي أن تتغير التحديات اللاحقة أيضًا.ما هو نموذج الصندوق العشوائي؟
نموذج الصندوق العشوائي نموذج أمني يتعامل مع دالة التجزئة بوصفها دالة عشوائية عامة مثالية.يحصل كل مدخل فريد على ناتج عشوائي مستقل.ويعيد استخدام المدخل نفسه الناتج نفسه دائمًا.يمكن لأي شخص الاستعلام من الصندوق، لكن لا يمكن لأحد توقع ناتج جديد دون إجراء الاستعلام المقابل.دوال التجزئة الحقيقية خوارزميات حتمية وليست صناديق عشوائية مثالية.يثبت برهان أمني لتحويل Fiat–Shamir ضمن نموذج الصندوق العشوائي أمانه في ظل هذا الافتراض المثالي.ثم يستخدم المطورون دالة تجزئة تشفيرية حقيقية بدلًا من الصندوق، على أساس الاعتقاد بأنها تتصرف بما يكفي وفق النموذج ضمن البروتوكول.نموذج الصندوق العشوائي مفيد، لكن البرهان ضمنه ليس برهانًا مطلقًا على كل تطبيق محتمل لدالة التجزئة.لماذا يجب أن تشمل التجزئة سجل البروتوكول كاملًا؟
ينبغي ربط كل تحدٍ بجميع معلومات البروتوكول السابقة التي تؤثر في معناه.وقد تشمل هذه المعلومات المعلمات العامة والمفاتيح العامة والبيانات والالتزامات والرسائل والتحديات السابقة ومعرّفات السلاسل وإصدارات البروتوكول.قد يسمح إغفال قيمة مهمة بنقل الإثبات إلى سياق آخر.وقد يصبح الإثبات صالحًا لمفتاحين عامين أو تطبيقين أو شبكتي بلوكتشين أو مرحلتين من البروتوكول، بينما ينبغي أن يصح لواحد منها فقط.في الإثبات متعدد الجولات، ينبغي أن يعتمد كل تحدٍ على سجل البروتوكول المتراكم قبله.يجب أن يلتزم المُثبت بالبيانات السابقة قبل معرفة التحدي المشتق.قد يؤدي تجزئة الرسالة النهائية وحدها إلى إفساد ضمانات الترتيب التي يحتاج إليها البروتوكول التفاعلي.ما هو فصل النطاقات؟
يضمن فصل النطاقات عدم الخلط بين عملية تجزئة وأخرى تستخدم دالة التجزئة الأساسية نفسها.يمكن للبروتوكول إضافة تسمية فريدة في البداية، مثل اسمه أو إصداره أو شبكته أو مرحلة الإثبات أو نوع العملية.تغير التسمية مدخل التجزئة حتى لو تطابقت البيانات الأخرى.من دون فصل النطاقات، قد تُفسر قيمة أُنشئت كتحدٍ في بروتوكول ما على أنها nonce أو التزام أو تحدٍ في بروتوكول آخر.يكتسب فصل النطاقات أهمية خاصة في برامج العملات المشفرة، حيث قد يعاد استخدام دالة تجزئة واحدة لمعرّفات المعاملات والتوقيعات وأشجار Merkle واشتقاق المفاتيح وسجلات الإثبات.يمثل استخدام التجزئة الموسومة الخاصة بالبروتوكول في BIP 340 مثالًا عمليًا على هذه الحماية.
لماذا يُعد الترميز الموحد مهمًا؟
يجب أن يجزّئ المُثبت والمدقق تسلسل البايتات نفسه تمامًا.وقد يكون للكمية الرياضية أحيانًا أكثر من تمثيل صالح بالبايتات.يمكن ترميز الأعداد الصحيحة بأطوال أو ترتيبات بايتات أو أصفار بادئة مختلفة.وقد يكون لنقاط المنحنى الإهليلجي ترميزات بديلة مضغوطة أو غير مضغوطة أو غير صالحة.وقد تصبح القوائم ملتبسة عندما لا تُحدد أطوال العناصر وحدودها بوضوح.يحدد التسلسل القياسي تمثيلًا واحدًا مقبولًا لكل قيمة صالحة في سجل البروتوكول.وقد تمنع بادئات الطول وتسميات الأنواع والحقول ثابتة العرض وقواعد فك الترميز الصارمة الالتباس.ينبغي للتطبيق رفض القيم غير القياسية بدل تطبيعها على نحو يختلف عن تطبيق مدقق آخر.طول التحدي وقوة الإثبات
يؤثر فضاء التحديات في احتمال نجاح مُثبت غير نزيه دون معرفة شاهد صالح.يمنح التحدي المؤلف من بت واحد مُثبتًا مخادعًا احتمالًا مرتفعًا نسبيًا للتخمين الصحيح في جولة واحدة.يحد تكرار البروتوكول أو استخدام تحدٍ أكبر من خطأ قوة الإثبات.يجب تحويل ناتج التجزئة إلى تحدٍ بالحجم الكافي لمستوى الأمان المطلوب.وقد يؤدي اقتطاع طول التحدي بإفراط إلى إضعاف الإثبات.كما يجب ألا يؤدي تحويل نواتج التجزئة إلى رتبة حقل أو مجموعة إلى تحيز إحصائي غير مقبول.قد تستخدم البروتوكولات أخذ عينات بالرفض أو اختزالًا واسعًا أو طريقة موثقة أخرى لاشتقاق التحديات على نحو صحيح.ما هو البحث عن تحدٍ ملائم (Grinding) في Fiat–Shamir؟
يحدث البحث عن تحدٍ ملائم عندما يغير المُثبت عشوائية الالتزام المسموح بها مرارًا، ويجزّئ كل سجل ناتج حتى يظهر تحدٍ مناسب له.يستطيع المُثبت إجراء هذا البحث لأن التحدي يُنشأ محليًا، لا بواسطة مدقق مباشر مستقل.يجب أن يأخذ التحليل الأمني في الحسبان عدد استعلامات التجزئة وحجم فضاء التحديات.يجعل فضاء التحديات الكبير بما يكفي عملية البحث المفيدة غير عملية حسابيًا في ظل افتراضات البروتوكول.ينبغي ألا تضيف التطبيقات قيمًا يتحكم بها المُثبت دون حاجة إلى السجل إذا جعلت هذه القيم البحث أسهل أو سببت تحيزًا.يجب أن تحلل أنظمة الإثبات التي تستخدم Fiat–Shamir هذا السلوك، بدل افتراض أن المُثبت يجري استعلام تجزئة نزيهًا واحدًا فقط.مخاطر إعادة التشغيل وربط السياق
يمكن نسخ الإثبات غير التفاعلي لأنه كائن بيانات عام.ولا يسبب النسخ مشكلة عندما يثبت الإثبات مجرد بيان عام دائم.لكنه يصبح خطرًا عندما يتعامل التطبيق خطأً مع حيازة الإثبات على أنها دليل على تنفيذ إجراء جديد أو تفويض حديث.يمكن أن يتضمن السجل معرّف معاملة أو مستلمًا أو شبكة أو قيمة جلسة أو عنوان عقد أو تاريخ انتهاء أو nonce خاصًا بالتطبيق.وهذا يربط الإثبات بالسياق المقصود.ولا يفيد إضافة قيمة سياق إذا لم يتحقق المدقق من مطابقتها للطلب الحالي.تنتمي متطلبات الحداثة إلى بروتوكول التطبيق الكامل، لا إلى معادلة الإثبات وحدها.هل يوفر Fiat–Shamir معرفة صفرية تلقائيًا؟
لا، فالتحويل لا يجعل كل بروتوكول ذا معرفة صفرية تلقائيًا.يجب أن يتمتع البروتوكول التفاعلي الأصلي بخصائص مناسبة للمعرفة الصفرية أو المعرفة الصفرية أمام مدقق أمين.كما يجب تحليل البروتوكول المحوّل ضمن نموذج الأمان المختار.قد تحتاج الالتزامات إلى عشوائية تعمية لمنع كشف الشاهد.وقد يلزم تقييد تحديات السجل لتجنب قيم خاصة تكشف المعلومات الخاصة.يمكن أن يكون الإثبات غير تفاعلي دون أن يكون ذا معرفة صفرية.فمصطلح «غير تفاعلي» يعني فقط أن المُثبت يستطيع إنشاء الإثبات دون تلقي رسالة مباشرة من المدقق.هل يوفر Fiat–Shamir قوة الإثبات تلقائيًا؟
لا، فتحويل بروتوكول واحد بأمان لا يثبت أمان كل بروتوكول مشابه.يجب أن يتمتع البروتوكول التفاعلي الأصلي بخصائص قوة الإثبات أو القوة الخاصة أو إثبات المعرفة المطلوبة.ينبغي لمدخلات التجزئة وتحويل التحدي الحفاظ على الترتيب المقصود: الالتزام أولًا ثم التحدي.تتطلب بعض البروتوكولات افتراضات أقوى أو براهين متخصصة بعد التحويل.قد يكون إنشاء ما آمنًا في نموذج الصندوق العشوائي الكلاسيكي دون أن يملك برهانًا كافيًا في مواجهة خصوم كميين.ينبغي للمطورين الاعتماد على إنشاء راجعه مختصون وله برهان أمني، بدل تطبيق Fiat–Shamir بصورة غير رسمية على بروتوكول جديد.Fiat–Shamir والتشفير ما بعد الكمي
يظهر نمط تصميم Fiat–Shamir أيضًا في أبحاث التوقيعات ما بعد الكمية.يمكن لمخططات التحقق من الهوية القائمة على الشبكات والرموز والحوسبة متعددة الأطراف استخدام تحديات مشتقة من التجزئة لإنشاء توقيعات.تستخدم بعض توقيعات الشبكات صيغة تُعرف باسم Fiat–Shamir مع الإجهاض.قد يعيد الموقّع بدء جزء من عملية التوقيع إذا كان من شأن استجابة وسيطة كشف معلومات أو خروجها عن التوزيع المقبول.يقيّس NIST FIPS 204 خوارزمية ML-DSA للتوقيع الرقمي القائمة على الشبكات المعيارية، والمشتقة من تصميم Dilithium.
ولا يعني وجود معايير توقيع ما بعد كمّية أن كل إثباتات Fiat–Shamir الكلاسيكية ستظل آمنة أمام حاسوب كمي.Fiat–Shamir في نموذج الصندوق العشوائي الكمي
قد يستعلم خصم كمي من صندوق عشوائي مُنمذج بتراكب من مدخلات كثيرة.وهذا يختلف عن الخصم الكلاسيكي الذي يقدم استعلامًا عاديًا واحدًا في كل مرة.لا تظل براهين نموذج الصندوق العشوائي الكلاسيكي صالحة تلقائيًا في نموذج الصندوق العشوائي الكمي، الذي يُختصر عادةً بـ QROM.طور الباحثون في التشفير تقنيات برهان وشروط بروتوكول إضافية لتحليل إنشاءات Fiat–Shamir في مواجهة المهاجمين الكميين.لذلك ينبغي دعم أي ادعاء بالأمان ما بعد الكمي بتحليل يشمل QROM أو نموذج أمان كميًا مناسبًا آخر.ولا يكفي وحده استبدال مجموعة كلاسيكية بمسألة شبكات.Fiat–Shamir وتوقيعات العتبة
توزع توقيعات العتبة صلاحية التوقيع بين عدة مشاركين.يتعاون عدد مطلوب من المشاركين لإنشاء توقيع صالح، دون إعادة تكوين المفتاح الخاص الكامل في مكان واحد.يجب أن تنسق بروتوكولات Schnorr للعتبة التزامات nonce وحسابات التحدي بعناية.يجب أن يرتبط التحدي بالمفتاح العام المجمّع والتزام nonce المجمّع والرسالة وسياق المشاركين وقواعد البروتوكول.قد يؤدي إنشاء السجل على نحو غير صحيح إلى تمكين التلاعب بـ nonce أو سلوك المفتاح المارق أو هجمات الجلسات المتعددة.يحدد RFC 9591 بروتوكول توقيع Schnorr للعتبة FROST وعمليات مجموعة الشفرات القائمة على التجزئة فيه.
مزايا تحويل Fiat–Shamir
يلغي التحويل التفاعل المباشر مع المدقق في أنظمة الإثبات المتوافقة.يمكن إنشاء الإثبات مرة واحدة والتحقق منه بصورة مستقلة بواسطة عدد كبير من عقد البلوكتشين.ويقلل جولات الاتصال ويبسط التحقق غير المتزامن.يمكن تضمين الإثباتات في المعاملات والكتل والعقود الذكية والتخزين الموزع.ويمكن التحقق من الإثبات نفسه دون تزويد المدقق بعشوائية خاصة أو الحفاظ على جلسة تفاعلية.كما يوفر التحويل مسارًا عمليًا لتحويل بروتوكولات التحقق من الهوية إلى مخططات توقيع رقمي.تجعل هذه الخصائص التقنية مهمة للشبكات اللامركزية التي قد لا يتواصل المشاركون فيها مباشرةً أبدًا.قيود تحويل Fiat–Shamir
يعتمد التحويل عادةً على نموذج الصندوق العشوائي.ولا يحول كل إثبات تفاعلي ممكن إلى إثبات آمن.قد يؤدي إغفال عناصر من السجل أو عدم اتساق الترميز إلى ثغرات خطيرة.يستطيع المُثبت تقييم دالة التجزئة مرارًا، لذا يجب تضمين سلوك البحث عن تحدٍ ملائم في التحليل الأمني.يمكن إعادة تشغيل الإثباتات غير التفاعلية ما لم يربطها التطبيق بسياق مناسب.ويتطلب الأمان الكمي تحليلًا منفصلًا.ولا يحمي التحويل التطبيق من تسرب القنوات الجانبية أو ضعف العشوائية أو تلف الذاكرة أو سرقة المفاتيح الخاصة.وقد يظل إنشاء الإثبات مكلفًا حسابيًا حتى بعد إلغاء التفاعل.تحويل Fiat–Shamir مقارنةً بالإثبات التفاعلي
يتطلب الإثبات التفاعلي تبادل رسائل بين المُثبت والمدقق.ويقدم المدقق تحديات عشوائية جديدة أثناء التفاعل.أما إثبات Fiat–Shamir فيشتق هذه التحديات من تجزئة سجل البروتوكول.يسهل توزيع الإثبات غير التفاعلي والتحقق منه بصورة غير متزامنة.يمكن للبروتوكول التفاعلي الاعتماد على عشوائية حقيقية من المدقق، بينما يعتمد البروتوكول المحوّل على سلوك شبيه بالصندوق العشوائي لدالة التجزئة.تحويل Fiat–Shamir مقارنةً بإثبات المعرفة الصفرية غير التفاعلي
تحويل Fiat–Shamir إحدى طرق إنشاء إثبات غير تفاعلي.أما إثبات المعرفة الصفرية غير التفاعلي (NIZK) فهو فئة أوسع من الإثباتات، لا تتطلب تفاعلًا مباشرًا مع المدقق ولا تكشف معلومات محمية عن الشاهد.تستخدم بعض إثباتات NIZK تقنية Fiat–Shamir، بينما يستخدم بعضها الآخر سلسلة مرجعية مشتركة أو إعدادًا موثوقًا أو إعدادًا شفافًا أو تقنيات تشفيرية مختلفة.لا يحدد وصف الإثبات بأنه غير تفاعلي الطريقة المستخدمة لإنشائه.تحويل Fiat–Shamir مقارنةً بالتوقيع الرقمي
يوثق التوقيع الرقمي رسالة باستخدام مفتاح خاص ومفتاح تحقق عام.أما تحويل Fiat–Shamir فهو تقنية إنشاء يمكنها تحويل بروتوكولات تحقق معينة إلى مخططات توقيع.لا يُنشأ كل توقيع رقمي باستخدام Fiat–Shamir.وليس كل إثبات Fiat–Shamir مخصصًا ليكون توقيعًا رقميًا.قد يثبت الإثبات معرفة شاهد أو صحة عملية حسابية دون توثيق شخص أو محفظة.تحويل Fiat–Shamir مقارنةً بـ Hash-to-Curve
تحول عملية Hash-to-Curve بيانات إدخال اعتباطية إلى نقطة صالحة على منحنى إهليلجي.أما Fiat–Shamir فيحول بيانات سجل البروتوكول إلى تحديات للمدقق.وقد يستخدم نظام إثبات العمليةَين معًا.قد يكون التحدي قيمة عددية، بينما يحتاج عنصر آخر في البروتوكول إلى نقطة منحنى مشتقة من التجزئة.ويتطلب الإجراءان قواعد منفصلة لفصل النطاقات والترميز.تحويل Fiat–Shamir مقارنةً ببروتوكول الالتزام ثم الكشف
يتطلب بروتوكول الالتزام ثم الكشف أن ينشر المشارك التزامًا ثم يكشف القيمة المخفية لاحقًا.وقد يُستخدم للحد من المعرفة المسبقة بالعشوائية المشتركة أو التلاعب بها.لا ينتظر Fiat–Shamir كشف قيمة عشوائية عامة لاحقًا.بل ينشئ تحديًا حتميًا من سجل البروتوكول الموجود.ويعالج بروتوكولا الالتزام ثم الكشف وFiat–Shamir مشكلتين مختلفتين في التنسيق، وإن استخدما الالتزامات والتجزئات التشفيرية.أفضل ممارسات التطبيق
ينبغي للمطورين استخدام نظام إثبات له تحليل أمني منشور وموثوق لتحويل Fiat–Shamir.يجب أن يتضمن سجل البروتوكول كل قيمة عامة تحدد البيان والسياق.ينبغي تخصيص فصل نطاقات فريد لكل بروتوكول ومرحلة إثبات.يجب استخدام تسلسل قياسي لجميع القيم مع حدود واضحة للنوع والطول.ينبغي إدخال الالتزامات في السجل قبل إنشاء التحديات المعتمدة عليها.ينبغي تحويل نواتج التحديات إلى الحقول أو المجموعات بالطريقة الموثقة الخالية من التحيز.يجب رفض النقاط غير الصالحة والقيم العددية غير القياسية وقيم الحقول المحظورة وسجلات البروتوكول المشوهة.ينبغي إنشاء عشوائية المُثبت وnonces التوقيع بأمان أو اشتقاقها بطريقة حتمية معتمدة.ينبغي أن تختبر التطبيقات ما إذا كان تغيير أي بيان أو التزام أو رسالة أو معرّف شبكة أو إصدار بروتوكول يغير التحدي المشتق.ينبغي أن تغطي متجهات الاختبار ترتيب سجل البروتوكول والترميز وعلامات النطاق والقيم الفارغة والحدية والإثباتات المشوهة.أخطاء شائعة في تطبيق Fiat–Shamir
من الأخطاء تجزئة الالتزام دون تجزئة البيان العام.ومنها أيضًا إغفال الرسالة عندما يكون المقصود من الإثبات أن يعمل كتوقيع.قد يسمح دمج البيانات بطريقة ملتبسة بإنتاج تسلسل بايتات واحد من سجلين مختلفين.وقد يؤدي استخدام تسمية نطاق واحدة لبروتوكولات غير مرتبطة إلى التباس بين البروتوكولات.إنشاء تحدٍ لاحق قبل إدخال رسائل المُثبت السابقة كلها يخل بترتيب سجل البروتوكول.وقد يؤدي اختزال تجزئة قصيرة مباشرةً إلى حقل كبير إلى ضعف إنتروبيا التحدي.وقد يؤدي قبول نقاط أو قيم عددية غير قياسية على المنحنى إلى تجزئة التطبيقات المختلفة لتمثيلات مختلفة.قد يؤدي تكرار استخدام عشوائية المُثبت إلى كشف الشاهد السري في بروتوكولات شبيهة بـ Schnorr.ومن الأخطاء الخطيرة أيضًا افتراض أن البرهان الكلاسيكي يوفر تلقائيًا أمانًا ما بعد كمي.أهمية تحويل Fiat–Shamir للعملات المشفرة
تتطلب شبكات العملات المشفرة إثباتات يستطيع المشاركون حول العالم التحقق منها بصورة مستقلة.لا يمكن لمعاملة بلوكتشين أن تعتمد على محادثة خاصة مع كل عقدة مستقبلية قد تتحقق منها.يتيح Fiat–Shamir تحويل الاستدلال التشفيري التفاعلي إلى كائن إثبات ثابت.وهذا يدعم التوقيعات الموجزة وأنظمة الخصوصية وRollup المعرفة الصفرية والتنفيذ القابل للتحقق للعقود الذكية ومحافظ العتبة وغيرها من تطبيقات البلوكتشين.يوضح التحويل أيضًا مبدأً مهمًا في تصميم العملات المشفرة.فدالة التجزئة لا تقتصر فائدتها على إنشاء معرّفات المعاملات؛ إذ يمكنها إنشاء تحديات تبدو غير متوقعة تربط سجل البروتوكول كاملًا.وتعتمد هذه القدرة على تصميم دقيق وتسلسل واضح وفصل قوي للنطاقات وبرهان أمني مناسب.الأسئلة الشائعة
ما وظيفة تحويل Fiat–Shamir؟
يستبدل تحديات المدقق العشوائية في بعض البروتوكولات التفاعلية بتحديات مشتقة من تجزئة تشفيرية لسجل البروتوكول.لماذا يفيد Fiat–Shamir في العملات المشفرة؟
يتيح للعقد التحقق لاحقًا من الإثباتات والتوقيعات دون الحاجة إلى محادثة مباشرة مع المُثبت.من ابتكر تحويل Fiat–Shamir؟
قدم Amos Fiat وAdi Shamir التقنية في عمل عُرض عام 1986.هل تحويل Fiat–Shamir هو نفسه دالة التجزئة؟
لا، بل هو تحويل للبروتوكول يستخدم دالة تجزئة لإنشاء تحديات المدقق.ما الإثبات التفاعلي؟
هو بروتوكول يتبادل فيه المُثبت والمدقق الالتزامات والتحديات والاستجابات.ما بروتوكول العملة العامة؟
هو بروتوكول تفاعلي تتكون فيه رسائل المدقق من تحديات عشوائية ظاهرة للجميع.ما سجل Fiat–Shamir؟
هو مجموعة مرتبة من المعلمات العامة والبيانات والالتزامات والتحديات والاستجابات والرسائل والسياق المستخدم في الإثبات.ما نموذج الصندوق العشوائي؟
هو نموذج أمني مثالي يتعامل مع دالة التجزئة بوصفها دالة عشوائية عامة ذات نواتج متسقة.هل دالة التجزئة الحقيقية صندوق عشوائي؟
لا، فدالة التجزئة الحقيقية حتمية، وإن كانت البروتوكولات قد تحللها كما لو أنها تتصرف مثل صندوق عشوائي مثالي.هل ينشئ Fiat–Shamir معرفة صفرية تلقائيًا؟
لا، بل يجب أن يستوفي البروتوكول الأصلي والإنشاء المحوّل شروط المعرفة الصفرية المطلوبة.هل ينشئ Fiat–Shamir توقيعًا رقميًا؟
يمكنه تحويل بروتوكولات تحقق معينة إلى توقيعات عندما تُدرج الرسالة في تجزئة التحدي.هل تستخدم Bitcoin نمط Fiat–Shamir؟
تستخدم توقيعات Schnorr في BIP 340 الخاص بـ Bitcoin تحديًا مشتقًا من التجزئة يربط التزام nonce والمفتاح العام والرسالة.هل يُستخدم Fiat–Shamir في Rollup المعرفة الصفرية؟
تستخدم أنظمة إثبات كثيرة في Rollup تحديات سجل شبيهة بـ Fiat–Shamir لجعل بروتوكولات الإثبات التفاعلية غير تفاعلية.هل يُستخدم Fiat–Shamir في STARK؟
نعم، يمكن لمُثبتي STARK ومدققيه استخدام قناة Fiat–Shamir لاشتقاق تحديات غير تفاعلية من الالتزامات.هل يُستخدم Fiat–Shamir في Halo2؟
نعم، يحقق Halo2 وصفه التفاعلي للإثبات على شكل حجة غير تفاعلية باستخدام Fiat–Shamir.ما فصل النطاقات؟
يضيف فصل النطاقات تسميات خاصة بالبروتوكول إلى مدخلات التجزئة لمنع الخلط بين نواتج عمليات تشفيرية مختلفة.لماذا يجب تجزئة المفتاح العام؟
تربط تجزئة المفتاح العام الإثبات أو التوقيع بالهوية المقصودة، وقد تمنع هجمات استبدال المفتاح أو الهجمات العابرة للمفاتيح.لماذا يجب تجزئة الرسالة؟
يضمن تضمين الرسالة عدم إعادة استخدام توقيع أنشئ لرسالة لتوقيع رسالة أخرى.ما البحث عن تحدٍ ملائم؟
هو إنشاء الالتزامات مرارًا حتى تنتج تجزئة سجل البروتوكول تحديًا ملائمًا للمُثبت.هل يمكن إعادة تشغيل إثباتات Fiat–Shamir؟
يمكن نسخ الإثبات العام؛ لذا يجب أن تتضمن البروتوكولات التي تتطلب حداثة سياق جلسة أو معاملة مناسبًا وأن تتحقق منه.ما التسلسل القياسي؟
يحدد التسلسل القياسي تمثيلًا واحدًا مقبولًا بالبايتات لكل قيمة في سجل البروتوكول.لماذا يهم ترتيب سجل البروتوكول؟
يجب أن يعتمد كل تحدٍ على جميع الرسائل السابقة، حتى لا يستطيع المُثبت تغيير الالتزام بعد معرفة التحدي.هل يمكن استخدام Fiat–Shamir مع المنحنيات الإهليلجية؟
نعم، تُطبّق براهين Schnorr وتوقيعاته هذه التقنية عادةً في مجموعات المنحنيات الإهليلجية.هل يمكن استخدام Fiat–Shamir في التشفير ما بعد الكمي؟
نعم، تظهر إنشاءات مرتبطة به في توقيعات ما بعد الكم، لكن أمنها يتطلب تحليلًا كميًا مناسبًا.ما نموذج الصندوق العشوائي الكمي؟
هو نموذج يستطيع فيه الخصم الكمي الاستعلام من الصندوق العشوائي باستخدام تراكب كمي.هل يظل البرهان الأمني الكلاسيكي صالحًا أمام المهاجمين الكميين؟
ليس تلقائيًا، إذ قد لا يأخذ البرهان في الحسبان استعلامات الصندوق الكمية أو حدود استخراج المعلومات في البيئة الكمية.ما Fiat–Shamir مع الإجهاض؟
هو صيغة قد يعيد فيها الموقّع العملية عند إخفاق استجابة في استيفاء شروط التوزيع أو الحجم المطلوبة.هل يتطلب Fiat–Shamir إعدادًا موثوقًا؟
لا، فالتحويل نفسه لا يتطلب إعدادًا موثوقًا، وإن كان نظام الإثبات الأساسي قد تكون له متطلبات إعداد منفصلة.هل يمكن للعقود الذكية التحقق من إثباتات Fiat–Shamir؟
نعم، إذا استطاع العقد إعادة إنتاج تجزئة سجل البروتوكول والتحقق بكفاءة من معادلات الإثبات.ما أكبر مخاطر التطبيق؟
تشمل المخاطر الرئيسية الشائعة عدم ربط السجل كاملًا بالإثبات، والترميز الملتبس، وضعف فصل النطاقات، وضعف إنشاء nonce، وافتراضات الأمان غير المدعومة.الخلاصة
يحول Fiat–Shamir البروتوكولات التفاعلية المتوافقة ذات العملة العامة إلى إثباتات غير تفاعلية أو توقيعات رقمية.ويستبدل التحدي غير المتوقع من المدقق المباشر بتحدٍ مشتق من تجزئة تشفيرية لسجل الإثبات.وهذا يتيح إنشاء الإثبات مرة واحدة والتحقق منه بصورة مستقلة بواسطة عقد البلوكتشين والمحافظ والعقود الذكية وتطبيقات العملات المشفرة الأخرى.يدعم التحويل توقيعات Schnorr وأنظمة إثبات المعرفة الصفرية وSTARK وبروتوكولات شبيهة بـ Halo2 وتوقيعات العتبة وأبحاث التوقيعات ما بعد الكم.يعتمد أمنه على خصائص البروتوكول التفاعلي الأصلي والافتراضات المستخدمة في نمذجة دالة التجزئة.يجب أن تربط التطبيقات الصحيحة البيان والالتزام والرسالة والمعلمات العامة والسياق وإصدار البروتوكول كلها ضمن سجل قياسي.ويجب أن تستخدم أيضًا فصلًا قويًا للنطاقات وأحجام تحديات كافية وإنشاءًا آمنًا لـ nonce وقواعد مدروسة لتحويل التحديات.لا يمثل تحويل Fiat–Shamir ترقية أمنية تلقائية لكل بروتوكول إثبات.إنه إنشاء قوي تعتمد سلامته على تصميم صارم للبروتوكول وانضباط في التطبيق وتحليل أمني للمهاجمين الكلاسيكيين والكميين على حد سواء.قد يعجبك أيضاً
WhatsMiner M30S++
نطاقات Web3
مشاريع Web3
رائج
العملات المشفرة الرائجة حاليًا والتي تحظى باهتمام كبير في السوق
الأعلى حجماً
العملات المشفرة ذات أعلى حجم تداول
مضاف حديثا
العملات المشفرة المدرجة مؤخرًا والمتاحة للتداول

