Урок 3

كيف يمكن دمج إثبات الاحتياطي مع تقنية zk-SNARK؟

تشرح هذه الدرس ما هي تكنولوجيا zk-SNARK وكيف يتم تحسين إثبات الاحتياطي باستخدام تكنولوجيا zk-SNARK

الخلفية

دليل الصفر المعرفي (ZKP) هو تقنية تشفيرية اقترحها لأول مرة كل من S. Goldwasser و S. Micali و C. Rackoff في أوائل الثمانينيات في ورقة بعنوانتعقيد معرفي لأنظمة الإثبات التفاعلية“. في الورقة، تم تصوره كنموذج نظري لحل مشكلة التحقق من البيانات الرياضية دون الكشف عن الأدلة. لقد لفت هذا المفهوم انتباها واسعا في الأوساط الأكاديمية لأنه يتحدى حدود التقنيات التشفيرية التقليدية ويوفر أساليب جديدة لمعالجة المعلومات الحساسة.

مع مرور الوقت، تطور ZKP من مفهوم نظري مجرد إلى بروتوكولات ملموسة يمكن دمجها في تطبيقات مختلفة. في عام 2010، نشر غروث ورقة بحثية بعنوانحجج معرفية غير تفاعلية قائمة على الاقتران القصيرة للصفر الذي أصبح العلامة النظرية لـ zk-SNARK (الحجة اللا تفاعلية الموجزة للمعرفة)، وهو حل مهم في ZKP. أهم تقدم في تطبيق إثبات الحكم اللا تفاعلي هو نظام إثبات الحكم اللا تفاعلي المستخدم من قبل Z-cash في عام 2015، الذي يوفر حماية الخصوصية للمعاملات والمبالغ. بعد ذلك، جمعت zk-SNARK مع العقود الذكية، مما يوسع تطبيقها لمجموعة أوسع من سيناريوهات التطبيق.

المبادئ الأساسية لـ zk-SNARK

الحجج الصفرية التقليدية تلتزم بثلاث مبادئ:

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

يمكن فهم مبدأ ZKP من خلال مثال بسيط: إذا كنت بحاجة إلى إثبات لأ أن لدي رقم هاتف B ، فليس علي الحاجة للكشف مباشرة عن رقم هاتف B. بدلاً من ذلك، يمكنني الاتصال مباشرة برقم هاتف B وإثبات أنني حصلت على الاتصال به. لن يتسرب رقم هاتف B في هذه العملية.
zk-SNARK تعزيز هذه المبادئ بالخصائص التالية:

  • المعرفة الصفرية: لا يحصل المدقق على أي معلومات مفيدة من الإثبات.
  • موجز: حجم الإثبات صغير (عادة عدة عشرات من البايتات) ووقت التحقق قصير (عادة عدة ميلي ثانية);
  • غير تفاعلي: يحتاج البروفير فقط إلى إرسال الدليل إلى المدقق مرة واحدة ، دون الحاجة إلى مزيد من الاتصال.
  • المعلمات الموثوقة: يحتاج كل من المدقق والمدقق إلى استخدام سلسلة مرجعية مشتركة (CRS) تم إنشاؤها بواسطة جهة خارجية موثوق بها ، والتي قد تحتوي على معلومات حساسة ، إذا تم تسريبها أو العبث بها ، فقد تهدد أمان النظام.

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

  • إعداد النظام: يتم من قبل طرف ثالث موثوق به. يتضمن توليد CRS، بما في ذلك مفتاح الإثبات (pk) ومفتاح التحقق (vk). هذه العملية لا تحتاج إلى تنفيذها إلا مرة واحدة، ويمكن إعادة استخدام CRS عدة مرات.
  • ترميز المشكلة: تحويل مشكلة حسابية f (x) = y إلى شكل QAP A (x) · B (x) = C (x) · Z (x)، حيث A (x)، B (x)، C (x) هي متعددات تم تحديدها بنية الدائرة ل f، Z (x) هو متعدد ثابت، x نقطة مختارة عشوائيًا، و y هو إخراج f. يمكن أداء هذه العملية من قبل مثبت الدليل أو المحقق، أو من قبل طرف ثالث مسبقًا.
  • إنشاء الدليل: يتم بواسطة البرهان. يتضمن استخدام الإدخال w ل pk، x، و f لإنشاء دليل \pi، يثبت أنه يعرف قيمة w ترضي f (w) = y دون الكشف عن القيمة المحددة لـ w. يتضمن هذا العملية حسابات متعددة المتغيرات، وعمليات منحنى البيض، وعمليات وظيفة التجزئة، مما يؤدي في النهاية إلى إنشاء \pi مكون من عدة نقاط على منحنى البيض وقيمة تجزئة.
  • التحقق من البرهان: يتم بواسطة المحقق. ينطوي على استخدام vk، x، y، و \pi للتحقق، وتحديد ما إذا كان الدافع يعرف w الذي يرضي f (w) = y. ينطوي هذا العملية أيضًا على حساب متعدد الحدود، وعمليات منحنيات ناقصة، وعمليات وظيفة التجزئة. تحصل في النهاية على قيمة بولية تشير إلى ما إذا كان البرهان صالحًا.

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

