zkDocs: تبادل المعلومات صفر المعرفة ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

zkDocs: تبادل المعلومات بدون معرفة

غالبية معاملات blockchain عامة حسب التصميم ، ومتاحة لأي شخص يرغب في فحصها. على الرغم من كونها ممتازة لقابلية التدقيق ، إلا أن هذا يجعلها خيارًا أقل وضوحًا لنقل المعلومات الخاصة. لن ترغب في الالتزام برقم الضمان الاجتماعي الخاص بك في Ethereum blockchain ، على سبيل المثال. يمكننا ، مع ذلك ، استخدام البراهين صفر المعرفة (التي تسمح لنا بإثبات الحقائق حول المعلومات بشكل مشفر دون الكشف عن المعلومات) ليس فقط لحماية الخصوصية ، ولكن أيضًا لتحسين عمليات سير العمل التقليدية لمشاركة المعلومات والتحقق منها اليوم.

على سبيل المثال، كثير تعتمد المنظمات والمؤسسات على مشاركة المعلومات الخاصة بعناية والتحقق من صحتها للطلبات بدءًا من الإقراض العقاري وحتى القبول في الكلية. ولكن في الممارسة العملية ، تتضمن تدفقات العمل الخاصة بحماية الخصوصية سلسلة من تأكيدات الوصول الشخصية بينما يستفسر البشر عن أشخاص آخرين. غالبًا ما تكون عمليات عرضة للخطأ وغير فعالة ومتسربة وتكشف معلومات غير ضرورية ، وقد لا تكون مناسبة للتعامل مع بياناتنا الأكثر حساسية.

نوضح هنا كيف يمكن للعديد من أساسيات التشفير التي تم تطويرها ونشرها بواسطة حركة الويب 3 تحسين سير عمل التحقق من المعلومات ، مع الحفاظ على كل من الخصوصية واللامركزية ، من خلال إصدارنا الجديد zkDocs الريبو. إنها أداة لإنشاء "مستندات ممكّنة للمعرفة الصفرية" تسمح لأطراف مختلفة في سير عمل معين بمشاركة المعلومات والتحقق منها ، والتأكد من أنها تفي بمعايير معينة - دون الكشف عنها دون داع.

[المحتوى جزءا لا يتجزأ]

لكن أولاً: كيف يعمل ، والآليات الرئيسية ، وأكثر من ذلك

لنبدأ بنظرة عامة سريعة على ثلاثة فاعلين مهمين في سير عمل zkDocs ، وكيف يمكن أن يتفاعلوا لتقديم طلب للحصول على قرض عقاري والموافقة عليه.

  • المدقق: المسؤول أو منشئ مخطط zkDoc. في مثالنا ، المدقق هو مقرض الرهن العقاري.
  • المرسل: الفرد أو الأفراد الذين يسعون إلى التحقق من البيانات بواسطة المخطط. هذا هو مقدم طلب القرض أو مشتري منزل محتمل.
  • المصدق: فرد أو مؤسسة موثوقة يمكنها أن تشهد على مصداقية واحد أو أكثر من مجالات مقدم الطلب. قد يكون هذا هو صاحب العمل أو المثمن المنزل.

عادةً ما يبدأ طلب الرهن العقاري سير عمل التحقق حيث يقوم مقرض الرهن العقاري (المدقق) بإشراك مؤسسات أخرى موثوق بها لتأكيد أن مقدم الطلب (مقدم الطلب) يفي بمتطلباتها. بمجرد ارتداد الطلب من مؤسسة إلى أخرى (مصدقون) ، يمكن للمقرض الأصلي الموافقة على القرض.

تسمح البنية التي نضعها للمحقق بتحديد مخطط الحقول والمصدقين الموثوق بهم, ثم حدد بعض القيود على تلك الحقول. في حالة طلب الرهن العقاري ، قد يحدد المُقرض أن مجموع قيمة الضمان لمقدم الطلب أكبر من ديونه المستحقة.

