تطبيقات وتوجهات تطوير تقنية zk-SNARKs في مجال البلوكتشين

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

ملخص

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

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

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

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

الفهرس

مقدمة

أ. أساسيات zk-SNARKs

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

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

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

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

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

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

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

خمسة، نظرة عامة وتطور zk-SNARKs

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

ستة، نظرة عامة على zk-SNARKs و تطويرها في البلوكتشين الإيثيريوم

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

سبعة، نظرة عامة على خطة الشبكات من الطبقة الثانية القائمة على zk-SNARKs وتطورها

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

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

من هنا، ظهرت العديد من المشاريع الشبكية المعتمدة على 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 مفهوم اثباتات المعرفة الصفرية ###ZKP( واثباتات المعرفة التفاعلية )IZK( لأول مرة في ورقتهم البحثية. كانت هذه الورقة أساسًا لاثباتات المعرفة الصفرية، حيث عرفت العديد من المفاهيم التي أثرت على الأبحاث الأكاديمية اللاحقة. على سبيل المثال، تم تعريف المعرفة على أنها "مخرجات حساب غير قابلة للتنفيذ"، مما يعني أن المعرفة يجب أن تكون مخرجات، ويجب أن تكون حساباً غير قابلاً للتنفيذ، مما يعني أنه لا يمكن أن تكون دالة بسيطة، بل يجب أن تكون دالة معقدة. يمكن فهم الحساب غير القابل للتنفيذ عادةً على أنه مشكلة NP، أي مشكلة يمكن التحقق من صحة حلها في وقت متعدد الحدود، حيث يشير وقت متعدد الحدود إلى الوقت الذي يستغرقه تنفيذ الخوارزمية والذي يمكن تمثيله بدالة متعددة الحدود لحجم المدخلات. هذا معيار مهم لقياس كفاءة الخوارزميات وقابلية التنفيذ في علوم الحاسوب. نظرًا لأن عملية حل مشاكل NP معقدة، فهي تعتبر حسابًا غير قابل للتنفيذ؛ ولكن عملية التحقق منها بسيطة نسبيًا، لذلك فهي مناسبة جدًا لاستخدامها في التحقق من اثباتات المعرفة الصفرية.

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

قدم Goldwasser وآخرون في ورقتهم مفهوم "تعقيد المعرفة"، وذلك لقياس كمية المعرفة التي يكشفها المبرهن للمدقق في أنظمة الإثبات التفاعلية. كما اقترحوا نظام إثبات تفاعلي )IPS(، حيث يقوم المبرهن )Prover( والمدقق )Verifier( بإثبات صحة عبارة ما من خلال تفاعل متعدد الجولات.

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

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

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

  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، يقوم المدقق بحساب g^2 mod n، والتحقق من x في الجانب الأيمن؛ عندما a=1، يقوم المدقق بحساب g^2 mod n، والتحقق من xv في الجانب الأيمن.

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

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

( 1. الخلفية

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

( 2. تقديم NIZK

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

ZK6%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • مشاركة
تعليق
0/400
TokenToastervip
· منذ 19 س
عصر zk قد وصل أخيرًا
شاهد النسخة الأصليةرد0
ChainSpyvip
· منذ 19 س
لا أفهم لماذا جميع الآخرين مجنونون بـ zk
شاهد النسخة الأصليةرد0
GasFeeCriervip
· منذ 19 س
التكاليف مرتفعة للغاية حالياً، مما يجعلني غاضباً جداً.
شاهد النسخة الأصليةرد0
StakeWhisperervip
· منذ 19 س
مرة أخرى تم لف zk
شاهد النسخة الأصليةرد0
GreenCandleCollectorvip
· منذ 19 س
مجموعة جديدة من zkvm، هل يشعر أحد برائحة المحفظة؟
شاهد النسخة الأصليةرد0
  • تثبيت