مزيج من احتياطيات التبادل مع zk-SNARK

ذكرت المناقشة السابقة أن zk-SNARK يسمح بتحديد سلسلة مرجعية مشتركة، مما يعني أنه يمكن تعيين قيود على الدائرة الجارية. وعلى سبيل المثال، يقوم Gate.io بتعيين خمسة قيود أساسية في الدائرة، كما هو موضح أدناه:

① قبل إدراج أصول المستخدم في شجرة Merkle، العقدة المقابلة لمعرف المستخدم فارغة.
٢. حساب إجمالي أصول / الخصومات للمستخدم بناءً على قائمة أصول المستخدم وسعر كل أصل. يجب أن تكون الأصول الإجمالية أكبر من إجمالي الخصومات.
③ إضافة أصول/التزامات المستخدم إلى أصول/التزامات التبادل.
(4) احسب تجزئة حالة المستخدم باستخدام معرف المستخدم وإجمالي الأصول / الخصوم وقائمة الأصول. أدخل حالة المستخدم في شجرة Merkle للحصول على جذر Merkle جديد.
⑤ قيمة التجزئة لجذر الشجرة قبل أن يقوم المستخدم السابق بإنشاء عملية مستخدم يجب أن تكون مساوية لقيمة التجزئة بعد أن يقوم المستخدم التالي بإنشاء عملية مستخدم.
(يمكن للعملية ① تجنب تزييف بيانات العقدة، ويمكن للعملية ② تجنب حسابات الرصيد السالب، ويمكن للعملية ⑤ ضمان عدم تغيير بيانات المستخدم قبل وبعد العملية.)
يضمن هذا حل مشكلة الرصيد السالب. يحتاج بيانات التبادل إلى المرور فقط عبر الدائرة لأداء الفحوصات القيدية تلقائيًا والحصول على عدد الأصول. ومع ذلك، يتطلب هذا الحل قدرًا معينًا من الطاقة الحاسوبية وشروط الأجهزة. يستغرق 15 يومًا لحساب إثبات الأصول لـ 10 ملايين مستخدم على جهاز بمعالج 32 نواة و 128 جيجابايت من ذاكرة الوصول العشوائي. يمكن توزيع حساب إثبات الاحتياطي بشكل متوازٍ. إذا كان هناك 10 أجهزة، فإنه يستغرق 1.5 يوم فقط.

استنتاج

من خلال وضع القيود ذات الصلة، يمكن لـ zk-SNARK تجنب حدوث مشاكل القيم السالبة وحماية خصوصية المستخدمين وأمانهم بشكل أفضل. يمكن لإثبات احتياطيات Gate.io الآن أن يثبت نسب الاحتياطي لأكثر من 100 عملة، ويمكن للمستخدمين رؤيتها بنقرة بسيطة.رابط. في الدرس القادم، سنأخذك للتحقق من أمان أصولك في غضون 3 دقائق.

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.
Каталог
Урок 3