يسمح zkDocs أيضًا للمرسل بمشاركة المعلومات ذات الصلة فقط مع كل مصدق. قد يكون صاحب العمل قادرًا فقط على إثبات أجور مقدم الطلب وحالة التوظيف ، على سبيل المثال ، دون رؤية تفاصيل مالية غير ضرورية. 

يمكن للمرسل بعد ذلك إنشاء إثبات عدم المعرفة يوضح أن المخطط قد تم ملؤه بصدق - وأن كل حقل قد تم التصديق عليه بشكل صحيح - دون الكشف عن أي من البيانات الأساسية. يمكن لأي طرف (بما في ذلك المدقق) التحقق من صحة إثبات عدم المعرفة من خلال حساب خفيف الوزن.

هناك آليتان أساسيتان يجب ملاحظتهما: شهادات و البراهين صفر المعرفة.

استخدام سلاسل الكتل للحصول على الشهادات

تحتوي البلوكشين العامة على عدد من الخصائص التي تجعلها مثالية للشهادات: مقاومة الرقابة ، وتوافر البيانات العامة ، وقابلية التدقيق ، ومفاتيح التوقيع السرية. يمكن للمصدقين استخدام مفتاحهم الخاص للتوقيع على جميع المعاملات المرسلة إلى blockchain ، مما يضمن عدم تزوير الشهادات أو تزويرها.

ومع ذلك ، فإن أحد الجوانب السلبية لنشر الشهادات على blockchain هو أن القيم الأساسية مرئية للجمهور. zkDocs يحل هذا عن طريق البث التزامات التشفير إلى القيم بدلاً من قيم النص الواضح. تظل هذه الالتزامات متاحة للجمهور ، لكن قيمها الأساسية غير مرئية.

ما هو التزام التشفير؟

يسمح التزام التشفير لطرف واحد بإنشاء التزام ببعض البيانات الخاصة. في وقت لاحق يمكن للمتعهد أن يفتح الالتزام للكشف عن البيانات الملتزمة. 

يجب أن تكون مخططات الالتزام (1) مخفية ، وهذا يعني أن الالتزام لا يكشف شيئًا عن البيانات ، و (2) ملزمًا ، مما يعني أن الملتزم لا يمكنه العثور على التزام يمكنه فتحه بطريقتين مختلفتين. 

تم إنشاء أبسط مخطط التزام من دالة تجزئة تشفير - على سبيل المثال ، ملف تجزئة بوسيدون. للالتزام ببعض البيانات ، يحسب الملتزم: التزام ← بوسيدون (البيانات, السفير البابوي)، أين السفير البابوي عبارة عن سلسلة عشوائية من 512 بت. لفتح الالتزام لاحقًا ، يكشف الملتزم عن البيانات و السفير البابوي. يمكن لأي شخص التحقق من أن الالتزام تم فتحه بشكل صحيح.

التحقق من البيانات الخاصة من خلال البراهين الصفرية المعرفة

البراهين الصفرية هي طريقة لإثبات حقيقة حول البيانات دون الكشف عن أي شيء حول البيانات الأساسية. باستخدام zkDocs ، يمكن للمرسل إنشاء إثبات عدم المعرفة على أن جميع البيانات قد التزمت بالقيود المطلوبة وتفي بالقيود المطلوبة. يمكن لأي طرف ثالث تشغيل حساب التحقق دون معرفة البيانات الأساسية أو معلومات عنها.

والنتيجة هي أن البيانات المطلوبة للتحقق من إرسال مخطط zkDoc متاحة للجمهور وقابلة للتدقيق بالكامل ، بينما تظل دائمًا خاصة.

على وجه التحديد ، يُنشئ المُرسِل دليلًا على عدم المعرفة بأنه يعرف مصفوفة من (قيمنا, السفير البابوي) أزواج مثل:

  • poseidon(value[i], nonce[i]) == prior_commitment[i]و
  • value[0], …, value[n] استيفاء القيود

