بروتوكول معرفة صفري هو طريقة يمكن لطرف واحد (المثبت) أن يثبت لطرف آخر (التحقق) أن شيئًا ما صحيح، دون الكشف عن أي معلومات بخلاف حقيقة أن هذا البيان محدد صحيح.
اثباتات الصفر المعرفة قد تحسنت على مر السنين ويتم استخدامها الآن في عدة تطبيقات في العالم الحقيقي.
أثبتت الأدلة الصفرية كونها اختراقًا في علم التشفير التطبيقي، حيث وعدت بتحسين أمان المعلومات للأفراد. فكر في كيف يمكنك أن تثبت مطالبة ما (على سبيل المثال، "أنا مواطن في البلد X") لطرف آخر (على سبيل المثال، مزود خدمة). ستحتاج إلى تقديم "دليل" لدعم مطالبتك، مثل جواز سفر وطني أو رخصة قيادة.
ولكن هناك مشاكل مع هذا النهج، وأهمها نقص الخصوصية. يتم تخزين المعلومات القابلة للتعرف شخصيًا (PII) المشتركة مع خدمات الطرف الثالث في قواعد بيانات مركزية، التي تعرضها للاختراق. مع تزايد سرقة الهوية وتحولها إلى قضية حرجة، هناك دعوات لوسائل أكثر حماية للخصوصية لمشاركة المعلومات الحساسة.
تحل دلائل الصفر هذه المشكلة عن طريق القضاء على الحاجة إلى الكشف عن المعلومات لإثبات صحة الادعاءات. يستخدم بروتوكول الدليل على عدم المعرفة البيان (المسمى بـ 'الشاهد') كمدخل لتوليد دليل موجز على صحته. يوفر هذا الدليل ضمانات قوية بأن البيان صحيح دون الكشف عن المعلومات المستخدمة في إنشائه.
العودة إلى مثالنا السابق، الدليل الوحيد الذي تحتاجه لإثبات مطالبتك بالجنسية هو دليل العلم الصفري. يكفي للمحقق أن يتحقق فقط مما إذا كانت بعض الخصائص في الدليل صحيحة ليقتنع بأن البيان الأساسي صحيح أيضًا.
يتيح الدليل على عدم المعرفة لك إثبات صحة عبارة من دون مشاركة محتويات البيان أو الكشف عن كيفية اكتشاف الحقيقة. لجعل هذا ممكنًا، تعتمد بروتوكولات عدم المعرفة على خوارزميات تأخذ بعض البيانات كإدخال وتعيد 'صحيح' أو 'خطأ' كإخراج.
يجب أن تستوفي بروتوكول الحكم الصفري المعايير التالية:
في شكله الأساسي، يتكون دليل عدم المعرفة من ثلاثة عناصر: الشاهد، التحدي، والاستجابة.
المذكور أعلاه يصف هيكل 'دليل المعرفة الصفري التفاعلي'. استخدمت بروتوكولات الصفرية الأولية دليل التفاعلي، حيث تتطلب التحقق من صحة بيان مراسلة ذهاب وإياب بين البراهين والتحقق.
مثال جيد يوضح كيف تعمل البراهين التفاعلية هو الشهير لجان جاك كويسكواترقصة كهف علي بابا
. في القصة، ترغب بيجي (المحترفة) في إثبات لفيكتور (التحقق) أنها تعرف العبارة السرية لفتح باب سحري دون الكشف عن العبارة.
بينما كان الإثبات التفاعلي الثوري ذا فائدة محدودة نظرًا لأنه كان يتطلب تواجد الطرفين والتفاعل بشكل متكرر. حتى لو كان المدقق مقتنعًا بصدق المثبت، فإن الدليل لم يكن متاحًا للتحقق المستقل (كان من الضروري حساب دليل جديد يتطلب مجموعة جديدة من الرسائل بين المثبت والمدقق).
لحل هذه المشكلة، اقترح مانويل بلوم وبول فيلدمان وسيلفيو ميكالي الأولىإثباتات الصفر المعرفة غير التفاعلية
حيث يكون لدى الدليل والتحقق مفتاح مشترك. يتيح هذا للدليل إظهار معرفته ببعض المعلومات (أي، الشاهد) دون تقديم المعلومات نفسها.
على عكس الأدلة التفاعلية، الأدلة غير التفاعلية تتطلب جولة واحدة فقط من التواصل بين المشاركين (المثبت والتحقق). يمر المثبت بالمعلومات السرية إلى خوارزمية خاصة لحساب دليل على عدم المعرفة. يتم إرسال هذا الدليل إلى المحقق، الذي يتحقق من أن المثبت يعرف المعلومات السرية باستخدام خوارزمية أخرى.
الإثبات الغير تفاعلي يقلل من التواصل بين الداحل والتحقق، مما يجعل الإثباتات ZK أكثر كفاءة. علاوة على ذلك، بمجرد إنشاء الإثبات، يمكن لأي شخص آخر (باستخدام المفتاح المشترك وخوارزمية التحقق) التحقق منه.
الأدلة غير التفاعلية كانت نقطة فارقة بالنسبة لتقنية الصفر المعرفة وحفزت تطوير أنظمة الإثبات المستخدمة اليوم. نحن نناقش أنواع هذه الأدلة أدناه:
ZK-SNARK هو اختصار لـ Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. بروتوكول ZK-SNARK له الصفات التالية:
تشير 'المفتاح المشترك' المذكور سابقًا إلى المعلمات العامة التي يتفق عليها المثبت والتحقق من استخدامها في إنشاء الأدلة والتحقق منها. إن إنشاء المعلمات العامة (المعروفة جماعيًا باسم سلسلة الإشارة المشتركة (CRS)) عملية حساسة بسبب أهميتها في أمان البروتوكول. إذا وصل الانحراف (العشوائية) المستخدم في إنشاء CRS إلى أيدي مثبت غير صادق، فيمكنهم حساب أدلة كاذبة.
طريقة لتقليل المخاطر في توليد المعلمات العامة. تشارك أطراف متعددة في حفل الإعداد الموثوق به
(يتم فتحه في علامة تبويب جديدة)
, حيث يساهم كل شخص بقيم عشوائية لتوليد CRS. طالما أن طرف شريف واحد يدمر جزء الفتخ الخاص بهم، فإن بروتوكول ZK-SNARK يحتفظ بالصوتية الحسابية.
يتطلب الإعدادات الموثوق بها من المستخدمين الثقة في المشاركين في إنشاء المعلمات. ومع ذلك، فقد أتاح تطوير ZK-STARKs بروتوكولات إثبات تعمل مع إعداد غير موثوق.
ZK-STARK هو اختصار لـ Zero-Knowledge Scalable Transparent Argument of Knowledge. ZK-STARKs مشابهة لـ ZK-SNARKs، باستثناء أنها:
تنتج ZK-STARKs أدلة أكبر من ZK-SNARKs مما يعني عمومًا أن لديها تكاليف تحقق أعلى. ومع ذلك، هناك حالات (مثل إثبات مجموعات بيانات كبيرة) حيث قد تكون ZK-STARKs أكثر كفاءة من ZK-SNARKs.
يمكن رؤية مدفوعات بطاقات الائتمان في كثير من الأحيان لعدة أطراف، بما في ذلك مزودي الدفع والبنوك والأطراف الأخرى المهتمة (على سبيل المثال، السلطات الحكومية). على الرغم من أن المراقبة المالية لها فوائد في تحديد الأنشطة غير القانونية، إلا أنها تقوض أيضًا خصوصية المواطنين العاديين.
كان من المقرر أن توفر عملات التشفير وسيلة للمستخدمين لإجراء معاملات خاصة بينهم بشكل ند للند. ولكن معظم معاملات العملات المشفرة مرئية علنا على سلاسل الكتل العامة. هويات المستخدمين غالبًا ما تكون شبه مجهولة ومرتبطة بشكل متعمد بالهويات الحقيقية (على سبيل المثال، من خلال تضمين عناوين ETH على تويتر أو ملفات GitHub) أو يمكن ربطها بالهويات الحقيقية باستخدام تحليل البيانات الأساسية على وقتها أو خارجه.
هناك "عملات خصوصية" محددة مصممة للمعاملات مجهولة تماما. تحمي سلاسل الكتل التي تركز على الخصوصية ، مثل Zcash و Monero ، تفاصيل المعاملة ، بما في ذلك عناوين المرسل / المستلم ونوع الأصل والكمية والجدول الزمني للمعاملة.
من خلال دمج تقنية الصفر المعرفة في البروتوكول، تسمح شبكات سلسلة الكتل المركزة على الخصوصية للعُقَد بالتحقق من المعاملات دون الحاجة إلى الوصول إلى بيانات المعاملة.
تُطبق أيضًا دلائل الصفر المعرفة على تجهيز المعاملات بشكل مجهول على سلاسل الكتل العامة. مثال على ذلك هو Tornado Cash، وهو خدمة غير محجوزة ولامستودعة تسمح للمستخدمين بإجراء معاملات خاصة على إثيريوم. يستخدم Tornado Cash دلائل الصفر المعرفة لتشويش تفاصيل المعاملات وضمان الخصوصية المالية. لسوء الحظ، لأن هذه الأدوات الخاصة بالخصوصية الاختيارية مرتبطة بالأنشطة غير المشروعة. للتغلب على هذا، يجب أن تصبح الخصوصية في نهاية المطاف الافتراضية على سلاسل الكتل العامة.
نظم إدارة الهوية الحالية تعرض المعلومات الشخصية للخطر. يمكن أن تساعد البراهين بدون معرفة على تأكيد هوية الأفراد مع حماية التفاصيل الحساسة.
البراهين بدون معرفة مسبقة مفيدة بشكل خاص في سياق الهوية اللامركزية.الهوية اللامركزية (المعروفة أيضًا بـ 'الهوية الذاتية السيادية') تمنح الفرد القدرة على التحكم في الوصول إلى المعرفات الشخصية. إثبات جنسيتك دون الكشف عن هويتك الضريبية أو تفاصيل جواز سفرك هو مثال جيد على كيفية تمكين التقنية الصفرية المعرفة للهوية اللامركزية.
استخدام الخدمات عبر الإنترنت يتطلب إثبات هويتك وحقك في الوصول إلى تلك المنصات. وغالباً ما يتطلب ذلك تقديم معلومات شخصية، مثل الأسماء وعناوين البريد الإلكتروني وتواريخ الميلاد وما إلى ذلك. قد تحتاج أيضاً إلى حفظ كلمات مرور طويلة أو مواجهة خطر فقدان الوصول.
البراهين بدون معرفة، ومع ذلك، يمكن أن تبسط المصادقة لكلا الأنظمة والمستخدمين. بمجرد توليد برهان ZK باستخدام المدخلات العامة (على سبيل المثال، البيانات التي تشهد على عضوية المستخدم في النظام) والمدخلات الخاصة (على سبيل المثال، تفاصيل المستخدم)، يمكن للمستخدم ببساطة تقديمه لتوثيق هويته عند الحاجة إلى الوصول إلى الخدمة. يحسن هذا التجربة للمستخدمين ويعتقها المنظمات من الحاجة إلى تخزين كميات هائلة من معلومات المستخدمين.
الحوسبة القابلة للتحقق هي تطبيق آخر لتقنية الصفر المعرفة لتحسين تصميمات سلسلة الكتل. الحوسبة القابلة للتحقق تسمح لنا بتفويض الحسابات لكيان آخر مع الحفاظ على نتائج قابلة للتحقق. يقدم الكيان النتيجة مع دليل يثبت أن البرنامج تم تنفيذه بشكل صحيح.
الحوسبة التي يمكن التحقق منها حاسمة لتحسين سرعات المعالجة على سلاسل الكتل دون التقليل من الأمان. فهم هذا يتطلب معرفة الاختلافات في الحلول المقترحة لتوسيع إيثريوم.
حلول توسيع على السلسلةمثل تجزئة، تتطلب تعديلات شاملة في طبقة البلوكشين الأساسية. ومع ذلك، هذا النهج معقد للغاية والأخطاء في التنفيذ يمكن أن تضعف نموذج أمان إثيريوم.
حلول توسيع خارج السلسلةلا تتطلب إعادة تصميم بروتوكول Ethereum الأساسي. بدلاً من ذلك، يعتمدون على نموذج الحساب المستعار لتحسين الإنتاجية على الطبقة الأساسية لـ Ethereum.
ها هي كيف تعمل الأمور في الممارسة:
الفائدة هنا هي أن الإيثيريوم لا يحتاج إلى أداء أي تنفيذ ويحتاج فقط إلى تطبيق نتائج الحوسبة المستعارة على حالته. يقلل هذا من ازدحام الشبكة ويحسن أيضًا سرعات المعاملات (تحسين بروتوكولات خارج السلسلة لزيادة سرعة التنفيذ).
يحتاج السلسلة إلى طريقة للتحقق من صحة المعاملات خارج السلسلة دون إعادة تنفيذها، وإلا فإن قيمة التنفيذ خارج السلسلة تضيع.
هنا تأتي عملية الحساب القابلة للتحقق إلى اللعب. عندما ينفذ العقد عملية خارج Ethereum، يقدم دليل دليل على عدم المعرفة لإثبات صحة التنفيذ خارج السلسلة. هذا الدليل (المسمى
البرهان على الصحة) يضمن أن الصفقة صالحة، مما يتيح لإثريوم تطبيق النتيجة على حالتها - دون الانتظار لأي شخص لنقاشها.
لفات النقل بدون معرفةوvalidiumsهما حلول توسيع خارج السلسلة يستخدمان دلائل الصحة لتوفير توسيع آمن. تنفذ هذه البروتوكولات آلاف المعاملات خارج السلسلة وتقدم دلائل للتحقق على الإيثيريوم. يمكن تطبيق تلك النتائج على الفور بمجرد التحقق من الدليل، مما يسمح للإيثيريوم بمعالجة المزيد من المعاملات دون زيادة الحساب على الطبقة الأساسية.
تتمتع خطط التصويت بتقنية البلوكشين بسمات مواتية عديدة: إذا كانت قابلة للتدقيق بالكامل، وآمنة ضد الهجمات، ومقاومة للرقابة، وخالية من القيود الجغرافية. ولكن حتى خطط التصويت على السلسلة البلوكشين ليست معفاة من مشكلة التواطؤ.
معرفة "التنسيق لتقييد المنافسة المفتوحة من خلال خداع واحتيال وإضلال الآخرين"، قد يأخذ التواطؤ شكل من ممثل شرير يؤثر في التصويت عن طريق تقديم رشاوى. على سبيل المثال، قد تتلقى أليس رشوة من بوب للتصويت على الخيار ب حتى لو تفضل الخيار أ.
الرشوة والتواطؤ تقيد فعالية أي عملية تستخدم التصويت كآلية إشارية (خاصةً حيث يمكن للمستخدمين إثبات كيف صوتوا). يمكن أن يكون لهذا عواقب كبيرة، خاصةً حيث تكون الأصوات مسؤولة عن تخصيص الموارد النادرة.
على سبيل المثال،آليات التمويل التربيعي
تعتمد على التبرعات لقياس التفضيل لبعض الخيارات بين مشاريع السلع العامة المختلفة. يُعتبر كل تبرع كـ "صوت" لمشروع معين، حيث تحصل المشاريع التي تحصل على مزيد من الأصوات على مزيد من الأموال من صندوق التوافق.
إن استخدام التصويت على السلسلة يجعل التمويل التربيعي عرضة للتواطؤ: معاملات blockchain عامة ، لذلك يمكن للرشوة فحص نشاط الرشوة على السلسلة لمعرفة كيف "صوتوا". بهذه الطريقة يتوقف التمويل التربيعي عن كونه وسيلة فعالة لتخصيص الأموال بناء على التفضيلات المجمعة للمجتمع.
لحسن الحظ ، تستخدم الحلول الأحدث مثل MACI (الحد الأدنى من البنية التحتية لمكافحة التواطؤ) براهين المعرفة الصفرية لجعل التصويت على السلسلة (على سبيل المثال ، آليات التمويل التربيعية) مقاوما للرشوة والتواطؤ. MACI عبارة عن مجموعة من العقود والبرامج النصية الذكية التي تسمح للمسؤول المركزي (يسمى "المنسق") بتجميع الأصوات وفرز النتائج دون الكشف عن تفاصيل حول كيفية تصويت كل فرد. ومع ذلك، لا يزال من الممكن التحقق من أن الأصوات قد تم عدها بشكل صحيح، أو التأكد من أن فردا معينا شارك في جولة التصويت.
في البداية، يقوم المنسق بنشر عقد MACI على إيثيريوم، بعد ذلك يمكن للمستخدمين التسجيل للتصويت (عن طريق تسجيل مفتاحهم العام في العقد الذكي). يقوم المستخدمون بالتصويت عن طريق إرسال رسائل مشفرة بمفتاحهم العام إلى العقد الذكي (يجب أن يتم توقيع التصويت الصالح بالمفتاح العام الأحدث المرتبط بهوية المستخدم، بالإضافة إلى معايير أخرى). بعد ذلك، يقوم المنسق بمعالجة جميع الرسائل بمجرد انتهاء فترة التصويت، ويقوم بجمع الأصوات والتحقق من النتائج على السلسلة الرئيسية.
في MACI، يتم استخدام البراهين بدون معرفة لضمان صحة الحسابات عن طريق جعله من المستحيل للمنسق معالجة الأصوات بشكل غير صحيح وإجمالي النتائج. يتم تحقيق ذلك من خلال الاشتراط على المنسق توليد براهين ZK-SNARK التي تتحقق من أن جميع الرسائل تم معالجتها بشكل صحيح وأن النتيجة النهائية تتوافق مع مجموع جميع الأصوات الصالحة.
وبالتالي، حتى من دون مشاركة تفصيلية للأصوات لكل مستخدم (كما هو الحال عادةً)، تضمن MACI سلامة النتائج المحسوبة أثناء عملية الفرز. هذه الميزة مفيدة في تقليل فاعلية مخططات التواطؤ الأساسية. يمكننا استكشاف هذا الاحتمال عن طريق استخدام المثال السابق لـ بوب الذي رشى آليس للتصويت لخيار معين:
استخدام MACI يتطلب الثقة بالمنسق عدم التواطؤ مع الرشاوى أو محاولة رش الناخبين أنفسهم. يمكن للمنسق فك تشفير رسائل المستخدمين (اللازمة لإنشاء البرهان)، بحيث يمكنهم التحقق بدقة من كيفية تصويت كل شخص.
ولكن في الحالات التي يظل فيها المنسق صادقًا، تمثل MACI أداة قوية لضمان قداسة التصويت على السلسلة. وهذا ما يفسر شعبيتها بين تطبيقات التمويل التربيعي (على سبيل المثال، clr.fund
) الذين يعتمدون بشكل كبير على نزاهة اختيارات كل فرد في التصويت.
.
إن إنشاء دلائل المعرفة الصفرية يتضمن حسابات معقدة جدًا تُنجز بشكل أفضل على الآلات المتخصصة. نظرًا لأن هذه الآلات مكلفة، فإنها غالبًا ما تكون خارج متناول الأفراد العاديين. بالإضافة إلى ذلك، يجب على التطبيقات التي ترغب في استخدام تقنية الدليل على الصفر أن تأخذ في الاعتبار تكاليف الأجهزة - والتي قد تزيد من تكاليف المستخدمين النهائيين.
يتطلب التحقق من البراهين أيضا حسابا معقدا ويزيد من تكاليف تنفيذ تقنية المعرفة الصفرية في التطبيقات. هذه التكلفة مهمة بشكل خاص في سياق إثبات الحساب. على سبيل المثال ، تدفع ZK-rollups ~ 500,000 غاز للتحقق من إثبات ZK-SNARK واحد على Ethereum ، مع ZK-STARKs التي تتطلب رسوما أعلى.
في ZK-SNARK، يتم إنشاء سلسلة الإشارة المرجعية المشتركة (المعلمات العامة) مرة واحدة وتكون متاحة لإعادة الاستخدام للأطراف الراغبة في المشاركة في بروتوكول الصفر المعرفة. تتم إنشاء المعلمات العامة عبر حفل إعداد موثوق به، حيث يُفترض أن المشاركين صادقون.
ولكن ليس هناك طريقة حقيقية للمستخدمين لتقييم صدق المشاركين ويتعين على المستخدمين أن يأخذوا كلام المطورين على محمل الجد. تعتبر ZK-STARKs خالية من افتراضات الثقة حيث أن العشوائية المستخدمة في توليد السلسلة يمكن التحقق منها علنًا. في الوقت نفسه، يعمل الباحثون على إعدادات غير موثوقة لـ ZK-SNARKs لزيادة أمان آليات الإثبات.
ZK-SNARK يستخدم تشفير المنحنى البيضاوي
ECDSA) للتشفير. بينما خوارزمية ECDSA آمنة الآن، فإن تطوير الحواسيب الكمومية قد يكسر نموذج أمانها في المستقبل.
يُعتبر ZK-STARK مُنيعًا من تهديد الحوسبة الكمومية، حيث يستخدم تجزئة تصادمية للتشفير. على عكس تزويجات المفتاح العام-الخاص المستخدمة في التشفير بالمنحنيات البيضاوية، فإن تجزئة التصادم صعبة أكثر بالنسبة لخوارزميات الحوسبة الكمومية لكسرها.
بروتوكول معرفة صفري هو طريقة يمكن لطرف واحد (المثبت) أن يثبت لطرف آخر (التحقق) أن شيئًا ما صحيح، دون الكشف عن أي معلومات بخلاف حقيقة أن هذا البيان محدد صحيح.
اثباتات الصفر المعرفة قد تحسنت على مر السنين ويتم استخدامها الآن في عدة تطبيقات في العالم الحقيقي.
أثبتت الأدلة الصفرية كونها اختراقًا في علم التشفير التطبيقي، حيث وعدت بتحسين أمان المعلومات للأفراد. فكر في كيف يمكنك أن تثبت مطالبة ما (على سبيل المثال، "أنا مواطن في البلد X") لطرف آخر (على سبيل المثال، مزود خدمة). ستحتاج إلى تقديم "دليل" لدعم مطالبتك، مثل جواز سفر وطني أو رخصة قيادة.
ولكن هناك مشاكل مع هذا النهج، وأهمها نقص الخصوصية. يتم تخزين المعلومات القابلة للتعرف شخصيًا (PII) المشتركة مع خدمات الطرف الثالث في قواعد بيانات مركزية، التي تعرضها للاختراق. مع تزايد سرقة الهوية وتحولها إلى قضية حرجة، هناك دعوات لوسائل أكثر حماية للخصوصية لمشاركة المعلومات الحساسة.
تحل دلائل الصفر هذه المشكلة عن طريق القضاء على الحاجة إلى الكشف عن المعلومات لإثبات صحة الادعاءات. يستخدم بروتوكول الدليل على عدم المعرفة البيان (المسمى بـ 'الشاهد') كمدخل لتوليد دليل موجز على صحته. يوفر هذا الدليل ضمانات قوية بأن البيان صحيح دون الكشف عن المعلومات المستخدمة في إنشائه.
العودة إلى مثالنا السابق، الدليل الوحيد الذي تحتاجه لإثبات مطالبتك بالجنسية هو دليل العلم الصفري. يكفي للمحقق أن يتحقق فقط مما إذا كانت بعض الخصائص في الدليل صحيحة ليقتنع بأن البيان الأساسي صحيح أيضًا.
يتيح الدليل على عدم المعرفة لك إثبات صحة عبارة من دون مشاركة محتويات البيان أو الكشف عن كيفية اكتشاف الحقيقة. لجعل هذا ممكنًا، تعتمد بروتوكولات عدم المعرفة على خوارزميات تأخذ بعض البيانات كإدخال وتعيد 'صحيح' أو 'خطأ' كإخراج.
يجب أن تستوفي بروتوكول الحكم الصفري المعايير التالية:
في شكله الأساسي، يتكون دليل عدم المعرفة من ثلاثة عناصر: الشاهد، التحدي، والاستجابة.
المذكور أعلاه يصف هيكل 'دليل المعرفة الصفري التفاعلي'. استخدمت بروتوكولات الصفرية الأولية دليل التفاعلي، حيث تتطلب التحقق من صحة بيان مراسلة ذهاب وإياب بين البراهين والتحقق.
مثال جيد يوضح كيف تعمل البراهين التفاعلية هو الشهير لجان جاك كويسكواترقصة كهف علي بابا
. في القصة، ترغب بيجي (المحترفة) في إثبات لفيكتور (التحقق) أنها تعرف العبارة السرية لفتح باب سحري دون الكشف عن العبارة.
بينما كان الإثبات التفاعلي الثوري ذا فائدة محدودة نظرًا لأنه كان يتطلب تواجد الطرفين والتفاعل بشكل متكرر. حتى لو كان المدقق مقتنعًا بصدق المثبت، فإن الدليل لم يكن متاحًا للتحقق المستقل (كان من الضروري حساب دليل جديد يتطلب مجموعة جديدة من الرسائل بين المثبت والمدقق).
لحل هذه المشكلة، اقترح مانويل بلوم وبول فيلدمان وسيلفيو ميكالي الأولىإثباتات الصفر المعرفة غير التفاعلية
حيث يكون لدى الدليل والتحقق مفتاح مشترك. يتيح هذا للدليل إظهار معرفته ببعض المعلومات (أي، الشاهد) دون تقديم المعلومات نفسها.
على عكس الأدلة التفاعلية، الأدلة غير التفاعلية تتطلب جولة واحدة فقط من التواصل بين المشاركين (المثبت والتحقق). يمر المثبت بالمعلومات السرية إلى خوارزمية خاصة لحساب دليل على عدم المعرفة. يتم إرسال هذا الدليل إلى المحقق، الذي يتحقق من أن المثبت يعرف المعلومات السرية باستخدام خوارزمية أخرى.
الإثبات الغير تفاعلي يقلل من التواصل بين الداحل والتحقق، مما يجعل الإثباتات ZK أكثر كفاءة. علاوة على ذلك، بمجرد إنشاء الإثبات، يمكن لأي شخص آخر (باستخدام المفتاح المشترك وخوارزمية التحقق) التحقق منه.
الأدلة غير التفاعلية كانت نقطة فارقة بالنسبة لتقنية الصفر المعرفة وحفزت تطوير أنظمة الإثبات المستخدمة اليوم. نحن نناقش أنواع هذه الأدلة أدناه:
ZK-SNARK هو اختصار لـ Zero-Knowledge Succinct Non-Interactive Argument of Knowledge. بروتوكول ZK-SNARK له الصفات التالية:
تشير 'المفتاح المشترك' المذكور سابقًا إلى المعلمات العامة التي يتفق عليها المثبت والتحقق من استخدامها في إنشاء الأدلة والتحقق منها. إن إنشاء المعلمات العامة (المعروفة جماعيًا باسم سلسلة الإشارة المشتركة (CRS)) عملية حساسة بسبب أهميتها في أمان البروتوكول. إذا وصل الانحراف (العشوائية) المستخدم في إنشاء CRS إلى أيدي مثبت غير صادق، فيمكنهم حساب أدلة كاذبة.
طريقة لتقليل المخاطر في توليد المعلمات العامة. تشارك أطراف متعددة في حفل الإعداد الموثوق به
(يتم فتحه في علامة تبويب جديدة)
, حيث يساهم كل شخص بقيم عشوائية لتوليد CRS. طالما أن طرف شريف واحد يدمر جزء الفتخ الخاص بهم، فإن بروتوكول ZK-SNARK يحتفظ بالصوتية الحسابية.
يتطلب الإعدادات الموثوق بها من المستخدمين الثقة في المشاركين في إنشاء المعلمات. ومع ذلك، فقد أتاح تطوير ZK-STARKs بروتوكولات إثبات تعمل مع إعداد غير موثوق.
ZK-STARK هو اختصار لـ Zero-Knowledge Scalable Transparent Argument of Knowledge. ZK-STARKs مشابهة لـ ZK-SNARKs، باستثناء أنها:
تنتج ZK-STARKs أدلة أكبر من ZK-SNARKs مما يعني عمومًا أن لديها تكاليف تحقق أعلى. ومع ذلك، هناك حالات (مثل إثبات مجموعات بيانات كبيرة) حيث قد تكون ZK-STARKs أكثر كفاءة من ZK-SNARKs.
يمكن رؤية مدفوعات بطاقات الائتمان في كثير من الأحيان لعدة أطراف، بما في ذلك مزودي الدفع والبنوك والأطراف الأخرى المهتمة (على سبيل المثال، السلطات الحكومية). على الرغم من أن المراقبة المالية لها فوائد في تحديد الأنشطة غير القانونية، إلا أنها تقوض أيضًا خصوصية المواطنين العاديين.
كان من المقرر أن توفر عملات التشفير وسيلة للمستخدمين لإجراء معاملات خاصة بينهم بشكل ند للند. ولكن معظم معاملات العملات المشفرة مرئية علنا على سلاسل الكتل العامة. هويات المستخدمين غالبًا ما تكون شبه مجهولة ومرتبطة بشكل متعمد بالهويات الحقيقية (على سبيل المثال، من خلال تضمين عناوين ETH على تويتر أو ملفات GitHub) أو يمكن ربطها بالهويات الحقيقية باستخدام تحليل البيانات الأساسية على وقتها أو خارجه.
هناك "عملات خصوصية" محددة مصممة للمعاملات مجهولة تماما. تحمي سلاسل الكتل التي تركز على الخصوصية ، مثل Zcash و Monero ، تفاصيل المعاملة ، بما في ذلك عناوين المرسل / المستلم ونوع الأصل والكمية والجدول الزمني للمعاملة.
من خلال دمج تقنية الصفر المعرفة في البروتوكول، تسمح شبكات سلسلة الكتل المركزة على الخصوصية للعُقَد بالتحقق من المعاملات دون الحاجة إلى الوصول إلى بيانات المعاملة.
تُطبق أيضًا دلائل الصفر المعرفة على تجهيز المعاملات بشكل مجهول على سلاسل الكتل العامة. مثال على ذلك هو Tornado Cash، وهو خدمة غير محجوزة ولامستودعة تسمح للمستخدمين بإجراء معاملات خاصة على إثيريوم. يستخدم Tornado Cash دلائل الصفر المعرفة لتشويش تفاصيل المعاملات وضمان الخصوصية المالية. لسوء الحظ، لأن هذه الأدوات الخاصة بالخصوصية الاختيارية مرتبطة بالأنشطة غير المشروعة. للتغلب على هذا، يجب أن تصبح الخصوصية في نهاية المطاف الافتراضية على سلاسل الكتل العامة.
نظم إدارة الهوية الحالية تعرض المعلومات الشخصية للخطر. يمكن أن تساعد البراهين بدون معرفة على تأكيد هوية الأفراد مع حماية التفاصيل الحساسة.
البراهين بدون معرفة مسبقة مفيدة بشكل خاص في سياق الهوية اللامركزية.الهوية اللامركزية (المعروفة أيضًا بـ 'الهوية الذاتية السيادية') تمنح الفرد القدرة على التحكم في الوصول إلى المعرفات الشخصية. إثبات جنسيتك دون الكشف عن هويتك الضريبية أو تفاصيل جواز سفرك هو مثال جيد على كيفية تمكين التقنية الصفرية المعرفة للهوية اللامركزية.
استخدام الخدمات عبر الإنترنت يتطلب إثبات هويتك وحقك في الوصول إلى تلك المنصات. وغالباً ما يتطلب ذلك تقديم معلومات شخصية، مثل الأسماء وعناوين البريد الإلكتروني وتواريخ الميلاد وما إلى ذلك. قد تحتاج أيضاً إلى حفظ كلمات مرور طويلة أو مواجهة خطر فقدان الوصول.
البراهين بدون معرفة، ومع ذلك، يمكن أن تبسط المصادقة لكلا الأنظمة والمستخدمين. بمجرد توليد برهان ZK باستخدام المدخلات العامة (على سبيل المثال، البيانات التي تشهد على عضوية المستخدم في النظام) والمدخلات الخاصة (على سبيل المثال، تفاصيل المستخدم)، يمكن للمستخدم ببساطة تقديمه لتوثيق هويته عند الحاجة إلى الوصول إلى الخدمة. يحسن هذا التجربة للمستخدمين ويعتقها المنظمات من الحاجة إلى تخزين كميات هائلة من معلومات المستخدمين.
الحوسبة القابلة للتحقق هي تطبيق آخر لتقنية الصفر المعرفة لتحسين تصميمات سلسلة الكتل. الحوسبة القابلة للتحقق تسمح لنا بتفويض الحسابات لكيان آخر مع الحفاظ على نتائج قابلة للتحقق. يقدم الكيان النتيجة مع دليل يثبت أن البرنامج تم تنفيذه بشكل صحيح.
الحوسبة التي يمكن التحقق منها حاسمة لتحسين سرعات المعالجة على سلاسل الكتل دون التقليل من الأمان. فهم هذا يتطلب معرفة الاختلافات في الحلول المقترحة لتوسيع إيثريوم.
حلول توسيع على السلسلةمثل تجزئة، تتطلب تعديلات شاملة في طبقة البلوكشين الأساسية. ومع ذلك، هذا النهج معقد للغاية والأخطاء في التنفيذ يمكن أن تضعف نموذج أمان إثيريوم.
حلول توسيع خارج السلسلةلا تتطلب إعادة تصميم بروتوكول Ethereum الأساسي. بدلاً من ذلك، يعتمدون على نموذج الحساب المستعار لتحسين الإنتاجية على الطبقة الأساسية لـ Ethereum.
ها هي كيف تعمل الأمور في الممارسة:
الفائدة هنا هي أن الإيثيريوم لا يحتاج إلى أداء أي تنفيذ ويحتاج فقط إلى تطبيق نتائج الحوسبة المستعارة على حالته. يقلل هذا من ازدحام الشبكة ويحسن أيضًا سرعات المعاملات (تحسين بروتوكولات خارج السلسلة لزيادة سرعة التنفيذ).
يحتاج السلسلة إلى طريقة للتحقق من صحة المعاملات خارج السلسلة دون إعادة تنفيذها، وإلا فإن قيمة التنفيذ خارج السلسلة تضيع.
هنا تأتي عملية الحساب القابلة للتحقق إلى اللعب. عندما ينفذ العقد عملية خارج Ethereum، يقدم دليل دليل على عدم المعرفة لإثبات صحة التنفيذ خارج السلسلة. هذا الدليل (المسمى
البرهان على الصحة) يضمن أن الصفقة صالحة، مما يتيح لإثريوم تطبيق النتيجة على حالتها - دون الانتظار لأي شخص لنقاشها.
لفات النقل بدون معرفةوvalidiumsهما حلول توسيع خارج السلسلة يستخدمان دلائل الصحة لتوفير توسيع آمن. تنفذ هذه البروتوكولات آلاف المعاملات خارج السلسلة وتقدم دلائل للتحقق على الإيثيريوم. يمكن تطبيق تلك النتائج على الفور بمجرد التحقق من الدليل، مما يسمح للإيثيريوم بمعالجة المزيد من المعاملات دون زيادة الحساب على الطبقة الأساسية.
تتمتع خطط التصويت بتقنية البلوكشين بسمات مواتية عديدة: إذا كانت قابلة للتدقيق بالكامل، وآمنة ضد الهجمات، ومقاومة للرقابة، وخالية من القيود الجغرافية. ولكن حتى خطط التصويت على السلسلة البلوكشين ليست معفاة من مشكلة التواطؤ.
معرفة "التنسيق لتقييد المنافسة المفتوحة من خلال خداع واحتيال وإضلال الآخرين"، قد يأخذ التواطؤ شكل من ممثل شرير يؤثر في التصويت عن طريق تقديم رشاوى. على سبيل المثال، قد تتلقى أليس رشوة من بوب للتصويت على الخيار ب حتى لو تفضل الخيار أ.
الرشوة والتواطؤ تقيد فعالية أي عملية تستخدم التصويت كآلية إشارية (خاصةً حيث يمكن للمستخدمين إثبات كيف صوتوا). يمكن أن يكون لهذا عواقب كبيرة، خاصةً حيث تكون الأصوات مسؤولة عن تخصيص الموارد النادرة.
على سبيل المثال،آليات التمويل التربيعي
تعتمد على التبرعات لقياس التفضيل لبعض الخيارات بين مشاريع السلع العامة المختلفة. يُعتبر كل تبرع كـ "صوت" لمشروع معين، حيث تحصل المشاريع التي تحصل على مزيد من الأصوات على مزيد من الأموال من صندوق التوافق.
إن استخدام التصويت على السلسلة يجعل التمويل التربيعي عرضة للتواطؤ: معاملات blockchain عامة ، لذلك يمكن للرشوة فحص نشاط الرشوة على السلسلة لمعرفة كيف "صوتوا". بهذه الطريقة يتوقف التمويل التربيعي عن كونه وسيلة فعالة لتخصيص الأموال بناء على التفضيلات المجمعة للمجتمع.
لحسن الحظ ، تستخدم الحلول الأحدث مثل MACI (الحد الأدنى من البنية التحتية لمكافحة التواطؤ) براهين المعرفة الصفرية لجعل التصويت على السلسلة (على سبيل المثال ، آليات التمويل التربيعية) مقاوما للرشوة والتواطؤ. MACI عبارة عن مجموعة من العقود والبرامج النصية الذكية التي تسمح للمسؤول المركزي (يسمى "المنسق") بتجميع الأصوات وفرز النتائج دون الكشف عن تفاصيل حول كيفية تصويت كل فرد. ومع ذلك، لا يزال من الممكن التحقق من أن الأصوات قد تم عدها بشكل صحيح، أو التأكد من أن فردا معينا شارك في جولة التصويت.
في البداية، يقوم المنسق بنشر عقد MACI على إيثيريوم، بعد ذلك يمكن للمستخدمين التسجيل للتصويت (عن طريق تسجيل مفتاحهم العام في العقد الذكي). يقوم المستخدمون بالتصويت عن طريق إرسال رسائل مشفرة بمفتاحهم العام إلى العقد الذكي (يجب أن يتم توقيع التصويت الصالح بالمفتاح العام الأحدث المرتبط بهوية المستخدم، بالإضافة إلى معايير أخرى). بعد ذلك، يقوم المنسق بمعالجة جميع الرسائل بمجرد انتهاء فترة التصويت، ويقوم بجمع الأصوات والتحقق من النتائج على السلسلة الرئيسية.
في MACI، يتم استخدام البراهين بدون معرفة لضمان صحة الحسابات عن طريق جعله من المستحيل للمنسق معالجة الأصوات بشكل غير صحيح وإجمالي النتائج. يتم تحقيق ذلك من خلال الاشتراط على المنسق توليد براهين ZK-SNARK التي تتحقق من أن جميع الرسائل تم معالجتها بشكل صحيح وأن النتيجة النهائية تتوافق مع مجموع جميع الأصوات الصالحة.
وبالتالي، حتى من دون مشاركة تفصيلية للأصوات لكل مستخدم (كما هو الحال عادةً)، تضمن MACI سلامة النتائج المحسوبة أثناء عملية الفرز. هذه الميزة مفيدة في تقليل فاعلية مخططات التواطؤ الأساسية. يمكننا استكشاف هذا الاحتمال عن طريق استخدام المثال السابق لـ بوب الذي رشى آليس للتصويت لخيار معين:
استخدام MACI يتطلب الثقة بالمنسق عدم التواطؤ مع الرشاوى أو محاولة رش الناخبين أنفسهم. يمكن للمنسق فك تشفير رسائل المستخدمين (اللازمة لإنشاء البرهان)، بحيث يمكنهم التحقق بدقة من كيفية تصويت كل شخص.
ولكن في الحالات التي يظل فيها المنسق صادقًا، تمثل MACI أداة قوية لضمان قداسة التصويت على السلسلة. وهذا ما يفسر شعبيتها بين تطبيقات التمويل التربيعي (على سبيل المثال، clr.fund
) الذين يعتمدون بشكل كبير على نزاهة اختيارات كل فرد في التصويت.
.
إن إنشاء دلائل المعرفة الصفرية يتضمن حسابات معقدة جدًا تُنجز بشكل أفضل على الآلات المتخصصة. نظرًا لأن هذه الآلات مكلفة، فإنها غالبًا ما تكون خارج متناول الأفراد العاديين. بالإضافة إلى ذلك، يجب على التطبيقات التي ترغب في استخدام تقنية الدليل على الصفر أن تأخذ في الاعتبار تكاليف الأجهزة - والتي قد تزيد من تكاليف المستخدمين النهائيين.
يتطلب التحقق من البراهين أيضا حسابا معقدا ويزيد من تكاليف تنفيذ تقنية المعرفة الصفرية في التطبيقات. هذه التكلفة مهمة بشكل خاص في سياق إثبات الحساب. على سبيل المثال ، تدفع ZK-rollups ~ 500,000 غاز للتحقق من إثبات ZK-SNARK واحد على Ethereum ، مع ZK-STARKs التي تتطلب رسوما أعلى.
في ZK-SNARK، يتم إنشاء سلسلة الإشارة المرجعية المشتركة (المعلمات العامة) مرة واحدة وتكون متاحة لإعادة الاستخدام للأطراف الراغبة في المشاركة في بروتوكول الصفر المعرفة. تتم إنشاء المعلمات العامة عبر حفل إعداد موثوق به، حيث يُفترض أن المشاركين صادقون.
ولكن ليس هناك طريقة حقيقية للمستخدمين لتقييم صدق المشاركين ويتعين على المستخدمين أن يأخذوا كلام المطورين على محمل الجد. تعتبر ZK-STARKs خالية من افتراضات الثقة حيث أن العشوائية المستخدمة في توليد السلسلة يمكن التحقق منها علنًا. في الوقت نفسه، يعمل الباحثون على إعدادات غير موثوقة لـ ZK-SNARKs لزيادة أمان آليات الإثبات.
ZK-SNARK يستخدم تشفير المنحنى البيضاوي
ECDSA) للتشفير. بينما خوارزمية ECDSA آمنة الآن، فإن تطوير الحواسيب الكمومية قد يكسر نموذج أمانها في المستقبل.
يُعتبر ZK-STARK مُنيعًا من تهديد الحوسبة الكمومية، حيث يستخدم تجزئة تصادمية للتشفير. على عكس تزويجات المفتاح العام-الخاص المستخدمة في التشفير بالمنحنيات البيضاوية، فإن تجزئة التصادم صعبة أكثر بالنسبة لخوارزميات الحوسبة الكمومية لكسرها.