التحليل العميق لتقنية zk-SNARKs: مراجعة شاملة من الخوارزمية إلى التطبيقات

تطور وتطبيق تقنية zk-SNARKs: نظرة عامة على مجال البلوكتشين

ملخص

الzk-SNARKs(ZKP) كاختراق مهم في مجال التشفير، تلعب دورًا حاسمًا في تكنولوجيا البلوكتشين. تقدم هذه المقالة مراجعة منهجية لتاريخ تطوير الzk-SNARKs على مدى الأربعين عامًا الماضية وأحدث الأبحاث.

أولاً، تم تقديم المفهوم الأساسي لـ ZKP والخلفية التاريخية. بعد ذلك، تم تحليل تقنية ZKP القائمة على الدوائر، بما في ذلك تصميم وتطبيق وطرق تحسين نماذج zkSNARK وBen-Sasson وPinocchio وBulletproofs وLigero. في جانب البيئة الحسابية، تناقش هذه المقالة كيف يمكن لـ ZKVM وZKEVM تعزيز قدرة معالجة المعاملات، وحماية الخصوصية، وزيادة كفاءة التحقق. كما تم تقديم Rollup ذو المعرفة الصفرية كآلية عمل لحلول التوسع من الطبقة الثانية وطرق تحسينها، بالإضافة إلى التقدم الأخير في تسريع الأجهزة، والحلول الهجينة، وZK EVM المخصصة.

أخيرًا، تم استعراض المفاهيم الناشئة مثل ZKCoprocessor وZKML وZKThreads وZK Sharding وZK StateChannels، وتم استكشاف إمكانياتها في توسيع البلوكتشين والتشغيل البيني وحماية الخصوصية.

من خلال تحليل اتجاهات تطوير هذه التقنيات، يقدم هذا المقال منظورًا شاملاً لفهم وتطبيق تقنية zk-SNARKs، ويظهر إمكاناتها الهائلة في تعزيز كفاءة وأمان أنظمة البلوكتشين، مما يوفر مرجعًا هامًا لقرارات الاستثمار المستقبلية.

الفهرس

مقدمة

أولاً، أساسيات zk-SNARKs

  1. نظرة عامة
  2. مثال على zk-SNARKs

ثانياً، zk-SNARKs غير التفاعلية

  1. الخلفية
  2. تقديم NIZK
  3. تحويل فيات-شامير
  4. ينس غروث وأبحاثه
  5. أبحاث أخرى

ثالثاً، إثبات المعرفة الصفرية القائم على الدوائر

  1. الخلفية
  2. المفاهيم الأساسية وخصائص نموذج الدائرة
  3. تصميم الدوائر والتطبيقات في zk-SNARKs
  4. العيوب والتحديات المحتملة

أربعة، نموذج zk-SNARKs

  1. الخلفية
  2. نماذج الخوارزميات الشائعة
  3. خطة مستندة إلى PCP الخطي ومشكلة اللوغاريتمات المنفصلة
  4. خطة تعتمد على إثبات الأشخاص العاديين
  5. إثبات قابلية التحقق القائم على الاحتمالات ( PCP ) من zk-SNARKs
  6. تصنيف مرحلة الإعداد لبناء إثبات عام CPC( )

خمسة، نظرة عامة على آلة المعرفة الصفرية وتطورها

  1. الخلفية
  2. تصنيف ZKVM الحالي
  3. نمط الواجهة الأمامية والخلفية
  4. مزايا وعيوب نموذج ZKVM

ستة، نظرة عامة وتطور zk-SNARKs لآلة Ethereum الافتراضية

  1. الخلفية
  2. كيفية عمل ZKEVM
  3. عملية تنفيذ ZKEVM
  4. ميزات ZKEVM

سبعة، نظرة عامة على خطط الشبكات من الطبقة الثانية مع الإثباتات الصفرية وتطورها

  1. الخلفية
  2. آلية عمل zk-Rollup
  3. عيوب ZK Rollup والتحسينات

ثمانية، اتجاهات تطوير zk-SNARKs في المستقبل

  1. تسريع تطوير بيئة الحوسبة
  2. تقديم وتطوير zk-SNARKs
  3. تطوير تقنيات توسيع zk-SNARKs
  4. تطوير التوافقية لل zk-SNARKs

التوصيات

مقدمة

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

حاليًا، هناك عدة تقنيات تشفير يمكنها التعامل مع هذه التحديات، بما في ذلك التشفير المتجانس، التوقيعات الدائرية، الحسابات متعددة الأطراف الآمنة و zk-SNARKs. zk-SNARKs هي حل أكثر شمولاً، حيث يسمح بروتوكول التحقق هذا بالتحقق من صحة بعض العبارات دون الكشف عن أي بيانات وسيطة. لا يتطلب البروتوكول بنية تحتية معقدة للمفاتيح العامة، كما أن تنفيذه المتكرر لا يوفر للمستخدمين الخبيثين فرصة للحصول على معلومات إضافية مفيدة. من خلال zk-SNARKs، يتمكن المُصادق من التحقق مما إذا كان المُثبت لديه مبلغ كافٍ من العملات دون الكشف عن أي بيانات معاملات خاصة.

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

