نظام إثبات المعرفة الصفرية الحديث نشأ من الورقة البحثية الرائدة التي كتبها Goldwasser وMicali وRackoff عام 1985. تتناول هذه الورقة الكمية المطلوبة من المعرفة التي يجب تبادلها لإثبات صحة بيان ما من خلال تفاعلات متعددة في نظام تفاعلي. إذا كان يمكن إثبات ذلك دون تبادل أي معرفة، يُطلق عليه اسم إثبات المعرفة الصفرية. على الرغم من أن هذا النظام التفاعلي صحيح من الناحية الاحتمالية، إلا أنه ليس مثاليًا.
لقد جعل ظهور النظام غير التفاعلي ( NP ) إثباتات المعرفة الصفرية أكثر اكتمالاً. ومع ذلك، كانت أنظمة إثبات المعرفة الصفرية المبكرة تعاني من نقص في الكفاءة والعملية، وكانت لا تزال في المستوى النظري فقط. حتى العقد الماضي، ومع ظهور علم التشفير في مجال العملات المشفرة، بدأت إثباتات المعرفة الصفرية حقًا في تطبيقها.
الهدف الرئيسي من zk-SNARKs هو تطوير بروتوكولات عامة وغير تفاعلية ذات حجم إثبات محدود. يتطلب ذلك الموازنة بين سرعة الإثبات وسرعة التحقق وحجم الإثبات.
كانت ورقة غروث في عام 2010 واحدة من أهم الاختراقات في إثباتات المعرفة الصفرية، وقد وضعت الأساس النظري لـ zk-SNARKs. في عام 2015، قامت Zcash بتطبيق إثباتات المعرفة الصفرية لحماية خصوصية المعاملات، مما فتح عصرًا جديدًا من دمج إثباتات المعرفة الصفرية مع العقود الذكية.
تشمل الإنجازات الأكاديمية المهمة الأخرى: بروتوكول Pinocchio لعام 2013، خوارزمية Groth16 لعام 2016، خوارزمية Bulletproofs لعام 2017، وبروتوكول zk-STARKs لعام 2018. وقد دفعت هذه الأبحاث إلى تقدم مستمر في كفاءة وتطبيقات zk-SNARKs.
٢. zk-SNARKs التطبيقات الرئيسية
تطبيقات zk-SNARKs الأكثر شيوعًا حاليًا هي حماية الخصوصية والتوسع.
في مجال حماية الخصوصية، كانت المشاريع الرائدة في البداية تشمل Zcash و Monero. على الرغم من أن الحاجة إلى المعاملات الخاصة لم تكن بارزة كما هو متوقع، إلا أن هذه المشاريع لا تزال تتطور.
في مجال التوسع، مع انتقال الإيثيريوم إلى مسار توسع مركزه rollup، أصبحت حلول التوسع القائمة على zk-SNARKs مرة أخرى في دائرة الضوء. هناك نوعان رئيسيان من طرق التنفيذ: توسيع الشبكة من الطبقة الأولى ( مثل Mina ) وتوسيع الشبكة من الطبقة الثانية ( وهو zk-rollup ).
تشمل الأدوار الأساسية ل zk-rollup كل من Sequencer و Aggregator. يتولى Sequencer مسؤولية تجميع المعاملات، بينما يقوم Aggregator بدمج عدد كبير من المعاملات وإنتاج zk-SNARKs لتحديث حالة السلسلة الرئيسية.
تتمثل مزايا zk-rollup في انخفاض التكاليف وسرعة النهائية وحماية الخصوصية. ولكن هناك أيضًا تحديات مثل حجم الحسابات الكبير والحاجة إلى إعداد موثوق.
تشمل المشاريع الرئيسية للز-rollup في السوق حاليًا StarkNet وzkSync وAztec Connect وPolygon Hermez/Miden وLoopring وScroll وغيرها. تركز هذه المشاريع بشكل رئيسي على الاختيار بين SNARK( وإصداراته المحسنة ) وSTARK، بالإضافة إلى مستوى دعم EVM.
تعد قابلية التوافق مع EVM قضية مهمة. تختار بعض المشاريع التوافق التام مع أكواد تشغيل Solidity، بينما تصمم أخرى آلات افتراضية جديدة لتوازن بين تفضيل ZK وقابلية التوافق مع Solidity. في السنوات الأخيرة، من المتوقع أن يؤدي التقدم السريع في قابلية التوافق مع EVM إلى تحقيق انتقال سلس للمطورين من سلسلة إيثريوم الرئيسية إلى zk-rollup.
ثلاثة، المبادئ الأساسية للzk-SNARKs
zk-SNARK هو اختصار لقواعد المعرفة الموجزة غير التفاعلية ذات المعرفة الصفرية ، والتي تتميز بالخصائص التالية:
Zero Knowledge: عملية الإثبات لا تكشف معلومات إضافية
مختصر: حجم التحقق صغير
غير تفاعلي:非交互式
Arguments: موثوقية الحساب
من المعرفة: يجب على المبرهِن أن يعرف المعلومات الصحيحة
تتضمن عملية إثبات zk-SNARKs لـ Groth16 بشكل رئيسي:
تحويل المشكلة إلى دائرة
تحويل الدائرة إلى شكل R1CS
تحويل R1CS إلى شكل QAP
إنشاء إعدادات موثوقة، توليد مفتاح الإثبات ومفتاح التحقق
إنشاء والتحقق من zk-SNARKs
تقنية zk-SNARKs تتطور بسرعة، ومن المتوقع أن تلعب دورًا مهمًا في مجالات أكثر في المستقبل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
zk-SNARKs: من الانفراجة النظرية إلى تقنية ثورية في تطبيقات الأصول الرقمية
zk-SNARKs: المبادئ الأساسية وتطبيقات الصناعة
أ. تاريخ تطور zk-SNARKs
نظام إثبات المعرفة الصفرية الحديث نشأ من الورقة البحثية الرائدة التي كتبها Goldwasser وMicali وRackoff عام 1985. تتناول هذه الورقة الكمية المطلوبة من المعرفة التي يجب تبادلها لإثبات صحة بيان ما من خلال تفاعلات متعددة في نظام تفاعلي. إذا كان يمكن إثبات ذلك دون تبادل أي معرفة، يُطلق عليه اسم إثبات المعرفة الصفرية. على الرغم من أن هذا النظام التفاعلي صحيح من الناحية الاحتمالية، إلا أنه ليس مثاليًا.
لقد جعل ظهور النظام غير التفاعلي ( NP ) إثباتات المعرفة الصفرية أكثر اكتمالاً. ومع ذلك، كانت أنظمة إثبات المعرفة الصفرية المبكرة تعاني من نقص في الكفاءة والعملية، وكانت لا تزال في المستوى النظري فقط. حتى العقد الماضي، ومع ظهور علم التشفير في مجال العملات المشفرة، بدأت إثباتات المعرفة الصفرية حقًا في تطبيقها.
الهدف الرئيسي من zk-SNARKs هو تطوير بروتوكولات عامة وغير تفاعلية ذات حجم إثبات محدود. يتطلب ذلك الموازنة بين سرعة الإثبات وسرعة التحقق وحجم الإثبات.
كانت ورقة غروث في عام 2010 واحدة من أهم الاختراقات في إثباتات المعرفة الصفرية، وقد وضعت الأساس النظري لـ zk-SNARKs. في عام 2015، قامت Zcash بتطبيق إثباتات المعرفة الصفرية لحماية خصوصية المعاملات، مما فتح عصرًا جديدًا من دمج إثباتات المعرفة الصفرية مع العقود الذكية.
تشمل الإنجازات الأكاديمية المهمة الأخرى: بروتوكول Pinocchio لعام 2013، خوارزمية Groth16 لعام 2016، خوارزمية Bulletproofs لعام 2017، وبروتوكول zk-STARKs لعام 2018. وقد دفعت هذه الأبحاث إلى تقدم مستمر في كفاءة وتطبيقات zk-SNARKs.
٢. zk-SNARKs التطبيقات الرئيسية
تطبيقات zk-SNARKs الأكثر شيوعًا حاليًا هي حماية الخصوصية والتوسع.
في مجال حماية الخصوصية، كانت المشاريع الرائدة في البداية تشمل Zcash و Monero. على الرغم من أن الحاجة إلى المعاملات الخاصة لم تكن بارزة كما هو متوقع، إلا أن هذه المشاريع لا تزال تتطور.
في مجال التوسع، مع انتقال الإيثيريوم إلى مسار توسع مركزه rollup، أصبحت حلول التوسع القائمة على zk-SNARKs مرة أخرى في دائرة الضوء. هناك نوعان رئيسيان من طرق التنفيذ: توسيع الشبكة من الطبقة الأولى ( مثل Mina ) وتوسيع الشبكة من الطبقة الثانية ( وهو zk-rollup ).
تشمل الأدوار الأساسية ل zk-rollup كل من Sequencer و Aggregator. يتولى Sequencer مسؤولية تجميع المعاملات، بينما يقوم Aggregator بدمج عدد كبير من المعاملات وإنتاج zk-SNARKs لتحديث حالة السلسلة الرئيسية.
تتمثل مزايا zk-rollup في انخفاض التكاليف وسرعة النهائية وحماية الخصوصية. ولكن هناك أيضًا تحديات مثل حجم الحسابات الكبير والحاجة إلى إعداد موثوق.
تشمل المشاريع الرئيسية للز-rollup في السوق حاليًا StarkNet وzkSync وAztec Connect وPolygon Hermez/Miden وLoopring وScroll وغيرها. تركز هذه المشاريع بشكل رئيسي على الاختيار بين SNARK( وإصداراته المحسنة ) وSTARK، بالإضافة إلى مستوى دعم EVM.
تعد قابلية التوافق مع EVM قضية مهمة. تختار بعض المشاريع التوافق التام مع أكواد تشغيل Solidity، بينما تصمم أخرى آلات افتراضية جديدة لتوازن بين تفضيل ZK وقابلية التوافق مع Solidity. في السنوات الأخيرة، من المتوقع أن يؤدي التقدم السريع في قابلية التوافق مع EVM إلى تحقيق انتقال سلس للمطورين من سلسلة إيثريوم الرئيسية إلى zk-rollup.
ثلاثة، المبادئ الأساسية للzk-SNARKs
zk-SNARK هو اختصار لقواعد المعرفة الموجزة غير التفاعلية ذات المعرفة الصفرية ، والتي تتميز بالخصائص التالية:
تتضمن عملية إثبات zk-SNARKs لـ Groth16 بشكل رئيسي:
تقنية zk-SNARKs تتطور بسرعة، ومن المتوقع أن تلعب دورًا مهمًا في مجالات أكثر في المستقبل.