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