نتيجة لذلك، ظهرت العديد من المشاريع الشبكية المستندة إلى zk-SNARKs، مثل ZkSync وStarkNet وMina وFilecoin وAleo وغيرها. مع تطور هذه المشاريع، تتوالى الابتكارات في خوارزميات zk-SNARKs، حيث أُفيد بظهور خوارزميات جديدة تقريبًا كل أسبوع. بالإضافة إلى ذلك، يتقدم تطوير الأجهزة المرتبطة بتقنية zk-SNARKs بسرعة، بما في ذلك الرقائق المصممة خصيصًا لتحسين أداء zk-SNARKs. على سبيل المثال، أكملت مشاريع مثل Ingonyama وIrreducible وCysic جمع التمويل على نطاق واسع، وهذه التطورات لا تعرض فقط التقدم السريع لتقنية zk-SNARKs، بل تعكس أيضًا التحول من الأجهزة العامة إلى الأجهزة المخصصة مثل 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) عبر جولات متعددة لإثبات صحة عبارة معينة.

بناءً على ما سبق، فإن تعريف zk-SNARKs الذي قدمه Goldwasser وآخرون هو نوع خاص من الإثباتات التفاعلية، حيث لا يحصل المُحقق على أي معلومات إضافية بخلاف صحة العبارة خلال عملية التحقق؛ وقد تم اقتراح ثلاث خصائص أساسية تتضمن:

  1. الاكتمال ( completeness ): إذا كانت البرهنة صحيحة، يمكن للمدعي الصادق إقناع المدقق الصادق بهذه الحقيقة؛

  2. الموثوقية(soundness): إذا كان المدعي لا يعرف محتوى البيان، فإنه يمكنه فقط خداع المدقق باحتمالية ضئيلة؛

  3. zk-SNARKs ( zero-knowledge ): بعد اكتمال عملية الإثبات، يحصل المُحقق فقط على "معلومات حول امتلاك المُثبت لهذه المعرفة"، ولا يمكنه الحصول على أي محتوى إضافي.

2. أمثلة على براهين المعرفة الصفرية

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

الخطوة الأولى: إعداد (Setup)

في هذه الخطوة، هدف المُثبت هو إنشاء دليل يُظهر أنه يعرف رقمًا سريًا معينًا 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 الناتج.

الخطوة الثانية: التحدي (Challenge)

يختار المدقق موقعًا عشوائيًا a( يمكن أن يكون 0 أو 1)، ثم يرسله إلى المثبت. تحدد هذه "التحدي" الخطوات التي يحتاج المثبت إلى اتخاذها بعد ذلك.

الخطوة الثالثة: استجابة (Response)

استجابةً للقيمة a التي أرسلها المُتحقق, يقوم المُثبت بالرد:

إذا كان a=0، يرسل المصدِّق g=r( حيث r هو الرقم العشوائي الذي اختاره سابقًا ).

إذا كان a=1، يقوم المُثبت بحساب g=rs mod n وإرسالها. لنفترض أن المُحقق أرسل البت العشوائي a، بناءً على قيمة a، يقوم المُثبت بحساب g؛

أخيرًا، يقوم المُحقق بالتحقق مما إذا كانت x تساوي g^2 mod n بناءً على g المستلم. إذا كانت المعادلة صحيحة، يقبل المُحقق هذه الإثبات. عندما a=0، يقوم المُحقق بحساب x=g^2 mod n، والتحقق من g^2 mod n على الجانب الأيمن؛ عندما a=1، يقوم المُحقق بحساب x=g^2/v mod n، والتحقق من (rs)^2/s^2 mod n على الجانب الأيمن.

هنا، نرى أن x=g^2 mod n الذي تم حسابه بواسطة المدقق يوضح أن المُثبت قد نجح في عملية التحقق، وفي الوقت نفسه لم يكشف عن رقمه السري s. هنا، نظرًا لأن a يمكن أن تأخذ فقط 0 أو 1، فهناك احتمالان فقط، حيث يعتمد احتمال نجاح المُثبت في التحقق على الحظ 1/2( عندما تكون a=0. ولكن المدقق يتحدى المُثبت k مرات، ويقوم المُثبت بتغيير الأرقام ذات الصلة باستمرار، ويقدمها للمدقق، ويستطيع دائمًا النجاح في عملية التحقق، وبالتالي فإن احتمال نجاح المُثبت في التحقق بالاعتماد على الحظ ) 1/2(^k ) يقترب بلا حدود من 0.0(، لذا فإن الاستنتاج بأن المُثبت يعرف رقما سريا ما s يتلقى إثباتا. هذه الحالة تثبت تكاملية وموثوقية وخصوصية نظام إثبات المعرفة الصفرية.

٢. إثبات المعرفة الصفرية غير التفاعلي

) 1. الخلفية

