ما هو ZK-SNARK؟
Zk-SNARK تعني "الحجة غير التفاعلية الموجزة للمعرفة بدون كشف". وهي دليل تشفير يسمح لطرف ما بإثبات امتلاكه لمعلومات معينة دون الكشف عن تلك المعلومات. يتم تحقيق هذا الدليل باستخدام مفتاح سري يتم إنشاؤه قبل إجراء المعاملة. يتم استخدام Zk-SNARK كجزء من بروتوكول العملة المشفرة Zcash.
النقاط الرئيسية
- بروتوكول Zk-SNARK هو بروتوكول إثبات المعرفة الصفرية المستخدم في التشفير، وهو اختصار لعبارة "Zero-Knowledge Succinct Non-Interactive Argument of Knowledge" والتي تعني "حجة المعرفة غير التفاعلية الموجزة للمعرفة الصفرية".
- تم تطوير هذا الإثبات لأول مرة وتقديمه في أواخر الثمانينيات، ويُستخدم الآن من قبل العملة المشفرة Zcash لحل مشكلة الخصوصية المتصورة في سلاسل الكتل من نوع Bitcoin.
- كانت إثباتات Zk-SNARK تعتمد في السابق على إعداد "نظام الثقة" الأولي الذي تم استبداله في عام 2022 بإعداد لا يتطلب الثقة.
فهم ZK-SNARK
بالنسبة للعديد من الأعضاء الأصليين في مجتمع العملات المشفرة - وخاصة مجتمع البيتكوين - كانت الخصوصية هدفًا وميزة مفترضة للعملات المشفرة. ومع ذلك، كانت الخصوصية دائمًا مسألة ثانوية، نظرًا لحاجة العملات المشفرة إلى إنشاء نظام "بدون ثقة" لضمان سلامة العملة الإلكترونية والمعاملات الرقمية.
في أوائل العقد الثاني من القرن الحادي والعشرين، كان مستخدمو Bitcoin يفترضون أحيانًا أن معاملاتهم كانت مجهولة لأن هوياتهم غير متصلة بالإنترنت ولم تكن مرتبطة بالمفاتيح العامة للمستخدمين. ولكن بحلول نهاية العقد، أثبتت الجهود المنسقة من قبل علماء البيانات والمخترقين ووكالات إنفاذ القانون أنه ليس فقط من الممكن بل من السهل نسبيًا إعادة تحديد هوية الأشخاص الذين قدموا بيانات مستعارة إلى مصادر متعددة.
نظرًا للاعتقاد السائد بنقص الخصوصية في بعض العملات الرقمية الأصلية مثل Bitcoin، بدأ المطورون في العمل على عملات تركز على الخصوصية. من بين هذه العملات، الأكثر بروزًا هي Zcash، والتي تدعمها فكرة الخصوصية المعروفة باسم zk-SNARKs.
إثبات المعرفة الصفرية
يستخدم zk-SNARK ("الحجة غير التفاعلية الموجزة للمعرفة بدون كشف") مفهومًا يُعرف باسم "إثبات المعرفة الصفرية". ببساطة، إثبات المعرفة الصفرية هو حالة يتمكن فيها كل طرف من طرفي المعاملة من التحقق من أن لديهم مجموعة معينة من المعلومات، دون الكشف عن ماهية تلك المعلومات في نفس الوقت.
بالنسبة لمعظم أنواع الإثبات الأخرى، يجب أن يكون لدى أحد الطرفين على الأقل إمكانية الوصول إلى جميع المعلومات. يمكن مقارنة الإثبات التقليدي بكلمة مرور تُستخدم للوصول إلى شبكة عبر الإنترنت. يقوم المستخدم بإدخال كلمة المرور، وتقوم الشبكة نفسها بفحص محتويات كلمة المرور للتحقق من صحتها. وللقيام بذلك، يجب أن يكون لدى الشبكة أيضًا إمكانية الوصول إلى محتويات كلمة المرور.
نسخة إثبات المعرفة الصفرية من هذا الموقف تتضمن قيام المستخدم بإثبات رياضي للشبكة بأنه يمتلك كلمة المرور الصحيحة دون الكشف عن كلمة المرور نفسها. إن الفوائد المتعلقة بالخصوصية والأمان في هذا الموقف واضحة: إذا لم تكن الشبكة تحتفظ بكلمة المرور في مكان ما لأغراض التحقق، فلا يمكن سرقة كلمة المرور.
الأساس الرياضي لـ zk-SNARKS معقد. ومع ذلك، فإن البراهين من هذا النوع تسمح لطرف ما بإثبات ليس فقط أن جزءًا معينًا من المعلومات موجود، ولكن أيضًا أن الطرف المعني لديه معرفة بتلك المعلومات. في حالة Zcash، يمكن التحقق من zk-SNARKs تقريبًا على الفور، ولا يتطلب البروتوكول أي تفاعل بين المُثبِت والمُحقِق.
مثال ZK-SNARK
لأن zk-SNARKs صعبة الفهم، من الأفضل استخدام مثال بسيط لتوضيح ما هي. تخيل أن لديك صندوق أمانات في بنك يحتوي على قفل برقم سري وبه ملاحظة. تحتوي الملاحظة على توقيع واسم مطبوع. تعتقد أنك الشخص الوحيد الذي يعرف ما تقوله. أنت تناقش الأمر مع صديق ولكنك لم تكشف عن أي شيء بخصوص الملاحظة سوى أنها موجودة في ذلك الصندوق.
الصديق يخبرك بأنه يعرف ما هو مكتوب ثم يذكر لك الاسم الموجود على الملاحظة. لقد قدموا دليلًا على أنهم يعرفون التوليفة وما هو مكتوب على الملاحظة دون الكشف عنها.
على البلوكشين، يكون الأمر أكثر تعقيدًا بكثير، لكن هذه هي الفكرة العامة. يقدم شخص ما دليلًا على أنه يعرف شيئًا دون الكشف عنه.
انتقادات لـ ZK-SNARKs
بالطبع، هناك مخاوف تتعلق بـ zk-SNARKs. على سبيل المثال، إذا تمكن شخص ما من الوصول إلى المفتاح الخاص الذي تم استخدامه لإنشاء معايير بروتوكول الإثبات، يمكنه إنشاء إثباتات زائفة تبدو مع ذلك صالحة للمحققين. سيمكن ذلك الشخص من إنشاء رموز Zcash جديدة من خلال عملية تزوير. لمنع حدوث ذلك، تم تصميم Zcash لتطوير بروتوكولات الإثبات وتوزيعها على عدة أطراف.
بينما تم بناء عملية إثبات Zcash بطريقة تقلل من إمكانية تزوير الرموز عبر إثباتات زائفة، هناك على الأقل قلق آخر يتعلق بالعملة المشفرة أيضًا. تم إنشاء Zcash بفرض "ضريبة" بنسبة 20% على جميع الكتل التي تم إنشاؤها خلال السنوات الأولى من العملة. تُعرف هذه الضريبة باسم "ضريبة المؤسس"، وتُستخدم لتعويض مطوري العملة المشفرة.
اقترح النقاد أن المؤسسين يمكنهم استخدام هذا الجانب من النظام لإنشاء عدد لا نهائي من رموز Zcash دون أن يكون أي شخص آخر على علم بوجود تلك الرموز. لهذا السبب، ليس من الممكن تمامًا معرفة العدد الدقيق لرموز Zcash الموجودة في الوقت الحالي.
منذ عام 2019، يعمل بعض المطورين على تحسين zk-SNARKs من خلال إزالة الإعداد الموثوق به. في عام 2022، قام مطورو Zcash بتنفيذ نظام Halo 2 للمعرفة الصفرية، مما أزال واحدة من أكبر مشكلات الخصوصية في البلوكشين. لا يتطلب Halo 2 إعداد ثقة بين المستخدمين.
ما هو مثال على Zk-SNARK؟
في سلاسل الكتل، يُعتبر zk-SNARK دليلاً على أن كياناً ما يمتلك شيئاً (معرفة، بيانات، وما إلى ذلك) ولكنه لم يكشفه لكيان آخر. على سبيل المثال، إذا كانت سلسلة الكتل تتطلب مفتاحاً عاماً وسرياً لإجراء معاملة، يمكن لأحد الأطراف توليد حل مشفر، ويمكن للطرف الآخر توليد حل يقع ضمن نطاق محدد، مما يثبت أن لديهم المعلومات اللازمة.
ما هو دائرة ZK-SNARK؟
يُستخدم أحيانًا مصطلح الدائرة الإلكترونية لوصف كيفية عمل zk-SNARK أو عند تصميم عملية المعرفة الصفرية، وذلك بسبب وجود مصطلحات إلكترونية مثل "البوابات" و"الرقائق" تُستخدم عند إنشاء سير العمل.
ما هو الفرق بين ZK-SNARK و ZK-STARK؟
Zk-STARK تعني الحجة الشفافة القابلة للتوسع للمعرفة بدون كشف، وهي أكثر كفاءة عندما يكون هناك عدد أكبر من الشهود مقارنةً بـ zk-SNARK.
الخلاصة
تُستخدم Zk-SNARKs كدليل على أن أحد المستخدمين يمتلك معلومات دون الكشف عنها. هذه عملية رياضية معقدة ولكنها سريعة حسابيًا تُستخدم في سلاسل الكتل للحفاظ على خصوصية المستخدم.