शून्य ज्ञान प्रमाण क्या होते है?
शून्य ज्ञान प्रमाण एक तरीका है जिससे किसी कथन की वैधता साबित करते हैं बिना उस कथन को उजागर किए। 'सिद्धकर्ता' वह पक्ष है जो एक दावे को साबित करने की कोशिश करते हैं, वहीं 'सत्यापनकर्ता' वह पक्ष है जो दावे को मान्यता देने के जिम्मेदार होते हैं।
शून्य ज्ञान प्रमाण पहली बार 1985 के एक पेपर में दिखाई दिया, “इंटरैक्टिव प्रूफ सिस्टम की ज्ञान जटिलता(opens in a new tab)” जो आज व्यापक रूप से इस्तेमाल होने वाले शून्य ज्ञान प्रमाण की परिभाषा देता है:
शून्य-ज्ञान प्रोटोकॉल एक ऐसी विधि है, जिसके द्वारा एक पक्ष (नीतिक), किसी अन्य पक्ष (सत्यापनकर्ता) को साबित कर सकता है कि कोई बात सच है, बिना किसी जानकारी का खुलासा किए, इस तथ्य के अलावा कि यह विशिष्ट कथन सत्य है।
शून्य-ज्ञान प्रमाण पिछले सालो में बेहतर हुए है और इनका उपयोग अब विभिन्न असल दुनिया की एप्लीकेशन में किया जाने लगा है।
हमें शून्य-ज्ञान प्रमाण की आवश्यकता क्यों होती है?
शून्य-ज्ञान प्रमाण, व्यावहारिक क्रिप्टोग्राफ़ी में एक सफलता का प्रतिनिधित्व करता है, क्योंकि उन्होंने व्यक्तियों के लिए सूचना में सुधार लाने का वादा किया है। इस बात पर विचार करें कि आप एक दावे (उदाहरण के लिए, “मैं X देश का नागरिक हूं”) को किसी अन्य दूसरे पक्ष (उदाहरण के लिए, एक सेवा प्रदाता) को कैसे साबित कर सकते है। आपको अपने दावे के समर्थन के लिए, राष्ट्रीय पासपोर्ट या ड्राइविंग लाइसेंस जैसे “सबूत” देने की आवश्यकता होती है।
लेकिन इस तरीके में समस्याएं हैं, मुख्यतः गोपनीयता की कमी। तीसरे पक्ष की सेवाओं के साथ साझा की गई व्यक्तिगत रूप से पहचान योग्य जानकारी (PII) एक केंद्रीय डाटाबेस में संग्रहित होती है, जो हैकिंग के प्रति संवेदनशील होते हैं। पहचान की चोरी एक गंभीर मुद्दा बनने के साथ, संवेदनशील जानकारी साझा करने के लिए अधिक गोपनीयता-सुरक्षा साधनों की मांग हो रही है।
शून्य-ज्ञान प्रमाण इस समस्या को, दावों की वैधता साबित करने के लिए जानकारी प्रकट करने की आवश्यकता को समाप्त करके हल करते हैं। शून्य ज्ञान प्रोटोकॉल, उसकी वैधता का संक्षिप्त प्रमाण उत्पन्न करने के लिए इनपुट के रूप में कथन (जिसे 'विटनेस' कहा जाता है) का इस्तेमाल करता है। यह प्रमाण, ठोस गारंटी प्रदान करता है कि यह कथन सत्य है, इसको बनाने के लिए उपयोग होने वाली सूचना को उजागर किए बिना।
वापस हमारे शुरुआती उदाहरण पर चलते हैं, आपको आपकी नागरिकता का दावा साबित करने के लिए सिर्फ़ एक प्रमाण की आवश्यकता होगी, वह है शून्य ज्ञान प्रमाण। सत्यापनकर्ता को केवल यह जांचना होगा कि प्रमाण के कुछ गुण सत्य हैं या नहीं, ताकि वह आश्वस्त हो सके कि अंतर्निहित कथन भी सत्य है।
शून्य-ज्ञान प्रमाण के लिए उपयोग के मामले
गुमनाम भुगतान
क्रेडिट कार्ड से किए भुगतान अक्सर एकाधिक पक्षों को दिखाई देते है, भुगतान प्रदाता को मिलाकर, बैंक, और अन्य इच्छुक पक्ष (उदाहरण के लिए, सरकारी प्राधिकरण)। जबकि वित्तीय निगरानी की मदद से अवैध गतिविधि की पहचान करने में लाभ होता है, यह आम नागरिकों को गोपनीयता को भी कमज़ोर करता है।
क्रिप्टोकरेंसी का किसी उपयोगकर्ता को गोपनीय, सहकर्मी लेनदेन करने के लिए एक माध्यम प्रदान करने का उद्दिष्ट था। लेकिन अधिकतर क्रिप्टोकरेंसी का लेनदेन सार्वजनिक ब्लॉकचेन पर खुलेआम दिखता है। यूज़र की पहचान अक्सर झूठी होती है और या तो जानबूझकर वास्तविक दुनिया की पहचान से जोड़ा (उदाहरण के लिए, Twitter या GitHub प्रोफाइल पर ETH पते शामिल करके) होगा या बेसिक ऑन और ऑफ-चेन डाटा विश्लेषण का उपयोग करके वास्तविक दुनिया की पहचान के साथ जुड़ा हो सकता है।
यहां पर विशेष “गोपनीयता सिक्के” है जिन्हे पूर्णतः गुमनाम लेनदेन के लिए बनाया है। गोपनीयता-एकाग्रित ब्लॉकचेन, जैसे की Zcash और Monero, लेनदेन का विवरण, प्रेषक/प्राप्तकर्ता के पते, संपत्ति का प्रकार, मात्रा, और लेनदेन की समयरेखा को मजबूती प्रदान करते है।
प्रोटोकॉल में शून्य-ज्ञान प्रौद्योगिकी में बेकिंग करके, गोपनीयता-केंद्रित नेटवर्क, को लेनदेन डेटा तक पहुंचने की आवश्यकता के बिना लेनदेन को मान्य करने की अनुमति देते हैं।
शून्य-ज्ञान प्रमाण, सार्वजनिक ब्लॉकचेन पर अज्ञात लेनदेन पर भी लागू किए जा रहे हैं। एक उदाहरण Tornado Cash है, एक विकेंद्रीकृत, गैर हिरासत सेवा जो की उपयोगकर्ता को इथेरियम पर निजी लेनदेन करने की अनुमति देता है। Tornado Cash शून्य ज्ञान प्रमाण का उपयोग लेन-देन के विवरण को अस्पष्ट करने के लिए करता है और वित्तीय गोपनीयता को गारंटी देता है। दुर्भाग्यवश, क्योंकि ये "ऑप्ट-इन" गोपनीयता उपकरण है ये अवैध गतिविधियों के साथ जुड़े होते है। इस पर काबू पाने के लिए, गोपनीयता को आखिरकार सार्वजनिक ब्लॉकचेन पर डिफॉल्ट बनना होगा।
पहचान की सुरक्षा
वर्तमान पहचान प्रबंधन प्रणालियाँ व्यक्तिगत जानकारी को खतरे में डालती हैं। शून्य-ज्ञान प्रमाण संवेदनशील विवरणों की सुरक्षा करते हुए व्यक्तियों को पहचान सत्यापित करने में मदद कर सकते हैं।
शून्य-ज्ञान प्रमाण विशेष रूप से विकेंद्रीकृत पहचान के संदर्भ में उपयोगी होते हैं। विकेंद्रीकृत पहचान (जिसे 'स्व-संप्रभु पहचान' भी कहा जाता है) व्यक्ति को व्यक्तिगत पहचंकर्ताओं तक पहुंच को नियंत्रित करने की क्षमता देती है। अपनी टैक्स ID या पासपोर्ट विवरण प्रकट किए बिना अपनी नागरिकता साबित करना इस बात का एक अच्छा उदाहरण है कि कैसे शून्य-ज्ञान तकनीक विकेंद्रीकृत पहचान को सक्षम बनाती है।
प्रमाणीकरण
ऑनलाइन सेवाओं का उपयोग करने के लिए आपकी पहचान और उन प्लेटफ़ॉर्म तक पहुंच का अधिकार साबित करना आवश्यक है। इसके लिए अक्सर नाम, ईमेल पते, जन्मतिथि आदि जैसी व्यक्तिगत जानकारी देने की आवश्यकता होती है। आपको लंबे पासवर्ड याद रखने की भी आवश्यकता हो सकती है या पहुंच खोने का जोखिम उठाना पड़ सकता है।
हालाँकि, शून्य-ज्ञान प्रमाण, प्लेटफ़ॉर्म और उपयोगकर्ताओं दोनों के लिए प्रमाणीकरण को सरल बना सकते हैं। एक बार सार्वजनिक इनपुट (उदाहरण के लिए, प्लेटफ़ॉर्म पर उपयोगकर्ता की सदस्यता को प्रमाणित करने वाला डेटा) और निजी इनपुट (उदाहरण के लिए, यूज़र का विवरण) का उपयोग करके ZK-प्रूफ तैयार हो जाता है, तो उपयोगकर्ता इसे अपनी पहचान प्रमाणित करने के लिए प्रस्तुत कर सकता है जब उन्हें सेवा एक्सेस की आवश्यकता होती है। यह यूज़र के अनुभव को बेहतर बनाता है और संगठनों को बड़ी मात्रा में यूज़र जानकारी संग्रहीत करने की आवश्यकता से मुक्त करता है।
सत्यापन योग्य गणना
ब्लॉकचेन डिज़ाइन में सुधार के लिए सत्यापन योग्य गणना शून्य-ज्ञान तकनीक का एक और एप्लीकेशन है। सत्यापन योग्य कंप्यूटिंग हमें सत्यापन योग्य परिणामों को बनाए रखते हुए किसी अन्य इकाई को गणना आउटसोर्स करने की अनुमति देती है। इकाई यह पुष्टि करते हुए प्रमाण के साथ परिणाम प्रस्तुत करती है कि कार्यक्रम सही ढंग से निष्पादित किया गया था।
सत्यापन योग्य गणना, सुरक्षा को कम किए बिना, ब्लॉकचेन पर प्रसंस्करण गति में सुधार के लिए महत्वपूर्ण है। इसे समझने के लिए इथेरियम को स्केलिंग करने के लिए प्रस्तावित समाधानों में अंतर को जानना आवश्यक है।
ऑन-चेन स्केलिंग समाधान, जैसे कि शार्डिंग के लिए ब्लॉकचेन की आधार परत में व्यापक संशोधन की आवश्यकता होती है। हालाँकि, यह दृष्टिकोण अत्यधिक जटिल है और कार्यान्वयन में त्रुटियाँ इथेरियम के सुरक्षा मॉडल को कमजोर कर सकती हैं।
ऑफ-चेन स्केलिंग समाधानों को कोर इथेरियम प्रोटोकॉल को फिर से डिज़ाइन करने की आवश्यकता नहीं है। इसके बजाय वे इथेरियम की आधार परत पर प्रवाह में सुधार के लिए एक आउटसोर्स गणना मॉडल पर भरोसा करते हैं।
यहां बताया गया है कि यह कैसे काम करता है:
प्रत्येक लेनदेन को संसाधित करने के बजाय, इथेरियम निष्पादन को एक अलग चेन में उतारता है।
लेनदेन को संसाधित करने के बाद, दूसरी चेन इथेरियम की स्थिति में लागू होने वाले परिणामों को लौटाती है।
यहां लाभ यह है कि इथेरियम को कोई निष्पादन नहीं करना पड़ता है और केवल आउटसोर्स गणना से परिणामों को अपनी स्थिति में लागू करने की आवश्यकता होती है। यह नेटवर्क की भीड़ को कम करता है और लेनदेन की गति में भी सुधार करता है (ऑफ-चेन प्रोटोकॉल तेजी से निष्पादन के लिए अनुकूलित करते हैं)।
श्रृंखला को ऑफ-चेन लेनदेन को फिर से निष्पादित किए बिना मान्य करने का एक तरीका चाहिए, अन्यथा ऑफ-चेन निष्पादन का मूल्य खो जाता है।
यह वह जगह है जहां सत्यापन योग्य गणना काम में आती है। जब कोई नोड इथेरियम के बाहर लेनदेन निष्पादित करता है, तो यह ऑफ-चेन निष्पादन की शुद्धता साबित करने के लिए एक शून्य-ज्ञान प्रमाण प्रस्तुत करता है। यह प्रमाण (जिसे कहा जाता है) गारंटी देता है कि एक लेनदेन वैध है, जिससे इथेरियम को परिणाम को अपनी स्थिति में लागू करने की अनुमति मिलती है—बिना किसी के विवाद करने की प्रतीक्षा किए।
शून्य-ज्ञान रोलअप और वैलिडियम दो ऑफ-चेन स्केलिंग समाधान हैं जो सुरक्षित स्केलेबिलिटी प्रदान करने के लिए वैधता प्रमाणों का उपयोग करते हैं। ये प्रोटोकॉल हजारों लेनदेन को ऑफ-चेन निष्पादित करते हैं और इथेरियम पर सत्यापन के लिए सबूत प्रस्तुत करते हैं। सबूत सत्यापित होने के बाद उन परिणामों को तुरंत लागू किया जा सकता है, जिससे इथेरियम को आधार परत पर गणना बढ़ाए बिना अधिक लेनदेन को संसाधित करने की अनुमति मिलती है।
ऑन-चेन वोटिंग में रिश्वतखोरी और मिलीभगत को कम करना
ब्लॉकचेन वोटिंग योजनाओं में कई अनुकूल विशेषताएं हैं: वे पूरी तरह से ऑडिट करने योग्य हैं, हमलों के खिलाफ सुरक्षित हैं, सेंसरशिप के प्रतिरोधी हैं, और भौगोलिक बाधाओं से मुक्त हैं। लेकिन यहां तक कि ऑन-चेन वोटिंग योजनाएं भी मिलीभगत की समस्या से अलग नहीं हैं।
"दूसरों को धोखा देने, और गुमराह करके खुली प्रतिस्पर्धा को सीमित करने के लिए समन्वय" के रूप में परिभाषित, मिलीभगत रिश्वत की पेशकश करके मतदान को प्रभावित करने वाले दुर्भावनापूर्ण अभिनेता का रूप ले सकती है। उदाहरण के लिए, ऐलिस को बॉब से मतपत्र पर विकल्प B
के लिए मतदान करने के लिए रिश्वत मिल सकती है, भले ही उसे विकल्प A
पसंद आए।
रिश्वत और मिलीभगत किसी भी प्रक्रिया की प्रभावशीलता को सीमित करती है जो मतदान को सिग्नलिंग तंत्र के रूप में उपयोग करती है (विशेष रूप से जहां उपयोगकर्ता साबित कर सकते हैं कि उन्होंने कैसे मतदान किया)। इसके महत्वपूर्ण परिणाम हो सकते हैं, खासकर जहां वोट दुर्लभ संसाधनों को आवंटित करने के लिए जिम्मेदार हैं।
उदाहरण के लिए, द्विघात वित्त पोषण तंत्र(opens in a new tab) विभिन्न सार्वजनिक अच्छी परियोजनाओं के बीच कुछ विकल्पों के लिए वरीयता को मापने के लिए दान पर भरोसा करते हैं। प्रत्येक दान को एक विशिष्ट परियोजना के लिए "वोट" के रूप में गिना जाता है, जिसमें अधिक वोट प्राप्त करने वाली परियोजनाओं को मिलान पूल से अधिक धन मिलता है।
ऑन-चेन वोटिंग का उपयोग करना द्विघात फंडिंग को मिलीभगत के लिए अतिसंवेदनशील बनाता है: ब्लॉकचेन लेनदेन सार्वजनिक हैं, इसलिए रिश्वत लेने वाले रिश्वत लेने वाले की ऑन-चेन गतिविधि का निरीक्षण कर सकते हैं कि उन्होंने "वोट" कैसे किया। इस तरह द्विघात वित्त पोषण समुदाय की समग्र प्राथमिकताओं के आधार पर धन आवंटित करने के लिए एक प्रभावी साधन नहीं है।
सौभाग्य से, MACI (न्यूनतम एंटी-मिलीभगत इंफ्रास्ट्रक्चर) जैसे नए समाधान ऑन-चेन वोटिंग (जैसे, द्विघात वित्त पोषण तंत्र) को रिश्वत और मिलीभगत के लिए प्रतिरोधी बनाने के लिए शून्य-ज्ञान प्रमाणों का उपयोग कर रहे हैं। MACI स्मार्ट अनुबंधों और स्क्रिप्ट का एक सेट है जो एक केंद्रीय प्रशासक (जिसे "समन्वयक" कहा जाता है) को वोटों को इकट्ठा करने और परिणामों का मिलान करने की अनुमति देता है, बिना इस बात का खुलासा किए कि प्रत्येक व्यक्ति ने कैसे मतदान किया। फिर भी, यह सत्यापित करना अभी भी संभव है कि वोटों की गिनती ठीक से की गई थी, या पुष्टि करें कि किसी विशेष व्यक्ति ने मतदान दौर में भाग लिया था।
MACI शून्य-ज्ञान प्रमाणों के साथ कैसे काम करता है?
शुरुआत में, समन्वयक इथेरियम पर MACI अनुबंध तैनात करता है, जिसके बाद उपयोगकर्ता मतदान के लिए साइन अप कर सकते हैं (स्मार्ट अनुबंध में अपनी सार्वजनिक कुंजी पंजीकृत करके)। यूज़र स्मार्ट अनुबंध के लिए अपनी सार्वजनिक कुंजी के साथ एन्क्रिप्ट किए गए संदेश भेजकर वोट डालते हैं (अन्य मानदंडों के बीच यूज़र की पहचान से जुड़ी सबसे हालिया सार्वजनिक कुंजी के साथ एक वैध वोट पर हस्ताक्षर किया जाना चाहिए)। बाद में, समन्वयक मतदान अवधि समाप्त होने के बाद सभी संदेशों को संसाधित करता है, वोटों का मिलान करता है, और ऑन-चेन पर परिणामों को सत्यापित करता है।
MACI में, शून्य-ज्ञान प्रमाणों का उपयोग गणना की शुद्धता सुनिश्चित करने के लिए किया जाता है, जिससे समन्वयक के लिए वोटों और मिलान परिणामों को गलत तरीके से संसाधित करना असंभव हो जाता है। समन्वयक को यह सत्यापित करते हुए कि A) सभी संदेश सही ढंग से संसाधित किए गए थे B) अंतिम परिणाम सभी वैध वोटों के योग से मेल खाता है, 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) एक अच्छा उदाहरण है जो की इंटरएक्टिव प्रमाण का चित्रण करता हैंl इस कहानी में, Peggy (सिद्धकर्ता) विक्टर (सत्यापनकर्ता) को साबित करना चाहती है की वह जादुई दरवाजे को खोलने के लिए गुप्त वाक्यायंश जानती है बिना वाक्यायंश को उजागर करते हुए।
नॉन-इंटरएक्टिव शून्य ज्ञान प्रमाण
जबकि क्रांतिकारी, इंटरएक्टिव प्रमाण की सीमित उपयोगिता थी क्योंकि इसके लिए दो पक्षों की उपलब्धता होना और बातचीत करने की बार-बार अवश्यकता थी। यहां तक कि अगर एक सत्यापनकर्ता एक सिद्धकर्ता की ईमानदारी के बारे में आश्वस्त था, तो सबूत स्वतंत्र सत्यापन के लिए अनुपलब्ध होगा (एक नए प्रमाण की गणना के लिए सिद्धकर्ता और सत्यापनकर्ता के बीच संदेशों के एक नए सेट की आवश्यकता होती है)।
इस समस्या को हल करने के लिए, मैनुअल ब्लम, पॉल फेल्डमैन और सिल्वियो मिकाली ने पहले गैर-संवादात्मक शून्य-ज्ञान प्रमाण(opens in a new tab) का सुझाव दिया, जहां सिद्धकर्ता और सत्यापनकर्ता के पास एक साझा कुंजी होती है। यह सिद्धकर्ता को जानकारी प्रदान किए बिना कुछ जानकारी (यानी, गवाह) के बारे में अपने ज्ञान को प्रदर्शित करने की अनुमति देता है।
इंटरैक्टिव प्रमाण के विपरीत, नॉन इंटरएक्टिव प्रमाण में प्रतिभागियों (सिद्धकर्ता और सत्यापनकर्ता) के बीच केवल एक संचार के दौरे की आवश्यकता पड़ती है। एक शून्य ज्ञान प्रमाण की संगणना करने के लिए सिद्धकर्ता गुप्त जानकारी एक विशेष एल्गोरिथम को देता है। यह प्रमाण सत्यापनकर्ता को भेजा जाता है, जो जाँच करता है कि सत्यापनकर्ता किसी अन्य एल्गोरिथम का उपयोग करके गुप्त जानकारी जानता है।
गैर-इंटरैक्टिव साबित करने से सिद्धकर्ता और सत्यापनकर्ता के बीच संचार कम हो जाता है, जिससे ZK-प्रूफ अधिक कुशल हो जाता है। इसके अलावा, एक बार प्रमाण तैयार हो जाने के बाद, यह सत्यापित करने के लिए किसी अन्य के लिए (साझा कुंजी और सत्यापन एल्गोरिथम तक पहुंच के साथ) उपलब्ध होता है।
नॉन इंटरएक्टिव प्रमाण शून्य ज्ञान तकनीक की सफलता का प्रतिनिधित्व करता है और आज उपयोग की जाने वाली सिद्ध प्रणालियों के विकास को प्रेरित किया है। हमने नीचे इन प्रमाण के प्रकारों पर चर्चा की है:
शून्य-ज्ञान प्रमाणों के प्रकार
ZK-SNARK
ZK-SNARK जीरो नॉलेज सक्सिंक्ट नॉन इंटरएक्टिव आर्गुमेंट ऑफ़ नॉलेज का परिवर्णी शब्द है। ZK-SNARK प्रोटोकॉल में निम्नलिखित गुण होते है:
शून्य-ज्ञान: सत्यापनकर्ता कथन के बारे में कुछ और जाने बगैर ही एक कथन की अखंडता की पुष्टि कर सकता है। सत्यापनकर्ता को कथन के बारे में एकमात्र ज्ञान यह है कि यह सत्य है या गलत।
सक्सिंक्ट: शून्य ज्ञान प्रमाण विटनेस से छोटा होता है और इसका सत्यापन जल्दी से किया जा सकता है।
नॉन इंटरैक्टिव: प्रमाण 'नॉन इंटरएक्टिव' होता है क्योंकि सिद्धकर्ता और सत्यापनकर्ता केवल एक बार बातचीत करते है, इंटरएक्टिव प्रमाण की तरह नहीं जिनमें संचार के एकाधिक दौरे की आवश्यकता होती है।
आर्गुमेंट: प्रमाण दृढ़ता की जरूरतों को पूरा करता है, तो धोखाधड़ी करने की संभावना बेहद कम है।
(ऑफ) नॉलेज: शून्य ज्ञान प्रमाण को गुप्त जानकारी (विटनेस) तक पहुंचे बिना बनाया नहीं जा सकता। अगर असंभव नहीं तो, सिद्धकर्ता के लिए यह मुश्किल जरूर है जिसके पास एक वैध शून्य ज्ञान प्रमाण की संगणना के लिए विटनेस नहीं है।
‘साझा चाबी’ जिसका पहले जिक्र हुआ था वह सार्वजनिक मापदंडों को संदर्भित करता है जिनपर सिद्धकर्ता और सत्यापनकर्ता प्रमाणों को उत्पन्न और सत्यापन करने के लिए उपयोग में लेने पर सहमत होते है। सार्वजनिक पैरामीटर उत्पन्न करना (सामूहिक रूप से कॉमन रेफरेंस स्ट्रिंग (CRS) के रूप में जाना जाता है) प्रोटोकॉल की सुरक्षा में इसके महत्व के कारण एक संवेदनशील ऑपरेशन है। अगर CRS उत्पादित करने में एंट्रॉपी (अनियमितता) का उपयोग होता है तो बईमान सिद्धकर्ता के हाथों में चला जायेगा, वह झूठे प्रमाणों की संगणना कर सकते हैं।
मल्टी पार्टी कंप्यूटेशन (MPC)(opens in a new tab) सार्वजनिक मापदंडों उत्पन्न करने के जोखिमों को कम करने का तरीका है। एकाधिक पक्ष ट्रस्टेड सेटअप सेरेमनी(opens in a new tab) में भाग लेते हैं, जहां प्रत्येक व्यक्ति CRS उत्पन्न करने के लिए कुछ अनियमित मूल्यों का योगदान देते हैं। जब तक कि एक ईमानदार पक्ष उनके इंट्रोपी के भागो को नष्ट करता है, तब तक ZK-SNARK प्रोटोकॉल संगणित सुदृढ़ता बरकरार रखते हैं।
ट्रस्टेड सेटअप यूजर को प्रतिभागियों के ऊपर मापदंड उत्पन्न करने में भरोसा करने की आवश्यकता पड़ती है। हालांकि, ZK-STARKs के विकास ने उन प्रमाण प्रोटोकॉल को सक्षम बनाया है जो नॉन ट्रस्टेड सेटअप के साथ काम करते हैं।
ZK-STARK
ZK-STARK जीरो-नॉलेज स्केलेबल ट्रांसपेरेंट आर्गुमेंट ऑफ नॉलेज का परिवर्णी शब्द है। ZK-STARKs, ZK-SNARKs के समान हैं, सिवाय इसके कि वे हैं:
स्कैलेबल: ZK-STARK सत्यापन करने वाले प्रमाणों का उत्पादन करने के लिए जब की विटनेस का आकार बड़ा हो ZK-SNARK की तुलना में तेज है। STARK प्रमाणों के साथ, जैसे-जैसे गवाह बढ़ता है, प्रमाण सिद्धकर्ता और सत्यापन के समय में थोड़ी वृद्धि होती है (SNARK प्रमाण सिद्धकर्ता और सत्यापनकर्ता का समय गवाह के आकार के साथ साथ बढ़ता है)।
ट्रांसपेरेंट: ZK-STARK विश्वसनीय सेटअप के बजाय सिद्ध करने और सत्यापन करने के लिए सार्वजनिक मापदंडों को उत्पन्न करने के लिए जनता द्वारा प्रमाणित अनियमितता पर भरोसा करते है। इस प्रकार, वे ZK-SNARK की तुलना में अधिक ट्रांसपेरेंट है।
ZK-STARKs ZK-SNARKs की तुलना में बड़े प्रमाण उत्पादित करते है, मतलब उनके पास आम तौर पर सत्यापन ओवरहेड अधिक होते है। हालांकि, यहां पर ऐसे मामले (जैसे की बड़े डाटासेट को प्रमाणित करना) है जहां पर ZK-STARKs, ZK-SNARKs के मुकाबले ज्यादा लागत प्रभावी हो सकते है।
शून्य-ज्ञान प्रमाणों का उपयोग करने की कमियां
हार्डवेयर की लागत
शून्य-ज्ञान प्रमाणों को जनरेट करने में, विशेष मशीनों पर सबसे अच्छा प्रदर्शन करने वाली बहुत जटिल गणना शामिल है। चूंकि ये मशीनें महंगी हैं, इसलिए वे अक्सर आम व्यक्तियों की पहुंच से बाहर होती हैं। इसके अतिरिक्त, जो एप्लिकेशन शून्य-ज्ञान तकनीक का उपयोग करना चाहते हैं, उनकी हार्डवेयर लागतों में ऐसा फ़ैक्टर होना चाहिए—जो अंतिम उपयोगकर्ताओं के लिए लागत बढ़ा सकता है।
प्रमाण सत्यापन लागत
प्रमाणों को सत्यापित करने के लिए जटिल गणना की भी आवश्यकता होती है और एप्लिकेशन में शून्य-ज्ञान प्रौद्योगिकी को लागू करने की लागत बढ़ जाती है। यह लागत, गणना साबित करने के संदर्भ में विशेष रूप से प्रासंगिक है। उदाहरण के लिए, ZK-रोलअप एथेरियम पर एकल ZK-SNARK प्रमाण को सत्यापित करने के लिए ~ 5,00,000 गैस का भुगतान करते हैं, जिसमें ZK-STARK को और भी अधिक शुल्क की आवश्यकता होती है।
विश्वास की धारणाएँ
ZK-SNARK में, सामान्य संदर्भ स्ट्रिंग (सार्वजनिक पैरामीटर) एक बार उत्पन्न होती है और उन पार्टियों के लिए पुन: उपयोग के लिए उपलब्ध होती है, जो शून्य-ज्ञान प्रोटोकॉल में भाग लेना चाहते हैं। सार्वजनिक पैरामीटर एक विश्वसनीय सेटअप समारोह के माध्यम से बनाए जाते हैं, जहां प्रतिभागियों को ईमानदार माना जाता है।
लेकिन, वास्तव में यूज़र के लिए, प्रतिभागियों की ईमानदारी का आकलन करने का कोई तरीका नहीं है और यूज़र को डेवलपर्स की बात पर विश्वास करना होता है। ZK-STARK विश्वास की मान्यताओं से मुक्त हैं, क्योंकि स्ट्रिंग जनरेट करने में उपयोग की जाने वाली यादृच्छिकता, सार्वजनिक रूप से सत्यापन योग्य है। इस बीच, शोधकर्ता, साबित करने के तंत्र की सुरक्षा बढ़ाने के लिए ZK-SNARK के लिए गैर-विश्वसनीय सेटअप पर काम कर रहे हैं।
क्वांटम कंप्यूटिंग खतरे
ZK-SNARK, एन्क्रिप्शन के लिए एलिप्टिक कर्व क्रिप्टोग्राफ़ी का उपयोग करता है। हालांकि, एलिप्टिक कर्व, असतत लघुगणक समस्या को अभी के लिए दुसाध्य माना जाता है, लेकिन क्वांटम कंप्यूटर का विकास भविष्य में इस सुरक्षा मॉडल को तोड़ सकता है।
ZK-STARK को क्वांटम कंप्यूटिंग के खतरे से प्रतिरक्षा माना जाता है, क्योंकि अपनी सुरक्षा के लिए यह केवल टकराव-प्रतिरोधी हैश फ़ंक्शंस पर निर्भर करता है। एलिप्टिक कर्व क्रिप्टोग्राफ़ी में उपयोग की जाने वाली सार्वजनिक-निजी चाबी जोड़ी के विपरीत, क्वांटम कंप्यूटिंग एल्गोरिदम के लिए, टकराव-प्रतिरोधी हैशिंग को तोड़ना अधिक कठिन होता है।
अग्रिम पठन
- शून्य-ज्ञान प्रमाणों के लिए उपयोग के मामलों का अवलोकन(opens in a new tab) — गोपनीयता और स्केलिंग अन्वेषण टीम
- SNARKs बनाम STARKS बनाम बार-बार आने वाले SNARKs(opens in a new tab) — Alchemy अवलोकन
- एक शून्य-ज्ञान प्रमाण: ब्लॉकचेन पर गोपनीयता में सुधार(opens in a new tab) - मित्री लावरेनोव
- zk-SNARKs - एक यथार्थवादी शून्य-ज्ञान उदाहरण(opens in a new tab) — एडेम ल्यूसियानो
- ZK-STARKs - क्वांटम कंप्यूटर के खिलाफ भी सत्यापन योग्य विश्वास बनाएं(opens in a new tab) — एडेम ल्यूसियानो
- zk-SNARK कैसे संभव हैं, इसका एक अनुमानित परिचय(opens in a new tab) — विटालिक बुटेरिन
- क्यों शून्य ज्ञान प्रमाण (ZKP) स्व-संप्रभु पहचान के लिए एक गेम चेंजर है(opens in a new tab) — फ्रैंकलिन ओहेगबुलम