البلوكتشين ###ZKP( في المفاهيم التقليدية عادة ما يكون في شكل بروتوكولات تفاعلية وعبر الإنترنت؛ على سبيل المثال، بروتوكول سيغما غالباً ما يتطلب من ثلاث إلى خمس جولات من التفاعل لإكمال المصادقة. ومع ذلك، في سيناريوهات مثل المعاملات الفورية أو التصويت، غالباً ما لا تتاح الفرصة لإجراء تفاعلات متعددة، خاصة في تطبيقات تقنية البلوكتشين، حيث تصبح وظيفة التحقق غير المتصل أكثر أهمية.

) 2. تم اقتراح NIZK

في عام 1988، اقترح بلوم وفيلدمان وميكالي مفهوم إثبات عدم التفاعل غير التفاعلي ###NIZK(، حيث أثبتوا إمكانية إتمام عملية المصادقة بين المُثبت )Prover( والمُحقق )Verifier( دون الحاجة إلى تفاعل متعدد الجولات. هذه العبرة جعلت تنفيذ المعاملات الفورية والتصويت وتطبيقات البلوكتشين ممكنًا.

لقد اقترحوا أن تُقسم الإثباتات غير التفاعلية للمعرفة الصفرية )NIZK( إلى ثلاث مراحل:

  1. إعداد
  2. حساب
  3. التحقق

تستخدم مرحلة الإعداد دالة حسابية، لتحويل المعلمات الأمنية إلى معرفة عامة ) يمكن الحصول عليها من قبل كل من المُثبِت والمُتحقِق (، وعادةً ما يتم ترميزها في سلسلة مرجعية مشتركة ) CRS (. هذه هي الطريقة لحساب الإثبات والتحقق باستخدام المعلمات والخوارزميات الصحيحة.

تستخدم مرحلة الحساب دالة حسابية ومفاتيح إدخال وإثبات، وتخرج نتيجة الحساب والإثبات.

في مرحلة التحقق، يتم التحقق من صحة الإثبات من خلال مفتاح التحقق.

النموذج الذي قدموه لسلسلة المرجع العامة )CRS(، يعتمد على مشاركة جميع المشاركين لسلسلة واحدة لتحقيق إثبات المعرفة الصفرية غير التفاعلي لمشكلة NP. تعتمد عملية تشغيل هذا النموذج على توليد CRS الموثوق، ويجب أن يكون جميع المشاركين قادرين على الوصول إلى نفس السلسلة. فقط عندما يتم توليد CRS بشكل صحيح وآمن، يمكن أن تضمن الحلول المنفذة بموجب هذا النموذج الأمان. بالنسبة لعدد كبير من المشاركين، قد تكون عملية توليد CRS معقدة وتستغرق وقتًا طويلاً، لذا على الرغم من أن هذه الأنواع من الحلول عادة ما تكون سهلة الاستخدام وحجم الإثبات صغير، إلا أن عملية الإعداد تمثل تحديًا كبيرًا.

بعد ذلك، شهدت تقنية NIZK تطورًا سريعًا، حيث ظهرت عدة طرق لتحويل الإثباتات التبادلية صفر المعرفة إلى إثباتات غير تفاعلية. هذه الطرق في بناء النظام

ZK2.26%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 8
  • إعادة النشر
  • مشاركة
تعليق
0/400
JustHereForAirdropsvip
· 08-13 20:37
zkادخل مركز السرعة سريعة... في البداية لم أفهم حقًا
شاهد النسخة الأصليةرد0
LiquidityWitchvip
· 08-13 04:43
تخمير السحر zk... برك مظلمة من الحقائق الرياضية، حيث يلتقي التشفير القديم بالخيمياء البلوكتشينية
شاهد النسخة الأصليةرد0
SigmaBrainvip
· 08-11 01:18
هل سيكون zk الحل الأمثل لـ L2؟
شاهد النسخة الأصليةرد0
NotSatoshivip
· 08-11 01:16
لقد كنت أعمل بجد في zk منذ عدة سنوات، ولم أفهم حتى الآن أي شيء.
شاهد النسخة الأصليةرد0
WagmiWarriorvip
· 08-11 01:15
رأيت مرة أخرى بعض الأشخاص يتحدثون عن zk، دعونا نقوم بإجراء الأبحاث الأساسية أولاً
شاهد النسخة الأصليةرد0
UnluckyValidatorvip
· 08-11 01:12
أليس من الأفضل أن تقوم بتحديث البطريق المدفوع؟
شاهد النسخة الأصليةرد0
MetaLord420vip
· 08-11 01:11
مرة أخرى، هي بمثابة طوق النجاة لـ zkrollup...
شاهد النسخة الأصليةرد0
BearMarketMonkvip
· 08-11 01:02
الحياة والموت لا يهم zkp رائع
شاهد النسخة الأصليةرد0
  • تثبيت