zk-SNARKs(ZKP) كواحدة من أهم تقنيات التشفير، تعتبر على نطاق واسع في مجال البلوكشين كواحدة من أكثر الابتكارات ثورية بعد تقنية دفاتر الحسابات الموزعة. تقدم هذه المقالة مراجعة شاملة لتطور تقنية ZKP على مدى الأربعين عامًا الماضية وأحدث الأبحاث.
أولاً، تم تقديم المفاهيم الأساسية والتاريخية لـ ZKP، مع التركيز على تحليل تقنية ZKP القائمة على الدوائر، بما في ذلك تصميم النماذج مثل zkSNARK، Pinocchio، Bulletproofs، وتطبيقاتها وطرق تحسينها. في ما يتعلق بالبيئة الحسابية، تقدم هذه الورقة ZKVM و ZKEVM، وتستكشف كيف يمكن أن تعزز من قدرة معالجة المعاملات، وتحمي الخصوصية، وتزيد من كفاءة التحقق. كما توضح المقالة آلية عمل ZK Rollup كحل توسيع من الطبقة الثانية وطرق تحسينها، بالإضافة إلى التقدم الأخير في التسريع بالأجهزة، والحلول المختلطة، و ZK EVM المخصصة.
أخيرًا، تستشرف هذه المقالة مفاهيم جديدة مثل ZKCoprocessor و ZKML و ZKThreads و ZK Sharding و ZK StateChannels، وتناقش إمكانياتها في توسيع نطاق البلوكشين، والتشغيل البيني، وحماية الخصوصية.
من خلال تحليل هذه التقنيات الحديثة واتجاهات التطوير، يوفر هذا المقال منظورًا شاملاً لفهم وتطبيق تقنيات zk-SNARKs، ويظهر إمكانياتها الكبيرة في تعزيز كفاءة وأمان أنظمة blockchain، مما يوفر مرجعًا مهمًا لقرارات الاستثمار المستقبلية.
فهرس
مقدمة
أ. أساسيات zk-SNARKs
نظرة عامة
أمثلة على براهين المعرفة الصفرية
ثانياً، إثبات المعرفة الصفرية غير التفاعلي
الخلفية
تقديم NIZK
تحويل فيات-شامير
ينس غروث وأبحاثه
أبحاث أخرى
ثالثاً، إثبات المعرفة الصفرية القائم على الدوائر
الخلفية
المفاهيم الأساسية وخصائص نموذج الدائرة
تصميم الدوائر واستخدامها في zk-SNARKs
العيوب والتحديات المحتملة
أربعة، zk-SNARKs
الخلفية
نماذج الخوارزميات الشائعة
الحل المستند إلى PCP الخطي ومشكلة اللوغاريتمات المنفصلة
خطة قائمة على إثبات الأشخاص العاديين
إثباتات zk-SNARKs القابلة للتحقق بناءً على الاحتمالات
تصنيف مرحلة الإعداد المعتمد على CPC
خمسة، نظرة عامة على آلة الافتراضية القائمة على إثبات المعرفة الصفرية وتطورها
الخلفية
تصنيف ZKVM الحالي
نمط الواجهة الأمامية والواجهة الخلفية
مزايا وعيوب نموذج ZKVM
السادس: نظرة عامة على آلة الإيثيريوم الافتراضية القائمة على zk-SNARKs وتطورها
الخلفية
كيفية عمل ZKEVM
عملية تنفيذ ZKEVM
ميزات ZKEVM
سبعة، نظرة عامة على حلول الشبكة الثانوية للمعرفة الصفرية وتطورها
الخلفية
آلية عمل ZK Rollup
عيوب ZK Rollup والتحسينات
ثمانية، اتجاهات التطوير المستقبلية لـ zk-SNARKs
تسريع تطوير بيئة الحوسبة
تقديم وتطور zk-SNARKs
تطوير تقنيات توسيع zk-SNARKs
تطور تفاعل ZKP
التاسع، الخاتمة
مقدمة
مع وصول عصر Web3، شهدت تطبيقات blockchain (DApps) نموًا متفجرًا، حيث تظهر تطبيقات جديدة كل يوم. في السنوات الأخيرة، كانت منصات blockchain تستضيف أنشطة ملايين المستخدمين يوميًا، وتعالج عشرات المليارات من المعاملات. البيانات الضخمة الناتجة عن هذه المعاملات غالبًا ما تحتوي على معلومات شخصية حساسة، مثل هوية المستخدم، ومبلغ المعاملة، وعنوان الحساب، والرصيد، وغيرها. نظرًا لانفتاح وشفافية blockchain، فإن البيانات المخزنة هذه متاحة للجميع، مما أثار العديد من القضايا المتعلقة بالأمان والخصوصية.
حالياً، هناك عدة تقنيات تشفير يمكن أن تتعامل مع هذه التحديات، بما في ذلك التشفير المتجانس، التوقيع الدائري، الحوسبة متعددة الأطراف و zk-SNARKs. يسمح التشفير المتجانس بإجراء العمليات دون فك تشفير النص المشفر، مما يساعد على حماية أمان رصيد الحساب ومبلغ المعاملات، ولكنه لا يمكنه حماية عنوان الحساب. يوفر التوقيع الدائري شكلاً خاصًا من التوقيع الرقمي، قادرًا على إخفاء هوية الموقّع، وبالتالي حماية عنوان الحساب، لكنه غير قادر على حماية رصيد الحساب ومبلغ المعاملات. تسمح الحوسبة متعددة الأطراف بتوزيع مهام الحوسبة بين عدة مشاركين، دون أن يعرف أي مشارك بيانات المشاركين الآخرين، مما يحمي بشكل فعال رصيد الحساب ومبلغ المعاملات، لكنه لا يمكنه أيضًا حماية عنوان الحساب. بالإضافة إلى ذلك، لا يمكن لهذه التقنيات التحقق من ما إذا كان لدى المدعي في بيئة البلوكشين ما يكفي من مبلغ المعاملات دون الكشف عن مبلغ المعاملات، عنوان الحساب ورصيد الحساب.
zk-SNARKs(ZKP) هي حل أكثر شمولاً، حيث يسمح بروتوكول التحقق هذا بالتحقق من صحة بعض الاقتراحات دون الكشف عن أي بيانات وسيطة. لا يتطلب البروتوكول مرافق مفاتيح عامة معقدة، ولن يوفر التنفيذ المتكرر أيضاً فرصة للمستخدمين الخبيثين للحصول على معلومات إضافية مفيدة. من خلال ZKP، يمكن للمتحقق التحقق مما إذا كان المبرهن لديه مبلغ كافٍ من الأموال في المعاملات دون تسريب أي بيانات خاصة بالمعاملات. تتضمن عملية التحقق إنشاء إثبات يحتوي على المبلغ الذي يدعيه المبرهن، ثم يتم تمرير هذا الإثبات إلى المتحقق، حيث يقوم المتحقق بإجراء حسابات محددة مسبقًا على الإثبات ويخرج بالنتيجة النهائية، مما يتيح له التوصل إلى استنتاج بشأن قبول إدعاء المبرهن. إذا تم قبول إدعاء المبرهن، فهذا يعني أنهم يمتلكون مبلغاً كافياً من الأموال في المعاملات. يمكن تسجيل عملية التحقق المذكورة أعلاه على البلوكشين، دون أي تزوير.
تجعل هذه الميزة من ZKP دورها محوريًا في معاملات blockchain وتطبيقات العملات المشفرة، خاصة في مجال حماية الخصوصية وتوسيع الشبكة، مما يجعلها ليست فقط محور الأبحاث الأكاديمية، بل تعتبر على نطاق واسع واحدة من أهم الابتكارات التكنولوجية منذ تنفيذ تقنية دفتر الأستاذ الموزع (، وخاصة Bitcoin ). كما أنها أيضًا المسار الرئيسي لتطبيقات الصناعة ورأس المال الاستثماري.
نتيجة لذلك، ظهرت العديد من المشاريع الشبكية المعتمدة على ZKP، مثل ZkSync وStarkNet وMina وFilecoin وAleo وغيرها. مع تطور هذه المشاريع، تبرز الابتكارات في خوارزميات ZKP، حيث يُقال إن هناك خوارزمية جديدة تظهر تقريبًا كل أسبوع. بالإضافة إلى ذلك، يتقدم تطوير الأجهزة المرتبطة بتقنية ZKP بسرعة، بما في ذلك الرقائق المُحسَّنة خصيصًا لـ ZKP. على سبيل المثال، أكملت مشاريع مثل Ingonyama وIrreducible وCysic جمع تمويل كبير، وهذه التطورات لا تُظهر فقط التقدم السريع لتقنية ZKP، بل تعكس أيضًا التحول من الأجهزة العامة إلى الأجهزة المخصصة مثل GPU وFPGA وASIC.
تظهر هذه التقدمات أن تقنية zk-SNARKs ليست فقط اختراقًا مهمًا في مجال التشفير، ولكنها أيضًا قوة دافعة رئيسية لتحقيق تطبيقات أوسع لتقنية البلوكشين (، خاصةً في تحسين حماية الخصوصية والقدرة على المعالجة ).
لذا، قررنا تنظيم المعرفة المتعلقة بـ zk-SNARKs ( ZKP ) بشكل منهجي، لمساعدتنا بشكل أفضل في اتخاذ قرارات الاستثمار المستقبلية. لهذا الغرض، قمنا بمراجعة شاملة للأوراق الأكاديمية الأساسية المتعلقة بـ ZKP ( وترتيبها وفقًا للأهمية وعدد الاقتباسات )؛ في الوقت نفسه، قمنا أيضًا بتحليل مفصل لمعلومات ومخططات المشاريع الرائدة في هذا المجال ( وترتيبها حسب حجم التمويل ). توفر هذه المجموعة الشاملة من جمع المعلومات والتحليل أساسًا قويًا لكتابة هذه المقالة.
واحدة، zk-SNARKs الأساسيات
1. نظرة عامة
في عام 1985، قدم العلماء Goldwasser وMicali وRackoff في ورقتهم البحثية "تعقيد المعرفة لأنظمة الإثبات التفاعلية" لأول مرة مفهوم zk-SNARKs (Zero-Knowledge Proof، ZKP ) وInteractive Zero-Knowledge، IZK (. تعتبر هذه الورقة العمل الأساس لل zk-SNARKs، حيث عرفت العديد من المفاهيم التي أثرت على الأبحاث الأكاديمية اللاحقة. على سبيل المثال، تم تعريف المعرفة على أنها "إخراج لا يمكن حسابه"، مما يعني أن المعرفة يجب أن تكون إخراجًا، وأنها حساب لا يمكن تنفيذه، مما يعني أنها لا يمكن أن تكون دالة بسيطة، بل يجب أن تكون دالة معقدة. يمكن فهم الحساب الذي لا يمكن تنفيذه عادةً على أنه مشكلة NP، وهي المشكلة التي يمكن التحقق من صحة حلها في زمن متعدد الحدود، حيث يشير زمن متعدد الحدود إلى أن زمن تشغيل الخوارزمية يمكن التعبير عنه كدالة متعددة الحدود لحجم الإدخال. هذا معيار مهم في علوم الكمبيوتر لقياس كفاءة الخوارزمية وقابليتها للتنفيذ. نظرًا لأن عملية حل مشاكل NP معقدة، فإنها تُعتبر حسابات غير قابلة للتنفيذ؛ ولكن عملية التحقق منها بسيطة نسبيًا، مما يجعلها مناسبة جدًا للاستخدام في تحقق zk-SNARKs.
مثال كلاسيكي لمشكلة NP هو مشكلة البائع المتجول، حيث يجب العثور على أقصر مسار لزيارة سلسلة من المدن والعودة إلى نقطة البداية. على الرغم من أن العثور على أقصر مسار قد يكون صعبًا، إلا أن التحقق مما إذا كان المسار المعطى هو الأقصر نسبيًا أمر سهل نسبيًا. لأن التحقق من المسافة الكلية لمسار معين يمكن إنجازه في وقت متعدد الحدود.
قدم Goldwasser وآخرون في ورقتهم مفهوم "تعقيد المعرفة" لقياس كمية المعرفة التي يكشفها المبرهن للمحقق في أنظمة الإثبات التفاعلية. كما اقترحوا أنظمة الإثبات التفاعلية )Interactive Proof Systems,IPS(، حيث يتفاعل المبرهن )Prover( والمحقق )Verifier( عبر جولات متعددة لإثبات صحة بيان معين.
بناءً على ما سبق، فإن تعريف الإثباتات ذات المعرفة الصفرية الذي تلخصه Goldwasser وآخرون هو نوع خاص من الإثباتات التفاعلية، حيث لا يحصل المدقق على أي معلومات إضافية بخلاف صحة العبارة أثناء عملية التحقق؛ وقد تم تقديم ثلاث خصائص أساسية تشمل:
1.الكمالية: إذا كانت البرهنة صحيحة، يمكن للمثبت الصادق إقناع المحقق الصادق بهذه الحقيقة؛
2.موثوقية: إذا كان المبرهن لا يعرف محتوى البيان، فلا يمكنه إلا أن يخدع المصدق باحتمالية ضئيلة.
خاصية عدم المعرفة: بعد انتهاء عملية الإثبات، يحصل المُتحقق فقط على "معلومات حول امتلاك المُثبت لهذا المعرفة"، ولا يمكنه الحصول على أي محتوى إضافي.
) # 2. مثال على إثبات المعرفة الصفرية
لفهم أفضل لـ zk-SNARKs وخصائصها، إليك مثال للتحقق مما إذا كان المُثبت يمتلك بعض المعلومات السرية، ينقسم هذا المثال إلى ثلاث مراحل: الإعداد، التحدي، والاستجابة.
الخطوة الأولى: الإعداد
في هذه الخطوة، هدف المُثبت هو إنشاء دليل يُثبت أنه يعرف رقمًا سريًا s، ولكنه لا يظهر s بشكل مباشر. لنفترض أن الرقم السري هو s؛
اختر عددين أوليين كبيرين p و q، واحسب حاصل ضربهما n. دع p و q يكونان عددين أوليين، احسب الناتج n؛
احسب v=s^2 mod n، هنا، يتم إرسال v كجزء من الإثبات إلى المدقق، لكنه غير كافٍ لتمكين المدقق أو أي ملاحظ من استنتاج s.
اختر عددًا صحيحًا عشوائيًا r, احسب x=r^2 mod n وأرسله إلى المدقق. تُستخدم هذه القيمة x في عملية التحقق اللاحقة، لكنها لا تكشف أيضًا عن s. لنفترض أن العدد الصحيح العشوائي r، يتم حساب x الناتج.
الخطوة الثانية: التحدي
يختار المُحقق عشوائيًا موضعًا a### يمكن أن يكون 0 أو 1(، ثم يرسله إلى المُثبت. هذه "التحدي" تحدد الخطوات التي يحتاج المُثبت لاتخاذها بعد ذلك.
الخطوة الثالثة: الاستجابة
استجابةً للقيمة a التي أرسلها المدقق، يقوم المدعي بالرد:
إذا كان a=0، يرسل المُثبت g=r) حيث r هو الرقم الذي اختاره عشوائيًا سابقًا (.
إذا كان a=1، يقوم المُثبت بحساب g=rs mod n وإرسالها. لنفترض أن المُحقق أرسل البت العشوائي a، بناءً على قيمة a، يقوم المُثبت بحساب g؛
أخيرًا، يقوم المدقق بالتحقق مما إذا كانت x تساوي g^2 mod n بناءً على g المستلم. إذا كانت المعادلة صحيحة، يقبل المدقق هذه الشهادة. عندما a=0، يحسب المدقق g^2 mod n، ويتحقق من x على الجانب الأيمن؛ عندما a=1، يحسب المدقق g^2 mod n، ويتحقق من xv على الجانب الأيمن.
هنا، نرى أن القيمة x = g^2 mod n التي تم حسابها من قبل المدقق تشير إلى أن المُثبت قد نجح في اجتياز عملية التحقق، دون الكشف عن رقمه السري s. هنا، نظرًا لأن a يمكن أن تأخذ فقط 0 أو 1، فهناك احتمالان فقط، وبالتالي فإن احتمال نجاح المُثبت في اجتياز التحقق بالاعتماد على الحظ هو 50% ) عندما تكون a = 0 (. لكن المدقق يتحدى المُثبت لاحقًا n مرة، حيث يغير المُثبت الأرقام ذات الصلة بشكل مستمر، ويقدمها للمدقق، ويفشل دائمًا في اجتياز عملية التحقق، مما يعني أن احتمال نجاح المُثبت في اجتياز التحقق بالاعتماد على الحظ هو ) 1/2(^n ) يميل بلا حدود نحو 0(، مما يثبت أن المُثبت يعرف رقمًا سريًا معينًا s. هذه الحالة تثبت تكامل، موثوقية، ومعرفة صفرية لنظام إثبات المعرفة الصفرية.
) اثنان، zk-SNARKs غير التفاعلية
1.الخلفية
zk-SNARKs###ZKP(في المفهوم التقليدي، عادة ما تكون شكل البروتوكول تفاعليًا وعبر الإنترنت؛ على سبيل المثال، تتطلب بروتوكولات سيغما عادةً ثلاث إلى خمس جولات من التفاعل لإكمال المصادقة. ومع ذلك، في سيناريوهات مثل المعاملات الفورية أو التصويت، غالبًا ما لا تكون هناك فرصة لإجراء تفاعلات متعددة، خاصة في تطبيقات تكنولوجيا البلوكشين، حيث تبدو وظيفة التحقق غير المتصلة بالإنترنت مهمة بشكل خاص.
)# 2. طرح NIZK
في عام 1988، قدم بلوم وفيلدمان وميكالي مفهوم إثباتات عدم التفاعل المعتمد على المعرفة الصفرية ###NIZK( لأول مرة، وأثبتوا أنه يمكن للبرهان )Prover( والمحقق )Verifier( إكمال عملية المصادقة دون الحاجة إلى تفاعل متعدد الجولات. كان هذا الاختراق ممكنًا لتنفيذ المعاملات الفورية، والتصويت، وتطبيقات blockchain.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 15
أعجبني
15
7
مشاركة
تعليق
0/400
BlockDetective
· 07-15 23:55
زك سنارك رائع
شاهد النسخة الأصليةرد0
FunGibleTom
· 07-15 04:16
من يستطيع فهم هذا... لقد أصابهم الجنون تقريبًا
شاهد النسخة الأصليةرد0
FlashLoanLord
· 07-14 05:09
لا يمكنني القراءة حتى الكلاب لا تفهم
شاهد النسخة الأصليةرد0
wagmi_eventually
· 07-14 05:05
لم أستخدم سوى ستارك، ولا أفهم الباقي
شاهد النسخة الأصليةرد0
JustHereForMemes
· 07-14 04:55
تقنية zk هذه رائعة
شاهد النسخة الأصليةرد0
ImpermanentPhilosopher
· 07-14 04:55
DOGE أين لم تنجح؟ أليست ZKP قد استُخدمت بالفعل؟
شاهد النسخة الأصليةرد0
DaoGovernanceOfficer
· 07-14 04:53
*آه* مرة أخرى استطلاع يفتقر إلى رؤى فيتالik الحاسمة من ورقته في zk لعام 2022...
تاريخ تطور تقنية zk-SNARKs على مدار 40 عامًا: تحليل شامل من الأساسيات إلى ZK Rollup
zk-SNARKs التقنية: نظرة عامة وآفاق المستقبل
ملخص
zk-SNARKs(ZKP) كواحدة من أهم تقنيات التشفير، تعتبر على نطاق واسع في مجال البلوكشين كواحدة من أكثر الابتكارات ثورية بعد تقنية دفاتر الحسابات الموزعة. تقدم هذه المقالة مراجعة شاملة لتطور تقنية ZKP على مدى الأربعين عامًا الماضية وأحدث الأبحاث.
أولاً، تم تقديم المفاهيم الأساسية والتاريخية لـ ZKP، مع التركيز على تحليل تقنية ZKP القائمة على الدوائر، بما في ذلك تصميم النماذج مثل zkSNARK، Pinocchio، Bulletproofs، وتطبيقاتها وطرق تحسينها. في ما يتعلق بالبيئة الحسابية، تقدم هذه الورقة ZKVM و ZKEVM، وتستكشف كيف يمكن أن تعزز من قدرة معالجة المعاملات، وتحمي الخصوصية، وتزيد من كفاءة التحقق. كما توضح المقالة آلية عمل ZK Rollup كحل توسيع من الطبقة الثانية وطرق تحسينها، بالإضافة إلى التقدم الأخير في التسريع بالأجهزة، والحلول المختلطة، و ZK EVM المخصصة.
أخيرًا، تستشرف هذه المقالة مفاهيم جديدة مثل ZKCoprocessor و ZKML و ZKThreads و ZK Sharding و ZK StateChannels، وتناقش إمكانياتها في توسيع نطاق البلوكشين، والتشغيل البيني، وحماية الخصوصية.
من خلال تحليل هذه التقنيات الحديثة واتجاهات التطوير، يوفر هذا المقال منظورًا شاملاً لفهم وتطبيق تقنيات zk-SNARKs، ويظهر إمكانياتها الكبيرة في تعزيز كفاءة وأمان أنظمة blockchain، مما يوفر مرجعًا مهمًا لقرارات الاستثمار المستقبلية.
فهرس
مقدمة
أ. أساسيات zk-SNARKs
ثانياً، إثبات المعرفة الصفرية غير التفاعلي
ثالثاً، إثبات المعرفة الصفرية القائم على الدوائر
أربعة، zk-SNARKs
خمسة، نظرة عامة على آلة الافتراضية القائمة على إثبات المعرفة الصفرية وتطورها
السادس: نظرة عامة على آلة الإيثيريوم الافتراضية القائمة على zk-SNARKs وتطورها
سبعة، نظرة عامة على حلول الشبكة الثانوية للمعرفة الصفرية وتطورها
ثمانية، اتجاهات التطوير المستقبلية لـ zk-SNARKs
التاسع، الخاتمة
مقدمة
مع وصول عصر Web3، شهدت تطبيقات blockchain (DApps) نموًا متفجرًا، حيث تظهر تطبيقات جديدة كل يوم. في السنوات الأخيرة، كانت منصات blockchain تستضيف أنشطة ملايين المستخدمين يوميًا، وتعالج عشرات المليارات من المعاملات. البيانات الضخمة الناتجة عن هذه المعاملات غالبًا ما تحتوي على معلومات شخصية حساسة، مثل هوية المستخدم، ومبلغ المعاملة، وعنوان الحساب، والرصيد، وغيرها. نظرًا لانفتاح وشفافية blockchain، فإن البيانات المخزنة هذه متاحة للجميع، مما أثار العديد من القضايا المتعلقة بالأمان والخصوصية.
حالياً، هناك عدة تقنيات تشفير يمكن أن تتعامل مع هذه التحديات، بما في ذلك التشفير المتجانس، التوقيع الدائري، الحوسبة متعددة الأطراف و zk-SNARKs. يسمح التشفير المتجانس بإجراء العمليات دون فك تشفير النص المشفر، مما يساعد على حماية أمان رصيد الحساب ومبلغ المعاملات، ولكنه لا يمكنه حماية عنوان الحساب. يوفر التوقيع الدائري شكلاً خاصًا من التوقيع الرقمي، قادرًا على إخفاء هوية الموقّع، وبالتالي حماية عنوان الحساب، لكنه غير قادر على حماية رصيد الحساب ومبلغ المعاملات. تسمح الحوسبة متعددة الأطراف بتوزيع مهام الحوسبة بين عدة مشاركين، دون أن يعرف أي مشارك بيانات المشاركين الآخرين، مما يحمي بشكل فعال رصيد الحساب ومبلغ المعاملات، لكنه لا يمكنه أيضًا حماية عنوان الحساب. بالإضافة إلى ذلك، لا يمكن لهذه التقنيات التحقق من ما إذا كان لدى المدعي في بيئة البلوكشين ما يكفي من مبلغ المعاملات دون الكشف عن مبلغ المعاملات، عنوان الحساب ورصيد الحساب.
zk-SNARKs(ZKP) هي حل أكثر شمولاً، حيث يسمح بروتوكول التحقق هذا بالتحقق من صحة بعض الاقتراحات دون الكشف عن أي بيانات وسيطة. لا يتطلب البروتوكول مرافق مفاتيح عامة معقدة، ولن يوفر التنفيذ المتكرر أيضاً فرصة للمستخدمين الخبيثين للحصول على معلومات إضافية مفيدة. من خلال ZKP، يمكن للمتحقق التحقق مما إذا كان المبرهن لديه مبلغ كافٍ من الأموال في المعاملات دون تسريب أي بيانات خاصة بالمعاملات. تتضمن عملية التحقق إنشاء إثبات يحتوي على المبلغ الذي يدعيه المبرهن، ثم يتم تمرير هذا الإثبات إلى المتحقق، حيث يقوم المتحقق بإجراء حسابات محددة مسبقًا على الإثبات ويخرج بالنتيجة النهائية، مما يتيح له التوصل إلى استنتاج بشأن قبول إدعاء المبرهن. إذا تم قبول إدعاء المبرهن، فهذا يعني أنهم يمتلكون مبلغاً كافياً من الأموال في المعاملات. يمكن تسجيل عملية التحقق المذكورة أعلاه على البلوكشين، دون أي تزوير.
تجعل هذه الميزة من ZKP دورها محوريًا في معاملات blockchain وتطبيقات العملات المشفرة، خاصة في مجال حماية الخصوصية وتوسيع الشبكة، مما يجعلها ليست فقط محور الأبحاث الأكاديمية، بل تعتبر على نطاق واسع واحدة من أهم الابتكارات التكنولوجية منذ تنفيذ تقنية دفتر الأستاذ الموزع (، وخاصة Bitcoin ). كما أنها أيضًا المسار الرئيسي لتطبيقات الصناعة ورأس المال الاستثماري.
نتيجة لذلك، ظهرت العديد من المشاريع الشبكية المعتمدة على ZKP، مثل ZkSync وStarkNet وMina وFilecoin وAleo وغيرها. مع تطور هذه المشاريع، تبرز الابتكارات في خوارزميات ZKP، حيث يُقال إن هناك خوارزمية جديدة تظهر تقريبًا كل أسبوع. بالإضافة إلى ذلك، يتقدم تطوير الأجهزة المرتبطة بتقنية ZKP بسرعة، بما في ذلك الرقائق المُحسَّنة خصيصًا لـ ZKP. على سبيل المثال، أكملت مشاريع مثل Ingonyama وIrreducible وCysic جمع تمويل كبير، وهذه التطورات لا تُظهر فقط التقدم السريع لتقنية ZKP، بل تعكس أيضًا التحول من الأجهزة العامة إلى الأجهزة المخصصة مثل GPU وFPGA وASIC.
تظهر هذه التقدمات أن تقنية zk-SNARKs ليست فقط اختراقًا مهمًا في مجال التشفير، ولكنها أيضًا قوة دافعة رئيسية لتحقيق تطبيقات أوسع لتقنية البلوكشين (، خاصةً في تحسين حماية الخصوصية والقدرة على المعالجة ).
لذا، قررنا تنظيم المعرفة المتعلقة بـ zk-SNARKs ( ZKP ) بشكل منهجي، لمساعدتنا بشكل أفضل في اتخاذ قرارات الاستثمار المستقبلية. لهذا الغرض، قمنا بمراجعة شاملة للأوراق الأكاديمية الأساسية المتعلقة بـ ZKP ( وترتيبها وفقًا للأهمية وعدد الاقتباسات )؛ في الوقت نفسه، قمنا أيضًا بتحليل مفصل لمعلومات ومخططات المشاريع الرائدة في هذا المجال ( وترتيبها حسب حجم التمويل ). توفر هذه المجموعة الشاملة من جمع المعلومات والتحليل أساسًا قويًا لكتابة هذه المقالة.
واحدة، zk-SNARKs الأساسيات
1. نظرة عامة
في عام 1985، قدم العلماء Goldwasser وMicali وRackoff في ورقتهم البحثية "تعقيد المعرفة لأنظمة الإثبات التفاعلية" لأول مرة مفهوم zk-SNARKs (Zero-Knowledge Proof، ZKP ) وInteractive Zero-Knowledge، IZK (. تعتبر هذه الورقة العمل الأساس لل zk-SNARKs، حيث عرفت العديد من المفاهيم التي أثرت على الأبحاث الأكاديمية اللاحقة. على سبيل المثال، تم تعريف المعرفة على أنها "إخراج لا يمكن حسابه"، مما يعني أن المعرفة يجب أن تكون إخراجًا، وأنها حساب لا يمكن تنفيذه، مما يعني أنها لا يمكن أن تكون دالة بسيطة، بل يجب أن تكون دالة معقدة. يمكن فهم الحساب الذي لا يمكن تنفيذه عادةً على أنه مشكلة NP، وهي المشكلة التي يمكن التحقق من صحة حلها في زمن متعدد الحدود، حيث يشير زمن متعدد الحدود إلى أن زمن تشغيل الخوارزمية يمكن التعبير عنه كدالة متعددة الحدود لحجم الإدخال. هذا معيار مهم في علوم الكمبيوتر لقياس كفاءة الخوارزمية وقابليتها للتنفيذ. نظرًا لأن عملية حل مشاكل NP معقدة، فإنها تُعتبر حسابات غير قابلة للتنفيذ؛ ولكن عملية التحقق منها بسيطة نسبيًا، مما يجعلها مناسبة جدًا للاستخدام في تحقق zk-SNARKs.
مثال كلاسيكي لمشكلة NP هو مشكلة البائع المتجول، حيث يجب العثور على أقصر مسار لزيارة سلسلة من المدن والعودة إلى نقطة البداية. على الرغم من أن العثور على أقصر مسار قد يكون صعبًا، إلا أن التحقق مما إذا كان المسار المعطى هو الأقصر نسبيًا أمر سهل نسبيًا. لأن التحقق من المسافة الكلية لمسار معين يمكن إنجازه في وقت متعدد الحدود.
قدم Goldwasser وآخرون في ورقتهم مفهوم "تعقيد المعرفة" لقياس كمية المعرفة التي يكشفها المبرهن للمحقق في أنظمة الإثبات التفاعلية. كما اقترحوا أنظمة الإثبات التفاعلية )Interactive Proof Systems,IPS(، حيث يتفاعل المبرهن )Prover( والمحقق )Verifier( عبر جولات متعددة لإثبات صحة بيان معين.
بناءً على ما سبق، فإن تعريف الإثباتات ذات المعرفة الصفرية الذي تلخصه Goldwasser وآخرون هو نوع خاص من الإثباتات التفاعلية، حيث لا يحصل المدقق على أي معلومات إضافية بخلاف صحة العبارة أثناء عملية التحقق؛ وقد تم تقديم ثلاث خصائص أساسية تشمل:
1.الكمالية: إذا كانت البرهنة صحيحة، يمكن للمثبت الصادق إقناع المحقق الصادق بهذه الحقيقة؛
2.موثوقية: إذا كان المبرهن لا يعرف محتوى البيان، فلا يمكنه إلا أن يخدع المصدق باحتمالية ضئيلة.
) # 2. مثال على إثبات المعرفة الصفرية
لفهم أفضل لـ zk-SNARKs وخصائصها، إليك مثال للتحقق مما إذا كان المُثبت يمتلك بعض المعلومات السرية، ينقسم هذا المثال إلى ثلاث مراحل: الإعداد، التحدي، والاستجابة.
الخطوة الأولى: الإعداد
في هذه الخطوة، هدف المُثبت هو إنشاء دليل يُثبت أنه يعرف رقمًا سريًا s، ولكنه لا يظهر s بشكل مباشر. لنفترض أن الرقم السري هو s؛
اختر عددين أوليين كبيرين p و q، واحسب حاصل ضربهما n. دع p و q يكونان عددين أوليين، احسب الناتج n؛
احسب v=s^2 mod n، هنا، يتم إرسال v كجزء من الإثبات إلى المدقق، لكنه غير كافٍ لتمكين المدقق أو أي ملاحظ من استنتاج s.
اختر عددًا صحيحًا عشوائيًا r, احسب x=r^2 mod n وأرسله إلى المدقق. تُستخدم هذه القيمة x في عملية التحقق اللاحقة، لكنها لا تكشف أيضًا عن s. لنفترض أن العدد الصحيح العشوائي r، يتم حساب x الناتج.
الخطوة الثانية: التحدي
يختار المُحقق عشوائيًا موضعًا a### يمكن أن يكون 0 أو 1(، ثم يرسله إلى المُثبت. هذه "التحدي" تحدد الخطوات التي يحتاج المُثبت لاتخاذها بعد ذلك.
الخطوة الثالثة: الاستجابة
استجابةً للقيمة a التي أرسلها المدقق، يقوم المدعي بالرد:
إذا كان a=0، يرسل المُثبت g=r) حيث r هو الرقم الذي اختاره عشوائيًا سابقًا (.
إذا كان a=1، يقوم المُثبت بحساب g=rs mod n وإرسالها. لنفترض أن المُحقق أرسل البت العشوائي a، بناءً على قيمة a، يقوم المُثبت بحساب g؛
أخيرًا، يقوم المدقق بالتحقق مما إذا كانت x تساوي g^2 mod n بناءً على g المستلم. إذا كانت المعادلة صحيحة، يقبل المدقق هذه الشهادة. عندما a=0، يحسب المدقق g^2 mod n، ويتحقق من x على الجانب الأيمن؛ عندما a=1، يحسب المدقق g^2 mod n، ويتحقق من xv على الجانب الأيمن.
هنا، نرى أن القيمة x = g^2 mod n التي تم حسابها من قبل المدقق تشير إلى أن المُثبت قد نجح في اجتياز عملية التحقق، دون الكشف عن رقمه السري s. هنا، نظرًا لأن a يمكن أن تأخذ فقط 0 أو 1، فهناك احتمالان فقط، وبالتالي فإن احتمال نجاح المُثبت في اجتياز التحقق بالاعتماد على الحظ هو 50% ) عندما تكون a = 0 (. لكن المدقق يتحدى المُثبت لاحقًا n مرة، حيث يغير المُثبت الأرقام ذات الصلة بشكل مستمر، ويقدمها للمدقق، ويفشل دائمًا في اجتياز عملية التحقق، مما يعني أن احتمال نجاح المُثبت في اجتياز التحقق بالاعتماد على الحظ هو ) 1/2(^n ) يميل بلا حدود نحو 0(، مما يثبت أن المُثبت يعرف رقمًا سريًا معينًا s. هذه الحالة تثبت تكامل، موثوقية، ومعرفة صفرية لنظام إثبات المعرفة الصفرية.
) اثنان، zk-SNARKs غير التفاعلية
1.الخلفية
zk-SNARKs###ZKP(في المفهوم التقليدي، عادة ما تكون شكل البروتوكول تفاعليًا وعبر الإنترنت؛ على سبيل المثال، تتطلب بروتوكولات سيغما عادةً ثلاث إلى خمس جولات من التفاعل لإكمال المصادقة. ومع ذلك، في سيناريوهات مثل المعاملات الفورية أو التصويت، غالبًا ما لا تكون هناك فرصة لإجراء تفاعلات متعددة، خاصة في تطبيقات تكنولوجيا البلوكشين، حيث تبدو وظيفة التحقق غير المتصلة بالإنترنت مهمة بشكل خاص.
)# 2. طرح NIZK
في عام 1988، قدم بلوم وفيلدمان وميكالي مفهوم إثباتات عدم التفاعل المعتمد على المعرفة الصفرية ###NIZK( لأول مرة، وأثبتوا أنه يمكن للبرهان )Prover( والمحقق )Verifier( إكمال عملية المصادقة دون الحاجة إلى تفاعل متعدد الجولات. كان هذا الاختراق ممكنًا لتنفيذ المعاملات الفورية، والتصويت، وتطبيقات blockchain.