لطالما اعتبر مجتمع العملات المشفرة الخصوصية ميزة قيمة للغاية. إنها مقدمة لقابلية التبادل، وهو أمر ضروري لشكل من أشكال النقود المستخدمة على نطاق واسع. لا يرغب معظم مالكي الأصول المشفرة في أن تكون ممتلكاتهم وتاريخ المعاملات الخاصة بهم علنية بالكامل. من بين طرق التشفير المختلفة التي تهدف إلى ضمان سرية البلوكشين، هناك مثالان على الأدلة الجديرة بالاهتمام هما zk-SNARK وzk-STARK.

تشير zk-SNARK إلى “برهان غير تفاعلي مختصر للمعرفة الصفرية”، بينما تمثل zk-STARK “برهانًا شفافًا مختصرًا للمعرفة ذات المعرفة الصفرية”. وقد كانت إثباتات Zk-SNARK مستخدمة بالفعل في Zcash، ونظام المدفوعات JP Morgan Chase المعتمد على البلوك تشين، وكذلك كوسيلة للمصادقة الآمنة للعملاء على الخوادم. ولكن بينما حققت zk-SNARK نجاحات كبيرة في مرحلة النشأة والتكيّف، يتم الآن الترويج لـ zk-STARK باعتبارها نسخة جديدة ومحسّنة من البروتوكول تعالج العديد من أوجه القصور السابقة في zk-SNARK.


حكاية علي بابا والكَهف

في عام 1990، نشر خبير التشفير جان-جاك كيسكووتر (مع زملاء آخرين) مقالًا بعنوان “كيف تشرح بروتوكولات المعرفة الصفرية لأطفالك”. تعرض المقالة مفهوم إثباتات ZK بحكاية كَهف علي بابا. ومنذ نشرها، خضعت لعدة تعديلات، ويوجد حاليًا عدة نسخ منها. ومع ذلك، فإن المعلومات الأساسية جوهرها نفسه.

لنفترض كهفًا حلقيًا بمدخل واحد وبفتحة بابٍ سحرية تفصل بين مسارين جانبيين اثنين. لكي تعبر من خلال فتحة الباب السحرية، يجب أن تهمس بالكلمات السرية الصحيحة. لذلك ضع في اعتبارك أن آليس (باللون الأصفر) تريد أن تُثبت لبوب (باللون الأزرق) أنها تعرف الكلمات السرية، وفي الوقت نفسه تريد إبقاءها سرية. لتحقيق ذلك، يوافق بوب على الانتظار في الخارج بينما تدخل آليس الكهف وتمشي حتى نهاية واحدٍ من المسارين الممكنين. في هذا المثال، تقرر السير في المسار 1.

Что такое zk-SNARKs и zk-STARKs?

بعد مرور بعض الوقت، يمر بوب بجانب المدخل ويصرخ من أي جهة يريد أن تظهر آليس (المسار 2 في هذه الحالة).

Что такое zk-SNARKs и zk-STARKs?

إذا كانت آليس تعرف السر فعلًا، فستظهر بالتأكيد في المسار الذي اختاره بوب.

Что такое zk-SNARKs и zk-STARKs?

يمكن تكرار العملية كاملة عدة مرات للتأكد من أن آليس لم تختَر المسار الصحيح عن طريق الصدفة.

حكاية علي بابا والكَهف تُوضح مفهوم إثباتات المعرفة الصفرية، والتي تُعد جزءًا من بروتوكولات zk-SNARK و zk-STARK. يمكن استخدام إثباتات ZK للتحقق من امتلاك معرفة محددة دون كشف أي معلومات عنها.


zk-SNARKs

تُعد Zcash أول تطبيق واسع الانتشار لـ zk-SNARKs. بينما تستخدم مشاريع خصوصية أخرى مثل Monero توقيعات حلقية وأساليب أخرى، مما يخلق فعليًا ضبابًا حول من أرسل ماذا، فإن zk-SNARKS يغيّر طريقة تبادل البيانات نفسها بشكل جوهري. تعتمد خصوصية Zcash على حقيقة أن المعاملات في الشبكة يمكن أن تبقى مشفّرة، ولكن في الوقت نفسه يمكن التحقق من صحتها باستخدام إثباتات المعرفة الصفرية. وبذلك لا يحتاج من يطبّق قواعد الإجماع إلى امتلاك جميع البيانات الكامنة وراء كل معاملة. تجدر الإشارة إلى أن ميزة الخصوصية في Zcash غير مفعلة افتراضيًا، وتعتمد على إعداد يدوي وتكون اختيارية.

تسمح إثباتات المعرفة الصفرية لشخص واحد بإقناع شخص آخر بأن العبارة صحيحة دون كشف أي معلومات تتجاوز ما تدعيه العبارة. تُسمّى الأطراف المعنية عادةً “المُتحقِّق” و“المُصادِق”، بينما تسمى العبارة التي يحتفظون بها في السر “الشاهد”. تتمثل الفكرة الأساسية وراء هذه الإثباتات في كشف أقل قدر ممكن من البيانات بين الطرفين. وبعبارة أخرى، يمكن استخدام إثباتات المعرفة الصفرية للتحقق من أنهم يمتلكون معرفة محددة دون الكشف عن أي معلومات أخرى.

