मुख्य सामग्री पर जाएं

शून्य-ज्ञान प्रमाण को 5 कठिनाई स्तरों में समझाया गया

एक कंप्यूटर वैज्ञानिक शून्य-ज्ञान प्रमाण को एक बच्चे से लेकर एक विशेषज्ञ तक, जटिलता के पांच अलग-अलग स्तरों पर समझाता है।

Date published: 13 दिसंबर 2021

कंप्यूटर वैज्ञानिक अमित सहाय (Amit Sahai), जो UCLA Samueli School of Engineering में प्रोफेसर हैं, इस वायर्ड (WIRED) प्रोडक्शन में शून्य-ज्ञान प्रमाण को एक बच्चे से लेकर एक विशेषज्ञ तक, जटिलता के पांच स्तरों पर समझाते हैं। इस अवधारणा को भौतिक उपमाओं के माध्यम से प्रदर्शित किया गया है और बढ़ती तकनीकी गहराई के साथ चर्चा की गई है, जिससे क्रिप्टोग्राफी की सबसे महत्वपूर्ण अवधारणाओं में से एक सभी के लिए सुलभ हो गई है।

यह ट्रांसक्रिप्ट WIRED द्वारा प्रकाशित मूल वीडियो ट्रांसक्रिप्ट (opens in a new tab) की एक सुलभ प्रति है। इसे पढ़ने में आसानी के लिए थोड़ा संपादित किया गया है।

परिचय (0:00)

अमित सहाय: नमस्ते, मेरा नाम अमित सहाय है, और मैं UCLA Samueli School of Engineering में कंप्यूटर विज्ञान का प्रोफेसर हूं। आज, मुझे शून्य-ज्ञान प्रमाण को बढ़ती जटिलता के पांच स्तरों में समझाने के लिए कहा गया है।

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

स्तर 1: बच्चा (0:41)

अमित सहाय: तुम्हारा पसंदीदा विषय कौन सा है?

चेल्सी: मैं कहूंगी गणित। कुछ छोटी समस्याएं वास्तव में बहुत बड़ी और जटिल हो सकती हैं। यह एक पहेली की तरह है।

अमित सहाय: मुझे भी इसी कारण से गणित पसंद है। आज, मैं तुम्हें शून्य-ज्ञान प्रमाण नामक एक चीज़ के बारे में बताने जा रहा हूँ। शून्य-ज्ञान प्रमाण में, दो लोग होते हैं — एक प्रमाणक और एक सत्यापनकर्ता। मैं तुम्हें यह साबित करना चाहता हूँ कि कुछ सच है, लेकिन अजीब बात यह है कि मैं तुम्हें यह साबित करना चाहता हूँ कि यह सच है, बिना कोई कारण बताए। मुझे याद है जब मैंने पहली बार इसके बारे में सुना था, तो मैं सोच रहा था, रुको, क्या? ऐसा कैसे हो सकता है?

तो तुम्हें इस तस्वीर में क्या दिखाई दे रहा है?

चेल्सी: बहुत सारे पेंगुइन।

अमित सहाय: हाँ। इन सभी पेंगुइन के बीच एक पफिन (puffin) छिपा है। क्या तुम इसे खोजने की कोशिश करना चाहोगी? क्या तुम्हें दिख रहा है कि यह कहाँ है? मुझे पता है कि यह कहाँ है, लेकिन मैं तुम्हें बताना नहीं चाहता। क्या तुम मुझ पर विश्वास करती हो?

चेल्सी: हाँ।

अमित सहाय: लेकिन क्या हो अगर मैं तुम्हें यह साबित कर सकूं कि मुझे पता है कि पफिन कहाँ है, बिना यह बताए कि वह कहाँ है? मैं तुम्हें दिखाता हूँ। मैंने वह तस्वीर ली और उसे यहाँ इस पोस्टर के पीछे रख दिया। तुम जाकर उस छेद से क्यों नहीं देखती?

चेल्सी: मुझे पफिन दिख रहा है।