يمكن للمرسل إنشاء دليل عدم المعرفة باستخدام هذه الدائرة وبثه إلى أي طرف مهتم بالتحقق من بياناته. يمكن لأي شخص تشغيل الإثبات وتأكيد صلاحية الحقول الموجودة في المخطط.

للتوضيح ، دعنا نلقي نظرة على دراستي حالة قصيرتين.

مثال: طلب الرهن العقاري

لنعد أولاً إلى طلب الرهن العقاري ، وهو مثال رائع لسير عمل تصديق المعلومات الذي يمكن تحسينه باستخدام zkDocs.

يقوم مقرض الرهن العقاري (المتحقق ، في هذه الحالة) بإنشاء مخطط لـ zkDoc على النحو التالي:


{
  "fields": [
    {
      "field_name": "salary"
    },
    {
      "field_name": "401k_income"
    },
    {
      "field_name": "bank_account_balance"
    },
    {
      "field_name": "property_value"
    },
    {
      "field_name": "loan_value"
    }
  ],
  "constraints": [
    {
      "fieldA": "bank_account_balance",
      "fieldB": "property_value",
      "op": "ADD",
      "constraint": "GT",
      "fieldCompare": "loan_value"
    },
    {
      "fieldA": "salary",
      "fieldB": "401k_income",
      "op": "ADD",
      "constraint": "GT",
      "constant": 65000
    }
  ],
  "trusted_institutions": [
    {
      "human_name": "Employer",
      "address": "0xabcd..."
    },
    {
      "human_name": "Home Appraiser",
      "address": "0xabcd..."
    },
    {
      "human_name": "401k Provider",
      "address": "0xabcd..."
    },
    {
      "human_name": "Checking Account Provider",
      "address": "0xabcd..."
    },
    {
      "human_name": "Creditor",
      "address": "0xabcd..."
    }
  ]
}

أولاً ، يحدد المخطط عدة مجالات يهتم بها المُقرض: الراتب ، ودخل 401 (ك) ، والتحقق من رصيد الحساب ، وقيمة العقار ، وقيمة القرض. 

ثم هناك قيدان على هذه الحقول: 

  1. مجموع قيمة الممتلكات ورصيد الحساب المصرفي أكبر من قيمة القرض
  2. مجموع الدخل والراتب 401 (ك) أكبر من 65,000 دولار في السنة

وأخيرًا ، هناك خمس مؤسسات تثق بها لتشهد على هذه المعلومات:

  1. العمل الحالي
  2. المثمن المنزل
  3. مزود 401 (ك)
  4. التحقق من مزود الحساب
  5. دائن

للتقدم بطلب للحصول على قرض عقاري ، يملأ مقدم الطلب الحقول المدرجة في قسم "الحقول" باستخدام zkDocs UI وينشر التزام تشفير على السلسلة لكل منها. يرسل مقدم الطلب بعد ذلك الحقول ذات النص الواضح ، جنبًا إلى جنب مع الرموز غير المسموح بها لكل التزام ، لكل من مؤسسات التصديق (من المجموعة المدرجة تحت trusted_institutions). تقوم واجهة مستخدم zkDocs بذلك من خلال الارتباطات التشعبية.

يتحقق كل مصدق من معلومات النص الواضح ذات الصلة ويشهد على الالتزام بالتوقيع باستخدام مفتاح Ethereum الخاص. بعد ذلك ، يمكن لمقدم الطلب إرسال معاملة إلى blockchain بما في ذلك إثبات عدم المعرفة بشأن صحة الالتزامات والقيود ، وبالتالي يكون مؤهلاً كمستلم رهن عقاري صالح. لن تحتاج مؤسسة التحقق من الرهن العقاري إلى إجراء تحقق إضافي لتأكيد سلامة التطبيق.