اختصار SNARK “مضغوط” يعني أن هذه الإثباتات أصغر حجمًا ويمكن التحقق منها بسرعة. و“غير تفاعلي” يعني أن التفاعل بين المُثبت (prover) والمُتحقق (verifier) شبه معدوم. عادةً ما تتطلب الإصدارات الأقدم من بروتوكولات المعرفة الصفرية أن يتواصل المُتحقق والمُصدّق مع بعضهما، وبالتالي تُعتبر إثباتات zk “تفاعلية”. لكن في “البنى غير التفاعلية”، يجب على المُتحقق والمُصدّق تبادل إثباتٍ واحد فقط.

في الوقت الحالي، تعتمد إثباتات zk-SNARK على إعداد ثقة أولي بين المُتحقق والمُصدّق، ما يعني أنه لإنشاء إثباتات المعرفة الصفرية للمعاملات الخاصة يلزم مجموعة من المعاملات/المعلمات العامة. وتتوافق هذه المعلمات تقريبًا مع قواعد اللعبة، فهي مشفرة داخل البروتوكول وتُعد أحد العوامل الضرورية لإثبات أن المعاملة كانت صالحة. إلا أن ذلك يخلق مشكلة محتملة من ناحية مركزية النظام، لأن المعلمات غالبًا ما يتم صياغتها بواسطة مجموعة صغيرة جدًا.

على الرغم من أن الإعداد الأولي المتاح للعامة يُعد أساسًا للتطبيقات الحديثة لـ zk-SNARK، يعمل الباحثون على إيجاد بدائل أخرى كطريقة لتقليل مستوى الثقة المطلوب في هذه العملية. تعد المرحلة الأولى من الإعداد مهمة لمنع الإنفاق المزيّف (التلاعب)، لأنه إذا كان لدى شخص ما إمكانية الوصول إلى العشوائية التي تولّد المعلمات، فيمكنه إنشاء إثباتات مزيفة تبدو صالحة للمُتحقق. في Zcash تُسمى المرحلة الأولى من الإعداد “حفل توليد المعلمات”.

لننتقل إلى “الأَر-جُمنتات” باعتبارها جزءًا من اختصار الكلمة. يُنظر إلى zk-SNARKs على أنها مدعومة بحساباتٍ سليمة، وهذا يعني أن المُتحققين الخادعين لديهم احتمال ضئيل جدًا للنجاح في خداع النظام. تُعرف هذه الخاصية بالمتانة (Proof soundness) وتفترض أن المُتحقق يمتلك قدرة حسابية محدودة. نظريًا، يمكن لمن يمتلك قدرة حسابية كافية أن يخلق إثباتات مزيفة، وهذه واحدة من الأسباب التي تجعل أجهزة الحاسوب الكمية تُعد تهديدًا لـ zk-SNARK ولأنظمة البلوك تشين لدى كثيرين.

الجزء الأخير من هذا الاختصار هو “المعرفة” (Knowledge)، ما يعني أن المُتحقق لا يمكنه بناء إثباتات دون امتلاك المعرفة (أو الشاهد) التي تُثبت صحتها.

يتم التحقق بسرعة من إثباتات المعرفة الصفرية وعادةً ما تشغل بيانات أقل بكثير من معاملة البيتكوين القياسية. وهذا يمهد الطريق لاستخدام تقنية zk-SNARK كحل للخصوصية وقابلية التوسع.


zk-STARKs

تم إنشاء zk-STARK كبديلٍ عن نسخة zk-SNARK ويُنظر إليه باعتباره تنفيذًا أسرع وأرخص لتقنية التكنولوجيا. لكن الأهم هو أن zk-STARK لا يتطلب إعدادًا أوليًا للثقة (وبالتالي تكون “T” شفافة - الشفافية).

تقنيًا، لا تتطلب Zk-STARK إعدادًا أوليًا للثقة، لأنها تعتمد على تشفير متناظر أبسط بفضل دوالها الهاش غير القابلة للتصادم. كما يتخلص هذا النهج من افتراضات نظرية الأعداد الخاصة بـ zk-SNARK، والتي تكون مكلفة حسابيًا ومعرضة نظريًا لهجمات أجهزة الحاسوب الكمية.

أحد الأسباب الرئيسية التي تجعل zk-STARK تقدم تنفيذًا أرخص وأسرع هو أن عدد دورات تبادل البيانات بين المُتحققين والمُصادِقين يبقى ثابتًا، بغض النظر عن أي زيادة في الحسابات. في المقابل، في zk-SNARKs، كلما زادت الحاجة إلى المزيد من الحسابات، زادت الحاجة إلى تبادل الرسائل ذهابًا وإيابًا بين الطرفين. لذلك تكون الكمية الإجمالية للبيانات في zk-SNARK أكبر بكثير منها في zk-STARK.

من الواضح أن كلًا من zk-SNARKs و zk-STARKs تستندان إلى الاهتمام المتزايد بالخصوصية. ففي عالم العملات المشفرة، تمتلك هذه البروتوكولات إمكانات كبيرة وقد تصبح الابتكار الذي يلزم للانتشار الواسع.