अमित सहाय: तो जब तुम इस बोर्ड को देखती हो, तो हमें नहीं पता कि तस्वीर कहाँ थी, है ना? क्या तस्वीर का कोना यहाँ था, जिस स्थिति में पफिन पूरी तरह से इस तरफ होता? या तस्वीर का कोना यहाँ था, जिस स्थिति में पफिन दूसरी तरफ होता? तो यह शून्य-ज्ञान प्रमाण का एक बहुत ही सरल उदाहरण है। मैंने तुम्हें विश्वास दिलाया कि मुझे पता था कि पफिन कहाँ है, लेकिन तुमने कुछ और नहीं सीखा।

चेल्सी: आप शून्य-ज्ञान प्रमाण का अध्ययन क्यों करते हैं?

अमित सहाय: जब मैंने पहली बार उनके बारे में सीखा, तो मुझे लगा कि वे बहुत शानदार हैं। लेकिन पता चला कि वे वास्तव में बहुत उपयोगी भी हैं — सिर्फ पफिन खोजने के लिए नहीं। यदि तुम बस अपना पासवर्ड टाइप करती हो और हैकर कंप्यूटर को हैक कर लेता है, तो वे तुम्हारा पासवर्ड प्राप्त कर सकते हैं। क्या हो अगर इसके बजाय, हम किसी तरह लॉग इन करने के लिए शून्य-ज्ञान प्रमाण का उपयोग कर सकें? तुम बस यह साबित कर पाओगी कि तुम चेल्सी हो, बिना उन्हें कुछ भी बताए। यदि तुम ऐसा कर सको, तो यह अद्भुत होगा, क्योंकि भले ही हैकर ने कंप्यूटर को हैक कर लिया हो, वे कुछ भी नहीं सीखेंगे — क्योंकि कंप्यूटर भी कुछ नहीं सीखता है।

तो चेल्सी, तुम्हारे अपने शब्दों में, शून्य-ज्ञान प्रमाण क्या है?

चेल्सी: शून्य-ज्ञान प्रमाण किसी कथन का प्रमाण है। आप उन्हें यह नहीं दिखाते कि क्यों या क्या। आप बस उन्हें एक छोटा सा हिस्सा दिखाते हैं, या बस किसी तरह का अजीब जादू का खेल करते हैं जो वास्तव में जादू का खेल नहीं है, और वे आश्वस्त हो जाएंगे। और आपने उन्हें यह नहीं दिखाया कि क्यों, या ऐसा कुछ भी।

स्तर 2: किशोर (3:31)

अमित सहाय: तो क्या तुमने पहले कभी शून्य-ज्ञान प्रमाण शब्द सुना है?

किशोर: नहीं, मैंने नहीं सुना है।

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

ठीक है। "मेरे कुत्ते का नाम डग है।"

किशोर: क्या आपको पता चल गया कि कॉम्बिनेशन क्या था?

अमित सहाय: नहीं। तो इस पूरी बातचीत में तुमने कहीं भी ऐसी कोई जानकारी नहीं देखी जो तुम्हें पहले से नहीं पता थी। और फिर भी मैंने तुम्हें विश्वास दिला दिया कि मुझे कॉम्बिनेशन पता है।

किशोर: तो शून्य-ज्ञान प्रमाण का सटीक उद्देश्य क्या है? क्या यह कुछ साबित करने जैसा है लेकिन पर्याप्त जानकारी दिए बिना जो उस चीज़ को खतरे में डाल सके जिसे आप साबित कर रहे हैं?

अमित सहाय: लोग एक-दूसरे पर भरोसा नहीं करते हैं। और अगर मैं किसी को यह साबित करने में सक्षम होता कि मैंने अपने रहस्यों को उजागर किए बिना कुछ सही ढंग से किया है, तो वह व्यक्ति मुझ पर अधिक भरोसा करेगा।

किशोर: यह कंप्यूटर तकनीक से कैसे संबंधित है? क्या यह आमने-सामने की बातचीत है?