مثال: قروض MakerDAO RWA

MakerDAO هو بروتوكول إقراض تم إصداره حتى الآن 6 مليارات دولار في شكل قروض المقومة بعملة DAI (رمز مرتبط بالدولار الأمريكي). يعمل قسم أصول العالم الحقيقي (RWA) من Maker على تقديم قروض مقومة بـ DAI إلى المقرضين في المراحل النهائية ، مما يمكّن DAI من دعم النمو الاقتصادي في العالم الحقيقي بشكل مباشر. لكن Maker هو DAO ، يمتلك رمز الحوكمة الخاص به حوالي 78,000 محفظة فريدة ، لكل منها الحق في المشاركة في عملية الحوكمة وتوجيه مستقبل البروتوكول. 

تتم مناقشة معظم قرارات Maker الكبيرة ، مثل اتخاذ قرار بشأن مصدر جديد للضمانات ، في المنتديات العامة. لكن المؤسسة أو الفرد الذي يتقدم بطلب للحصول على قرض من Maker قد لا يكون مهتمًا بمشاركة كامل بياناته المالية مع الجمهور لعدد من الأسباب ، من الخصوصية إلى الأسرار التجارية. يمكن أن ينشر Maker بدلاً من ذلك ملف zkDoc بمخطط مشابه لما يلي:


{
  "fields": [
    {
      "field_name": "custodian_name"
    }, 
    {
      "field_name""total_loan"
    },
    {
      "field_name": "total_collateral_value"
    },
    {
      "field_name": "amount_repaid"
    }
  ],
  "constraints": [
    {
      "fieldA": "total_loan",
      "fieldB": "amount_repaid",
      "op": "SUB",
      "constraint": "LT",
      "fieldCompare": "total_collateral_value"
    }
  ],
  "trusted_institutions": [
    {
      "address": "0xabcd…",
      "human_name": "Bob the Custodian"
    }
  ]
}

سيسمح هذا المخطط للمشاركين في الحوكمة بالتأكد من أن البروتوكول لا يتعرض لمخاطر غير معقولة ، دون مطالبة جميع المتقدمين للحصول على قرض RWA بانتهاك خصوصيتهم.

***
zkDocs ، كما هو مطبق حاليًا ، يستخدم:

  • المعاملات الموقعة (أو أي سلسلة متوافقة مع EVM) للتحقق من صحة الشهادات
  • فضاء عام لتخزين الالتزامات والشهادات
  • عقود ذكية للتحقق من براهين عدم المعرفة 

إلى جانب قابلية التدقيق وخصائص الخصوصية لـ zkDocs ، هناك محور آخر مثير للاهتمام: بمجرد أن يتم التحقق من المعلومات الخاصة مباشرة على blockchain العامة ، يمكن للمستخدمين والمطورين إنشاء معلومات تم التحقق منها بواسطة zkDoc مع تطبيقاتهم الخاصة. يمكن للمرء أن يتخيل أن سجل القروض يلعب دورًا في سمعة DAO ، وعمليات الإيداع ربع السنوية التي تم التحقق منها من المجتمع لتعديل معلمات البروتوكول ، وتطبيقات الكلية الفورية ، ومعدلات البروتوكول المخفضة للمستخدمين الموثوق بهم داخل مجتمع آخر ، وأكثر من ذلك بكثير.

هدفنا في مشاركة هذا الدليل على المفهوم هو إظهار كيف يمكن استخدام بدائل الحوسبة الجديدة هذه في الإنتاج اليوم ، وللمساعدة في تسريع اعتمادها من خلال جلب المزيد من التطبيقات عبر الإنترنت. إذا كنت تخطط لنشر zkDocs للحث أو استخدام نظام مماثل ، فلا تتردد في التواصل معنا تويتر.

الطابع الزمني:

اكثر من أندرسن هورويتز