كيف يمكن دمج إثبات الاحتياطي مع تقنية zk-SNARK؟

تشرح هذه الدرس ما هي تكنولوجيا zk-SNARK وكيف يتم تحسين إثبات الاحتياطي باستخدام تكنولوجيا zk-SNARK

الخلفية

دليل الصفر المعرفي (ZKP) هو تقنية تشفيرية اقترحها لأول مرة كل من S. Goldwasser و S. Micali و C. Rackoff في أوائل الثمانينيات في ورقة بعنوانتعقيد معرفي لأنظمة الإثبات التفاعلية“. في الورقة، تم تصوره كنموذج نظري لحل مشكلة التحقق من البيانات الرياضية دون الكشف عن الأدلة. لقد لفت هذا المفهوم انتباها واسعا في الأوساط الأكاديمية لأنه يتحدى حدود التقنيات التشفيرية التقليدية ويوفر أساليب جديدة لمعالجة المعلومات الحساسة.

مع مرور الوقت، تطور ZKP من مفهوم نظري مجرد إلى بروتوكولات ملموسة يمكن دمجها في تطبيقات مختلفة. في عام 2010، نشر غروث ورقة بحثية بعنوانحجج معرفية غير تفاعلية قائمة على الاقتران القصيرة للصفر الذي أصبح العلامة النظرية لـ zk-SNARK (الحجة اللا تفاعلية الموجزة للمعرفة)، وهو حل مهم في ZKP. أهم تقدم في تطبيق إثبات الحكم اللا تفاعلي هو نظام إثبات الحكم اللا تفاعلي المستخدم من قبل Z-cash في عام 2015، الذي يوفر حماية الخصوصية للمعاملات والمبالغ. بعد ذلك، جمعت zk-SNARK مع العقود الذكية، مما يوسع تطبيقها لمجموعة أوسع من سيناريوهات التطبيق.

المبادئ الأساسية لـ zk-SNARK

الحجج الصفرية التقليدية تلتزم بثلاث مبادئ:

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

يمكن فهم مبدأ ZKP من خلال مثال بسيط: إذا كنت بحاجة إلى إثبات لأ أن لدي رقم هاتف B ، فليس علي الحاجة للكشف مباشرة عن رقم هاتف B. بدلاً من ذلك، يمكنني الاتصال مباشرة برقم هاتف B وإثبات أنني حصلت على الاتصال به. لن يتسرب رقم هاتف B في هذه العملية.
zk-SNARK تعزيز هذه المبادئ بالخصائص التالية:

  • المعرفة الصفرية: لا يحصل المدقق على أي معلومات مفيدة من الإثبات.
  • موجز: حجم الإثبات صغير (عادة عدة عشرات من البايتات) ووقت التحقق قصير (عادة عدة ميلي ثانية);
  • غير تفاعلي: يحتاج البروفير فقط إلى إرسال الدليل إلى المدقق مرة واحدة ، دون الحاجة إلى مزيد من الاتصال.
  • المعلمات الموثوقة: يحتاج كل من المدقق والمدقق إلى استخدام سلسلة مرجعية مشتركة (CRS) تم إنشاؤها بواسطة جهة خارجية موثوق بها ، والتي قد تحتوي على معلومات حساسة ، إذا تم تسريبها أو العبث بها ، فقد تهدد أمان النظام.

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

  • إعداد النظام: يتم من قبل طرف ثالث موثوق به. يتضمن توليد CRS، بما في ذلك مفتاح الإثبات (pk) ومفتاح التحقق (vk). هذه العملية لا تحتاج إلى تنفيذها إلا مرة واحدة، ويمكن إعادة استخدام CRS عدة مرات.
  • ترميز المشكلة: تحويل مشكلة حسابية f (x) = y إلى شكل QAP A (x) · B (x) = C (x) · Z (x)، حيث A (x)، B (x)، C (x) هي متعددات تم تحديدها بنية الدائرة ل f، Z (x) هو متعدد ثابت، x نقطة مختارة عشوائيًا، و y هو إخراج f. يمكن أداء هذه العملية من قبل مثبت الدليل أو المحقق، أو من قبل طرف ثالث مسبقًا.
  • إنشاء الدليل: يتم بواسطة البرهان. يتضمن استخدام الإدخال w ل pk، x، و f لإنشاء دليل \pi، يثبت أنه يعرف قيمة w ترضي f (w) = y دون الكشف عن القيمة المحددة لـ w. يتضمن هذا العملية حسابات متعددة المتغيرات، وعمليات منحنى البيض، وعمليات وظيفة التجزئة، مما يؤدي في النهاية إلى إنشاء \pi مكون من عدة نقاط على منحنى البيض وقيمة تجزئة.
  • التحقق من البرهان: يتم بواسطة المحقق. ينطوي على استخدام vk، x، y، و \pi للتحقق، وتحديد ما إذا كان الدافع يعرف w الذي يرضي f (w) = y. ينطوي هذا العملية أيضًا على حساب متعدد الحدود، وعمليات منحنيات ناقصة، وعمليات وظيفة التجزئة. تحصل في النهاية على قيمة بولية تشير إلى ما إذا كان البرهان صالحًا.

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