अमित सहाय: मान लो कि तुम किसी ऐसे व्यक्ति के साथ संदेशों का आदान-प्रदान करना चाहते हो जिसे तुम जानते हो। तुम शायद पहले एक साथ मिलोगे और कोई गुप्त कोड तय करोगे, है ना? और फिर उस कोड में एक-दूसरे को संदेश लिखोगे। लेकिन क्या हो अगर तुम उस व्यक्ति से पहले कभी नहीं मिले हो? क्या हो अगर तुम मेरे साथ गुप्त संदेशों का आदान-प्रदान करना चाहते हो और हम पहले कभी एक-दूसरे से नहीं मिले हैं? हम ऐसा कैसे कर सकते हैं?

किशोर: मुझे कोई अंदाज़ा नहीं है।

अमित सहाय: यह असंभव लगता है, है ना? लेकिन ऐसा नहीं है। तुम किसी भौतिक ताले या भौतिक बक्से का उपयोग नहीं करोगे। इसके बजाय हम इस तरह की चीज़ें करने के लिए गणित का उपयोग करेंगे। तुम एक संदेश ले सकते हो और गणित का उपयोग करके इसे एन्क्रिप्ट कर सकते हो। और फिर मैं तुम्हें साबित कर सकता हूँ कि मुझे कुंजी पता है, इसे खोल सकता हूँ, और इसे तुम्हें वापस भेज सकता हूँ। इस तरह मैं तुम्हें यह साबित कर रहा हूँगा कि मुझे गणितीय लॉकबॉक्स की गणितीय कुंजी पता है।

तो आज हमने जो चर्चा की है उसके आधार पर, तुम्हारे अपने शब्दों में, शून्य-ज्ञान प्रमाण क्या है?

किशोर: यह ऐसा है जैसे तुम्हारे पास यह बहुत महत्वपूर्ण रहस्य है जिसके बारे में तुम चाहते हो कि किसी को पता चले, लेकिन तुम उन्हें सब कुछ नहीं बताना चाहते। तुम उन्हें वह रहस्य साबित करने के लिए शून्य-ज्ञान प्रमाण का उपयोग कर सकते हो, लेकिन इसका पूरा हिस्सा नहीं देते।

स्तर 3: कॉलेज का छात्र (6:13)

अमित सहाय: तुम क्या पढ़ रहे हो?

कॉलेज का छात्र: मैं USC Viterbi में प्रथम वर्ष का कंप्यूटर विज्ञान का छात्र हूँ। मुझे डेटा, इंटरनेट, ब्लॉकचेन और क्रिप्टोकरेंसी जैसी सभी चीज़ों में दिलचस्पी है।

अमित सहाय: क्या तुमने कभी शून्य-ज्ञान प्रमाण के बारे में सुना है?

कॉलेज का छात्र: बस चलते-फिरते सुना है।

अमित सहाय: वास्तव में, ब्लॉकचेन स्पेस उन जगहों में से एक है जहाँ हम शून्य-ज्ञान प्रमाण को लागू होते हुए देख रहे हैं — और मुझे लगता है कि यह सिर्फ शुरुआत है। इसके मूल में, शून्य-ज्ञान प्रमाण दो लोगों के बीच एक बातचीत है। मुझे तुम्हें यह विश्वास दिलाने में सक्षम होना चाहिए कि कोई कथन सत्य है, लेकिन तुम्हें इस बात का कोई अंदाज़ा नहीं होगा कि यह सत्य क्यों है।

हम जिस तरीके से इसे समझने जा रहे हैं वह NP-completeness (एनपी-पूर्णता) नामक चीज़ के माध्यम से है। एक NP-complete समस्या एक ऐसी समस्या है जिसे हल करना वास्तव में कठिन है। लेकिन अगर तुम इसे हल कर सकते हो, तो तुम कक्षा NP में मौजूद किसी भी समस्या को हल कर सकते हो — और इसमें बड़ी संख्या में समस्याएं शामिल हैं। हम वास्तव में शून्य-ज्ञान प्रमाण के माध्यम से अविश्वसनीय रूप से विभिन्न प्रकार के कथनों को साबित करने के लिए एक NP-complete समस्या का उपयोग करने जा रहे हैं। हम जिस विशिष्ट NP-complete समस्या को देखने जा रहे हैं उसे मैप थ्री-कलरिंग (map three-coloring) कहा जाता है।

