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