zk-SNARKs التكنولوجيا في مجال البلوكتشين التطور والتطبيق
ملخص
تعتبر zk-SNARKs( ZKP) تقنية واحدة من أهم الابتكارات في مجال البلوكتشين بعد دفاتر الحسابات الموزعة، كما أنها تمثل مجال اهتمام رئيسي لرأس المال الاستثماري. تستعرض هذه المقالة بشكل منهجي تطور تقنية zk-SNARKs على مدى الأربعين عامًا الماضية، وتقدم ملخصًا لأحدث التقدمات البحثية.
تبدأ المقالة بتقديم المفهوم الأساسي للتقنية المعروفة باسم zk-SNARKs والخلفية التاريخية لها. تركز على تحليل تقنيات zk-SNARKs القائمة على الدوائر، بما في ذلك تصميم وتطبيقات وطرق تحسين نماذج Ben-Sasson وPinocchio وBulletproofs وLigero. في ما يتعلق بالبيئة الحاسوبية، تقدم المقالة ZKVM وZKEVM، وتستكشف كيف يمكن أن تعزز قدرة معالجة المعاملات، وتحمي الخصوصية، وتزيد من كفاءة التحقق. كما تقدم المقالة عمل آلية تحسين zk-Rollup(ZK Rollup) كحل توسيع من الطبقة الثانية، بالإضافة إلى أحدث التطورات في تسريع الأجهزة، والحلول المختلطة، وZK EVM المخصصة.
أخيرًا، استعرضت المقالة مفاهيم ناشئة مثل ZKCoprocessor وZKML وZKThreads وZK Sharding وZK StateChannels، واستكشفت إمكانياتها في تعزيز قابلية التوسع والتشغيل البيني وحماية الخصوصية في البلوكتشين.
من خلال تحليل هذه التقنيات الأخيرة واتجاهات التطوير، يوفر هذا المقال منظورًا شاملاً لفهم وتطبيق تقنية zk-SNARKs، ويعرض إمكاناتها الكبيرة في تعزيز كفاءة وأمان أنظمة البلوكتشين، مما يوفر مرجعًا هامًا لقرارات الاستثمار المستقبلية.
الفهرس
مقدمة
أولاً، أساسيات zk-SNARKs
1.نظرة عامة
2. أمثلة على براهين المعرفة الصفرية
ثانياً، zk-SNARKs غير التفاعلية
1.خلفية
2.طرح NIZK
3.تحويل فيات-شامير
4.جينس جروث وأبحاثه
5.أبحاث أخرى
ثالثاً، إثبات المعرفة الصفرية القائم على الدوائر
1.خلفية
2.المفاهيم الأساسية وخصائص نموذج الدائرة
3.تصميم الدوائر وتطبيقها في zk-SNARKs
4. العيوب والتحديات المحتملة
أربعة، zk-SNARKs
1.الخلفية
2.نماذج الخوارزميات الشائعة
3.خطة قائمة على PCP الخطي ومشكلة اللوغاريتمات المنفصلة
4. خطة إثبات للأشخاص العاديين
5. إثبات zk-SNARKs القابل للتحقق بناءً على الاحتمالية ( PCP )
6.تصنيف مرحلة الإعداد لبناء إثبات عام بناءً على CPC( )
خمسة، نظرة عامة على تطوير zk-SNARKs الافتراضية
1.الخلفية
2.تصنيف ZKVM الحالي
3.نموذج الواجهة الأمامية والخلفية
4.مزايا وعيوب نموذج ZKVM
٦. نظرة عامة على تطوير zk-SNARKs لآلة الإيثيريوم الافتراضية
1.خلفية
2. كيفية عمل ZKEVM
3.عملية تنفيذ ZKEVM
4.خصائص ZKEVM
سبعة، نظرة عامة على خطة الشبكة الثانية للمعرفة صفر والتطور
1.الخلفية
2.آلية عمل zk-Rollup
3.عيوب ZK Rollup والتحسينات
ثامناً، اتجاهات التطور المستقبلية لـ zk-SNARKs
تسريع تطوير بيئة الحوسبة
2.طرح وتطور zk-SNARKs
3.تطورات تقنية توسيع zk-SNARKs
4.تطور التفاعل بين zk-SNARKs
التاسع، الاستنتاج
المراجع
المقدمة
في السنوات الأخيرة، شهد تطبيق البلوكتشين (DApps) زخمًا سريعًا في التطور، حيث يتم ظهور تطبيقات جديدة تقريبًا كل يوم. تتحمل منصات البلوكتشين نشاطات ملايين المستخدمين يوميًا، وتتعامل مع عشرات المليارات من المعاملات. تتضمن كميات البيانات الكبيرة الناتجة عن هذه المعاملات عادةً معلومات شخصية حساسة مثل هوية المستخدم، ومبلغ المعاملة، وعنوان الحساب، ورصيد الحساب. نظرًا لخصائص البلوكتشين من الانفتاح والشفافية، فإن البيانات المخزنة هذه متاحة للجميع، مما يؤدي إلى ظهور مجموعة متنوعة من مشكلات الأمان والخصوصية.
حالياً، هناك عدة تقنيات تشفير يمكن أن تواجه هذه التحديات، بما في ذلك التشفير المتجانس، التوقيعات الدائرية، الحسابات متعددة الأطراف الآمنة و zk-SNARKs. يسمح التشفير المتجانس بإجراء العمليات دون فك تشفير النص المشفر، مما يساعد في حماية أمان أرصدة الحسابات ومبالغ المعاملات، لكنه لا يستطيع حماية أمان عناوين الحسابات. توفر التوقيعات الدائرية شكلًا خاصًا من التوقيع الرقمي، قادرًا على إخفاء هوية الموقّع، مما يحمي أمان عناوين الحسابات، لكن لا يمكنها حماية أرصدة الحسابات ومبالغ المعاملات. يسمح الحسابات متعددة الأطراف الآمنة بتوزيع مهام الحساب بين عدة مشاركين، دون أن يعرف أي مشارك بيانات المشاركين الآخرين، مما يحمي بشكل فعال أمان أرصدة الحسابات ومبالغ المعاملات، لكنه أيضًا لا يستطيع حماية أمان عناوين الحسابات. بالإضافة إلى ذلك، لا يمكن استخدام التشفير المتجانس، التوقيعات الدائرية والحسابات متعددة الأطراف الآمنة للتحقق مما إذا كان لدى الموثقين في بيئة البلوكتشين مبلغ كافٍ من المال في المعاملات دون الكشف عن مبالغ المعاملات، عناوين الحسابات وأرصدتها.
تُعتبر zk-SNARKs حلاً شاملاً أكثر، حيث يسمح هذا البروتوكول بالتحقق من صحة بعض العبارات دون الكشف عن أي بيانات وسيطة. لا يحتاج البروتوكول إلى مرافق مفاتيح عامة معقدة، ولن يوفر تنفيذها المتكرر فرصة للمستخدمين الخبيثين للحصول على معلومات مفيدة إضافية. من خلال zk-SNARKs، يمكن للمحققين التحقق مما إذا كان المدعي يملك مبلغاً كافياً من الأموال في المعاملات دون الكشف عن أي بيانات خاصة بالمعاملات. تشمل عملية التحقق إنشاء دليل يحتوي على المبلغ الذي يدعيه المدعي، ثم يتم تمرير هذا الدليل إلى المحقق، حيث يقوم المحقق بإجراء حسابات محددة مسبقاً على الدليل وإنتاج النتيجة النهائية للحساب، وبالتالي الوصول إلى استنتاج حول ما إذا كان ينبغي قبول ادعاء المدعي. إذا تم قبول ادعاء المدعي، فهذا يعني أنهم يملكون مبلغاً كافياً من الأموال في المعاملات. يمكن تسجيل عملية التحقق المذكورة أعلاه في البلوكتشين، دون أي تزييف.
تجعل هذه الميزة من zk-SNARKs دورًا محوريًا في معاملات البلوكتشين وتطبيقات العملات المشفرة، خاصة فيما يتعلق بحماية الخصوصية وتوسيع الشبكات، مما يجعلها ليست فقط محور البحث الأكاديمي، بل أيضًا تعتبر على نطاق واسع واحدة من أهم الابتكارات التقنية منذ التنفيذ الناجح لتقنية دفتر الأستاذ الموزع، خاصة البيتكوين. وهي أيضًا المسار الرئيسي لتطبيقات الصناعة ورأس المال الاستثماري.
نتيجة لذلك، ظهرت العديد من المشاريع الشبكية المعتمدة على zk-SNARKs، مثل ZkSync وStarkNet وMina وFilecoin وAleo. مع تطور هذه المشاريع، تظهر الابتكارات في خوارزميات zk-SNARKs باستمرار، حيث تشير التقارير إلى أن هناك خوارزميات جديدة تظهر تقريبًا كل أسبوع. علاوة على ذلك، يتقدم تطوير الأجهزة المرتبطة بتقنية zk-SNARKs بسرعة، بما في ذلك الرقائق المصممة خصيصًا لتحسين zk-SNARKs. على سبيل المثال، أكملت بعض المشاريع جمع الأموال على نطاق واسع، وهذه التطورات لا تعرض فقط التقدم السريع لتقنية zk-SNARKs، ولكنها تعكس أيضًا الانتقال من الأجهزة العامة إلى الأجهزة المتخصصة مثل GPU وFPGA وASIC.
تشير هذه التطورات إلى أن تقنية zk-SNARKs ليست فقط突破ًا مهمًا في مجال علم التشفير، ولكنها أيضًا القوة الدافعة الرئيسية لتحقيق تطبيقات أوسع لتقنية البلوكتشين، لا سيما في تحسين حماية الخصوصية وقدرات المعالجة.
لذلك، قررنا تنظيم المعرفة ذات الصلة بـ zk-SNARKs ( ZKP ) بشكل منهجي، لمساعدتنا بشكل أفضل في اتخاذ قرارات الاستثمار المستقبلية. ولهذا الغرض، قمنا بمراجعة شاملة للأوراق الأكاديمية الأساسية المتعلقة بـ ZKP ( مرتبة حسب الصلة وعدد الاقتباسات )؛ في الوقت نفسه، قمنا أيضًا بتحليل مفصل لمعلومات ومخططات المشاريع الرائدة في هذا المجال ( مرتبة حسب حجم التمويل ). وقد وفرت هذه المجموعة الشاملة من جمع المعلومات والتحليل أساساً متيناً لكتابة هذه المقالة.
أ. أساسيات zk-SNARKs
1.نظرة عامة
في عام 1985، قدم العلماء Goldwasser وMicali وRackoff لأول مرة في ورقتهم العلمية مفهوم zk-SNARKs(Zero-KnowledgeProof وZKP) وInteractiveZero-Knowledge(IZK). كانت هذه الورقة الأساس الذي بُني عليه zk-SNARKs، حيث عرّفت العديد من المفاهيم التي أثرت على الأبحاث الأكاديمية اللاحقة. على سبيل المثال، تعريف المعرفة هو "مخرج غير قابل للحساب"، مما يعني أن المعرفة يجب أن تكون مخرجًا، ويجب أن تكون عملية حسابها غير قابلة للتنفيذ، مما يعني أنها لا يمكن أن تكون مجرد دالة بسيطة، بل يجب أن تكون دالة معقدة. يمكن فهم الحساب غير القابل للتنفيذ عادةً على أنه مشكلة NP، أي مشكلة يمكن التحقق من صحتها في زمن متعدد الحدود، حيث يشير زمن متعدد الحدود إلى أن زمن تشغيل الخوارزمية يمكن تمثيله بدالة متعددة الحدود لحجم الإدخال. هذا هو معيار مهم في علوم الحاسوب لقياس كفاءة الخوارزميات وقابليتها للتنفيذ. نظرًا لأن عملية حل مشاكل NP معقدة، فإنها تعتبر حسابًا غير قابل للتنفيذ؛ لكن عملية التحقق منها بسيطة نسبيًا، لذا فهي مناسبة جدًا للاستخدام في تحقق zk-SNARKs.
مثال كلاسيكي لمشكلة NP هو مشكلة بائع المتجول، حيث يتعين إيجاد أقصر مسار لزيارة سلسلة من المدن والعودة إلى نقطة البداية. على الرغم من أن العثور على أقصر مسار قد يكون صعبًا، إلا أن التحقق مما إذا كان مسار معين هو الأقصر يكون نسبيًا سهلاً. لأن التحقق من المسافة الإجمالية لمسار محدد يمكن أن يتم في وقت متعدد الحدود.
قدم Goldwasser وآخرون مفهوم "تعقيد المعرفة" في ورقتهم، لقياس كمية المعرفة التي يكشفها المُثبت للمُتحقق في أنظمة الإثبات التفاعلية. كما اقترحوا أنظمة الإثبات التفاعلية (Interactive Proof Systems, IPS)، حيث يقوم المثبت (Prover) والمتحقق (Verifier) بإثبات صحة بيان معين من خلال جولات متعددة من التفاعل.
استنادًا إلى ما سبق، فإن تعريف zk-SNARKs الذي قدمه جولدووتر وآخرون هو نوع خاص من الإثباتات التفاعلية، حيث لا يحصل المدقق على أي معلومات إضافية بخلاف صحة العبارة أثناء عملية التحقق؛ وقد اقترحوا ثلاثة خصائص أساسية تشمل:
1.الكمال(completeness): إذا كانت الحجة صحيحة، يمكن للمُثبت الأمين إقناع المُحقق الأمين بهذه الحقيقة؛
2.الموثوقية(الصوتية): إذا كان المُثبت لا يعرف محتوى البيان، فلا يمكنه إلا أن يخدع المُتحقق باحتمال ضئيل.
zk-SNARKs ( zero-knowledge ): بعد اكتمال عملية الإثبات، يحصل المُحقق فقط على معلومات "المُثبت لديه هذه المعرفة"، دون أن يحصل على أي محتوى إضافي.
2.مثال على zk-SNARKs
لفهم zk-SNARKs وخصائصها بشكل أفضل، إليك مثال للتحقق مما إذا كان لدى المُثبت معلومات خاصة معينة، وينقسم هذا المثال إلى ثلاث مراحل: الإعداد، والتحدي، والاستجابة.
الخطوة الأولى: إعداد (Setup)
في هذه الخطوة، هدف المُثبِت هو إنشاء دليل يُثبت أنه يعرف رقم سري معين s، دون أن يُظهر s بشكل مباشر. دع الرقم السري؛
اختر عددين أوليين كبيرين p و q، ثم احسب حاصل ضربهما. ثم احسب مجموع الأعداد الأولية.
الحساب، هنا، v كجزء من الإثبات يُرسل إلى المدقق، لكنه غير كافٍ لجعل المدقق أو أي مشاهد يستنتج s.
اختر عددًا صحيحًا عشوائيًا r، واحسبه وأرسله إلى المدقق. تُستخدم هذه القيمة x لعملية التحقق اللاحقة، ولكن لا تكشف أيضًا عن s. لنفترض أن العدد الصحيح العشوائي، تم حسابه.
الخطوة الثانية: تحدي (Challenge)
يختار المدقق موقعًا عشوائيًا a( يمكن أن يكون 0 أو 1)، ثم يرسله إلى المُثبت. هذه "التحدي" تحدد الخطوات التي يحتاج المُثبت إلى اتخاذها بعد ذلك.
الخطوة الثالثة: استجابة (Response)
استجابةً للقيمة a التي أرسلها المدقق, يقوم المُثبت بالرد:
إذا كان المبرهن يرسل ( هنا r هو الرقم الذي اختاره عشوائياً في السابق ).
إذا كان، يقوم المُثبت بالحساب والإرسال. لنفترض أن المُحقق يرسل بت عشوائي، بناءً على قيمة a، يقوم المُثبت بالحساب؛
أخيرًا، يتحقق المُحقق مما إذا كان g المستلم يساوي. إذا كانت المعادلة صحيحة، يقبل المُحقق هذه الإثبات. في ذلك الوقت، يقوم المُحقق بحساب المُحقق، التحقق من الجانب الأيمن؛ في ذلك الوقت، يقوم المُحقق بحساب المُحقق، التحقق من الجانب الأيمن.
هنا، نرى أن التحقق الذي حصل عليه المدقق يثبت أن المدعي قد اجتاز عملية التحقق بنجاح، دون الكشف عن رقمه السري s. هنا، نظرًا لأن a يمكن أن تأخذ فقط 0 أو 1، فهناك حالتان فقط ممكنتان، يعتمد احتمال نجاح المدعي في اجتياز التحقق على الحظ عندما تكون a تساوي 0. لكن المدقق يتحدى المدعي مرة أخرى، ويواصل المدعي تغيير الأرقام ذات الصلة، ويقدمها للمدقق، وينجح دائمًا في اجتياز عملية التحقق، وبالتالي فإن احتمال نجاح المدعي في اجتياز التحقق بناءً على الحظ يقترب بلا حدود من 0(، مما يثبت أن المدعي يعرف رقمًا سريًا معينًا s. هذه الحالة تثبت سلامة وموثوقية وخصوصية نظام إثبات المعرفة الصفرية.
ثانياً، zk-SNARKs غير التفاعلية
) 1.الخلفية
البلوكتشين ( ZKP ) في المفهوم التقليدي يتخذ عادة شكل بروتوكولات تفاعلية وعبر الإنترنت؛ على سبيل المثال، بروتوكول سيغما يتطلب عادة ثلاث إلى خمس جولات من التفاعل لإكمال عملية المصادقة. ومع ذلك، في سيناريوهات مثل المعاملات الفورية أو التصويت، غالبًا ما لا تكون هناك فرصة لإجراء جولات متعددة من التفاعل، خاصة في تطبيقات تكنولوجيا البلوكتشين، حيث تصبح وظائف التحقق غير المتصلة بالإنترنت أكثر أهمية.
2.تم تقديم zk-SNARKs
في عام 1988، قدم بلوم وفيلدمان وميكالي مفهوم إثبات عدم المعرفة غير التفاعلي (NIZK) لأول مرة، وأثبتوا إمكانية إتمام عملية المصادقة بين المُثبت (Prover) والمُحقق (Verifier) دون الحاجة إلى تفاعل متعدد الجولات. كانت هذه نقطة تحول.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 12
أعجبني
12
7
إعادة النشر
مشاركة
تعليق
0/400
GasFeeAssassin
· منذ 49 د
أشعر أنني سأحتاج إلى غاز مرة أخرى، أوي أوي
شاهد النسخة الأصليةرد0
FunGibleTom
· 08-10 02:49
لا أفهم zksnark.
شاهد النسخة الأصليةرد0
ShibaOnTheRun
· 08-10 02:45
لاعب سلسلة أصفر تقريبا
شاهد النسخة الأصليةرد0
DegenWhisperer
· 08-10 02:42
هذا غير معقول، لقد مر على المعرفة صفر أربعون عامًا الآن.
شاهد النسخة الأصليةرد0
RugpullAlertOfficer
· 08-10 02:40
هذا zk هو الاتجاه الكبير في البلوكتشين
شاهد النسخة الأصليةرد0
ChainMaskedRider
· 08-10 02:31
玩zk还得看 هذه الفخ
شاهد النسخة الأصليةرد0
LiquiditySurfer
· 08-10 02:30
مرة أخرى يتحدثون عن zk، لقد جعلوني أشعر بالدوار. اشرب كأس مارتيني لتبريد أعصابي.
تطبيقات وتوجهات تطوير تقنية zk-SNARKs في مجال البلوكتشين
zk-SNARKs التكنولوجيا في مجال البلوكتشين التطور والتطبيق
ملخص
تعتبر zk-SNARKs( ZKP) تقنية واحدة من أهم الابتكارات في مجال البلوكتشين بعد دفاتر الحسابات الموزعة، كما أنها تمثل مجال اهتمام رئيسي لرأس المال الاستثماري. تستعرض هذه المقالة بشكل منهجي تطور تقنية zk-SNARKs على مدى الأربعين عامًا الماضية، وتقدم ملخصًا لأحدث التقدمات البحثية.
تبدأ المقالة بتقديم المفهوم الأساسي للتقنية المعروفة باسم zk-SNARKs والخلفية التاريخية لها. تركز على تحليل تقنيات zk-SNARKs القائمة على الدوائر، بما في ذلك تصميم وتطبيقات وطرق تحسين نماذج Ben-Sasson وPinocchio وBulletproofs وLigero. في ما يتعلق بالبيئة الحاسوبية، تقدم المقالة ZKVM وZKEVM، وتستكشف كيف يمكن أن تعزز قدرة معالجة المعاملات، وتحمي الخصوصية، وتزيد من كفاءة التحقق. كما تقدم المقالة عمل آلية تحسين zk-Rollup(ZK Rollup) كحل توسيع من الطبقة الثانية، بالإضافة إلى أحدث التطورات في تسريع الأجهزة، والحلول المختلطة، وZK EVM المخصصة.
أخيرًا، استعرضت المقالة مفاهيم ناشئة مثل ZKCoprocessor وZKML وZKThreads وZK Sharding وZK StateChannels، واستكشفت إمكانياتها في تعزيز قابلية التوسع والتشغيل البيني وحماية الخصوصية في البلوكتشين.
من خلال تحليل هذه التقنيات الأخيرة واتجاهات التطوير، يوفر هذا المقال منظورًا شاملاً لفهم وتطبيق تقنية zk-SNARKs، ويعرض إمكاناتها الكبيرة في تعزيز كفاءة وأمان أنظمة البلوكتشين، مما يوفر مرجعًا هامًا لقرارات الاستثمار المستقبلية.
الفهرس
مقدمة
أولاً، أساسيات zk-SNARKs 1.نظرة عامة
2. أمثلة على براهين المعرفة الصفرية
ثانياً، zk-SNARKs غير التفاعلية 1.خلفية
2.طرح NIZK 3.تحويل فيات-شامير 4.جينس جروث وأبحاثه 5.أبحاث أخرى
ثالثاً، إثبات المعرفة الصفرية القائم على الدوائر 1.خلفية
2.المفاهيم الأساسية وخصائص نموذج الدائرة 3.تصميم الدوائر وتطبيقها في zk-SNARKs 4. العيوب والتحديات المحتملة
أربعة، zk-SNARKs 1.الخلفية
2.نماذج الخوارزميات الشائعة 3.خطة قائمة على PCP الخطي ومشكلة اللوغاريتمات المنفصلة 4. خطة إثبات للأشخاص العاديين 5. إثبات zk-SNARKs القابل للتحقق بناءً على الاحتمالية ( PCP ) 6.تصنيف مرحلة الإعداد لبناء إثبات عام بناءً على CPC( )
خمسة، نظرة عامة على تطوير zk-SNARKs الافتراضية 1.الخلفية
2.تصنيف ZKVM الحالي 3.نموذج الواجهة الأمامية والخلفية
4.مزايا وعيوب نموذج ZKVM
٦. نظرة عامة على تطوير zk-SNARKs لآلة الإيثيريوم الافتراضية 1.خلفية
2. كيفية عمل ZKEVM 3.عملية تنفيذ ZKEVM 4.خصائص ZKEVM
سبعة، نظرة عامة على خطة الشبكة الثانية للمعرفة صفر والتطور 1.الخلفية 2.آلية عمل zk-Rollup 3.عيوب ZK Rollup والتحسينات
ثامناً، اتجاهات التطور المستقبلية لـ zk-SNARKs
التاسع، الاستنتاج
المراجع
المقدمة
في السنوات الأخيرة، شهد تطبيق البلوكتشين (DApps) زخمًا سريعًا في التطور، حيث يتم ظهور تطبيقات جديدة تقريبًا كل يوم. تتحمل منصات البلوكتشين نشاطات ملايين المستخدمين يوميًا، وتتعامل مع عشرات المليارات من المعاملات. تتضمن كميات البيانات الكبيرة الناتجة عن هذه المعاملات عادةً معلومات شخصية حساسة مثل هوية المستخدم، ومبلغ المعاملة، وعنوان الحساب، ورصيد الحساب. نظرًا لخصائص البلوكتشين من الانفتاح والشفافية، فإن البيانات المخزنة هذه متاحة للجميع، مما يؤدي إلى ظهور مجموعة متنوعة من مشكلات الأمان والخصوصية.
حالياً، هناك عدة تقنيات تشفير يمكن أن تواجه هذه التحديات، بما في ذلك التشفير المتجانس، التوقيعات الدائرية، الحسابات متعددة الأطراف الآمنة و zk-SNARKs. يسمح التشفير المتجانس بإجراء العمليات دون فك تشفير النص المشفر، مما يساعد في حماية أمان أرصدة الحسابات ومبالغ المعاملات، لكنه لا يستطيع حماية أمان عناوين الحسابات. توفر التوقيعات الدائرية شكلًا خاصًا من التوقيع الرقمي، قادرًا على إخفاء هوية الموقّع، مما يحمي أمان عناوين الحسابات، لكن لا يمكنها حماية أرصدة الحسابات ومبالغ المعاملات. يسمح الحسابات متعددة الأطراف الآمنة بتوزيع مهام الحساب بين عدة مشاركين، دون أن يعرف أي مشارك بيانات المشاركين الآخرين، مما يحمي بشكل فعال أمان أرصدة الحسابات ومبالغ المعاملات، لكنه أيضًا لا يستطيع حماية أمان عناوين الحسابات. بالإضافة إلى ذلك، لا يمكن استخدام التشفير المتجانس، التوقيعات الدائرية والحسابات متعددة الأطراف الآمنة للتحقق مما إذا كان لدى الموثقين في بيئة البلوكتشين مبلغ كافٍ من المال في المعاملات دون الكشف عن مبالغ المعاملات، عناوين الحسابات وأرصدتها.
تُعتبر zk-SNARKs حلاً شاملاً أكثر، حيث يسمح هذا البروتوكول بالتحقق من صحة بعض العبارات دون الكشف عن أي بيانات وسيطة. لا يحتاج البروتوكول إلى مرافق مفاتيح عامة معقدة، ولن يوفر تنفيذها المتكرر فرصة للمستخدمين الخبيثين للحصول على معلومات مفيدة إضافية. من خلال zk-SNARKs، يمكن للمحققين التحقق مما إذا كان المدعي يملك مبلغاً كافياً من الأموال في المعاملات دون الكشف عن أي بيانات خاصة بالمعاملات. تشمل عملية التحقق إنشاء دليل يحتوي على المبلغ الذي يدعيه المدعي، ثم يتم تمرير هذا الدليل إلى المحقق، حيث يقوم المحقق بإجراء حسابات محددة مسبقاً على الدليل وإنتاج النتيجة النهائية للحساب، وبالتالي الوصول إلى استنتاج حول ما إذا كان ينبغي قبول ادعاء المدعي. إذا تم قبول ادعاء المدعي، فهذا يعني أنهم يملكون مبلغاً كافياً من الأموال في المعاملات. يمكن تسجيل عملية التحقق المذكورة أعلاه في البلوكتشين، دون أي تزييف.
تجعل هذه الميزة من zk-SNARKs دورًا محوريًا في معاملات البلوكتشين وتطبيقات العملات المشفرة، خاصة فيما يتعلق بحماية الخصوصية وتوسيع الشبكات، مما يجعلها ليست فقط محور البحث الأكاديمي، بل أيضًا تعتبر على نطاق واسع واحدة من أهم الابتكارات التقنية منذ التنفيذ الناجح لتقنية دفتر الأستاذ الموزع، خاصة البيتكوين. وهي أيضًا المسار الرئيسي لتطبيقات الصناعة ورأس المال الاستثماري.
نتيجة لذلك، ظهرت العديد من المشاريع الشبكية المعتمدة على zk-SNARKs، مثل ZkSync وStarkNet وMina وFilecoin وAleo. مع تطور هذه المشاريع، تظهر الابتكارات في خوارزميات zk-SNARKs باستمرار، حيث تشير التقارير إلى أن هناك خوارزميات جديدة تظهر تقريبًا كل أسبوع. علاوة على ذلك، يتقدم تطوير الأجهزة المرتبطة بتقنية zk-SNARKs بسرعة، بما في ذلك الرقائق المصممة خصيصًا لتحسين zk-SNARKs. على سبيل المثال، أكملت بعض المشاريع جمع الأموال على نطاق واسع، وهذه التطورات لا تعرض فقط التقدم السريع لتقنية zk-SNARKs، ولكنها تعكس أيضًا الانتقال من الأجهزة العامة إلى الأجهزة المتخصصة مثل GPU وFPGA وASIC.
تشير هذه التطورات إلى أن تقنية zk-SNARKs ليست فقط突破ًا مهمًا في مجال علم التشفير، ولكنها أيضًا القوة الدافعة الرئيسية لتحقيق تطبيقات أوسع لتقنية البلوكتشين، لا سيما في تحسين حماية الخصوصية وقدرات المعالجة.
لذلك، قررنا تنظيم المعرفة ذات الصلة بـ zk-SNARKs ( ZKP ) بشكل منهجي، لمساعدتنا بشكل أفضل في اتخاذ قرارات الاستثمار المستقبلية. ولهذا الغرض، قمنا بمراجعة شاملة للأوراق الأكاديمية الأساسية المتعلقة بـ ZKP ( مرتبة حسب الصلة وعدد الاقتباسات )؛ في الوقت نفسه، قمنا أيضًا بتحليل مفصل لمعلومات ومخططات المشاريع الرائدة في هذا المجال ( مرتبة حسب حجم التمويل ). وقد وفرت هذه المجموعة الشاملة من جمع المعلومات والتحليل أساساً متيناً لكتابة هذه المقالة.
أ. أساسيات zk-SNARKs
1.نظرة عامة
في عام 1985، قدم العلماء Goldwasser وMicali وRackoff لأول مرة في ورقتهم العلمية مفهوم zk-SNARKs(Zero-KnowledgeProof وZKP) وInteractiveZero-Knowledge(IZK). كانت هذه الورقة الأساس الذي بُني عليه zk-SNARKs، حيث عرّفت العديد من المفاهيم التي أثرت على الأبحاث الأكاديمية اللاحقة. على سبيل المثال، تعريف المعرفة هو "مخرج غير قابل للحساب"، مما يعني أن المعرفة يجب أن تكون مخرجًا، ويجب أن تكون عملية حسابها غير قابلة للتنفيذ، مما يعني أنها لا يمكن أن تكون مجرد دالة بسيطة، بل يجب أن تكون دالة معقدة. يمكن فهم الحساب غير القابل للتنفيذ عادةً على أنه مشكلة NP، أي مشكلة يمكن التحقق من صحتها في زمن متعدد الحدود، حيث يشير زمن متعدد الحدود إلى أن زمن تشغيل الخوارزمية يمكن تمثيله بدالة متعددة الحدود لحجم الإدخال. هذا هو معيار مهم في علوم الحاسوب لقياس كفاءة الخوارزميات وقابليتها للتنفيذ. نظرًا لأن عملية حل مشاكل NP معقدة، فإنها تعتبر حسابًا غير قابل للتنفيذ؛ لكن عملية التحقق منها بسيطة نسبيًا، لذا فهي مناسبة جدًا للاستخدام في تحقق zk-SNARKs.
مثال كلاسيكي لمشكلة NP هو مشكلة بائع المتجول، حيث يتعين إيجاد أقصر مسار لزيارة سلسلة من المدن والعودة إلى نقطة البداية. على الرغم من أن العثور على أقصر مسار قد يكون صعبًا، إلا أن التحقق مما إذا كان مسار معين هو الأقصر يكون نسبيًا سهلاً. لأن التحقق من المسافة الإجمالية لمسار محدد يمكن أن يتم في وقت متعدد الحدود.
قدم Goldwasser وآخرون مفهوم "تعقيد المعرفة" في ورقتهم، لقياس كمية المعرفة التي يكشفها المُثبت للمُتحقق في أنظمة الإثبات التفاعلية. كما اقترحوا أنظمة الإثبات التفاعلية (Interactive Proof Systems, IPS)، حيث يقوم المثبت (Prover) والمتحقق (Verifier) بإثبات صحة بيان معين من خلال جولات متعددة من التفاعل.
استنادًا إلى ما سبق، فإن تعريف zk-SNARKs الذي قدمه جولدووتر وآخرون هو نوع خاص من الإثباتات التفاعلية، حيث لا يحصل المدقق على أي معلومات إضافية بخلاف صحة العبارة أثناء عملية التحقق؛ وقد اقترحوا ثلاثة خصائص أساسية تشمل:
1.الكمال(completeness): إذا كانت الحجة صحيحة، يمكن للمُثبت الأمين إقناع المُحقق الأمين بهذه الحقيقة؛
2.الموثوقية(الصوتية): إذا كان المُثبت لا يعرف محتوى البيان، فلا يمكنه إلا أن يخدع المُتحقق باحتمال ضئيل.
2.مثال على zk-SNARKs
لفهم zk-SNARKs وخصائصها بشكل أفضل، إليك مثال للتحقق مما إذا كان لدى المُثبت معلومات خاصة معينة، وينقسم هذا المثال إلى ثلاث مراحل: الإعداد، والتحدي، والاستجابة.
الخطوة الأولى: إعداد (Setup)
في هذه الخطوة، هدف المُثبِت هو إنشاء دليل يُثبت أنه يعرف رقم سري معين s، دون أن يُظهر s بشكل مباشر. دع الرقم السري؛
اختر عددين أوليين كبيرين p و q، ثم احسب حاصل ضربهما. ثم احسب مجموع الأعداد الأولية.
الحساب، هنا، v كجزء من الإثبات يُرسل إلى المدقق، لكنه غير كافٍ لجعل المدقق أو أي مشاهد يستنتج s.
اختر عددًا صحيحًا عشوائيًا r، واحسبه وأرسله إلى المدقق. تُستخدم هذه القيمة x لعملية التحقق اللاحقة، ولكن لا تكشف أيضًا عن s. لنفترض أن العدد الصحيح العشوائي، تم حسابه.
الخطوة الثانية: تحدي (Challenge)
يختار المدقق موقعًا عشوائيًا a( يمكن أن يكون 0 أو 1)، ثم يرسله إلى المُثبت. هذه "التحدي" تحدد الخطوات التي يحتاج المُثبت إلى اتخاذها بعد ذلك.
الخطوة الثالثة: استجابة (Response)
استجابةً للقيمة a التي أرسلها المدقق, يقوم المُثبت بالرد:
إذا كان المبرهن يرسل ( هنا r هو الرقم الذي اختاره عشوائياً في السابق ).
إذا كان، يقوم المُثبت بالحساب والإرسال. لنفترض أن المُحقق يرسل بت عشوائي، بناءً على قيمة a، يقوم المُثبت بالحساب؛
أخيرًا، يتحقق المُحقق مما إذا كان g المستلم يساوي. إذا كانت المعادلة صحيحة، يقبل المُحقق هذه الإثبات. في ذلك الوقت، يقوم المُحقق بحساب المُحقق، التحقق من الجانب الأيمن؛ في ذلك الوقت، يقوم المُحقق بحساب المُحقق، التحقق من الجانب الأيمن.
هنا، نرى أن التحقق الذي حصل عليه المدقق يثبت أن المدعي قد اجتاز عملية التحقق بنجاح، دون الكشف عن رقمه السري s. هنا، نظرًا لأن a يمكن أن تأخذ فقط 0 أو 1، فهناك حالتان فقط ممكنتان، يعتمد احتمال نجاح المدعي في اجتياز التحقق على الحظ عندما تكون a تساوي 0. لكن المدقق يتحدى المدعي مرة أخرى، ويواصل المدعي تغيير الأرقام ذات الصلة، ويقدمها للمدقق، وينجح دائمًا في اجتياز عملية التحقق، وبالتالي فإن احتمال نجاح المدعي في اجتياز التحقق بناءً على الحظ يقترب بلا حدود من 0(، مما يثبت أن المدعي يعرف رقمًا سريًا معينًا s. هذه الحالة تثبت سلامة وموثوقية وخصوصية نظام إثبات المعرفة الصفرية.
ثانياً، zk-SNARKs غير التفاعلية
) 1.الخلفية
البلوكتشين ( ZKP ) في المفهوم التقليدي يتخذ عادة شكل بروتوكولات تفاعلية وعبر الإنترنت؛ على سبيل المثال، بروتوكول سيغما يتطلب عادة ثلاث إلى خمس جولات من التفاعل لإكمال عملية المصادقة. ومع ذلك، في سيناريوهات مثل المعاملات الفورية أو التصويت، غالبًا ما لا تكون هناك فرصة لإجراء جولات متعددة من التفاعل، خاصة في تطبيقات تكنولوجيا البلوكتشين، حيث تصبح وظائف التحقق غير المتصلة بالإنترنت أكثر أهمية.
2.تم تقديم zk-SNARKs
في عام 1988، قدم بلوم وفيلدمان وميكالي مفهوم إثبات عدم المعرفة غير التفاعلي (NIZK) لأول مرة، وأثبتوا إمكانية إتمام عملية المصادقة بين المُثبت (Prover) والمُحقق (Verifier) دون الحاجة إلى تفاعل متعدد الجولات. كانت هذه نقطة تحول.