यहाँ हमारे पास कई देशों वाला एक नक्शा है, जिसे इस तरह व्यवस्थित किया गया है कि समान रंग वाले कोई भी देश सीमा साझा नहीं करते हैं। यही बात इस तरह के नक्शे को वैध रूप से रंगीन बनाती है। यह पता चला है कि किसी नक्शे को इस तरह से तीन रंगों में रंगा जा सकता है या नहीं, यह एक NP-complete समस्या का उदाहरण है।

शायद तुम वास्तव में जो करना चाहते हो वह यह है कि तुम अपने खाते का पता बताए बिना एक शून्य-ज्ञान प्रमाण दो कि तुम्हारे पास कम से कम 0.3 बिटकॉइन है। यह पता चला है कि मैं उस कथन को ले सकता हूँ और उसे देशों के नक्शे में बदल सकता हूँ। देशों का वह नक्शा केवल तभी तीन रंगों में रंगा जा सकेगा जब तुम्हारे पास कम से कम 0.2 बिटकॉइन हों।

कॉलेज का छात्र: हम इस तरह की चीज़ को शून्य-ज्ञान प्रमाण में कैसे बदलेंगे?

अमित सहाय: बेशक, पहला कदम यह है कि हमें सभी रंगों को मिटाना होगा। मैंने इनमें से प्रत्येक लिफाफे के अंदर एक रंग रखा है। अब, तुम्हें कैसे पता चलेगा कि यह एक वैध रंग है? तुम्हें नहीं पता। तुम्हें किन्हीं दो पड़ोसी देशों को चुनना होगा — तुम उन्हें जैसे चाहो, यादृच्छिकता से चुन सकते हो।

कॉलेज का छात्र: क्या मैं इन दोनों को ले सकता हूँ?

अमित सहाय: यहाँ हमारे पास हरा है, और यहाँ हमारे पास नीला है। जैसा कि तुम देख सकते हो, वे दो अलग-अलग रंग हैं। तो तुम्हें थोड़ा विश्वास हो गया है कि मैंने इसे सही ढंग से रंगने में कामयाबी हासिल की है — लेकिन इतना भी विश्वास नहीं, क्योंकि मैंने तुम्हें केवल दो देश दिखाए हैं। अधिक विश्वास प्राप्त करने का एक तरीका उनमें से अधिक को खोलना है, लेकिन वह तुम्हें जानकारी प्रकट करना होगा। मैं ऐसा नहीं करना चाहता।

तो इसके बजाय, मैं तुमसे अनुरोध करने जा रहा हूँ कि कृपया पीछे घूमो। और अब, चलो इन रंगों को बदलते हैं।

क्या तुम यादृच्छिकता से दो देश चुन सकते हो, और हम फिर से दो रंगों को प्रकट करेंगे।

कॉलेज का छात्र: मैं इसे और इसे लूँगा।

अमित सहाय: यह तुम्हारी समझदारी है कि तुमने उसी के साथ जाँच की जो तुम्हारे पास पहले से था। लेकिन जैसा कि तुम देखोगे, अब यह हरा नहीं है — यह नीला है। और दूसरी ओर यह वाला, हरा है। जो रंग मैंने तुम्हें पिछली बार दिखाए थे, वे इन नए रंगों के साथ काम नहीं करते हैं। लेकिन यह इस रंग के लिए काम करता है जो मैं तुम्हें अभी दिखा रहा हूँ। तो हमने जो किया है वह यह है कि हमने तुम्हारे लिए टुकड़ों को एक साथ जोड़ना असंभव बना दिया है। और अगर तुम ऐसा एक हज़ार बार करते हो, और मैं हर बार तुम्हें सही ढंग से अलग-अलग रंग दिखाता हूँ, तो तुम वास्तव में आश्वस्त हो जाओगे। और बस इतना ही — यही पूरा शून्य-ज्ञान प्रमाण है।

