دليل الصفر المعرفي (ZKP) هو تقنية تشفيرية اقترحها لأول مرة كل من S. Goldwasser و S. Micali و C. Rackoff في أوائل الثمانينيات في ورقة بعنوانتعقيد معرفي لأنظمة الإثبات التفاعلية“. في الورقة، تم تصوره كنموذج نظري لحل مشكلة التحقق من البيانات الرياضية دون الكشف عن الأدلة. لقد لفت هذا المفهوم انتباها واسعا في الأوساط الأكاديمية لأنه يتحدى حدود التقنيات التشفيرية التقليدية ويوفر أساليب جديدة لمعالجة المعلومات الحساسة.
مع مرور الوقت، تطور ZKP من مفهوم نظري مجرد إلى بروتوكولات ملموسة يمكن دمجها في تطبيقات مختلفة. في عام 2010، نشر غروث ورقة بحثية بعنوانحجج معرفية غير تفاعلية قائمة على الاقتران القصيرة للصفر الذي أصبح العلامة النظرية لـ zk-SNARK (الحجة اللا تفاعلية الموجزة للمعرفة)، وهو حل مهم في ZKP. أهم تقدم في تطبيق إثبات الحكم اللا تفاعلي هو نظام إثبات الحكم اللا تفاعلي المستخدم من قبل Z-cash في عام 2015، الذي يوفر حماية الخصوصية للمعاملات والمبالغ. بعد ذلك، جمعت zk-SNARK مع العقود الذكية، مما يوسع تطبيقها لمجموعة أوسع من سيناريوهات التطبيق.
الحجج الصفرية التقليدية تلتزم بثلاث مبادئ:
يمكن فهم مبدأ ZKP من خلال مثال بسيط: إذا كنت بحاجة إلى إثبات لأ أن لدي رقم هاتف B ، فليس علي الحاجة للكشف مباشرة عن رقم هاتف B. بدلاً من ذلك، يمكنني الاتصال مباشرة برقم هاتف B وإثبات أنني حصلت على الاتصال به. لن يتسرب رقم هاتف B في هذه العملية.
zk-SNARK تعزيز هذه المبادئ بالخصائص التالية:
في ورقة غروث، اقترح طريقة إثبات عدم المعرفة التفاعلية بقيمة صفرية تعتمد على الازواج لتحويل مشكلة حسابية إلى برنامج حسابي رباعي الحساب (QAP). تستخدم هذه الطريقة تشفير المنحنيات البيضاوية ووظائف التجزئة لبناء إثبات فعال. تتضمن تصاميم 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 دقائق.
دليل الصفر المعرفي (ZKP) هو تقنية تشفيرية اقترحها لأول مرة كل من S. Goldwasser و S. Micali و C. Rackoff في أوائل الثمانينيات في ورقة بعنوانتعقيد معرفي لأنظمة الإثبات التفاعلية“. في الورقة، تم تصوره كنموذج نظري لحل مشكلة التحقق من البيانات الرياضية دون الكشف عن الأدلة. لقد لفت هذا المفهوم انتباها واسعا في الأوساط الأكاديمية لأنه يتحدى حدود التقنيات التشفيرية التقليدية ويوفر أساليب جديدة لمعالجة المعلومات الحساسة.
مع مرور الوقت، تطور ZKP من مفهوم نظري مجرد إلى بروتوكولات ملموسة يمكن دمجها في تطبيقات مختلفة. في عام 2010، نشر غروث ورقة بحثية بعنوانحجج معرفية غير تفاعلية قائمة على الاقتران القصيرة للصفر الذي أصبح العلامة النظرية لـ zk-SNARK (الحجة اللا تفاعلية الموجزة للمعرفة)، وهو حل مهم في ZKP. أهم تقدم في تطبيق إثبات الحكم اللا تفاعلي هو نظام إثبات الحكم اللا تفاعلي المستخدم من قبل Z-cash في عام 2015، الذي يوفر حماية الخصوصية للمعاملات والمبالغ. بعد ذلك، جمعت zk-SNARK مع العقود الذكية، مما يوسع تطبيقها لمجموعة أوسع من سيناريوهات التطبيق.
الحجج الصفرية التقليدية تلتزم بثلاث مبادئ:
يمكن فهم مبدأ ZKP من خلال مثال بسيط: إذا كنت بحاجة إلى إثبات لأ أن لدي رقم هاتف B ، فليس علي الحاجة للكشف مباشرة عن رقم هاتف B. بدلاً من ذلك، يمكنني الاتصال مباشرة برقم هاتف B وإثبات أنني حصلت على الاتصال به. لن يتسرب رقم هاتف B في هذه العملية.
zk-SNARK تعزيز هذه المبادئ بالخصائص التالية:
في ورقة غروث، اقترح طريقة إثبات عدم المعرفة التفاعلية بقيمة صفرية تعتمد على الازواج لتحويل مشكلة حسابية إلى برنامج حسابي رباعي الحساب (QAP). تستخدم هذه الطريقة تشفير المنحنيات البيضاوية ووظائف التجزئة لبناء إثبات فعال. تتضمن تصاميم 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 دقائق.