مزيج من احتياطيات التبادل مع zk-SNARK

ذكرت المناقشة السابقة أن zk-SNARK يسمح بتحديد سلسلة مرجعية مشتركة، مما يعني أنه يمكن تعيين قيود على الدائرة الجارية. وعلى سبيل المثال، يقوم Gate.io بتعيين خمسة قيود أساسية في الدائرة، كما هو موضح أدناه:

① قبل إدراج أصول المستخدم في شجرة Merkle، العقدة المقابلة لمعرف المستخدم فارغة.
٢. حساب إجمالي أصول / الخصومات للمستخدم بناءً على قائمة أصول المستخدم وسعر كل أصل. يجب أن تكون الأصول الإجمالية أكبر من إجمالي الخصومات.
③ إضافة أصول/التزامات المستخدم إلى أصول/التزامات التبادل.
(4) احسب تجزئة حالة المستخدم باستخدام معرف المستخدم وإجمالي الأصول / الخصوم وقائمة الأصول. أدخل حالة المستخدم في شجرة Merkle للحصول على جذر Merkle جديد.
⑤ قيمة التجزئة لجذر الشجرة قبل أن يقوم المستخدم السابق بإنشاء عملية مستخدم يجب أن تكون مساوية لقيمة التجزئة بعد أن يقوم المستخدم التالي بإنشاء عملية مستخدم.
(يمكن للعملية ① تجنب تزييف بيانات العقدة، ويمكن للعملية ② تجنب حسابات الرصيد السالب، ويمكن للعملية ⑤ ضمان عدم تغيير بيانات المستخدم قبل وبعد العملية.)
يضمن هذا حل مشكلة الرصيد السالب. يحتاج بيانات التبادل إلى المرور فقط عبر الدائرة لأداء الفحوصات القيدية تلقائيًا والحصول على عدد الأصول. ومع ذلك، يتطلب هذا الحل قدرًا معينًا من الطاقة الحاسوبية وشروط الأجهزة. يستغرق 15 يومًا لحساب إثبات الأصول لـ 10 ملايين مستخدم على جهاز بمعالج 32 نواة و 128 جيجابايت من ذاكرة الوصول العشوائي. يمكن توزيع حساب إثبات الاحتياطي بشكل متوازٍ. إذا كان هناك 10 أجهزة، فإنه يستغرق 1.5 يوم فقط.

استنتاج

من خلال وضع القيود ذات الصلة، يمكن لـ zk-SNARK تجنب حدوث مشاكل القيم السالبة وحماية خصوصية المستخدمين وأمانهم بشكل أفضل. يمكن لإثبات احتياطيات Gate.io الآن أن يثبت نسب الاحتياطي لأكثر من 100 عملة، ويمكن للمستخدمين رؤيتها بنقرة بسيطة.رابط. في الدرس القادم، سنأخذك للتحقق من أمان أصولك في غضون 3 دقائق.

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.