कॉलेज का छात्र: तो क्या यह एक संभाव्य (probabilistic) प्रमाण की तरह है?

अमित सहाय: हाँ। वास्तविक कार्यान्वयन में हम लिफाफों का उपयोग नहीं करेंगे — तुम एन्क्रिप्शन का उपयोग करोगे। लेकिन यह प्रोटोकॉल है।

कॉलेज का छात्र: तो शून्य-ज्ञान प्रमाण के व्यापक निहितार्थ क्या हैं? क्या उन्हें कार्यान्वयन के लिए अधिक व्यावहारिक माना जाता है, या क्या उन्हें संरचनात्मक रूप से कुछ साबित करना चाहिए?

अमित सहाय: यह किसी चीज़ को अधिक कुशल बनाने के बारे में नहीं है। यह उन चीज़ों को करने के बारे में है जिन्हें हम पहले करना नहीं जानते थे। मैं वास्तव में तुम्हें साबित कर सकता हूँ, अपने किसी भी रहस्य को उजागर किए बिना, कि मैं ईमानदारी से व्यवहार कर रहा हूँ। मैं तुम्हें साबित कर सकता हूँ कि मैंने किसी एन्क्रिप्टेड दस्तावेज़ पर सही ढंग से हस्ताक्षर किए हैं, बिना यह बताए कि वह गुप्त दस्तावेज़ क्या था। खेल को बदलने की वह क्षमता — वास्तव में हम जो कर सकते हैं उसे बदलने की — यही शून्य-ज्ञान पटल पर लाता है।

कॉलेज का छात्र: आपको क्या लगता है कि हम शून्य-ज्ञान प्रमाण का उपयोग करके कहाँ अधिक विश्वास बना सकते हैं?

अमित सहाय: एक बेहतरीन उदाहरण चुनाव है। यदि तुम यह साबित कर सको कि चुनाव सही ढंग से आयोजित किया गया था — कि हर वोट गिना गया था और यह सब एक विशेष कुल के साथ एक व्यक्ति की जीत में जुड़ गया — शून्य-ज्ञान में, तो तुम्हें किसी भी व्यक्ति के वास्तविक वोट को उजागर नहीं करना पड़ेगा। और फिर भी हर कोई देख सकता है कि यह सही ढंग से किया गया था।

स्तर 4: स्नातक छात्र (11:59)

अमित सहाय: तुम्हें यहाँ पाकर और तुमसे बात करके बहुत अच्छा लगा, एली (Eli)। क्या तुम मुझे अपने शोध के बारे में थोड़ा बता सकते हो?

एली: मेरा शोध क्रिप्टोग्राफी में है। विशेष रूप से, मैं कुछ मल्टी-पार्टी कंप्यूटेशन (multi-party computation) प्रोटोकॉल पर काम कर रहा हूँ। जिस पर मैं अभी काम कर रहा हूँ वह समग्र आँकड़ों की गणना करने के लिए एक प्रणाली है, ताकि Google Chrome या Tesla जैसे सेवा प्रदाता व्यक्तिगत उपयोगकर्ताओं के डेटा के बारे में कुछ भी जाने बिना उन आँकड़ों को एकत्र कर सकें। एक उपयोगकर्ता के रूप में, मुझे Firefox को यह बताने की आवश्यकता नहीं है कि मेरी पसंदीदा वेबसाइट mylittlepony.com है। लेकिन वे जान सकते हैं कि हर दिन कितने उपयोगकर्ता mylittlepony.com पर जाते हैं।

अमित सहाय: यह बहुत बढ़िया है। मल्टी-पार्टी कंप्यूटेशन मेरे दिल के बहुत करीब है। ज़ाहिर है, शून्य-ज्ञान प्रमाण किसी अन्य व्यक्ति को उन चीज़ों के विवरण को उजागर किए बिना साबित करने के बारे में है जो आप साबित कर रहे हैं। लेकिन मेरे दिमाग में, शून्य-ज्ञान वास्तव में उससे भी आगे जाता है। यह एक व्यापक अवधारणा है जिसे आप मल्टी-पार्टी कंप्यूटेशन में बहुत देख सकते हैं, जहाँ आप उस कार्य को पूरा करने के लिए आवश्यक चीज़ों से अधिक कुछ भी प्रकट किए बिना कोई कार्य पूरा करना चाहते हैं।

