نشأت أنظمة إثبات المعرفة الصفرية لأول مرة من نتائج الأبحاث التي أجراها غولدواتزر وميكالي وراكوف في عام 1985. وقد درسوا كمية المعرفة التي يجب تبادلها لإثبات صحة بيان ما من خلال تفاعلات متعددة في نظام تفاعلي. إذا كان من الممكن إكمال الإثبات دون تبادل أي معرفة، يُطلق عليه اسم إثبات المعرفة الصفرية.
تعاني أنظمة إثبات المعرفة الصفرية المبكرة من نقص في الكفاءة والعملية، وكانت تقتصر بشكل أساسي على المستوى النظري. على مدى العقد الماضي، مع ظهور علم التشفير في مجال العملات المشفرة، بدأت إثباتات المعرفة الصفرية تتطور بشكل كبير، وأصبحت اتجاهًا بحثيًا مهمًا. ومن بين ذلك، يعد تطوير بروتوكولات إثبات المعرفة الصفرية العامة، غير التفاعلية، ذات حجم إثبات محدود واحدًا من الاتجاهات الرئيسية للاستكشاف.
أحد الاختراقات المهمة في إثبات المعرفة الصفرية هو الإثبات غير التفاعلي القصير الذي قدمه Groth في عام 2010. وهذا وضع الأساس النظري لـ zk-SNARKs. في عام 2015 ، اعتمدت Zcash نظام إثبات المعرفة الصفرية لتحقيق حماية خصوصية المعاملات، مما يدل على أن إثبات المعرفة الصفرية بدأ في الاستخدام الواسع.
تشمل بعض الإنجازات الأكاديمية المهمة الأخرى:
عام 2013 ، بينوكيو: ضغط وقت الإثبات والتحقق إلى نطاق قابل للاستخدام
Groth16 لعام 2016: تم تبسيط حجم الإثبات، وتحسين كفاءة التحقق
Bulletproofs في عام 2017: تقديم إثباتات قصيرة دون حاجة إلى إعداد موثوق
zk-STARKs لعام 2018: اقتراح بروتوكول جديد لا يحتاج إلى إعداد موثوق
بالإضافة إلى ذلك، فإن PLONK و Halo2 هما أيضًا تقدمات مهمة، وقد قاما بتحسين zk-SNARKs.
zk-SNARKs تطبيقات
أكثر تطبيقين شائعين لل zk-SNARKs هما حماية الخصوصية والتوسع.
حماية الخصوصية
أصبحت مشاريع التداول الخاصة المبكرة مثل Zcash و Monero اتجاهًا مهمًا بعد إطلاقها. ولكن نظرًا لأن الحاجة إلى التداول الخاص لم تتحقق كما هو متوقع، فقد دخلت هذه المشاريع تدريجياً في الصفوف الثانية والثالثة.
تستخدم Zcash تقنية zk-SNARKs، وتتضمن خطوات المعاملات: إعداد النظام، إنشاء المفاتيح العامة والخاصة، سك العملة، إنشاء الإثبات، التحقق والاستلام. لكن Zcash تعتمد على نموذج UTXO، حيث تخفي فقط بعض معلومات المعاملة، وليس بالكامل. وتبلغ نسبة استخدام المعاملات الخصوصية أقل من 10٪.
تورنادو كاش يعتمد تصميم بركة خلط واحدة كبيرة، بناءً على شبكة الإيثيريوم، ويستخدم تقنية zk-SNARKs. يمكنه ضمان أنه يمكن فقط سحب العملات المودعة، ويمكن سحب كل عملة مرة واحدة فقط، وعملية الإثبات مرتبطة بإشعار الإبطال.
توسيع
يمكن تنفيذ توسيع ZK على شبكة من الطبقة الأولى ( مثل Mina ) أو على شبكة من الطبقة الثانية ( أي zk-rollup ). تتضمن zk-rollup نوعين من الأدوار: Sequencer و Aggregator. يتولى Sequencer مسؤولية تجميع المعاملات، بينما يقوم Aggregator بدمج عدد كبير من المعاملات وإنتاج zk-SNARKs، وتحديث شجرة حالة Ethereum.
مزايا zk-rollup هي انخفاض التكاليف، وسرعة الوصول إلى الحسم النهائي، بينما العيوب هي كمية الحساب الكبيرة، واحتمال وجود مشاكل أمنية.
المشاريع الرئيسية الحالية لـ zk-rollup تشمل: StarkNet و zkSync و Aztec Connect و Polygon Hermez/Miden و Loopring و Scroll وغيرها. هناك اختلافات في اختيار SNARK/STARK والتوافق مع EVM.
لقد كانت التوافقية مع EVM دائمًا تحديًا. بعض المشاريع تختار تطوير جهاز افتراضي ولغة خاصة بها، لكن هذا يزيد من تكلفة تعلم المطورين. حاليًا، يوجد حلان رئيسيان في الصناعة: التوافق الكامل مع تعليمات Solidity، أو تصميم جهاز افتراضي صديق للـ ZK مع توافق مع Solidity. مؤخرًا، حققت التوافقية مع EVM تقدمًا مهمًا، مما يتيح إمكانية الانتقال السلس للمطورين.
مبادئ تنفيذ zk-SNARKs
ZK-SNARK(حجة المعرفة غير التفاعلية الموجزة المعتمدة على المعرفة)هو نظام لإثبات المعرفة الصفرية، وله الخصائص التالية:
zk-SNARKs: عملية الإثبات لا تكشف معلومات إضافية
بسيطة: حجم التحقق صغير
غير تفاعلي: لا حاجة للتفاعل على عدة جولات
الموثوقية: لا يمكن للبرهانين ذوي القدرة الحسابية المحدودة تزوير الإثبات
المعرفة: يجب على المبرهن أن يعرف المعلومات الصحيحة لبناء البرهان
تشمل عملية إثبات ZK-SNARKs الخاصة بـ Groth16:
تحويل المشكلة إلى دائرة
تحويل الدائرة إلى شكل R1CS
تحويل R1CS إلى شكل QAP
إنشاء إعداد موثوق، وتوليد مفتاح الإثبات ومفتاح التحقق
إنشاء والتحقق من zk-SNARKs
تقنية zk-SNARKs لا تزال تتطور بسرعة، ومن المتوقع أن تلعب دورًا أكبر في حماية الخصوصية وتوسيع السعة في المستقبل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تحليل شامل لتطور وتطبيق تقنية zk-SNARKs: من حماية الخصوصية إلى توسيع Layer2
zk-SNARKs التطور والتطبيق
zk-SNARKs تاريخ
نشأت أنظمة إثبات المعرفة الصفرية لأول مرة من نتائج الأبحاث التي أجراها غولدواتزر وميكالي وراكوف في عام 1985. وقد درسوا كمية المعرفة التي يجب تبادلها لإثبات صحة بيان ما من خلال تفاعلات متعددة في نظام تفاعلي. إذا كان من الممكن إكمال الإثبات دون تبادل أي معرفة، يُطلق عليه اسم إثبات المعرفة الصفرية.
تعاني أنظمة إثبات المعرفة الصفرية المبكرة من نقص في الكفاءة والعملية، وكانت تقتصر بشكل أساسي على المستوى النظري. على مدى العقد الماضي، مع ظهور علم التشفير في مجال العملات المشفرة، بدأت إثباتات المعرفة الصفرية تتطور بشكل كبير، وأصبحت اتجاهًا بحثيًا مهمًا. ومن بين ذلك، يعد تطوير بروتوكولات إثبات المعرفة الصفرية العامة، غير التفاعلية، ذات حجم إثبات محدود واحدًا من الاتجاهات الرئيسية للاستكشاف.
أحد الاختراقات المهمة في إثبات المعرفة الصفرية هو الإثبات غير التفاعلي القصير الذي قدمه Groth في عام 2010. وهذا وضع الأساس النظري لـ zk-SNARKs. في عام 2015 ، اعتمدت Zcash نظام إثبات المعرفة الصفرية لتحقيق حماية خصوصية المعاملات، مما يدل على أن إثبات المعرفة الصفرية بدأ في الاستخدام الواسع.
تشمل بعض الإنجازات الأكاديمية المهمة الأخرى:
بالإضافة إلى ذلك، فإن PLONK و Halo2 هما أيضًا تقدمات مهمة، وقد قاما بتحسين zk-SNARKs.
zk-SNARKs تطبيقات
أكثر تطبيقين شائعين لل zk-SNARKs هما حماية الخصوصية والتوسع.
حماية الخصوصية
أصبحت مشاريع التداول الخاصة المبكرة مثل Zcash و Monero اتجاهًا مهمًا بعد إطلاقها. ولكن نظرًا لأن الحاجة إلى التداول الخاص لم تتحقق كما هو متوقع، فقد دخلت هذه المشاريع تدريجياً في الصفوف الثانية والثالثة.
تستخدم Zcash تقنية zk-SNARKs، وتتضمن خطوات المعاملات: إعداد النظام، إنشاء المفاتيح العامة والخاصة، سك العملة، إنشاء الإثبات، التحقق والاستلام. لكن Zcash تعتمد على نموذج UTXO، حيث تخفي فقط بعض معلومات المعاملة، وليس بالكامل. وتبلغ نسبة استخدام المعاملات الخصوصية أقل من 10٪.
تورنادو كاش يعتمد تصميم بركة خلط واحدة كبيرة، بناءً على شبكة الإيثيريوم، ويستخدم تقنية zk-SNARKs. يمكنه ضمان أنه يمكن فقط سحب العملات المودعة، ويمكن سحب كل عملة مرة واحدة فقط، وعملية الإثبات مرتبطة بإشعار الإبطال.
توسيع
يمكن تنفيذ توسيع ZK على شبكة من الطبقة الأولى ( مثل Mina ) أو على شبكة من الطبقة الثانية ( أي zk-rollup ). تتضمن zk-rollup نوعين من الأدوار: Sequencer و Aggregator. يتولى Sequencer مسؤولية تجميع المعاملات، بينما يقوم Aggregator بدمج عدد كبير من المعاملات وإنتاج zk-SNARKs، وتحديث شجرة حالة Ethereum.
مزايا zk-rollup هي انخفاض التكاليف، وسرعة الوصول إلى الحسم النهائي، بينما العيوب هي كمية الحساب الكبيرة، واحتمال وجود مشاكل أمنية.
المشاريع الرئيسية الحالية لـ zk-rollup تشمل: StarkNet و zkSync و Aztec Connect و Polygon Hermez/Miden و Loopring و Scroll وغيرها. هناك اختلافات في اختيار SNARK/STARK والتوافق مع EVM.
لقد كانت التوافقية مع EVM دائمًا تحديًا. بعض المشاريع تختار تطوير جهاز افتراضي ولغة خاصة بها، لكن هذا يزيد من تكلفة تعلم المطورين. حاليًا، يوجد حلان رئيسيان في الصناعة: التوافق الكامل مع تعليمات Solidity، أو تصميم جهاز افتراضي صديق للـ ZK مع توافق مع Solidity. مؤخرًا، حققت التوافقية مع EVM تقدمًا مهمًا، مما يتيح إمكانية الانتقال السلس للمطورين.
مبادئ تنفيذ zk-SNARKs
ZK-SNARK(حجة المعرفة غير التفاعلية الموجزة المعتمدة على المعرفة)هو نظام لإثبات المعرفة الصفرية، وله الخصائص التالية:
تشمل عملية إثبات ZK-SNARKs الخاصة بـ Groth16:
تقنية zk-SNARKs لا تزال تتطور بسرعة، ومن المتوقع أن تلعب دورًا أكبر في حماية الخصوصية وتوسيع السعة في المستقبل.