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

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

ملخص

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

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

( الدليل

مقدمة

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

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

ثانياً، إثبات المعرفة الصفرية غير التفاعلي

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

ثالثًا، zk-SNARKs المستندة إلى الدوائر

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

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

  1. الخلفية
  2. نماذج الخوارزميات الشائعة
  3. خطة قائمة على PCP الخطي ومشكلة اللوغاريتمات المنفصلة
  4. خطة قائمة على إثبات الأشخاص العاديين
  5. إثبات قابلية التحقق القائم على الاحتمالية ) PCP ### zk-SNARKs
  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

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

العاشر، الاستنتاج

( مقدمة

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

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

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

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

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

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

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

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

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

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

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

) # 2. مثال على إثبات المعرفة الصفرية

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

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

في هذه الخطوة، الهدف من المبرهن هو إنشاء دليل يثبت أنه يعرف رقمًا سريًا s، ولكنه لا يظهر s مباشرة. لنفترض أن الرقم السري s=5؛

اختر عددين أوليين كبيرين p و q، واحسب حاصل ضربهما n. لنفترض أن العدد الأولي p=11 و q=13، فإن الناتج n=143؛

احسب v=s^2 mod n، هنا، يتم إرسال v كجزء من الإثبات إلى المدقق، لكنه غير كافٍ لتمكين المدقق أو أي متفرج من استنتاج s. v=5^2 mod 143=25;

اختر عددًا صحيحًا عشوائيًا r، واحسب x = r^2 mod n ثم أرسلها إلى المدقق. هذه القيمة x تُستخدم في عملية التحقق اللاحقة، لكنها لا تكشف أيضًا عن s. لنفترض أن العدد الصحيح العشوائي r = 7، وقيمة x المحسوبة هي 49.

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

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

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

وفقًا للقيمة a التي أرسلها المدقق، يقوم المدعي بالاستجابة:

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

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

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

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

( ثانياً، zk-SNARKs

)# 1.الخلفية

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

(# 2. تم تقديم NIZK

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

ZK2.48%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 2
  • مشاركة
تعليق
0/400
GweiTooHighvip
· منذ 20 س
أي أن الشيفرة تغني والمحفظة تنسخ
شاهد النسخة الأصليةرد0
GasSavingMastervip
· منذ 20 س
الـ zk مشتعلة جدًا، لأنني طوال اليوم لا أستطيع الفوز على تلك الدائرة الكهربائية.
شاهد النسخة الأصليةرد0
  • تثبيت