एली: सही, और यह आपको यह साबित करने की अनुमति देता है कि आप ईमानदारी से व्यवहार कर रहे हैं, बिना किसी ऐसे रहस्य को उजागर किए जिसका उपयोग आप वास्तव में ईमानदारी से व्यवहार करने के लिए करते हैं। हम जानते हैं कि NP-complete भाषाओं के लिए शून्य-ज्ञान प्रमाण क्रिप्टोग्राफी में इतनी बड़ी भूमिका निभाते हैं। NP-completeness के साथ आपका पहला अनुभव कैसा था?

अमित सहाय: मेरा पहला सामना एक अंडरग्रेजुएट के रूप में मेरी पहली एल्गोरिदम क्लास में हुआ था। एक NP-complete भाषा यह अद्भुत समस्या है जो न केवल आपको अपने बारे में बताती है, बल्कि इस समस्या को हल करने से वास्तव में आपको वास्तव में दिलचस्प समस्याओं के एक पूरे वर्ग के बारे में पता चल सकता है।

एली: जब आप पहली बार प्रमाणों को एक इंटरैक्टिव गेम के रूप में सोचना शुरू करते हैं जहाँ हम एक-दूसरे से बात कर रहे हैं, तो क्या इसने शून्य-ज्ञान को संभव बनाया?

अमित सहाय: बिल्कुल। और यह विचार कि यादृच्छिकता कुछ साबित करने के लिए उपयोगी हो सकती है — फिर से, अगर हम किसी प्रमाण के प्लेटोनिक आदर्श के बारे में सोचते हैं तो यह बहुत ही उल्टा लगता है। वहाँ कोई यादृच्छिकता नहीं है, कोई गैर-नियतिवाद (non-determinism) मौजूद नहीं है।

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

अमित सहाय: बिल्कुल। यादृच्छिक अप्रत्याशित है, और हम यही चाहते हैं। हम चाहते हैं कि वह अप्रत्याशितता वास्तव में उस जानकारी को छिपाए जिसे हम छिपाना चाहते हैं। तुमने जिन प्रोजेक्ट्स पर काम किया है, उनमें तुमने शून्य-ज्ञान का उपयोग कैसे किया है? तुम्हें कौन सी चुनौतियाँ मिलती हैं?

एली: आमतौर पर सबसे कठिन हिस्सा यह पता लगाना होता है कि इसका उपयोग करने के लिए सबसे अच्छी जगह कहाँ है। मैंने कुछ पेपर लिखे हैं जिनमें शून्य-ज्ञान का अधिक सैद्धांतिक तरीके से उपयोग किया गया है, लेकिन जब अनुप्रयोगों की बात आती है, तो मैंने अब तक जो सबसे रोमांचक अनुप्रयोग देखे हैं, वे ब्लॉकचेन स्पेस में हैं।

अमित सहाय: दक्षता की कुछ बाधाएँ क्या हैं?

एली: शून्य-ज्ञान प्रमाण के बारे में सबसे अच्छी बातों में से एक यह है कि इसके कई प्रकार हैं — मैं उन्हें फ्लेवर (flavors) कहना पसंद करता हूँ। सामान्य तौर पर, जब आप एप्लिकेशन में शून्य-ज्ञान प्रमाण का उपयोग कर रहे होते हैं, तो मुख्य बाधा प्रमाणक पर होती है।

अमित सहाय: क्या तुम प्रमाणक के काम को ले सकते हो और इसे बहुत सारी समानांतर गणनाओं में विभाजित कर सकते हो?

