शून्य-ज्ञान पुरावे म्हणजे काय?
शून्य-ज्ञान पुरावा म्हणजे विधान स्वतः उघड न करता त्या विधानाची वैधता सिद्ध करण्याचा एक मार्ग. 'प्रोव्हर' हा दावा सिद्ध करण्याचा प्रयत्न करणारा पक्ष आहे, तर 'व्हेरिफायर' हा दाव्याला प्रमाणित करण्यासाठी जबाबदार असतो.
शून्य-ज्ञान पुरावे प्रथम 1985 च्या एका पेपरमध्ये दिसले, “The knowledge complexity of interactive proof systems (opens in a new tab)” जे आज मोठ्या प्रमाणावर वापरल्या जाणार्या शून्य-ज्ञान पुराव्यांची व्याख्या प्रदान करते:
शून्य-ज्ञान प्रोटोकॉल ही एक पद्धत आहे ज्याद्वारे एक पक्ष (प्रोव्हर) दुसऱ्या पक्षाला (व्हेरिफायर) काहीतरी खरे आहे हे सिद्ध करू शकतो, या वस्तुस्थितीशिवाय कोणतीही माहिती उघड न करता की हे विशिष्ट विधान खरे आहे.
शून्य-ज्ञान पुराव्यांमध्ये गेल्या काही वर्षांत सुधारणा झाली आहे आणि ते आता अनेक वास्तविक-जगातील ऍप्लिकेशन्समध्ये वापरले जात आहेत.
आपल्याला शून्य-ज्ञान पुराव्यांची गरज का आहे?
शून्य-ज्ञान पुराव्यांनी अप्लाईड क्रिप्टोग्राफीमध्ये एक मोठी प्रगती दर्शविली, कारण त्यांनी व्यक्तींसाठी माहितीची सुरक्षितता सुधारण्याचे वचन दिले. तुम्ही एखाद्या दाव्याची (उदा. “मी X देशाचा नागरिक आहे”) दुसऱ्या पक्षाला (उदा. सेवा प्रदाता) कशी सिद्धी द्याल याचा विचार करा. तुम्हाला तुमच्या दाव्याला दुजोरा देण्यासाठी "पुरावा" द्यावा लागेल, जसे की राष्ट्रीय पासपोर्ट किंवा ड्रायव्हरचा परवाना.
परंतु या दृष्टिकोनात समस्या आहेत, मुख्यत्वे गोपनीयतेचा अभाव. तृतीय-पक्ष सेवांसोबत शेअर केलेली वैयक्तिक ओळखण्यायोग्य माहिती (PII) केंद्रीय डेटाबेसमध्ये संग्रहित केली जाते, जी हॅकसाठी असुरक्षित असतात. ओळख चोरी ही एक गंभीर समस्या बनल्यामुळे, संवेदनशील माहिती शेअर करण्यासाठी अधिक गोपनीयता-संरक्षक माध्यमांची मागणी आहे.
शून्य-ज्ञान पुरावे ही समस्या दाव्यांची वैधता सिद्ध करण्यासाठी माहिती उघड करण्याची गरज दूर करून सोडवतात. शून्य-ज्ञान प्रोटोकॉल विधानाला ('विटनेस' म्हटले जाते) इनपुट म्हणून वापरून त्याच्या वैधतेचा एक संक्षिप्त पुरावा तयार करतो. हा पुरावा विधान खरे असल्याची मजबूत हमी देतो आणि ते तयार करण्यासाठी वापरलेली माहिती उघड करत नाही.
आपल्या पूर्वीच्या उदाहरणाकडे परत जाताना, तुमच्या नागरिकत्वाचा दावा सिद्ध करण्यासाठी तुम्हाला फक्त शून्य-ज्ञान पुराव्याची गरज आहे. व्हेरिफायरला फक्त हे तपासावे लागते की पुराव्याचे काही गुणधर्म खरे आहेत की नाही, जेणेकरून त्याला खात्री पटेल की मूळ विधान देखील खरे आहे.
शून्य-ज्ञान पुराव्यांसाठी वापर-प्रकरणे
अनामिक पेमेंट
क्रेडिट कार्ड पेमेंट अनेकदा अनेक पक्षांना दिसतात, ज्यात पेमेंट प्रदाता, बँक आणि इतर इच्छुक पक्ष (उदा. सरकारी अधिकारी) यांचा समावेश असतो. आर्थिक देखरेखीचे फायदे बेकायदेशीर क्रियाकलाप ओळखण्यासाठी असले तरी, ते सामान्य नागरिकांच्या गोपनीयतेला देखील कमी करते.
क्रिप्टोकरन्सी वापरकर्त्यांना खाजगी, पीअर-टू-पीअर व्यवहार करण्यासाठी एक माध्यम प्रदान करण्याच्या उद्देशाने होत्या. परंतु बहुतेक क्रिप्टोकरन्सी व्यवहार सार्वजनिक ब्लॉकचेनवर उघडपणे दिसतात. वापरकर्त्याची ओळख अनेकदा टोपणनावाने असते आणि ती एकतर हेतुपुरस्सर वास्तविक-जगातील ओळखींशी जोडलेली असते (उदा. Twitter किंवा GitHub प्रोफाइलवर ETH ॲड्रेस समाविष्ट करून) किंवा मूलभूत ऑन आणि ऑफचेन डेटा विश्लेषणाचा वापर करून वास्तविक-जगातील ओळखींशी जोडली जाऊ शकते.
पूर्णपणे अनामिक व्यवहारांसाठी डिझाइन केलेले विशिष्ट “प्रायव्हसी कॉइन्स” आहेत. Zcash आणि Monero सारखे गोपनीयता-केंद्रित ब्लॉकचेन, प्रेषक/प्राप्तकर्ता ॲड्रेस, मालमत्तेचा प्रकार, प्रमाण आणि व्यवहाराची टाइमलाइन यासह व्यवहाराचे तपशील लपवतात.
प्रोटोकॉलमध्ये शून्य-ज्ञान तंत्रज्ञान अंतर्भूत करून, गोपनीयता-केंद्रित नेटवर्क ला व्यवहार डेटा ऍक्सेस करण्याची आवश्यकता न ठेवता व्यवहार प्रमाणित करण्याची परवानगी देतात. EIP-7503 (opens in a new tab) हे एका प्रस्तावित डिझाइनचे उदाहरण आहे जे Ethereum ब्लॉकचेनवर मूल्याचे मूळ खाजगी हस्तांतरण सक्षम करेल. तथापि, सुरक्षा, नियामक आणि UX चिंतांच्या मिश्रणामुळे असे प्रस्ताव लागू करणे कठीण आहे.
शून्य-ज्ञान पुरावे सार्वजनिक ब्लॉकचेनवरील व्यवहार अनामिक करण्यासाठी देखील लागू केले जात आहेत. याचे एक उदाहरण म्हणजे Tornado Cash, एक विकेंद्रित, नॉन-कस्टोडियल सेवा जी वापरकर्त्यांना Ethereum वर खाजगी व्यवहार करण्याची परवानगी देते. Tornado Cash व्यवहारांचे तपशील अस्पष्ट करण्यासाठी आणि आर्थिक गोपनीयतेची हमी देण्यासाठी शून्य-ज्ञान पुराव्यांचा वापर करते. दुर्दैवाने, ही "ऑप्ट-इन" गोपनीयता साधने असल्याने ती अवैध क्रियाकलापांशी संबंधित आहेत. यावर मात करण्यासाठी, सार्वजनिक ब्लॉकचेनवर अखेरीस गोपनीयता डीफॉल्ट व्हावी लागेल. Ethereum वरील गोपनीयतेबद्दल अधिक जाणून घ्या.
ओळख संरक्षण
सध्याच्या ओळख व्यवस्थापन प्रणाली वैयक्तिक माहितीला धोक्यात घालतात. शून्य-ज्ञान पुरावे संवेदनशील तपशीलांचे संरक्षण करताना व्यक्तींना ओळख प्रमाणित करण्यात मदत करू शकतात.
शून्य-ज्ञान पुरावे विशेषतः विकेंद्रित ओळख च्या संदर्भात उपयुक्त आहेत. विकेंद्रित ओळख (ज्याला 'स्व-सार्वभौम ओळख' असेही म्हटले जाते) व्यक्तीला वैयक्तिक ओळखकर्त्यांवर नियंत्रण ठेवण्याची क्षमता देते. तुमचा कर आयडी किंवा पासपोर्ट तपशील उघड न करता तुमचे नागरिकत्व सिद्ध करणे हे शून्य-ज्ञान तंत्रज्ञान विकेंद्रित ओळख कशी सक्षम करते याचे एक चांगले उदाहरण आहे.
ZKP + कृतीमधील ओळख: Ethereum वर भूतान राष्ट्रीय डिजिटल आयडी (NDI)
ओळख व्यवस्थापन प्रणालीसाठी ZKP वापरण्याचे एक वास्तविक-जगातील उदाहरण म्हणजे भूतानच्या राज्याचे राष्ट्रीय डिजिटल आयडी (NDI) प्रणाली, जी Ethereum वर तयार केली आहे. भूतानची NDI नागरिकांना त्यांच्या आयडीवरील संवेदनशील वैयक्तिक डेटा उघड न करता, स्वतःबद्दलची तथ्ये, जसे की "मी एक नागरिक आहे" किंवा "मी 18 वर्षांपेक्षा मोठा आहे" हे क्रिप्टोग्राफिकली सिद्ध करण्याची परवानगी देण्यासाठी ZKP चा वापर करते.
विकेंद्रित ओळख केस स्टडीमध्ये भूतान NDI बद्दल अधिक जाणून घ्या.
मानवतेचा पुरावा
आज कृतीत असलेल्या शून्य-ज्ञान पुराव्यांच्या सर्वात मोठ्या प्रमाणावर वापरल्या जाणार्या उदाहरणांपैकी एक म्हणजे World ID protocol (opens in a new tab), ज्याला “AI च्या युगासाठी जागतिक डिजिटल पासपोर्ट” म्हणून ओळखले जाऊ शकते. हे लोकांना वैयक्तिक माहिती उघड न करता ते अद्वितीय व्यक्ती आहेत हे सिद्ध करण्याची परवानगी देते. हे Orb नावाच्या उपकरणाद्वारे साध्य केले जाते, जे व्यक्तीच्या डोळ्यातील बुबुळ (iris) स्कॅन करते आणि एक आयरीस कोड तयार करते. व्यक्ती जैविक दृष्ट्या अद्वितीय मानव आहे याची खात्री करण्यासाठी आयरीस कोड तपासला जातो आणि सत्यापित केला जातो. पडताळणीनंतर, वापरकर्त्याच्या डिव्हाइसवर व्युत्पन्न केलेली ओळख वचनबद्धता (आणि बायोमेट्रिक डेटाशी जोडलेली किंवा त्यातून घेतलेली नाही) ब्लॉकचेनवरील सुरक्षित सूचीमध्ये जोडली जाते. नंतर, जेव्हा वापरकर्त्याला ते सत्यापित मानव आहेत हे सिद्ध करायचे असेल – मग ते साइन इन करणे, मतदान करणे किंवा इतर कृती करणे असो – तेव्हा ते एक शून्य-ज्ञान पुरावा तयार करू शकतात जो सूचीमधील त्यांच्या सदस्यत्वाची पुष्टी करतो. शून्य-ज्ञान पुरावा वापरण्याचे सौंदर्य हे आहे की फक्त एकच विधान उघड होते: ही व्यक्ती अद्वितीय आहे. बाकी सर्व काही खाजगी राहते.
World ID हे Ethereum Foundation मधील PSE टीम (opens in a new tab) ने विकसित केलेल्या Semaphore protocol (opens in a new tab) वर अवलंबून आहे. Semaphore हे शून्य-ज्ञान पुरावे तयार आणि सत्यापित करण्याचा एक हलका पण शक्तिशाली मार्ग म्हणून डिझाइन केले आहे. हे वापरकर्त्यांना ते गटाचे कोणते सदस्य आहेत हे न दाखवता ते गटाचा भाग (या प्रकरणात, सत्यापित मानव) आहेत हे सिद्ध करू देते. Semaphore अत्यंत लवचिक देखील आहे, जे ओळख पडताळणी, कार्यक्रमांमधील सहभाग किंवा क्रेडेन्शियलची मालकी यासारख्या विस्तृत निकषांवर आधारित गट तयार करण्यास अनुमती देते.
प्रमाणीकरण
ऑनलाइन सेवा वापरण्यासाठी तुमची ओळख आणि त्या प्लॅटफॉर्मवर प्रवेश करण्याचा अधिकार सिद्ध करणे आवश्यक आहे. यासाठी अनेकदा नावे, ईमेल ॲड्रेस, जन्मतारीख इत्यादी वैयक्तिक माहिती प्रदान करणे आवश्यक असते. तुम्हाला लांब पासवर्ड लक्षात ठेवण्याची किंवा प्रवेश गमावण्याचा धोका पत्करण्याची देखील आवश्यकता असू शकते.
तथापि, शून्य-ज्ञान पुरावे प्लॅटफॉर्म आणि वापरकर्ते दोघांसाठी प्रमाणीकरण सुलभ करू शकतात. एकदा सार्वजनिक इनपुट (उदा. प्लॅटफॉर्मच्या वापरकर्त्याच्या सदस्यत्वाची साक्ष देणारा डेटा) आणि खाजगी इनपुट (उदा. वापरकर्त्याचे तपशील) वापरून ZK-पुरावा तयार झाल्यावर, वापरकर्ता सेवेमध्ये प्रवेश करण्याची आवश्यकता असताना आपली ओळख प्रमाणित करण्यासाठी तो सादर करू शकतो. यामुळे वापरकर्त्यांसाठी अनुभव सुधारतो आणि संस्थांना मोठ्या प्रमाणात वापरकर्ता माहिती संग्रहित करण्याच्या गरजेपासून मुक्त करते.
पडताळणीयोग्य संगणन
पडताळणीयोग्य संगणन हे ब्लॉकचेन डिझाइन सुधारण्यासाठी शून्य-ज्ञान तंत्रज्ञानाचा आणखी एक अनुप्रयोग आहे. पडताळणीयोग्य संगणन आपल्याला पडताळणीयोग्य परिणाम कायम ठेवताना दुसऱ्या घटकाकडे संगणन आउटसोर्स करण्याची परवानगी देते. तो घटक कार्यक्रम योग्यरित्या कार्यान्वित झाला होता हे सिद्ध करणाऱ्या पुराव्यासह निकाल सादर करतो.
सुरक्षितता कमी न करता ब्लॉकचेनवर प्रक्रिया वेग सुधारण्यासाठी पडताळणीयोग्य संगणन महत्वाचे आहे. हे समजून घेण्यासाठी Ethereum च्या स्केलिंगसाठी प्रस्तावित उपायांमधील फरक जाणून घेणे आवश्यक आहे.
ऑनचेन स्केलिंग सोल्यूशन्स, जसे की शार्डिंग, साठी ब्लॉकचेनच्या बेस लेअरमध्ये मोठ्या प्रमाणात बदल आवश्यक आहेत. तथापि, हा दृष्टिकोन अत्यंत गुंतागुंतीचा आहे आणि अंमलबजावणीतील त्रुटी Ethereum च्या सुरक्षा मॉडेलला कमी करू शकतात.
ऑफचेन स्केलिंग सोल्यूशन्स ला कोर Ethereum प्रोटोकॉल पुन्हा डिझाइन करण्याची आवश्यकता नाही. त्याऐवजी ते Ethereum च्या बेस लेअरवर थ्रुपुट सुधारण्यासाठी आउटसोर्स केलेल्या संगणन मॉडेलवर अवलंबून असतात.
हे व्यवहारात कसे कार्य करते ते येथे आहे:
-
प्रत्येक व्यवहारावर प्रक्रिया करण्याऐवजी, Ethereum एका वेगळ्या चेनवर अंमलबजावणी ऑफलोड करते.
-
व्यवहारांवर प्रक्रिया केल्यानंतर, दुसरी चेन Ethereum च्या स्थितीत लागू होण्यासाठी निकाल परत करते.
येथे फायदा असा आहे की Ethereum ला कोणतीही अंमलबजावणी करण्याची गरज नाही आणि फक्त आउटसोर्स केलेल्या संगणनातून मिळालेले निकाल त्याच्या स्थितीत लागू करण्याची गरज आहे. यामुळे नेटवर्कमधील गर्दी कमी होते आणि व्यवहाराचा वेगही सुधारतो (ऑफचेन प्रोटोकॉल जलद अंमलबजावणीसाठी ऑप्टिमाइझ केलेले असतात).
चेनला ऑफचेन व्यवहार पुन्हा कार्यान्वित न करता प्रमाणित करण्याचा मार्ग आवश्यक आहे, अन्यथा ऑफचेन अंमलबजावणीचे मूल्य नष्ट होते.
येथे पडताळणीयोग्य संगणन कामाला येते. जेव्हा नोड Ethereum च्या बाहेर व्यवहार कार्यान्वित करतो, तेव्हा तो ऑफचेन अंमलबजावणीची अचूकता सिद्ध करण्यासाठी शून्य-ज्ञान पुरावा सादर करतो. हा पुरावा ( म्हटले जाते) व्यवहार वैध असल्याची हमी देतो, ज्यामुळे Ethereum कोणालाही त्यावर विवाद करण्याची वाट न पाहता त्याच्या स्थितीत निकाल लागू करू शकते.
झिरो-नॉलेज रोलअप्स आणि व्हॅलिडियम्स हे दोन ऑफचेन स्केलिंग सोल्यूशन्स आहेत जे सुरक्षित स्केलेबिलिटी प्रदान करण्यासाठी वैधता पुराव्यांचा वापर करतात. हे प्रोटोकॉल हजारो व्यवहार ऑफचेन कार्यान्वित करतात आणि Ethereum वर पडताळणीसाठी पुरावे सादर करतात. एकदा पुरावा सत्यापित झाल्यावर ते निकाल ताबडतोब लागू केले जाऊ शकतात, ज्यामुळे Ethereum ला बेस लेअरवरील संगणन न वाढवता अधिक व्यवहारांवर प्रक्रिया करता येते.
ऑनचेन मतदानात लाचखोरी आणि संगनमत कमी करणे
ब्लॉकचेन मतदान योजनांमध्ये अनेक अनुकूल वैशिष्ट्ये आहेत: त्या पूर्णपणे ऑडिट करण्यायोग्य, हल्ल्यांपासून सुरक्षित, सेन्सॉरशिपला प्रतिरोधक आणि भौगोलिक मर्यादांपासून मुक्त आहेत. परंतु ऑनचेन मतदान योजना देखील संगनमतातून होणाऱ्या समस्येपासून मुक्त नाहीत.
“फसवणूक करणे, घोटाळा करणे आणि इतरांची दिशाभूल करून खुली स्पर्धा मर्यादित करण्यासाठी समन्वय साधणे” अशी व्याख्या असलेले संगनमत, लाच देऊन मतदानावर प्रभाव टाकणाऱ्या दुर्भावनायुक्त व्यक्तीच्या रूपात असू शकते. उदाहरणार्थ, ॲलिसला पर्याय A आवडत असला तरी, बॉबकडून पर्याय B ला मत देण्यासाठी लाच मिळू शकते.
लाचखोरी आणि संगनमत कोणत्याही प्रक्रियेची प्रभावीता मर्यादित करते जी मतदानाचा वापर सिग्नलिंग यंत्रणा म्हणून करते (विशेषतः जिथे वापरकर्ते त्यांनी कसे मतदान केले हे सिद्ध करू शकतात). याचे महत्त्वपूर्ण परिणाम होऊ शकतात, विशेषतः जिथे मते दुर्मिळ संसाधने वाटप करण्यासाठी जबाबदार असतात.
उदाहरणार्थ, चतुर्भुज निधी यंत्रणा (opens in a new tab) विविध सार्वजनिक चांगल्या प्रकल्पांमधील विशिष्ट पर्यायांसाठी प्राधान्य मोजण्यासाठी देणग्यांवर अवलंबून असतात. प्रत्येक देणगी एका विशिष्ट प्रकल्पासाठी "मत" म्हणून गणली जाते, ज्या प्रकल्पांना जास्त मते मिळतात त्यांना मॅचिंग पूलमधून अधिक निधी मिळतो.
ऑनचेन मतदानाचा वापर चतुर्भुज निधीला संगनमतासाठी संवेदनशील बनवतो: ब्लॉकचेन व्यवहार सार्वजनिक असतात, त्यामुळे लाच देणारे लाच घेणाऱ्याच्या ऑनचेन क्रियाकलापांची तपासणी करून त्यांनी कसे “मतदान” केले हे पाहू शकतात. यामुळे चतुर्भुज निधी समाजाच्या एकत्रित पसंतींवर आधारित निधी वाटप करण्याचे प्रभावी साधन राहत नाही.
सुदैवाने, MACI (मिनिमम अँटी-कोल्यूजन इन्फ्रास्ट्रक्चर) सारखे नवीन उपाय ऑनचेन मतदानाला (उदा. चतुर्भुज निधी यंत्रणा) लाचखोरी आणि संगनमतासाठी प्रतिरोधक बनवण्यासाठी शून्य-ज्ञान पुराव्यांचा वापर करत आहेत. MACI हे स्मार्ट कॉन्ट्रॅक्ट्स आणि स्क्रिप्ट्सचा एक संच आहे जे केंद्रीय प्रशासकाला ("समन्वयक" म्हटले जाते) प्रत्येक व्यक्तीने कसे मतदान केले याबद्दल तपशील उघड न करता मते एकत्रित करण्यास आणि परिणामांची मोजणी करण्यास अनुमती देते. तरीही, मतांची मोजणी योग्यरित्या झाली आहे की नाही हे सत्यापित करणे किंवा एका विशिष्ट व्यक्तीने मतदान फेरीत भाग घेतला होता याची पुष्टी करणे शक्य आहे.
MACI शून्य-ज्ञान पुराव्यांसह कसे कार्य करते?
सुरुवातीला, समन्वयक Ethereum वर MACI कॉन्ट्रॅक्ट तैनात करतो, त्यानंतर वापरकर्ते मतदानासाठी साइन अप करू शकतात (स्मार्ट कॉन्ट्रॅक्टमध्ये त्यांची सार्वजनिक की नोंदणी करून). वापरकर्ते स्मार्ट कॉन्ट्रॅक्टला त्यांच्या सार्वजनिक की ने एन्क्रिप्ट केलेले संदेश पाठवून मतदान करतात (वैध मत वापरकर्त्याच्या ओळखीशी संबंधित सर्वात नवीन सार्वजनिक की ने स्वाक्षरी केलेले असणे आवश्यक आहे, इतर निकषांसह). त्यानंतर, मतदान कालावधी संपल्यावर समन्वयक सर्व संदेशांवर प्रक्रिया करतो, मतांची मोजणी करतो आणि ऑनचेन परिणामांची पडताळणी करतो.
MACI मध्ये, शून्य-ज्ञान पुराव्यांचा वापर संगणनाची अचूकता सुनिश्चित करण्यासाठी केला जातो, ज्यामुळे समन्वयकाला मतांवर चुकीच्या पद्धतीने प्रक्रिया करणे आणि परिणामांची चुकीची मोजणी करणे अशक्य होते. हे समन्वयकाला ZK-SNARK पुरावे तयार करण्याची आवश्यकता लावून साध्य केले जाते, जे सत्यापित करतात की अ) सर्व संदेशांवर योग्यरित्या प्रक्रिया झाली ब) अंतिम निकाल सर्व वैध मतांच्या बेरजेच्या समान आहे.
अशाप्रकारे, प्रत्येक वापरकर्त्याच्या मतांचे विभाजन शेअर न करताही (जे सहसा घडते), MACI मोजणी प्रक्रियेदरम्यान मोजलेल्या निकालांच्या अखंडतेची हमी देते. हे वैशिष्ट्य मूलभूत संगनमत योजनांची प्रभावीता कमी करण्यासाठी उपयुक्त आहे. आपण बॉबने ॲलिसला एका पर्यायासाठी मत देण्यासाठी लाच देण्याच्या मागील उदाहरणाचा वापर करून ही शक्यता शोधू शकतो:
- ॲलिस स्मार्ट कॉन्ट्रॅक्टला तिची सार्वजनिक की पाठवून मतदानासाठी नोंदणी करते.
- ॲलिस बॉबकडून लाच घेऊन
पर्याय Bला मत देण्यास सहमत होते. - ॲलिस
पर्याय Bला मत देते. - ॲलिस तिच्या ओळखीशी संबंधित सार्वजनिक की बदलण्यासाठी गुप्तपणे एक एन्क्रिप्टेड व्यवहार पाठवते.
- ॲलिस नवीन सार्वजनिक की वापरून
पर्याय Aला मत देण्यासाठी स्मार्ट कॉन्ट्रॅक्टला आणखी एक (एन्क्रिप्टेड) संदेश पाठवते. - ॲलिस बॉबला एक व्यवहार दाखवते जो दर्शवतो की तिने
पर्याय Bला मत दिले (जे अवैध आहे कारण सार्वजनिक की आता सिस्टममध्ये ॲलिसच्या ओळखीशी संबंधित नाही) - संदेशांवर प्रक्रिया करताना, समन्वयक ॲलिसचे
पर्याय Bसाठीचे मत वगळतो आणि फक्तपर्याय Aसाठीचे मत मोजतो. म्हणून, बॉबचा ॲलिसशी संगनमत करून ऑनचेन मतामध्ये फेरफार करण्याचा प्रयत्न अयशस्वी होतो.
MACI वापरण्यासाठी समन्वयकावर विश्वास ठेवणे आवश्यक आहे की तो लाच देणाऱ्यांशी संगनमत करणार नाही किंवा स्वतः मतदारांना लाच देण्याचा प्रयत्न करणार नाही. समन्वयक वापरकर्त्याचे संदेश डिक्रिप्ट करू शकतो (पुरावा तयार करण्यासाठी आवश्यक), त्यामुळे ते प्रत्येक व्यक्तीने कसे मतदान केले हे अचूकपणे सत्यापित करू शकतात.
परंतु ज्या प्रकरणांमध्ये समन्वयक प्रामाणिक राहतो, तेथे MACI ऑनचेन मतदानाची पवित्रता सुनिश्चित करण्यासाठी एक शक्तिशाली साधन दर्शवते. हे चतुर्भुज निधी अनुप्रयोगांमध्ये (उदा. clr.fund (opens in a new tab)) त्याची लोकप्रियता स्पष्ट करते जे प्रत्येक व्यक्तीच्या मतदानाच्या निवडीच्या अखंडतेवर मोठ्या प्रमाणावर अवलंबून असतात.
MACI बद्दल अधिक जाणून घ्या (opens in a new tab).
शून्य-ज्ञान पुरावे कसे कार्य करतात?
शून्य-ज्ञान पुरावा तुम्हाला विधानाची सामग्री शेअर न करता किंवा सत्य कसे शोधले हे उघड न करता विधानाच्या सत्याचा पुरावा देण्याची परवानगी देतो. हे शक्य करण्यासाठी, शून्य-ज्ञान प्रोटोकॉल अल्गोरिदमवर अवलंबून असतात जे काही डेटा इनपुट म्हणून घेतात आणि 'खरे' किंवा 'खोटे' आउटपुट म्हणून देतात.
शून्य-ज्ञान प्रोटोकॉलने खालील निकष पूर्ण केले पाहिजेत:
-
पूर्णता: जर इनपुट वैध असेल, तर शून्य-ज्ञान प्रोटोकॉल नेहमी 'खरे' परत करतो. म्हणून, जर मूळ विधान खरे असेल आणि प्रोव्हर आणि व्हेरिफायर प्रामाणिकपणे वागत असतील, तर पुरावा स्वीकारला जाऊ शकतो.
-
सत्यता: जर इनपुट अवैध असेल, तर शून्य-ज्ञान प्रोटोकॉलला 'खरे' परत करण्यासाठी फसवणे सैद्धांतिकदृष्ट्या अशक्य आहे. म्हणून, खोटे बोलणारा प्रोव्हर प्रामाणिक व्हेरिफायरला अवैध विधान वैध आहे असे मानण्यासाठी फसवू शकत नाही (अगदी लहान संभाव्यतेच्या फरकाने वगळता).
-
शून्य-ज्ञान: व्हेरिफायरला विधानाच्या वैधतेच्या किंवा खोटेपणाच्या पलीकडे काहीही कळत नाही (त्यांना विधानाचे “शून्य ज्ञान” असते). ही आवश्यकता व्हेरिफायरला पुराव्यावरून मूळ इनपुट (विधानाची सामग्री) काढण्यापासून देखील प्रतिबंधित करते.
मूलभूत स्वरूपात, शून्य-ज्ञान पुराव्यामध्ये तीन घटक असतात: साक्षी, आव्हान आणि प्रतिसाद.
-
साक्षी: शून्य-ज्ञान पुराव्यासह, प्रोव्हर काही लपलेल्या माहितीचे ज्ञान सिद्ध करू इच्छितो. गुप्त माहिती ही पुराव्याची “साक्षी” असते आणि प्रोव्हरचे साक्षीचे गृहीत ज्ञान प्रश्नांचा एक संच स्थापित करते ज्यांची उत्तरे केवळ माहितीचे ज्ञान असलेल्या पक्षाद्वारेच दिली जाऊ शकतात. अशाप्रकारे, प्रोव्हर यादृच्छिकपणे एक प्रश्न निवडून, उत्तर मोजून आणि व्हेरिफायरला पाठवून सिद्ध करण्याची प्रक्रिया सुरू करतो.
-
आव्हान: व्हेरिफायर संचामधून यादृच्छिकपणे दुसरा प्रश्न निवडतो आणि प्रोव्हरला त्याचे उत्तर देण्यास सांगतो.
-
प्रतिसाद: प्रोव्हर प्रश्न स्वीकारतो, उत्तर मोजतो आणि व्हेरिफायरला परत करतो. प्रोव्हरचा प्रतिसाद व्हेरिफायरला हे तपासण्याची परवानगी देतो की पूर्वीच्या व्यक्तीला साक्षीदाराचा प्रवेश खरोखर आहे का. प्रोव्हर आंधळेपणाने अंदाज लावत नाही आणि योगायोगाने अचूक उत्तरे मिळवत नाही याची खात्री करण्यासाठी, व्हेरिफायर विचारण्यासाठी अधिक प्रश्न निवडतो. ही परस्परक्रिया अनेक वेळा पुनरावृत्ती करून, प्रोव्हरने साक्षीदाराचे ज्ञान खोटे असल्याची शक्यता लक्षणीयरीत्या कमी होते जोपर्यंत व्हेरिफायर समाधानी होत नाही.
वरील वर्णन ‘परस्परसंवादी शून्य-ज्ञान पुराव्या’च्या संरचनेचे वर्णन करते. सुरुवातीच्या शून्य-ज्ञान प्रोटोकॉलमध्ये परस्परसंवादी सिद्धीचा वापर केला जात होता, जिथे विधानाची वैधता सत्यापित करण्यासाठी प्रोव्हर आणि व्हेरिफायर यांच्यात मागे-पुढे संवाद आवश्यक होता.
परस्परसंवादी पुरावे कसे कार्य करतात हे स्पष्ट करणारे एक चांगले उदाहरण म्हणजे जीन-जॅक क्विस्क्वेटर यांची प्रसिद्ध अली बाबा गुहेची कथा (opens in a new tab). या कथेत, पेगी (प्रोव्हर) व्हिक्टरला (व्हेरिफायर) सिद्ध करू इच्छिते की तिला गुप्त वाक्यांश उघड न करता जादूचा दरवाजा उघडण्यासाठी गुप्त वाक्यांश माहित आहे.
गैर-परस्परसंवादी शून्य-ज्ञान पुरावे
क्रांतिकारक असले तरी, परस्परसंवादी सिद्धीची मर्यादित उपयुक्तता होती कारण त्यासाठी दोन्ही पक्ष उपलब्ध असणे आणि वारंवार संवाद साधणे आवश्यक होते. जरी एखादा व्हेरिफायर प्रोव्हरच्या प्रामाणिकपणाबद्दल खात्री बाळगत असला तरी, पुरावा स्वतंत्र पडताळणीसाठी उपलब्ध नसेल (नवीन पुरावा मोजण्यासाठी प्रोव्हर आणि व्हेरिफायर यांच्यात संदेशांच्या नवीन संचाची आवश्यकता होती).
ही समस्या सोडवण्यासाठी, मॅन्युएल ब्लम, पॉल फेल्डमन आणि सिल्व्हिओ मिकाली यांनी पहिले गैर-परस्परसंवादी शून्य-ज्ञान पुरावे (opens in a new tab) सुचवले जिथे प्रोव्हर आणि व्हेरिफायरकडे एक सामायिक की असते. हे प्रोव्हरला काही माहितीचे (उदा. साक्षी) ज्ञान सिद्ध करण्याची परवानगी देते, ती माहिती स्वतः न देता.
परस्परसंवादी पुराव्यांप्रमाणे, गैर-परस्परसंवादी पुराव्यांना सहभागींमध्ये (प्रोव्हर आणि व्हेरिफायर) केवळ एका फेरीच्या संवादाची आवश्यकता होती. प्रोव्हर शून्य-ज्ञान पुरावा मोजण्यासाठी विशेष अल्गोरिदमला गुप्त माहिती देतो. हा पुरावा व्हेरिफायरला पाठविला जातो, जो दुसर्या अल्गोरिदमचा वापर करून प्रोव्हरला गुप्त माहिती माहित आहे की नाही हे तपासतो.
गैर-परस्परसंवादी सिद्धी प्रोव्हर आणि व्हेरिफायर यांच्यातील संवाद कमी करते, ज्यामुळे ZK-पुरावे अधिक कार्यक्षम बनतात. शिवाय, एकदा पुरावा तयार झाल्यावर, तो (सामायिक की आणि पडताळणी अल्गोरिदममध्ये प्रवेश असलेल्या) इतर कोणालाही सत्यापित करण्यासाठी उपलब्ध असतो.
गैर-परस्परसंवादी पुराव्यांनी शून्य-ज्ञान तंत्रज्ञानासाठी एक मोठी प्रगती दर्शविली आणि आज वापरल्या जाणार्या सिद्धी प्रणालींच्या विकासाला चालना दिली. आम्ही खाली या पुराव्याच्या प्रकारांवर चर्चा करतो:
शून्य-ज्ञान पुराव्याचे प्रकार
ZK-SNARKs
ZK-SNARK हे Zero-Knowledge Succinct Non-Interactive Argument of Knowledge चे संक्षिप्त रूप आहे. ZK-SNARK प्रोटोकॉलमध्ये खालील गुण आहेत:
-
शून्य-ज्ञान: व्हेरिफायर विधानाबद्दल काहीही न जाणता विधानाच्या अखंडतेची पडताळणी करू शकतो. व्हेरिफायरला विधानाबद्दल असलेले एकमेव ज्ञान म्हणजे ते खरे आहे की खोटे.
-
संक्षिप्त: शून्य-ज्ञान पुरावा साक्षीपेक्षा लहान असतो आणि त्वरीत सत्यापित केला जाऊ शकतो.
-
गैर-परस्परसंवादी: पुरावा ‘गैर-परस्परसंवादी’ आहे कारण प्रोव्हर आणि व्हेरिफायर फक्त एकदाच संवाद साधतात, परस्परसंवादी पुराव्यांप्रमाणे ज्यात संवादाच्या अनेक फेऱ्यांची आवश्यकता असते.
-
युक्तिवाद: पुरावा ‘सत्यता’ आवश्यकता पूर्ण करतो, त्यामुळे फसवणूक करणे अत्यंत अशक्य आहे.
-
(ज्ञानाचा): शून्य-ज्ञान पुरावा गुप्त माहिती (साक्षी) च्या प्रवेशाशिवाय तयार केला जाऊ शकत नाही. ज्या प्रोव्हरकडे साक्षीदार नाही त्याच्यासाठी वैध शून्य-ज्ञान पुरावा मोजणे कठीण, अशक्य नाही तर.
आधी उल्लेख केलेली ‘सामायिक की’ सार्वजनिक पॅरामीटर्सना संदर्भित करते जे प्रोव्हर आणि व्हेरिफायर पुरावे तयार करण्यासाठी आणि सत्यापित करण्यासाठी वापरण्यास सहमत आहेत. सार्वजनिक पॅरामीटर्स (एकत्रितपणे कॉमन रेफरन्स स्ट्रिंग (CRS) म्हणून ओळखले जाते) तयार करणे ही एक संवेदनशील क्रिया आहे कारण प्रोटोकॉलच्या सुरक्षेमध्ये त्याचे महत्त्व आहे. जर CRS तयार करण्यासाठी वापरलेली एंट्रॉपी (यादृच्छिकता) एका अप्रामाणिक प्रोव्हरच्या हातात पडली, तर ते खोटे पुरावे मोजू शकतात.
मल्टी-पार्टी कॉम्प्युटेशन (MPC) (opens in a new tab) हा सार्वजनिक पॅरामीटर्स तयार करण्यामधील जोखीम कमी करण्याचा एक मार्ग आहे. विश्वसनीय सेटअप सोहळ्यामध्ये (opens in a new tab) अनेक पक्ष सहभागी होतात, जिथे प्रत्येक व्यक्ती CRS तयार करण्यासाठी काही यादृच्छिक मूल्ये योगदान देते. जोपर्यंत एक प्रामाणिक पक्ष आपला एंट्रॉपीचा भाग नष्ट करतो, तोपर्यंत ZK-SNARK प्रोटोकॉल संगणकीय सत्यता टिकवून ठेवतो.
विश्वसनीय सेटअपसाठी वापरकर्त्यांना पॅरामीटर-जनरेशनमधील सहभागींवर विश्वास ठेवण्याची आवश्यकता असते. तथापि, ZK-STARKs च्या विकासामुळे अविश्वसनीय सेटअपसह कार्य करणाऱ्या सिद्धी प्रोटोकॉलला सक्षम केले आहे.
ZK-STARKs
ZK-STARK हे Zero-Knowledge Scalable Transparent Argument of Knowledge चे संक्षिप्त रूप आहे. ZK-STARKs हे ZK-SNARKs सारखेच आहेत, फक्त ते आहेत:
-
स्केलेबल: साक्षीदाराचा आकार मोठा असताना पुरावे तयार आणि सत्यापित करण्यासाठी ZK-STARK हे ZK-SNARK पेक्षा वेगवान आहे. STARK पुराव्यांसह, विटनेस जसजसा वाढतो तसतसे प्रोव्हर आणि व्हेरिफिकेशन वेळा किंचित वाढतात (SNARK प्रोव्हर आणि व्हेरिफायर वेळा विटनेसच्या आकारासह रेषीयपणे वाढतात).
-
पारदर्शक: ZK-STARK सिद्धी आणि पडताळणीसाठी सार्वजनिक पॅरामीटर्स तयार करण्यासाठी विश्वसनीय सेटअपऐवजी सार्वजनिकरित्या पडताळणीयोग्य यादृच्छिकतेवर अवलंबून असते. त्यामुळे, ते ZK-SNARKs च्या तुलनेत अधिक पारदर्शक आहेत.
ZK-STARKs ZK-SNARKs पेक्षा मोठे पुरावे तयार करतात, याचा अर्थ सामान्यतः त्यांच्याकडे उच्च सत्यापन ओव्हरहेड्स असतात. तथापि, अशी प्रकरणे आहेत (जसे की मोठ्या डेटासेट सिद्ध करणे) जिथे ZK-STARKs ZK-SNARKs पेक्षा अधिक किफायतशीर असू शकतात.
शून्य-ज्ञान पुरावे वापरण्याचे तोटे
हार्डवेअर खर्च
शून्य-ज्ञान पुरावे तयार करण्यामध्ये अत्यंत गुंतागुंतीची गणना समाविष्ट असते जी विशेष मशीनवर उत्तम प्रकारे केली जाते. ही मशीन्स महाग असल्याने, ती अनेकदा सामान्य व्यक्तींच्या आवाक्याबाहेर असतात. याव्यतिरिक्त, शून्य-ज्ञान तंत्रज्ञान वापरू इच्छिणाऱ्या ऍप्लिकेशन्सना हार्डवेअर खर्चाचा विचार करावा लागतो—ज्यामुळे अंतिम-वापरकर्त्यांसाठी खर्च वाढू शकतो.
पुरावा पडताळणी खर्च
पुरावे सत्यापित करण्यासाठी देखील गुंतागुंतीची गणना आवश्यक आहे आणि ऍप्लिकेशन्समध्ये शून्य-ज्ञान तंत्रज्ञान लागू करण्याचा खर्च वाढवते. हा खर्च विशेषतः संगणन सिद्ध करण्याच्या संदर्भात संबंधित आहे. उदाहरणार्थ, ZK-रोलअप्स Ethereum वर एका ZK-SNARK पुराव्याची पडताळणी करण्यासाठी ~ 500,000 gas देतात, ZK-STARKs ला आणखी जास्त शुल्क लागते.
विश्वासाचे गृहीतक
ZK-SNARK मध्ये, कॉमन रेफरन्स स्ट्रिंग (सार्वजनिक पॅरामीटर्स) एकदा तयार केली जाते आणि शून्य-ज्ञान प्रोटोकॉलमध्ये सहभागी होऊ इच्छिणाऱ्या पक्षांना पुन्हा वापरण्यासाठी उपलब्ध असते. सार्वजनिक पॅरामीटर्स एका विश्वसनीय सेटअप समारंभाद्वारे तयार केले जातात, जिथे सहभागी प्रामाणिक असल्याचे मानले जाते.
परंतु वापरकर्त्यांना सहभागींच्या प्रामाणिकपणाचे मूल्यांकन करण्याचा कोणताही मार्ग नाही आणि वापरकर्त्यांना विकासकांच्या शब्दावर विश्वास ठेवावा लागतो. ZK-STARKs विश्वासाच्या गृहितकांपासून मुक्त आहेत कारण स्ट्रिंग तयार करण्यामध्ये वापरलेली यादृच्छिकता सार्वजनिकरित्या पडताळणीयोग्य आहे. दरम्यान, संशोधक सिद्धी यंत्रणेची सुरक्षा वाढविण्यासाठी ZK-SNARKs साठी गैर-विश्वसनीय सेटअपवर काम करत आहेत.
क्वांटम कॉम्प्युटिंग धोके
ZK-SNARK एनक्रिप्शनसाठी इलिप्टिक कर्व क्रिप्टोग्राफी वापरते. इलिप्टिक कर्व डिस्क्रीट लॉगेरिथम समस्या सध्या अवघड मानली जात असली तरी, क्वांटम कॉम्प्युटरचा विकास भविष्यात हे सुरक्षा मॉडेल तोडू शकतो.
ZK-STARK क्वांटम कॉम्प्युटिंगच्या धोक्यापासून सुरक्षित मानले जाते, कारण ते त्याच्या सुरक्षेसाठी केवळ कोलिजन-रेझिस्टंट हॅश फंक्शन्सवर अवलंबून असते. इलिप्टिक कर्व क्रिप्टोग्राफीमध्ये वापरल्या जाणार्या सार्वजनिक-खाजगी की जोड्यांच्या विपरीत, कोलिजन-रेझिस्टंट हॅशिंग क्वांटम कॉम्प्युटिंग अल्गोरिदमसाठी तोडणे अधिक कठीण आहे.
पुढील वाचन
- शून्य-ज्ञान पुराव्यांसाठी वापर प्रकरणांचे विहंगावलोकन (opens in a new tab) — गोपनीयता आणि स्केलिंग एक्सप्लोरेशन टीम
- SNARKs vs. STARKS vs. Recursive SNARKs (opens in a new tab) — Alchemy Overviews
- शून्य-ज्ञान पुरावा: ब्लॉकचेनवर गोपनीयता सुधारणे (opens in a new tab) — Dmitry Lavrenov
- zk-SNARKs — एक वास्तववादी शून्य-ज्ञान उदाहरण आणि सखोल माहिती (opens in a new tab) — Adam Luciano
- ZK-STARKs — क्वांटम कॉम्प्युटर विरुद्धही पडताळणीयोग्य विश्वास निर्माण करा (opens in a new tab) — Adam Luciano
- zk-SNARKs कसे शक्य आहेत याचा अंदाजे परिचय (opens in a new tab) — Vitalik Buterin
- स्व-सार्वभौम ओळखीसाठी शून्य ज्ञान पुरावे (ZKPs) गेम चेंजर का आहेत (opens in a new tab) — Franklin Ohaegbulam
- EIP-7503 स्पष्टीकरण: ZK पुराव्यांसह Ethereum वर खाजगी हस्तांतरण सक्षम करणे (opens in a new tab) — Emmanuel Awosika
- ZK कार्ड गेम: ZK मूलभूत तत्त्वे आणि वास्तविक-जीवनातील वापर प्रकरणे शिकण्यासाठी गेम (opens in a new tab) - ZK-Cards
पृष्ठ अखेरचे अद्यतन: २३ फेब्रुवारी, २०२६