Poster: Privacy-Preserving Compliance Checks on Ethereum via Selective Disclosure
تقترح هذه الورقة إطار عمل للإفصاح الانتقائي يحافظ على الخصوصية على شبكة إيثيريوم، يستخدم تقنيات zk-SNARKs من جانب العميل لتمكين المستخدمين من التحقق من معايير أهلية محددة، مثل العمر، دون الكشف عن البيانات الشخصية الحساسة، مما يحقق امتثالاً صارماً مع زمن انتقال ضئيل.
المؤلفون الأصليون:Supriya Khadka, Dhiman Goswami, Sanchari Das
تخيل أنك تعيش في بيت زجاجي (البلوكشين). يمكن للجميع رؤية ما بداخل منزلك، وبمجرد أن تضع شيئاً على الطاولة، لا يمكن مسحه أبداً. هذا أمر رائع لبناء الثقة لأنه لا يمكن لأحد الغش، لكنه سيء جداً فيما يتعلق بالخصوصية.
حالياً، إذا أردت دخول نادٍ (تطبيق خاضع للرقابة) يتطلب أن يكون عمرك فوق 18 عاماً، فإن الحارس (التطبيق) يطلب منك عادةً تسليمه جواز سفرك بالكامل. سيرون اسمك، وعنوانك، وصورتك، وتاريخ ميلادك. حتى لو كانوا يهتمون فقط بعمرك، فقد أصبح لديهم الآن هويتك بالكامل مخزنة في قاعدة بياناتهم.
المخاطرة: إذا تعرض الحارس للاختراق، فسيتم سرقة هويتك بالكامل.
تحول البلوكشين: إذا وضعت جواز سفرك على جدار البيت الزجاجي، فسيرى الجميع في العالم هويتك للأبد. وحتى لو حذفتها من جهاز الكمبيوتر الخاص بالحارس، فستظل مرئية على الجدار.
🎭 الحل: "المظروف السحري" (الإفصاح الانتقائي)
تقترح هذه الورقة طريقة جديدة لدخول النادي. بدلاً من تسليم جواز سفرك بالكامل، يمكنك استخدام مظروف سحري (براهين المعرفة الصفرية - Zero-Knowledge Proofs).
إليك كيف يعمل ذلك بلغة الحياة اليومية:
تحافظ على أسرارك آمنة: يبقى جواز سفرك مغلقاً في جيبك الخاص (هاتفك أو متصفحك). لا يغادر حوزتك أبداً.
الخدعة السحرية: تضع جواز سفرك داخل آلة خاصة (مُنشئ برهان المعرفة الصفرية - ZK Prover) تقوم بإنشاء إيصال سحري.
البرهان: يقول الإيصال: "لقد تم التحقق من أن هذا الشخص فوق سن 18"، ولكنه لا يُظهر الصورة، أو الاسم، أو العنوان. إنه يشبه الختم الذي يقول "بالغ" دون إظهار بطاقة الهوية.
النتيجة: يتحقق الحارس من الإيصال، ويرى ختم "بالغ"، ويسمح لك بالدخول. لم يرَ وجهك، ولا أحد غيره في البيت الزجاجي يعرف من أنت.
🏗️ كيف يعمل النظام (الرقصة ذات الثلاث خطوات)
بنى المؤلفون نظاماً يسمى ZK-Compliance يعمل كحارس رقمي بـثلاث حركات محددة:
1. المنح (المصافحة)
ماذا يحدث: تريد استخدام تطبيق ما. يسألك التطبيق: "هل عمرك فوق 18؟"
السحر: يقوم هاتفك بإجراء العمليات الحسابية فوراً (في أقل من 200 مللي ثانية — أسرع من طرفة العين!). يقوم بإنشاء ذلك الإيصال السحري ويرسله إلى البلوكشين.
السجل: لا يخزن البلوكشين هويتك؛ بل يخزن فقط ملاحظة تقول: "هذا المستخدم تحديداً لديه ختم 'بالغ' صالح".
2. التحقق (الفحص السريع)
ماذا يحدث: في كل مرة تريد فيها القيام بشيء ما في التطبيق، لا يسألك التطبيق عن هويتك مرة أخرى.
السحر: هو فقط ينظر إلى الملاحظة الموجودة في البلوكشين. "هل لدى هذا المستخدم ختم صالح؟" إذا كانت الإجابة نعم، فأنت في الداخل.
لماذا هو رائع: هذا سريع ورخيص للغاية. العمليات الحسابية الثقيلة تمت لمرة واحدة فقط عندما حصلت على الختم.
3. الإلغاء (مفتاح الإيقاف)
ماذا يحدث: هذا هو الجزء الأهم. في العالم القديم، بمجرد إعطاء هويتك لشركة ما، يحتفظون بها للأبد.
السحر: لديك جهاز تحكم عن بعد. إذا قررت أنك لم تعد تثق في التطبيق، تضغط على زر.
النتيجة: ختم "بالغ" الموجود على البلوكشين يختفي فوراً. لن يعود بإمكان التطبيق التحقق من هويتك. لقد استعدت خصوصيتك على الفور.
💰 التكلفة: هل هي باهظة؟
اختبر المؤلفون هذا النظام على شبكة إيثيريوم (Ethereum).
على الشبكة الرئيسية: الأمر يشبه دفع ثمن تذكرة درجة أولى للطيران عبر المحيط. يكلف حوالي 15 دولاراً لكل عملية تحقق، وهو أمر مكلف جداً للاستخدام اليومي.
على "الطبقة الثانية" (المسار السريع): إذا استخدمت شبكة جانبية أسرع وأرخص (مثل Arbitrum)، تنخفض التكلفة إلى أقل من 50 سنتاً. وهذا يجعلها متاحة للناس العاديين لاستخدامها.
🔮 ما القادم؟
يعمل النظام بشكل جيد حالياً، ولكن لدى المؤلفين بعض الأفكار لجعل النظام أكثر أماناً:
منع "الاستباق" (Front-Running): التأكد من عدم قدرة أحد على سرقة برهانك أثناء انتقاله إلى البلوكشين.
إيقاف "المتتبعين": التأكد من أنه على الرغم من امتلاكك لختم، لا يمكن لأحد تتبعك عبر تطبيقات مختلفة لبناء ملف شخصي عن حياتك.
هواتف فائقة الأمان: نقل العمليات الحسابية إلى "منطقة آمنة" داخل هاتفك بحيث لا يستطيع حتى المخترقون التلصص على بياناتك أثناء إنشاء البرهان.
📝 الخلاصة
تثبت هذه الورقة أننا لسنا مضطرين للاختيار بين اتباع القواعد (مثل كونك فوق 18 عاماً) وبين الحفاظ على خصوصيتنا.
باستخدام المظاريف السحرية (براهين المعرفة الصفرية)، يمكننا إثبات أهليتنا للأشياء دون الحاجة أبداً لإظهار بطاقات هويتنا للعالم. إنها تحول "البيت الزجاجي" للبلوكشين إلى مكان يمكنك فيه أن تكون مجهول الهوية ولكن موثوقاً في نفس الوقت.
بناءً على الورقة المقدمة، إليك ملخص تقني مفصل لـ "التحقق من الامتثال مع الحفاظ على الخصوصية عبر إيثيريوم باستخدام الإفصاح الانتقائي."
1. بيان المشكلة
تعالج الورقة الصراع الجوهري بين الشفافية العامة لسلسلة الكتل (Blockchain) وخصوصية المستخدم في البيئات التنظيمية.
فخ الشفافية: تضمن سلاسل الكتل العامة (مثل إيثيريوم) التحقق غير الموثوق (trustless) من خلال الشفافية المطلقة وعدم القابلية للتغيير. ومع ذلك، فإن هذا يجعلها بيئة معادية للمعلومات ذات الهوية الشخصية (PII). وبينما يمتلك المستخدمون أسماء مستعارة، يمكن ربط السلوك على الشبونة بالهويات في العالم الحقيقي عبر خوارزميات التجميع (clustering heuristics).
الامتثال مقابل الخصوصية: مع دمج التطبيقات اللامركزية (dApps) مع القطاعات المنظمة (مثل التمويل)، يجب عليها الامتثال للوائح "اعرف عميلك" (KYC) و"مكافحة غسيل الأموال" (AML). وتجبر النماذج الحالية المستخدمين على أحد خيارين:
الإفصاح المفرط: الكشف عن بيانات حساسة على الشبكة، مما يخلق روابط دائمة بين الهوية وسجل المعاملات.
الاعتماد على الوسطاء المركزيين: استخدام أطراف ثالثة موثوقة (TTPs) للتحقق من المستندات خارج السلسلة (off-chain). وهذا يعيد إدخال مخاطر المركزية، بما في ذلك نقاط الفشل الواحدة، واختراقات البيانات، والرقابة.
2. المنهجية: إطار عمل الإفصاح الانتقائي
يقترح المؤلفون إطار عمل للإفصاح الانتقائي مبني على إيثيريوم، يقوم بفصل التحقق من السمات عن كشف الهوية باستخدام براهين المعرفة الصفرية الموجزة وغير التفاعلية من جانب العميل (client-side zk-SNARKs).
البنية الأساسية
يعمل النظام وفق نموذج إثبات من جانب العميل حيث لا تغادر بيانات الهوية الخام جهاز المستخدم أبداً. ويتضمن ثلاثة أطراف رئيسية: المستخدم (المُثبت/Prover)، وجهة الإصدار الموثوقة (مثل الحكومة)، وتطبيق الخدمة (المُتحقق/Verifier).
يتكون إطار العمل من أربعة مكونات أساسية:
خزانة الهوية (Identity Vault): آلية تخزين محلية مشفرة في متصفح المستخدم تحتوي على السمات الخام (مثل تاريخ الميلاد).
مُثبت المعرفة الصفرية (ZK Prover - SnarkJS): وحدة من جانب العميل تقوم بتوليد براهين تشفيرية باستخدام مدخلات خاصة وملح تشفيري (salt) لمنع هجمات جداول قوس قزحة (rainbow table attacks).
عقد التحقق (Verifier Contract): عقد Solidity يقوم بالتحقق من البرهان على الشبونة دون رؤية المدخلات الأساسية مطلقاً.
سجل الوصول (Access Registry): عقد لإدارة الحالة يسجل منح الوصولات الصالحة ويتعامل مع دورة حياة الأذونات.
دورة حياة التنفيذ (منح، تحقق، إلقاء)
يقدم إطار العمل دورة حياة تعتمد على الحالة لإدارة الوصول:
المرحلة 1: المنح (توليد البرهان):
يسترجع المستخدم سمة خاصة (مثل تاريخ الميلاد) من الخزانة.
يقوم العميل بخلط البيانات مع "ملح" (salt) وإدخالها في مُثبت المعرفة الصفرية (ZK Prover).
يتم توليد برهان zk-SNARK محلياً (على سبيل المثال، إثبات أن العمر > 18 دون الكشف عن تاريخ الميلاد الدقيق).
يرسل المستخدم معاملة grantAccess. يقوم عقد التحقق بالتحقق من البرهان على الشبونة؛ وإذا كان صالحاً، يقوم بصك AccessRecord.
المرحلة 2: التحقق (استهلاك الوصول):
يستعلم تطبيق الخدمة (Service dApp) من AccessRegistry للتحقق من وجود AccessRecord صالح وغير منتهي الصلاحية.
هذه عملية بحث خفيفة الوزن وتستغرق وقتاً ثابتاً، مما يفصل التكلفة الحسابية الثقيلة لتوليد المعرفة الصفرية عن تكرار جلسات المستخدم.
المرحلة 3: الإلغاء (التحكم السيادي):
على عكس الاعتمادات الثابتة، يحتفظ المستخدم بـ "مفتاح إيقاف". يمكنهم تفعيل معاملة revokeAccess لحذف AccessRecord الخاص بهم.
يؤدي هذا فوراً إلى إبطال قدرة التطبيق على التحقق من الأهلية، مما يمنع الاحتفاظ بالبيانات إلى أجل غير مسمى ويستعيد حدود الخصوصية.
3. المساهمات الرئيسية
فصل التحقق عن الهوية: يثبت إطار العمل الأهلية (مثل العمر، المواطنة) دون كشف المعلومات ذات الهوية الشخصية (PII) الأساسية، مما يحل "فخ الشفافية".
الإثبات من جانب العميل: من خلال نقل منطق الإثبات إلى المتصفح (باستخدام SnarkJS)، يضمن النظام بقاء المعلومات ذات الهوية الشخصية غير حضانية (non-custodial) ولا تلمس سلسلة الكتل أو خادماً مركزياً.
الإلغاء السيادي: يقدم نموذج "منح، تحقق، إلغاء" ديناميكي، مما يمنح المستخدمين السيطرة على بصمتهم الرقمية والقدرة على إلغاء الوصول فوراً، وهي ميزة تفتقر إليها غالباً أنظمة الاعتمادات الثابتة.
القابلية للتعميم: بينما تم استعراضها عبر التحقق من العمر، فقد صُمم إطار العمل كحل عام لمختلف عمليات التحقق من الامتثال.
4. النتائج الأولية (دراسة حالة الامتثال عبر المعرفة الصفرية)
قام المؤلفون بتنفيذ نموذج إثبات مفهوم باسم ZK-Compliance ركز على التحقق من العمر.
مجموعة الأدوات المستخدمة:
الدائرة (Circuit): مكتوبة بلغة Circom، وتقوم بإجراء فحوصات النطاق وفرض الإنتروبيا عبر تربيع الأملاح العشوائية.
الإثبات (Proving): استخدام SnarkJS للتوليد عبر المتصفح.
سلسلة الكتل (Blockchain): تم النشر على شبكة Ethereum Sepolia التجريبية باستخدام منحنى BN128 لفحوصات الاقتران (pairing checks).
مقاييس الأداء:
زمن الاستجابة (Latency): على أجهزة المستهلك القياسية، يستغرق توليد البرهان أقل من 200 مللي ثانية، مما يشير إلى احتكاك ضئيل بتجربة المستخدم.
تحليل التكلفة:
شبكة إيثيريوم الرئيسية (Ethereum Mainnet): التحقق مكلف للغاية (~240,512 gas)، مما يكلف حوالي 15.00 دولاراً لكل جلسة (عند 20 gwei).
حلول الطبقة الثانية (Layer 2): نشر السجل على طبقات ثانية (مثل Arbitrum) يقلل التكلفة إلى أقل من 0.50 دولار، مما يجعل النظام مجدياً اقتصادياً للتطبيقات ذات الحجم الكبير.
5. الأهمية والعمل المستقبلي
الأهمية: يبرهن هذا العمل على أن الامتثال التنظيمي على سلاسل الكتل العامة لا يتطلب التضحية بخصوصية المستخدم. فهو يقدم مساراً للهوية الرقمية السيادية حيث يمكن للمستخدمين تلبية معايير الأهلية الصارمة مع الحفاظ على عدم كشف هويتهم والسيطرة على الاحتفاظ ببياناتهم.
العمل المستقبلي: حدد المؤلفون عدة مجالات للتحسين لتعزيز الأمن والخصوصية:
حماية الـ Mempool: تحديث الدائرة لربط البراهين تشفيرياً بعنوان msg.sender الخاص بالمستخدم لمنع هجمات الاستباق (front-running).
الخصوصية عبر التطبيقات: تنفيذ مبطلات (nullifiers) مرتبطة بنطاق التطبيق لمنع ربط هوية المستخدم عبر تطبيقات مختلفة (إزالة إخفاء الهوية عبر التجميع).
الجيوب الآمنة (Secure Enclaves): استقصاء عزل منطق الإثبات داخل جيوب آمنة للتخفيف من المخاطر المرتبطة ببيئات الويب القياسية.
الإشارات خارج السلسلة (Off-Chain Signaling): استكشاف آليات الإلغاء خارج السلسلة لضمان عدم ترك سجل المنح على السلسلة أثراً استدلالياً مستمراً.