एली: यह बहुत ही मज़ेदार सवाल है। मुझे लगता है कि एक क्षेत्र के रूप में हम अभी भी इसका उत्तर नहीं जानते हैं। पिछले तीन या चार वर्षों में मैंने जो सबसे अच्छी चीज़ें देखी हैं, उनमें से एक सैद्धांतिक से व्यावहारिक में संक्रमण है — इन सभी अद्भुत प्रणालियों को देखना जिनके बारे में लोगों ने पिछले 30 वर्षों में सोचा है, वास्तव में बनाए जाने के लिए पर्याप्त कुशल होने लगी हैं।

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

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

स्तर 5: विशेषज्ञ (17:10)

अमित सहाय: शांग-हुआ (Shang-Hua), आपको फिर से देखकर बहुत अच्छा लगा। मुझे लगता है कि पिछली बार हम 2017 या उसके आसपास मिले थे।

शांग-हुआ: मुझे लगता है कि हमने महामारी के दौरान एक बार ज़ूम (Zoom) किया था, लेकिन आपको व्यक्तिगत रूप से देखकर अच्छा लगा। वास्तव में, '86 में मैं प्रोफेसर लियोनार्ड एडलमैन (Leonard Adleman), जो RSA के 'A' हैं, के साथ एक क्रिप्टो क्लास ले रहा था। उन्होंने मुझे शून्य-ज्ञान प्रमाण पर गोल्डवासर (Goldwasser), मिकाली (Micali) और चार्ली रैकॉफ (Charlie Rackoff) का पेपर सौंपा था। तो वह वास्तव में इस देश में मेरी पहली प्रस्तुति थी — शून्य-ज्ञान के बारे में।

अमित सहाय: यह बहुत बढ़िया है। यह लगभग एक सम्मोहक अवधारणा है।

शांग-हुआ: यह भी दिलचस्प है कि गणितीय रूप से उन अवधारणाओं को कैसे तैयार किया जाए। उदाहरण के लिए, हमारे पास डेटा है। अंततः डेटा से, डेटा माइनिंग के माध्यम से, आप जानकारी प्राप्त कर सकते हैं। और फिर आपके पास "ज्ञान" (knowledge) नामक यह शब्द है। दर्शनशास्त्र में भी ज्ञान पर लंबे समय से बहस होती रही है। ज्ञान क्या है? लेकिन यहाँ एक बहुत ही आकर्षक तरीका है जिससे गणितज्ञ या कंप्यूटर वैज्ञानिक इस ज्ञान को पकड़ना चाहते हैं। इसने "शून्य-सूचना प्रमाण" (zero-information proof) नहीं कहा। तो इस पर आपका क्या विचार है कि "सूचना" या "शून्य-डेटा प्रमाण" के बजाय "ज्ञान" क्यों? स्पष्ट रूप से वहाँ डेटा है, इसलिए यह शून्य-डेटा नहीं हो सकता।

अमित सहाय: बिल्कुल। मुझे नहीं लगता कि हमारे पास अभी भी उस प्रश्न का पूरी तरह से संतोषजनक उत्तर है। जो इतनी सुंदर अंतर्दृष्टि थी वह शून्य-ज्ञान का विचार है जो कुछ ऐसा है जिसकी आप पहले से भविष्यवाणी कर सकते हैं। यदि आप पहले से ही उत्तर की भविष्यवाणी कर सकते हैं, तो आप उस बातचीत से कोई ज्ञान प्राप्त नहीं कर रहे होंगे। यह अंतर्दृष्टि — भविष्य की सटीक भविष्यवाणी करने में सक्षम होने और नए ज्ञान की कमी का प्रमाण होने की — इतनी सुंदर, अद्भुत अंतर्दृष्टि थी।

शांग-हुआ: खैर, यहाँ शून्य-सूचना नहीं है। मौलिक रूप से, कंप्यूटिंग और सुरक्षा के दृष्टिकोण से, जो मायने रखता है वह यह है कि आप कितना ज्ञान प्राप्त कर रहे हैं, न कि आपने कितनी जानकारी प्राप्त की है और आपके पास कितना डेटा है। डेटा का मतलब तुरंत ज्ञान नहीं होता है। लेकिन लोग हमेशा अंतर नहीं कर पाते हैं।

