برهان المعرفة الصفرية
تقنية حديثة تتبع الblockchain تقوم على أساس الحفاظ على خصوصية الأطراف وبياناتهم بشكل أكبر
برهان المعرفة الصفرية
الخصوصية في الإنترنت من الممكن أخيرا أن تصبح واقعا، وذلك بفضل أداة جديدة تتيح لك - على سبيل المثال - بإثبات أنك أكبر من 18 عامًا دون الكشف عن تاريخ ميلادك، أو إثبات أن لديك ما يكفي من المال في البنك لإجراء معاملة مالية دون الكشف عن رصيدك أو تفاصيل أخرى. وهذا بالطبع، يحد من خطر انتهاك الخصوصية أو سرقة الهوية.(1)
برهان المعرفة الصفرية (أو Zero-Knowledge Proof) هو أسلوب تحقق قائم على الاحتمالية، يتضمن "بيانات تشبه الحقائق" و "بيانات حول المعرفة الشخصية". يطلب المحقق (أو verifier) من الموثق (أو prover) بناءً على عشوائية معينة. إذا قُدّمت الإجابة الصحيحة، فإن لدى الموثق احتمال كبير لامتلاك ما يدعي أنه "معرفة". بإمكان برهان المعرفة الصفرية التحقق من أنك أنفقت المال دون الكشف عن العملة التي تم إنفاقها.
تعتبر القدرة على الإجابة عن السؤال "هل لدى المستخدم ما يكفي من المال لإرساله إلى مستخدم آخر" دون معرفة من هو المستخدم، أو بالضبط كم لديه، هي واحدة من حالات الاستخدام الأساسية لـبرهان المعرفة الصفرية في الـ blockchain. - ديميرو ماسيسي
ما أهميتها؟
تعد خصوصية البيانات أحد أهم الموضوعات في وقتنا الحاضر، فحماية البيانات الشخصية المتعلقة بهوية الأفراد (تاريخ الميلاد، البيانات المصرفية، تاريخ المعاملات، شهادات التعليم) ذات أهمية حيوية وستزداد أهميتها باستمرار. في عصر التكنولوجيا، نقوم بتوليد كميات هائلة من البيانات المحيرة للعقل بشكل لم يسبق له مثيل، والبيانات التي نقوم بإنشائها باستمرار عن أنفسنا هي عرضة للاستيلاء. استفادت الشركات الكبرى مثل Google وFacebook من بياناتنا لتصبح عمالقة تكنولوجيين يهيمنون على العالم اليوم. ومع ذلك، فإن التطورات الحديثة في التشفير وظهور الـ blockchain تتيح طريقة جديدة للمساعدة في حماية بياناتنا وهويتنا، حتى من المنظمات التي نتفاعل معها. لعل برهان المعرفة الصفرية هو الحل.
مبدأ برهان المعرفة الصفرية
هذا البرهان هو نظام تشفير اقترحه باحثو معهد ماساتشوستس للتكنولوجيا في الأصل في الثمانينات. اتفاقية برهان المعرفة الصفرية هي طريقة يمكن من خلالها لطرف واحد (الطرف الموثَّق أو prover) أن يثبت أن هناك شيئًا ما صحيحًا للطرف الآخر (الطرف المُحقق أو verifier). وباستثناء حقيقة أن هذا البيان المحدد صحيح، لا يتم الكشف عن معلومات إضافية.
على سبيل المثال، تخزن مواقع الويب الحالية قيمة تجزئة (hash value) لكلمة مرور المستخدم في خوادم الويب الخاصة بهم. فعند التحقق من أن العميل يعرف كلمة المرور بالفعل، تستخدم معظم مواقع الويب حاليًا طريقة تجزئة (hashing) إدخال كلمة المرور من قبل العميل ومقارنتها بالنتيجة المخزنة.
يمكن لـبرهان المعرفة الصفرية حماية حساب المستخدم من التسرب. إذا كان بالإمكان تحقيق برهان المعرفة الصفرية فكلمة مرور العميل ستصبح غير معروفة لأي شخص مع إمكانيته لتوثيق تسجيل دخول العميل. وعند مهاجمة أحد الخوادم، سيظل حساب المستخدم آمنًا لأن كلمة مرور العميل ليست مخزنة في خادم الويب.
برهان المعرفة الصفرية التفاعلي
إن برهان المعرفة الصفرية أساسه تفاعلي؛ إذ لا بد من المُحقق أو verifier أن يطرح باستمرار سلسلة من الأسئلة حول "المعرفة" التي يمتلكها الموثَّق أو prover.
فمثلا، إذا ادعى شخص ما أنه يعرف إجابة لغز للسودوكو فإن برهان المعرفة الصفرية هو أن المحقق يحدد بشكل عشوائي التحقق حسب العمود أو الصف أو التسعة مربعات. لا يحتاج كل اختبار لمعرفة الإجابة المحددة ولكن يحتاج فقط إلى التحقق عما إذا كان الرقم 1 إلى 9 مدرجًا أم لا.
طالما أن عدد عمليات التحقق يكفي، فمن الممكن تصديق أن الموثق يعرف حل مشكلة السودوكو. ومع ذلك ، فإن هذه الطريقة البسيطة لا تجعل الناس يعتقدون أن كلاً من المحقق والموثق ليسا مزيفين. في حالة السودوكو، قد يتواطأ الاثنان مقدما، بحيث يمكن للموثق اجتياز التحقق دون معرفة الإجابة. إذا أرادوا إقناع طرف ثالث، فيجب أن يثبت المحقق أيضًا أن عملية التحقق عشوائية وأنه لا يسرب الإجابة إلى الموثق. وبالتالي، يصعب على جهة خارجية التحقق من نتائج برهان المعرفة الصفرية التفاعلية؛ هناك حاجة إلى جهد إضافي وتكلفة لإثبات شيء لعدة أشخاص.
برهان المعرفة الصفرية الغير تفاعلي
كما هو الاسم، هذا البرهان لا يتطلب إلى تفاعل الأطراف، تجنبا لاحتمالية التواطؤ، ولكن قد يتطلب آلات وبرامج إضافية لتحديد تسلسل التجارب.
ففي مثال السودوكو، البرنامج سيكون هو من يحدد أي عمود أو صف يتم التحقق منه. تسلسل التحقق يجب أن يبقى سريا وإلا فقد يجتاز المحقق من التسلسل دون علم بـ"المعرفة".
تطبيق برهان المعرفة الصفرية في الـ blockchain
تستخدم كل من شبكتي Bitcoin و Ethereum عناوين عامة لاستبدال الهوية الحقيقية للطرف، مما يجعل المعاملات مجهولة جزئيًا؛ فقط عناوين الإرسال والاستقبال والمبلغ معروف للعامة. ومع ذلك، فمن الممكن معرفة الهوية الحقيقية للعنوان من خلال أنواع مختلفة من المعلومات المتاحة على blockchain مثل سجلات التفاعل، وبالتالي هناك خطر خفي من كشف الخصوصية.
يمكن لبرهان المعرفة الصفرية، والمرسل، والمستلم، وتفاصيل أخر للمعاملات أن تظل مجهولة الهوية مع ضمان صلاح المعاملات.
قد يكون ZCash واحدًا من أكثر مشاريع blockchain المعروفة التي طبقت برهان المعرفة الصفرية بنجاح. تطبق Zcash نسخة معدلة من ZKP تدعى zk-SNARKS ، والتي تختصر ‘Zero-Knowledge Succinct Non-Interactive Argument of Knowledge’.
zk-SNARK
تقلل تقنية zk-SNARK من حجم البراهين وكمية الحسابات المطلوبة للتحقق منها. بإمكانها إثبات أن شروط المعاملة الصالحة قد استوفيت دون الكشف عن أي معلومات مهمة حول عناوين أو قيم معنية.
تقوم zk-SNARK بتحويل محتوى المعاملة الذي يجب التحقق منه إلى برهان على أن نواتج متعددات الحدود متساوية، بالاقتران بالتشفير المتماثل وغيره من التقنيات المتقدمة لحماية مقدار المعاملة المخفي أثناء إجراء التحقق من المعاملة. ويمكن وصفها بإيجاز بأنها:
1. تقوم بفك الشفرة إلى خطوات تحقق منطقية يمكن التحقق منها، ثم تفك هذه الخطوات في دائرة حسابية تتكون من الجمع والطرح والضرب والقسمة.
2. تقوم بإجراء سلسلة من التحويلات لتحويل الشفرة المراد التحقق منها إلى معادلة متعددة الحدود، مثل t (x) h (x) = w (x) v (x).
3. تجعل الدليل أكثر إيجازاً، وذلك بأن يقوم المحقق باختيار عدة نقاط تفتيش بشكل عشوائي مقدماً للتحقق من صحة المعادلات في هذه النقاط.
4. من خلال التشفير المتماثل، لا يعرف المحقق قيمة الإدخال الفعلية عند حساب المعادلة، ولكن لا يزال بإمكانه التحقق.
5. على الجانبين الأيسر والأيمن للمعادلة، بضرب قيمة سرية k لا تساوي الصفر. عند التحقق من أن (t(s)h(s)k) تساوي (w(s)v(s)k)، يعني أن t (t(s), h(s), w(s),و v(s) لا يمكن معرفتها فهذا يمكن من حماية المعلومات.
أحد عيوب تطبيق zk-SNARK الحالي هو أن المعلمات تحتاج إلى أن تكون مدمجة مقدما، فإذا تم تسريب هذه المعلمات، ستواجه الشبكة بالكامل فشلًا مدمرًا. نتيجة لذلك، يجب على المستخدمين أن يثقوا في عدم تسرب هذه البيانات عند استخدام هذه الشبكات.
تشمل الحلول الممكنة استخدام "بيئات التنفيذ الموثوقة" الحديثة مثل Intel SGX و ARM TrustZone. بالنسبة إلى تقنية SGX من Intel، يكون المفتاح الخاص آمنًا حتى إذا كان التطبيق أو نظام التشغيل أو BIOS أو VMM عرضة للاختراق. إضافةً إلى ذلك، كشفت ورقة عمل حديثة عن ابتكاراتها في تشفير المعرفة الصفرية: ZK-STARKs (Zero-Knowledge Scalable Transparent ARguments of Knowledge).
وفقًا لابتكار zk-STARK، فإن zk-STARK يعد أول نظام يمكنه التحقق من سلسلة المفاتيح دون الاعتماد على أي إعدادات للثقة، في حين يتم زيادة السرعة الحسابية بشكل كبير مع زيادة عدد البيانات الحسابية. zk-STARK لا يعتمد على أنظمة التشفير بالمفاتيح العامة، والافتراضات الأكثر بساطة تجعله أكثر أمانًا من الناحية النظرية لأن افتراض التشفير الوحيد له هو أن وظائف التجزئة (مثل SHA2) لا يمكن التنبؤ بها. سوف يستغرق الأمر وقتًا حتى يتم اختبار واعتماد تكنولوجيا مثل Zero-Knowledge Proof و zk-S (T | N) ARK.
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !