zkDocs: शून्य-ज्ञान सूचना साझा प्लेटोब्लॉकचैन डेटा इंटेलिजेंस। लंबवत खोज। ऐ.

zkDocs: शून्य-ज्ञान सूचना साझा करना

अधिकांश ब्लॉकचेन लेनदेन डिज़ाइन द्वारा सार्वजनिक होते हैं, जो उनका निरीक्षण करने के इच्छुक किसी भी व्यक्ति के लिए उपलब्ध होते हैं। ऑडिटेबिलिटी के लिए उत्कृष्ट होते हुए भी, यह उन्हें निजी जानकारी प्रसारित करने के लिए कम स्पष्ट विकल्प बनाता है। उदाहरण के लिए, आप अपने सामाजिक सुरक्षा नंबर को एथेरियम ब्लॉकचेन के लिए प्रतिबद्ध नहीं करना चाहेंगे। हालाँकि, हम उपयोग कर सकते हैं शून्य-ज्ञान प्रमाण (जो हमें जानकारी का खुलासा किए बिना जानकारी के बारे में तथ्यों को क्रिप्टोग्राफिक रूप से साबित करने की अनुमति देता है) न केवल गोपनीयता की रक्षा करता है, बल्कि आज के पारंपरिक सूचना साझाकरण और सत्यापन वर्कफ़्लो में भी सुधार करता है।

उदाहरण के लिए: बहुत संगठन और संस्थान बंधक ऋण देने से लेकर कॉलेज प्रवेश तक के आवेदनों के लिए निजी जानकारी को सावधानीपूर्वक साझा करने और उसकी प्रामाणिकता की पुष्टि करने पर भरोसा करते हैं। लेकिन व्यवहार में, इन गोपनीयता-सुरक्षा वर्कफ़्लो में व्यक्तिपरक पहुंच पुष्टिकरण की एक श्रृंखला शामिल होती है क्योंकि मनुष्य अन्य मनुष्यों से पूछताछ करते हैं। वे अक्सर त्रुटि-प्रवण, अकुशल और लीक वाली प्रक्रियाएं होती हैं जो अनावश्यक जानकारी को उजागर करती हैं, और हमारे सबसे संवेदनशील डेटा को संभालने के लिए उपयुक्त नहीं हो सकती हैं।

यहां हम प्रदर्शित करते हैं कि कैसे वेब3 आंदोलन द्वारा विकसित और लोकप्रिय किए गए कई क्रिप्टोग्राफ़िक प्रिमिटिव हमारे नए जारी किए गए माध्यम से गोपनीयता और विकेंद्रीकरण दोनों को संरक्षित करते हुए सूचना सत्यापन वर्कफ़्लो में सुधार कर सकते हैं। zkDocs रेपो. यह "शून्य-ज्ञान सक्षम दस्तावेज़" बनाने का एक उपकरण है जो किसी दिए गए वर्कफ़्लो में विभिन्न पक्षों को जानकारी साझा करने और सत्यापित करने की अनुमति देता है, और यह सुनिश्चित करता है कि यह कुछ मानदंडों को पूरा करता है - इसे अनावश्यक रूप से उजागर किए बिना।

[एम्बेडेड सामग्री]

लेकिन पहले: यह कैसे काम करता है, मुख्य तंत्र, और बहुत कुछ

आइए zkDocs वर्कफ़्लो में तीन महत्वपूर्ण अभिनेताओं के त्वरित अवलोकन के साथ शुरुआत करें, और बंधक के लिए आवेदन करने और स्वीकृत करने के लिए वे कैसे बातचीत कर सकते हैं।

  • सत्यापनकर्ता: zkDoc स्कीमा का व्यवस्थापक या निर्माता। हमारे उदाहरण में, सत्यापनकर्ता बंधक ऋणदाता है।
  • जमाकर्ता: वह व्यक्ति या व्यक्ति जो स्कीमा द्वारा डेटा सत्यापित कराना चाहते हैं। यह ऋण आवेदक या संभावित घर खरीदार है।
  • अनुप्रमाणक: एक विश्वसनीय व्यक्ति या संस्था जो प्रस्तुतकर्ता के एक या अधिक क्षेत्रों की सत्यता को प्रमाणित कर सकती है। यह एक नियोक्ता या गृह मूल्यांकनकर्ता हो सकता है।

आमतौर पर, एक बंधक आवेदन एक सत्यापन वर्कफ़्लो को शुरू करता है जिसमें एक बंधक ऋणदाता (सत्यापनकर्ता) एक आवेदक (जमाकर्ता) की आवश्यकताओं को पूरा करने की पुष्टि करने के लिए अन्य विश्वसनीय संस्थानों को संलग्न करता है। एक बार जब आवेदन एक संस्थान से दूसरे संस्थान (सत्यापकर्ता) में बाउंस हो जाता है, तो मूल ऋणदाता ऋण स्वीकृत कर सकता है।

हमने जो आर्किटेक्चर तैयार किया है, वह सत्यापनकर्ता को फ़ील्ड और विश्वसनीय अनुप्रमाणकों की एक स्कीमा निर्दिष्ट करने की अनुमति देता है, और फिर उन क्षेत्रों पर कुछ बाधाएँ निर्दिष्ट करें। एक बंधक आवेदन के मामले में, ऋणदाता यह निर्दिष्ट कर सकता है कि आवेदक के संपार्श्विक मूल्य का योग उनके बकाया ऋण से अधिक है।

zkDocs प्रस्तुतकर्ता को प्रत्येक अनुप्रमाणक के साथ केवल प्रासंगिक जानकारी साझा करने की भी अनुमति देता है। एक नियोक्ता, उदाहरण के लिए, अनावश्यक वित्तीय विवरण देखे बिना, केवल आवेदक के वेतन और रोजगार की स्थिति को प्रमाणित करने में सक्षम हो सकता है। 

इसके बाद जमाकर्ता एक शून्य-ज्ञान प्रमाण उत्पन्न कर सकता है जो दर्शाता है कि स्कीमा सच्चाई से भरी गई है - और प्रत्येक फ़ील्ड को उचित रूप से सत्यापित किया गया है - बिना किसी अंतर्निहित डेटा का खुलासा किए। कोई भी पक्ष (सत्यापनकर्ता सहित) हल्के गणना के माध्यम से शून्य-ज्ञान प्रमाण को मान्य कर सकता है।

ध्यान देने योग्य दो प्राथमिक तंत्र हैं: सत्यापन और शून्य-ज्ञान प्रमाण.

सत्यापन के लिए ब्लॉकचेन का उपयोग करना

सार्वजनिक ब्लॉकचेन में कई गुण हैं जो उन्हें सत्यापन के लिए आदर्श बनाते हैं: सेंसरशिप प्रतिरोध, सार्वजनिक डेटा उपलब्धता, ऑडिटेबिलिटी और गुप्त हस्ताक्षर कुंजी। सत्यापनकर्ता ब्लॉकचेन पर भेजे गए सभी लेनदेन पर हस्ताक्षर करने के लिए अपनी निजी कुंजी का उपयोग कर सकते हैं, यह सुनिश्चित करते हुए कि सत्यापन नकली या जाली नहीं हो सकते।

हालाँकि, ब्लॉकचेन पर सत्यापन पोस्ट करने का एक नुकसान यह है कि अंतर्निहित मूल्य सार्वजनिक रूप से दिखाई देते हैं। 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(k) आय और वेतन का योग प्रति वर्ष $65,000 से अधिक है

और अंत में, इस जानकारी को सत्यापित करने के लिए जिन पांच संस्थानों पर भरोसा है:

  1. नियोक्ता
  2. गृह मूल्यांकक
  3. 401(k) प्रदाता
  4. खाता प्रदाता की जाँच की जा रही है
  5. ऋणदाता

बंधक के लिए आवेदन करने के लिए, आवेदक zkDocs UI का उपयोग करके "फ़ील्ड" अनुभाग में सूचीबद्ध फ़ील्ड भरता है और प्रत्येक के लिए ऑन-चेन क्रिप्टोग्राफ़िक प्रतिबद्धता प्रकाशित करता है। इसके बाद आवेदक प्रत्येक प्रतिबद्धता के लिए नॉनस के साथ प्रासंगिक क्लियरटेक्स्ट फ़ील्ड भेजता है, प्रमाणित करने वाले प्रत्येक संस्थान को (नीचे सूचीबद्ध सेट से)। trusted_institutions). ZkDocs UI हाइपरलिंक के माध्यम से ऐसा करता है।

प्रत्येक अनुप्रमाणक प्रासंगिक क्लियरटेक्स्ट जानकारी को सत्यापित करता है और अपनी एथेरियम निजी कुंजी के साथ हस्ताक्षर करके प्रतिबद्धता को प्रमाणित करता है। फिर आवेदक प्रतिबद्धताओं और बाधाओं की वैधता पर शून्य-ज्ञान प्रमाण सहित ब्लॉकचेन में लेनदेन जमा कर सकता है, इस प्रकार एक वैध बंधक प्राप्तकर्ता के रूप में अर्हता प्राप्त कर सकता है। सत्यापन करने वाली बंधक संस्था को आवेदन की अखंडता की पुष्टि करने के लिए अतिरिक्त सत्यापन करने की आवश्यकता नहीं होगी।

उदाहरण: मेकरडीएओ आरडब्ल्यूए ऋण

मेकरडीएओ एक ऋण प्रोटोकॉल है, जो आज तक जारी किया गया है $6 बिलियन का ऋण डीएआई (एक यूएसडी-पेग्ड टोकन) में अंकित। मेकर का रियल वर्ल्ड एसेट्स (आरडब्ल्यूए) डिवीजन डाउनस्ट्रीम ऋणदाताओं को डीएआई-मूल्य वाले ऋण प्रदान करने पर काम कर रहा है, जिससे डीएआई सीधे वास्तविक दुनिया के आर्थिक विकास को बढ़ावा दे सके। लेकिन मेकर एक डीएओ है, जिसके गवर्नेंस टोकन का स्वामित्व लगभग 78,000 अद्वितीय वॉलेट्स के पास है, जिनमें से प्रत्येक को गवर्नेंस प्रक्रिया में भाग लेने और प्रोटोकॉल के भविष्य को चलाने का अधिकार है। 

अधिकांश बड़े निर्माता निर्णयों, जैसे कि संपार्श्विक के नए स्रोत को लेना, पर चर्चा की जाती है सार्वजनिक मंच. लेकिन मेकर से ऋण के लिए आवेदन करने वाली कोई संस्था या व्यक्ति गोपनीयता से लेकर व्यापार रहस्यों तक कई कारणों से अपनी संपूर्ण वित्तीय स्थिति को जनता के साथ साझा करने में रुचि नहीं ले सकता है। इसके बजाय निर्माता निम्नलिखित के समान स्कीमा के साथ एक 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"
    }
  ]
}

यह स्कीम शासन प्रतिभागियों को यह सुनिश्चित करने की अनुमति देगी कि प्रोटोकॉल सभी आरडब्ल्यूए ऋण आवेदकों को उनकी गोपनीयता का उल्लंघन किए बिना अनुचित जोखिम नहीं ले रहा है।

***
zkDocs, जैसा कि वर्तमान में लागू किया गया है, इसका उपयोग करता है:

  • सत्यापन की प्रामाणिकता को सत्यापित करने के लिए हस्ताक्षरित लेनदेन (या कोई ईवीएम-संगत श्रृंखला)।
  • प्रतिबद्धताओं और सत्यापन दोनों को संग्रहीत करने के लिए सार्वजनिक ब्लॉकस्पेस
  • शून्य-ज्ञान प्रमाणों को सत्यापित करने के लिए स्मार्ट अनुबंध 

zkDocs की ऑडिटेबिलिटी और गोपनीयता गुणों के अलावा, एक और दिलचस्प धुरी है: एक बार जब निजी सूचना सत्यापन सार्वजनिक ब्लॉकचेन पर लाइव हो जाता है, तो उपयोगकर्ता और डेवलपर्स अपने स्वयं के एप्लिकेशन के साथ zkDoc-सत्यापित जानकारी बना सकते हैं। कोई कल्पना कर सकता है कि ऋण इतिहास डीएओ प्रतिष्ठा, प्रोटोकॉल मापदंडों को समायोजित करने के लिए समुदाय-सत्यापित त्रैमासिक फाइलिंग, तात्कालिक कॉलेज आवेदन, किसी अन्य समुदाय के भीतर विश्वसनीय उपयोगकर्ताओं के लिए रियायती प्रोटोकॉल दरें और बहुत कुछ कर रहा है।

अवधारणा के इस प्रमाण को साझा करने में हमारा लक्ष्य यह प्रदर्शित करना है कि इन नए कंप्यूटिंग प्राइमेटिव्स का उपयोग आज उत्पादन में कैसे किया जा सकता है, और अधिक अनुप्रयोगों को ऑनलाइन लाकर उनके अपनाने में तेजी लाने में मदद करना है। यदि आप zkDocs को उत्पाद के लिए तैनात करने या किसी समान योजना का उपयोग करने की योजना बना रहे हैं, तो कृपया बेझिझक संपर्क करें ट्विटर.

समय टिकट:

से अधिक आंद्रेसेन होरोविट्ज़