अमित सहाय: सही। उदाहरण के लिए, चिकित्सा अनुसंधान में — एक दवा का होना और यह साबित करना कितना अद्भुत होगा कि यह इस मॉडल में काम करती है, बिना यौगिक की संरचना को उजागर किए?

शांग-हुआ: आप क्या कहेंगे कि इस क्षेत्र में अगली दिशाएँ क्या हैं?

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

शांग-हुआ: यह सही है। इसमें एक गैर-संवादात्मक (non-interactive) प्रकृति है। लेकिन इसमें सत्यापन क्षमता है। ब्लॉकचेन में, उन्होंने लेज़र (ledger) में अधिक सामान्य शून्य-ज्ञान प्रमाण को भी शामिल करना शुरू कर दिया है।

अमित सहाय: हम निश्चित रूप से अब इस क्षण में हैं जहाँ शून्य-ज्ञान का अधिक से अधिक उपयोग होने जा रहा है। शून्य-ज्ञान क्षेत्र में इतने सारे सम्मेलन और बैठकें होती हैं जहाँ आपको और मुझे आमंत्रित नहीं किया जाता है — क्योंकि यह उन लोगों के लिए है जो विकास कर रहे हैं, जो लोग प्रोग्रामिंग कर रहे हैं, हम गणितज्ञों के लिए नहीं। और मुझे लगता है कि यह एक संकेत है। यह एक संकेत है कि हमारा बच्चा बड़ा हो गया है, और अब इसे विकसित करने का समय आ गया है।

शांग-हुआ: मुझे लगता है कि गहराई से, छात्र अक्सर मुझसे पूछते हैं कि भविष्य की दिशाएँ क्या हैं — क्रिप्टो, शून्य-ज्ञान प्रमाण, वास्तविक दुनिया में और गणितीय कंप्यूटिंग दोनों के संदर्भ में।

अमित सहाय: यह एक बहुत अच्छा सवाल है। काश मैं भविष्य देख पाता। मैं नहीं देख सकता, लेकिन मुझे कोशिश करने दें। मुझे लगता है कि हमने पिछले कुछ दशकों में क्रिप्टोग्राफी में बहुत कुछ किया है, लेकिन हम बहुत कम समझते हैं। सबसे बुनियादी पहलू कठोरता (hardness) को समझना है — हमें कठिन समस्याएं कैसे मिलती हैं? हम वास्तव में गणितीय रूप से कठिन समस्याएं कैसे बनाते हैं ताकि हम उनका उपयोग कुशल शून्य-ज्ञान प्रोग्राम और प्रमाण बनाने के लिए कर सकें?

शांग-हुआ: मुझे लगता है कि क्वांटम कंप्यूटिंग में भी, आपको और भी कठिन समस्याओं की आवश्यकता है।

अमित सहाय: वास्तव में। अब जब हमारे सामने क्वांटम कंप्यूटिंग का खतरा मंडरा रहा है, हम सभी जानते हैं कि क्वांटम कंप्यूटर कई क्रिप्टोग्राफिक प्रणालियों को तोड़ सकते हैं। यह एक गहरी चुनौती है। तो क्या हम कठोरता के नए स्रोत खोज सकते हैं जो क्वांटम-प्रतिरोधी (quantum-resistant) हों — जिन्हें क्वांटम कंप्यूटर भी न तोड़ सकें? यह कुछ ऐसा है जिस पर मैं पिछले कई वर्षों से काम कर रहा हूँ।

शांग-हुआ: लेकिन मुझे यकीन है कि वे सुंदर गणित को प्रेरित करेंगे।

अमित सहाय: हाँ, यह सही है। वास्तविक दुनिया के बारे में एक बड़ी बात यह है कि वास्तविक दुनिया में लोगों की माँगें होती हैं। और वे माँगें अक्सर असंभव लगती हैं। और यहीं हम आते हैं — असंभव को संभव बनाना हमारा काम है।

क्या यह पेज उपयोगी था?