शून्य-ज्ञान पुरावे 5 काठिण्य पातळ्यांमध्ये स्पष्ट केले
एक संगणक शास्त्रज्ञ शून्य-ज्ञान पुरावे पाच वेगवेगळ्या गुंतागुंतीच्या पातळ्यांवर स्पष्ट करतो, एका लहान मुलापासून ते तज्ञापर्यंत.
Date published: 13 डिसेंबर, 2021
संगणक शास्त्रज्ञ अमित सहाय (Amit Sahai), जे UCLA Samueli School of Engineering मध्ये प्राध्यापक आहेत, या वायर्ड (WIRED) निर्मितीमध्ये शून्य-ज्ञान पुरावे (zero-knowledge proofs) पाच गुंतागुंतीच्या पातळ्यांवर स्पष्ट करतात, एका लहान मुलापासून ते तज्ञापर्यंत. ही संकल्पना भौतिक उदाहरणांद्वारे दाखवली आहे आणि वाढत्या तांत्रिक सखोलतेसह चर्चा केली आहे, ज्यामुळे गूढलेखन (cryptography) मधील सर्वात महत्त्वाच्या संकल्पनांपैकी एक सर्वांसाठी समजण्यायोग्य बनते.
ही प्रत WIRED ने प्रकाशित केलेल्या मूळ व्हिडिओ ट्रान्सक्रिप्टची (opens in a new tab) एक सुलभ प्रत आहे. वाचनीयतेसाठी यात थोडे संपादन केले आहे.
परिचय (0:00)
अमित सहाय: नमस्कार, माझे नाव अमित सहाय आहे, आणि मी UCLA Samueli School of Engineering मध्ये संगणक विज्ञानाचा प्राध्यापक आहे. आज, मला शून्य-ज्ञान पुरावे पाच वाढत्या गुंतागुंतीच्या पातळ्यांमध्ये स्पष्ट करण्यास सांगितले आहे.
शून्य-ज्ञान पुरावा हा सिद्धकर्ता (prover) साठी पडताळणीकर्ता (verifier) ला एखादे विधान सत्य आहे हे पटवून देण्याचा एक मार्ग आहे, आणि तरीही ते विधान सत्य आहे या वस्तुस्थितीपलीकडे कोणतीही अतिरिक्त माहिती उघड करत नाही. शून्य-ज्ञान पुरावे ब्लॉकचेन आणि क्रिप्टोकरन्सी मध्ये वापरले जात आहेत. गूढलेखक (Cryptographers) झिरो-नॉलेज बद्दल उत्साहित आहेत कारण त्याचे आश्चर्यकारक गणितीय गुणधर्म आहेत, परंतु अनेक वेगवेगळ्या परिस्थितींमध्ये त्याच्या अविश्वसनीय उपयोगितेमुळे देखील.
पातळी 1: लहान मूल (0:41)
अमित सहाय: तुझा आवडता विषय कोणता आहे?
चेल्सी: मी गणित म्हणेन. काही लहान समस्या प्रत्यक्षात खूप मोठ्या आणि गुंतागुंतीच्या असू शकतात. हे एका कोड्यासारखे आहे.
अमित सहाय: मलाही याच कारणासाठी गणित आवडते. आज, मी तुला शून्य-ज्ञान पुरावा नावाच्या एका गोष्टीबद्दल सांगणार आहे. शून्य-ज्ञान पुराव्यामध्ये, दोन लोक असतात — एक सिद्धकर्ता आणि एक पडताळणीकर्ता. मला तुला हे सिद्ध करायचे आहे की काहीतरी सत्य आहे, पण विचित्र गोष्ट अशी आहे की, मला तुला कोणतीही कारणे न सांगता ते सत्य आहे हे सिद्ध करायचे आहे. मला आठवते जेव्हा मी पहिल्यांदा याबद्दल ऐकले, तेव्हा मी विचार केला, थांब, काय? हे कसे शक्य आहे?
तर तुला या फोटोमध्ये काय दिसते?
चेल्सी: खूप सारे पेंग्विन.
अमित सहाय: होय. या सर्व पेंग्विनच्या मध्ये एक पफिन (puffin) लपलेला आहे. तुला तो शोधायचा आहे का? तो कुठे आहे हे तुला दिसते का? मला माहित आहे तो कुठे आहे, पण मला तुला सांगायचे नाही. तुझा माझ्यावर विश्वास आहे का?
चेल्सी: होय.
अमित सहाय: पण जर मी तुला हे सिद्ध करू शकलो की मला पफिन कुठे आहे हे माहित आहे, तेही तो कुठे आहे हे उघड न करता? मी तुला दाखवतो. मी तो फोटो घेतला आणि इथे या पोस्टरच्या मागे ठेवला. तू त्या छिद्रातून का पाहत नाहीस?
चेल्सी: मला पफिन दिसतोय.
अमित सहाय: तर जेव्हा तू या बोर्डकडे पाहतेस, तेव्हा आपल्याला माहित नसते की फोटो कुठे होता, बरोबर? फोटोचा कोपरा इथे होता का, ज्या बाबतीत पफिन पूर्णपणे या बाजूला असेल? किंवा फोटोचा कोपरा इथे होता का, ज्या बाबतीत पफिन दुसऱ्या बाजूला असेल? तर हे शून्य-ज्ञान पुराव्याचे एक अतिशय सोपे उदाहरण आहे. मी तुला पटवून दिले की मला पफिन कुठे आहे हे माहित होते, पण तुला दुसरे काहीही समजले नाही.
चेल्सी: तुम्ही शून्य-ज्ञान पुराव्याचा अभ्यास का करता?
अमित सहाय: जेव्हा मी पहिल्यांदा त्यांच्याबद्दल शिकलो, तेव्हा मला वाटले की ते खूप छान आहेत. पण असे दिसून येते की ते खरोखर उपयुक्त देखील आहेत — फक्त पफिन शोधण्यासाठी नाही. जर तू फक्त तुझा पासवर्ड टाईप केलास आणि हॅकरने संगणक हॅक केला, तर त्यांना तुझा पासवर्ड मिळू शकतो. त्याऐवजी, आपण लॉग इन करण्यासाठी शून्य-ज्ञान पुराव्याचा कसा तरी वापर करू शकलो तर? तू फक्त हे सिद्ध करू शकशील की तू चेल्सी आहेस, त्यांना काहीही उघड न करता. जर तू असे करू शकलीस, तर ते आश्चर्यकारक असेल, कारण जरी हॅकरने संगणक हॅक केला, तरी त्यांना काहीही समजणार नाही — कारण संगणकालाही काहीही समजत नाही.
तर चेल्सी, तुझ्या स्वतःच्या शब्दांत, शून्य-ज्ञान पुरावा म्हणजे काय?
चेल्सी: शून्य-ज्ञान पुरावा हा एका विधानाचा पुरावा आहे. तुम्ही त्यांना का किंवा काय हे दाखवत नाही. तुम्ही त्यांना फक्त एक छोटासा भाग दाखवता, किंवा फक्त काही प्रकारची विचित्र जादूची युक्ती करता जी खरोखर जादूची युक्ती नसते, आणि त्यांची खात्री पटेल. आणि तुम्ही त्यांना का, किंवा तसे काहीही दाखवले नाही.
पातळी 2: किशोरवयीन (3:31)
अमित सहाय: तर तू यापूर्वी कधी शून्य-ज्ञान पुरावा हा शब्द ऐकला आहेस का?
किशोरवयीन: मी नाही ऐकला, नाही.
अमित सहाय: हा सिद्धकर्तासाठी पडताळणीकर्ताला एखादी गोष्ट सत्य आहे हे पटवून देण्याचा एक मार्ग आहे, ते सत्य का आहे याबद्दल काहीही उघड न करता, जे पूर्णपणे विचित्र वाटते. मला तुला हे सिद्ध करायचे आहे की मला हे कॉम्बिनेशन (combination) माहित आहे, ते कॉम्बिनेशन तुला उघड न करता. आणि तू काय करू शकतोस तर एक छोटीशी चिठ्ठी लिहू शकतोस, एक रहस्य जे मला नक्कीच माहित नसेल. ती दुमडून, इथे आत ठेव. आणि मग, जर मला कॉम्बिनेशन माहित असेल, तर मी ते उघडून तू काय लिहिलंस ते सांगू शकेन.
ठीक आहे. "माझ्या कुत्र्याचे नाव डग आहे."
किशोरवयीन: तुम्हाला कॉम्बिनेशन काय होते ते समजले का?
अमित सहाय: नाही. तर या संवादात कुठेही तुला अशी कोणतीही माहिती दिसली नाही जी तुला आधीच माहित नव्हती. आणि तरीही मी तुला पटवून दिले की मला कॉम्बिनेशन माहित आहे.
किशोरवयीन: तर शून्य-ज्ञान पुराव्याचा नेमका उद्देश काय आहे? हे काहीतरी सिद्ध करण्यासारखे आहे पण पुरेशी माहिती न देता ज्यामुळे तुम्ही जे काही सिद्ध करत आहात त्याला धोका निर्माण होऊ शकेल?
अमित सहाय: लोक एकमेकांवर विश्वास ठेवत नाहीत. आणि जर मी माझे रहस्य उघड न करता एखाद्याला मी काहीतरी योग्यरित्या केले आहे हे सिद्ध करू शकलो, तर ती व्यक्ती माझ्यावर अधिक विश्वास ठेवेल.
किशोरवयीन: याचा संगणक तंत्रज्ञानाशी कसा संबंध आहे? हा समोरासमोरचा संवाद आहे का?
अमित सहाय: समजा तुला तुझ्या ओळखीच्या एखाद्या व्यक्तीसोबत संदेशांची देवाणघेवाण करायची आहे. तुम्ही कदाचित आधी एकत्र याल आणि काही गुप्त कोड ठरवाल, बरोबर? आणि मग त्या कोडमध्ये एकमेकांना संदेश लिहाल. पण जर तू त्या व्यक्तीला आधी कधीच भेटला नसशील तर? जर तुला माझ्यासोबत गुप्त संदेशांची देवाणघेवाण करायची असेल आणि आपण एकमेकांना आधी कधीच भेटलो नसू तर? आपण हे कसे करू शकू?
किशोरवयीन: मला काहीच कल्पना नाही.
अमित सहाय: हे अशक्य वाटते, बरोबर? पण तसे नाही. तू भौतिक कुलूप किंवा भौतिक पेटी वापरणार नाहीस. त्याऐवजी आपण या प्रकारच्या गोष्टी करण्यासाठी गणिताचा वापर करू. तू एक संदेश घेऊ शकतोस आणि गणिताचा वापर करून त्याचे कूटलेखन (encrypt) करू शकतोस. आणि मग मी तुला सिद्ध करू शकेन की मला की (key) माहित आहे, ते उघडून, आणि तुला परत पाठवू शकेन. अशा प्रकारे मी तुला सिद्ध करत असेन की मला गणितीय लॉकबॉक्सची गणितीय की माहित आहे.
तर आज आपण जे काही चर्चा केली त्यावर आधारित, तुझ्या स्वतःच्या शब्दांत, शून्य-ज्ञान पुरावा म्हणजे काय?
किशोरवयीन: हे असे आहे की जर तुमच्याकडे एखादे खरोखर महत्त्वाचे रहस्य असेल ज्याबद्दल तुम्हाला एखाद्याला माहिती द्यायची असेल, परंतु तुम्हाला त्यांना सर्व काही सांगायचे नसेल. तुम्ही त्यांना ते रहस्य सिद्ध करण्यासाठी शून्य-ज्ञान पुराव्याचा वापर करू शकता, परंतु ते सर्व उघड न करता.
पातळी 3: महाविद्यालयीन विद्यार्थी (6:13)
अमित सहाय: तू कशाचा अभ्यास करत आहेस?
महाविद्यालयीन विद्यार्थी: मी USC Viterbi मध्ये संगणक विज्ञानाचा प्रथम वर्षाचा विद्यार्थी आहे. मला डेटा, इंटरनेट, ब्लॉकचेन आणि क्रिप्टोकरन्सी यांसारख्या सर्व गोष्टींमध्ये रस आहे.
अमित सहाय: तू कधी शून्य-ज्ञान पुराव्यांबद्दल ऐकले आहेस का?
महाविद्यालयीन विद्यार्थी: फक्त जाता जाता ऐकले आहे.
अमित सहाय: खरं तर, ब्लॉकचेन क्षेत्र हे अशा क्षेत्रांपैकी एक आहे जिथे आपण शून्य-ज्ञान पुराव्यांची अंमलबजावणी होताना पाहत आहोत — आणि मला वाटते की ही फक्त सुरुवात आहे. मुळात, शून्य-ज्ञान पुरावा हा दोन लोकांमधील संवाद आहे. मी तुला हे पटवून देऊ शकेन की एखादे विधान सत्य आहे, पण ते सत्य का आहे याची तुला काहीही कल्पना नसेल.
आपण याकडे ज्या पद्धतीने पाहणार आहोत ते NP-completeness नावाच्या एका गोष्टीद्वारे आहे. NP-complete समस्या ही अशी समस्या आहे जी सोडवणे खरोखर कठीण आहे. पण जर तुम्ही ती सोडवू शकलात, तर तुम्ही NP वर्गातील कोणतीही समस्या सोडवू शकता — आणि त्यात मोठ्या संख्येने समस्यांचा समावेश आहे. आपण शून्य-ज्ञान पुराव्याद्वारे विधानांच्या अविश्वसनीय विविधतेची प्रत्यक्षात सिद्धता करण्यासाठी NP-complete समस्येचा वापर करणार आहोत. आपण ज्या विशिष्ट NP-complete समस्येकडे पाहणार आहोत त्याला मॅप थ्री-कलरिंग (map three-coloring) म्हणतात.
येथे आपल्याकडे अनेक देशांचा एक नकाशा आहे, ज्याची मांडणी अशी केली आहे की समान रंग असलेल्या कोणत्याही देशांची सीमा सामायिक नाही. यामुळेच असा नकाशा वैधपणे रंगीत बनतो. असे दिसून येते की नकाशा या प्रकारे तीन-रंगात रंगवला जाऊ शकतो की नाही हे NP-complete समस्येचे एक उदाहरण आहे.
कदाचित तुला खरोखर जे करायचे आहे ते म्हणजे तुझ्या खात्याचा पत्ता उघड न करता, तुझ्याकडे किमान 0.3 बिटकॉइन आहेत याचा शून्य-ज्ञान पुरावा देणे. असे दिसून येते की मी ते विधान घेऊ शकतो आणि त्याचे देशांच्या नकाशामध्ये रूपांतर करू शकतो. तो देशांचा नकाशा केवळ तेव्हाच तीन-रंगात रंगवता येईल जर तुझ्याकडे किमान 0.2 बिटकॉइन असतील.
महाविद्यालयीन विद्यार्थी: आपण यासारख्या गोष्टीचे शून्य-ज्ञान पुराव्यामध्ये कसे रूपांतर करू?
अमित सहाय: अर्थात, पहिली पायरी म्हणजे आपल्याला सर्व रंग पुसून टाकावे लागतील. मी या प्रत्येक लिफाफ्यात एक रंग ठेवला आहे. आता, तुला कसे समजेल की हे वैध रंगकाम आहे? तुला समजणार नाही. तुला कोणतेही दोन शेजारील देश निवडावे लागतील — तू ते तुला हवे तसे, यादृच्छिकपणे (at random) निवडू शकतोस.
महाविद्यालयीन विद्यार्थी: मी हे दोन घेऊ शकतो का?
अमित सहाय: इथे आपल्याकडे हिरवा आहे, आणि इथे आपल्याकडे निळा आहे. जसे तू पाहू शकतोस, ते दोन वेगळे रंग आहेत. त्यामुळे तुला थोडासा विश्वास वाटतो की मी हे योग्यरित्या रंगवण्यात यशस्वी झालो आहे — पण तितकासा विश्वास नाही, कारण मी तुला फक्त दोनच देश दाखवले आहेत. अधिक विश्वास मिळवण्याचा एक मार्ग म्हणजे त्यापैकी अधिक उघडणे, पण त्यामुळे तुला माहिती उघड होईल. मला तसे करायचे नाही.
त्यामुळे त्याऐवजी, मी तुला कृपया मागे वळायला सांगणार आहे. आणि आता, आपण हे रंग बदलूया.
तू यादृच्छिकपणे दोन देश निवडू शकतोस का, आणि आपण पुन्हा दोन रंग उघड करू.
महाविद्यालयीन विद्यार्थी: मी हा आणि हा घेईन.
अमित सहाय: तू आधीच घेतलेल्या त्याच देशासोबत तपासणे ही तुझी हुशारी आहे. पण जसे तू पाहशील, आता तो हिरवा नाही — तो निळा आहे. आणि दुसरीकडे हा, हिरवा आहे. मी तुला गेल्या वेळी दाखवलेले रंग या नवीन रंगांसोबत काम करत नाहीत. पण मी तुला आता जे रंगकाम दाखवत आहे त्यासाठी ते काम करते. तर आपण जे केले आहे ते म्हणजे तुझ्यासाठी तुकडे एकत्र जोडणे अशक्य केले आहे. आणि जर तू हे हजार वेळा केलेस, आणि मी तुला प्रत्येक वेळी योग्यरित्या वेगवेगळे रंग दाखवले, तर तुझी खरोखर खात्री पटेल. आणि एवढेच — हाच संपूर्ण शून्य-ज्ञान पुरावा आहे.
महाविद्यालयीन विद्यार्थी: तर हा संभाव्यतेवर आधारित (probabilistic) पुरावा आहे का?
अमित सहाय: होय. प्रत्यक्ष अंमलबजावणीमध्ये आपण लिफाफे वापरणार नाही — तू कूटलेखन (encryption) वापरशील. पण हाच प्रोटोकॉल आहे.
महाविद्यालयीन विद्यार्थी: तर शून्य-ज्ञान पुराव्यांचे व्यापक परिणाम काय आहेत? ते अंमलबजावणीसाठी अधिक व्यावहारिक असावेत असे अपेक्षित आहे, की त्यांनी संरचनात्मकदृष्ट्या काहीतरी सिद्ध करावे असे अपेक्षित आहे?
अमित सहाय: हे काहीतरी अधिक कार्यक्षम बनवण्याबद्दल नाही. हे अशा गोष्टी करण्याबद्दल आहे ज्या आपल्याला आधी कशा करायच्या हे माहित नव्हते. मी माझे कोणतेही रहस्य उघड न करता, मी प्रामाणिकपणे वागत आहे हे तुला प्रत्यक्षात सिद्ध करू शकतो. मी तुला सिद्ध करू शकेन की मी काही कूटलिखित (encrypted) दस्तऐवजावर योग्यरित्या स्वाक्षरी केली आहे, तो गुप्त दस्तऐवज काय होता हे उघड न करता. गेम बदलण्याची ती क्षमता — आपण काय करू शकतो हे खरोखर बदलण्याची क्षमता — हेच झिरो-नॉलेज समोर आणते.
महाविद्यालयीन विद्यार्थी: तुम्हाला काय वाटते की आपण शून्य-ज्ञान पुराव्यांचा वापर करून कुठे अधिक विश्वास निर्माण करू शकतो?
अमित सहाय: एक उत्तम उदाहरण म्हणजे निवडणुका. जर तुम्ही हे सिद्ध करू शकलात की निवडणूक योग्यरित्या पार पडली — की प्रत्येक मत मोजले गेले आणि त्या सर्वांची बेरीज होऊन एक व्यक्ती विशिष्ट एकूण मतांनी जिंकली — तेही झिरो-नॉलेजमध्ये, तर तुम्हाला कोणत्याही व्यक्तीची प्रत्यक्ष मते उघड करावी लागणार नाहीत. आणि तरीही प्रत्येकाला दिसेल की ते योग्यरित्या केले गेले आहे.
पातळी 4: पदवीधर विद्यार्थी (11:59)
अमित सहाय: एली, तुला इथे पाहणे आणि तुझ्याशी बोलणे खूप छान वाटत आहे. तू मला तुझ्या संशोधनाबद्दल थोडे सांगू शकतोस का?
एली: माझे संशोधन गूढलेखन (cryptography) मध्ये आहे. विशेषतः, मी काही मल्टी-पार्टी कॉम्प्युटेशन (multi-party computation) प्रोटोकॉलवर काम करत आहे. मी सध्या ज्यावर काम करत आहे ती एकत्रित आकडेवारी मोजण्यासाठी एक प्रणाली आहे, जेणेकरून Google Chrome किंवा Tesla सारखे सेवा प्रदाते वैयक्तिक वापरकर्त्यांच्या डेटाबद्दल काहीही न शिकता ती आकडेवारी गोळा करू शकतील. एक वापरकर्ता म्हणून, मला Firefox ला हे सांगण्याची गरज नाही की माझी आवडती वेबसाइट mylittlepony.com आहे. पण त्यांना हे समजू शकते की दररोज किती वापरकर्ते mylittlepony.com वर जातात.
अमित सहाय: हे अप्रतिम आहे. मल्टी-पार्टी कॉम्प्युटेशन हा माझ्या जिव्हाळ्याचा विषय आहे. साहजिकच, शून्य-ज्ञान पुरावे हे तुम्ही जे सिद्ध करत आहात त्याचे तपशील उघड न करता दुसऱ्या व्यक्तीला गोष्टी सिद्ध करण्याबद्दल आहेत. पण माझ्या मते, झिरो-नॉलेज प्रत्यक्षात त्याही पलीकडे जाते. ही एक व्यापक संकल्पना आहे जी तुम्हाला मल्टी-पार्टी कॉम्प्युटेशनमध्ये खूप पाहायला मिळते, जिथे तुम्हाला एखादे कार्य पूर्ण करण्यासाठी जेवढे आवश्यक आहे त्यापेक्षा अधिक काहीही उघड न करता ते कार्य पूर्ण करायचे असते.
एली: बरोबर, आणि हे तुम्हाला तुम्ही प्रामाणिकपणे वागत आहात हे सिद्ध करण्याची परवानगी देते, प्रत्यक्षात प्रामाणिकपणे वागण्यासाठी तुम्ही वापरत असलेले कोणतेही रहस्य उघड न करता. आपल्याला माहित आहे की NP-complete भाषांसाठी शून्य-ज्ञान पुरावे गूढलेखनामध्ये खूप मोठी भूमिका बजावतात. NP-completeness सोबतचा तुमचा पहिला अनुभव कसा होता?
अमित सहाय: माझा पहिला अनुभव पदवीपूर्व विद्यार्थी म्हणून माझ्या पहिल्या अल्गोरिदम क्लासमध्ये होता. NP-complete भाषा ही एक आश्चर्यकारक समस्या आहे जी केवळ स्वतःबद्दलच सांगत नाही, तर ही समस्या सोडवल्याने तुम्हाला खरोखरच मनोरंजक समस्यांच्या संपूर्ण वर्गाबद्दल माहिती मिळू शकते.
एली: जेव्हा तुम्ही पहिल्यांदा पुराव्यांचा विचार एक संवादात्मक खेळ म्हणून करायला लागलात जिथे आपण एकमेकांशी बोलत आहोत, तेव्हा त्यामुळे झिरो-नॉलेज शक्य झाले का?
अमित सहाय: नक्कीच. आणि यादृच्छिकता (randomness) काहीतरी सिद्ध करण्यासाठी उपयुक्त ठरू शकते ही कल्पना — पुन्हा, जर आपण पुराव्याच्या आदर्श कल्पनेचा विचार केला तर ती खूपच विसंगत वाटते. तिथे कोणतीही यादृच्छिकता नसते, कोणतेही नॉन-डिटरमिनिझम (non-determinism) उपस्थित नसते.
एली: याचा संबंध पुराव्याला पूर्णपणे उलट करण्याच्या या संपूर्ण कल्पनेशी आहे. जुन्या शास्त्रीय पुराव्यामध्ये, यादृच्छिकता विशेषतः तुम्ही जे करण्याचा प्रयत्न करत आहात त्या ध्येयाच्या विरुद्ध असते, कारण तुम्ही सर्वकाही स्पष्ट करण्याचा आणि माहितीचा प्रवाह उघड करण्याचा प्रयत्न करत असता. पण एकदा तुम्ही ते उलट केले आणि तुम्ही आता तसे करण्याचा प्रयत्न करत नसाल, तर अचानक यादृच्छिकतेचे सर्व वाईट गुणधर्म चांगले बनतात.
अमित सहाय: अगदी बरोबर. यादृच्छिक (Random) हे अप्रत्याशित असते, आणि आपल्याला तेच हवे असते. आपल्याला ती अप्रत्याशितता हवी असते जेणेकरून आपल्याला जी माहिती लपवायची आहे ती प्रत्यक्षात लपवता येईल. तू काम केलेल्या प्रकल्पांमध्ये तू झिरो-नॉलेजचा वापर कसा केला आहेस? तुला कोणती आव्हाने आढळतात?
एली: सहसा सर्वात कठीण भाग म्हणजे त्याचा वापर करण्यासाठी सर्वोत्तम जागा नेमकी कोणती आहे हे शोधून काढणे. मी काही शोधनिबंध लिहिले आहेत ज्यांनी झिरो-नॉलेजचा अधिक सैद्धांतिक मार्गाने वापर केला आहे, परंतु जेव्हा अनुप्रयोगांचा (applications) विचार केला जातो, तेव्हा मी आतापर्यंत पाहिलेले काही सर्वात रोमांचक अनुप्रयोग ब्लॉकचेन क्षेत्रात आहेत.
अमित सहाय: कार्यक्षमतेतील काही अडथळे (bottlenecks) कोणते आहेत?
एली: शून्य-ज्ञान पुराव्यांबद्दल सर्वात छान गोष्टींपैकी एक म्हणजे त्याचे अनेक प्रकार आहेत — मला त्यांना फ्लेवर्स (flavors) म्हणायला आवडते. सर्वसाधारणपणे, जेव्हा तुम्ही अनुप्रयोगामध्ये शून्य-ज्ञान पुरावे वापरत असता, तेव्हा मुख्य अडथळा सिद्धकर्तावर (prover) असतो.
अमित सहाय: तू सिद्धकर्ताचे काम घेऊन ते अनेक समांतर गणनेमध्ये (parallel computations) विभागू शकतोस का?
एली: हा खूप मजेदार प्रश्न आहे. मला वाटते की एक क्षेत्र म्हणून आपल्याला अद्याप त्याचे उत्तर माहित नाही. गेल्या तीन किंवा चार वर्षांत मी पाहिलेल्या सर्वात छान गोष्टींपैकी एक म्हणजे सैद्धांतिक ते उपयोजित (applied) असा झालेला बदल — गेल्या 30 वर्षांत लोकांनी विचार केलेल्या या सर्व आश्चर्यकारक प्रणाली प्रत्यक्षात तयार करण्यासाठी पुरेशा कार्यक्षम होऊ लागल्या आहेत हे पाहणे.
अमित सहाय: यात शंका नाही. आणि विशेषतः क्लाउड कॉम्प्युटिंगसह — शून्य-ज्ञान पुरावे सक्षम करण्यासाठी क्लाउडच्या सामर्थ्याचा वापर करणे आश्चर्यकारक असेल. तसेच ब्लॉकचेन क्षेत्रात, जर तुम्हाला पुराव्यांची निर्मिती वेगवान करायची असेल, जर ते वितरित (distributed) पद्धतीने केले जाऊ शकले, तर ते उत्तम होईल. माझी एक आशा अशी आहे की मल्टी-पार्टी कॉम्प्युटेशनची ताकद ही एकमेकांवर अविश्वास असलेल्या लोकांना एकत्र आणण्याबद्दल आहे. आपण गूढलेखनातील ती ताकद घेऊ शकतो आणि सध्या समाजात असलेल्या प्रचंड अविश्वासाच्या पातळीवर मदत करण्यासाठी तिचा वापर करू शकतो का?
एली: मला वाटते की हेच एक कारण ज्यामुळे मी मल्टी-पार्टी कॉम्प्युटेशनकडे इतका आकर्षित झालो. जगातील सर्वात महत्त्वाच्या समस्यांपैकी एक म्हणजे बरेच लोक एकमेकांवर विश्वास ठेवत नाहीत. लोकांना एकमेकांवर विश्वास न ठेवता एकत्र काम करण्याची परवानगी देणारे तंत्रज्ञान तयार करण्यासाठी गणिताचा वापर करण्यास सक्षम असणे हे खरोखरच एक छान आणि अद्भुत ध्येय आहे.
पातळी 5: तज्ञ (17:10)
अमित सहाय: शांग-हुआ (Shang-Hua), तुम्हाला पुन्हा भेटून खूप आनंद झाला. मला वाटते की आपण शेवटचे 2017 मध्ये किंवा त्यासारख्याच वेळी भेटलो होतो.
शांग-हुआ: मला वाटते की आपण महामारीच्या काळात एकदा झूम (Zoom) वर भेटलो होतो, पण तुम्हाला प्रत्यक्ष भेटून आनंद झाला. खरं तर, 86 मध्ये मी प्रोफेसर लिओनार्ड अॅडलमन (Leonard Adleman), जे RSA मधील 'A' आहेत, यांच्यासोबत क्रिप्टोचा क्लास घेत होतो. त्यांनी मला गोल्डवासर (Goldwasser), मिकाली (Micali) आणि चार्ली रॅकऑफ (Charlie Rackoff) यांचा शून्य-ज्ञान पुराव्यावरील शोधनिबंध दिला होता. तर ते खरोखरच माझे या देशातील पहिले सादरीकरण होते — झिरो-नॉलेज बद्दल.
अमित सहाय: हे अप्रतिम आहे. ही जवळजवळ संमोहित करणारी संकल्पना आहे.
शांग-हुआ: त्या संकल्पनांची गणितीयदृष्ट्या मांडणी कशी करायची हे देखील मनोरंजक आहे. उदाहरणार्थ, आपल्याकडे डेटा आहे. शेवटी डेटावरून, डेटा मायनिंगद्वारे, तुम्हाला माहिती मिळू शकते. आणि मग तुमच्याकडे "ज्ञान (knowledge)" नावाचा हा शब्द आहे. तत्त्वज्ञानातही ज्ञानावर प्रदीर्घ काळ चर्चा झाली आहे. ज्ञान म्हणजे काय? पण इथे गणितज्ञ किंवा संगणक शास्त्रज्ञांना हे ज्ञान कॅप्चर करण्याचा एक अतिशय आकर्षक मार्ग सापडला आहे. यात "शून्य-माहिती पुरावा (zero-information proof)" असे म्हटले नाही. तर "माहिती" किंवा "शून्य-डेटा पुरावा" ऐवजी "ज्ञान" का, यावर तुमचे काय मत आहे? स्पष्टपणे तिथे डेटा आहे, त्यामुळे तो शून्य-डेटा असू शकत नाही.
अमित सहाय: नक्कीच. मला वाटत नाही की आपल्याकडे अद्याप त्या प्रश्नाचे पूर्णपणे समाधानकारक उत्तर आहे. झिरो-नॉलेज ही अशी गोष्ट आहे ज्याचा तुम्ही आधीच अंदाज लावू शकता ही कल्पना एक अतिशय सुंदर अंतर्दृष्टी होती. जर तुम्ही उत्तराचा आधीच अंदाज लावू शकत असाल, तर तुम्हाला त्या संवादातून कोणतेही ज्ञान मिळत नसेल. ही अंतर्दृष्टी — भविष्याचा अचूक अंदाज लावण्यास सक्षम असणे आणि तो नवीन ज्ञानाच्या अभावाचा पुरावा असणे — ही एक अतिशय सुंदर, आश्चर्यकारक अंतर्दृष्टी होती.
शांग-हुआ: बरं, इथे शून्य-माहिती नाही. मूलभूतपणे, संगणन आणि सुरक्षिततेच्या दृष्टिकोनातून, तुम्ही किती माहिती मिळवली आहे आणि तुमच्याकडे किती डेटा आहे यापेक्षा तुम्ही किती ज्ञान मिळवत आहात हे महत्त्वाचे आहे. डेटाचा अर्थ लगेच ज्ञान असा होत नाही. पण लोक नेहमीच फरक करू शकत नाहीत.
अमित सहाय: बरोबर. उदाहरणार्थ, वैद्यकीय संशोधनात — एखादे औषध असणे आणि कंपाऊंडची रचना उघड न करता ते या मॉडेलमध्ये काम करते हे सिद्ध करणे किती आश्चर्यकारक असेल?
शांग-हुआ: या क्षेत्रातील पुढील दिशा कोणत्या आहेत असे तुम्हाला वाटते?
अमित सहाय: शून्य-ज्ञान प्रोग्राम्सची ही संकल्पना तुम्हाला कोणत्याही संवादाशिवाय, झिरो-नॉलेज पद्धतीने पूर्णपणे अनियंत्रित गणना (arbitrary computations) करण्याची परवानगी देईल. मी फक्त प्रोग्राम घेऊ शकतो, त्याचे शून्य-ज्ञान प्रोग्राममध्ये — किंवा अस्पष्ट (obfuscated) प्रोग्राममध्ये — रूपांतर करू शकतो आणि नंतर तो तुम्हाला पाठवू शकतो. तुम्ही तो चालवू शकता आणि माझ्याशी पुन्हा न बोलता त्या गणनेचा लाभ मिळवू शकता.
शांग-हुआ: ते बरोबर आहे. यात एक गैर-संवादात्मक (non-interactive) स्वरूप आहे. पण त्यात पडताळणीक्षमता (verifiability) आहे. ब्लॉकचेनमध्ये, त्यांनी लेजरमध्ये (ledger) अधिक सामान्य शून्य-ज्ञान पुरावा समाविष्ट करण्यास देखील सुरुवात केली आहे.
अमित सहाय: आपण आता नक्कीच अशा क्षणी आहोत जिथे झिरो-नॉलेजचा अधिकाधिक वापर होणार आहे. झिरो-नॉलेज क्षेत्रात अशा अनेक परिषदा आणि बैठका होतात जिथे तुम्हाला आणि मला आमंत्रित केले जात नाही — कारण ते विकास करणाऱ्या लोकांसाठी, प्रोग्रामिंग करणाऱ्या लोकांसाठी आहे, आपल्यासारख्या गणितज्ञांसाठी नाही. आणि मला वाटते की हे एक लक्षण आहे. हे एक लक्षण आहे की आपले बाळ मोठे झाले आहे, आणि आता ते विकसित करण्याची वेळ आली आहे.
शांग-हुआ: मला सखोलपणे वाटते, विद्यार्थी अनेकदा मला विचारतात की भविष्यातील दिशा काय आहेत — क्रिप्टो, शून्य-ज्ञान पुरावा, वास्तविक जगात आणि गणितीय संगणनाच्या बाबतीत.
अमित सहाय: हा एक उत्तम प्रश्न आहे. माझी इच्छा आहे की मी भविष्य पाहू शकेन. मी पाहू शकत नाही, पण मला प्रयत्न करू द्या. मला वाटते की आपण गेल्या काही दशकांमध्ये गूढलेखनात खूप काही केले आहे, पण आपल्याला खूप कमी समजते. सर्वात मूलभूत पैलू म्हणजे काठिण्य (hardness) समजून घेणे — आपल्याला कठीण समस्या कशा मिळतात? आपण प्रत्यक्षात गणितीयदृष्ट्या कठीण समस्या कशा तयार करतो जेणेकरून आपण त्यांचा वापर कार्यक्षम शून्य-ज्ञान प्रोग्राम्स आणि पुरावे तयार करण्यासाठी करू शकू?
शांग-हुआ: मला असेही वाटते की, क्वांटम कॉम्प्युटिंगमध्ये (quantum computing), तुम्हाला आणखी कठीण समस्यांची आवश्यकता आहे.
अमित सहाय: खरोखर. आता आपल्यासमोर क्वांटम कॉम्प्युटिंगचे संकट उभे आहे, आपल्या सर्वांना माहित आहे की क्वांटम संगणक अनेक क्रिप्टोग्राफिक प्रणाली तोडू शकतात. हे एक सखोल आव्हान आहे. तर आपण काठिण्याचे असे नवीन स्रोत शोधू शकतो का जे क्वांटम-प्रतिरोधक (quantum-resistant) आहेत — जे क्वांटम संगणक देखील तोडू शकत नाहीत? मी गेल्या अनेक वर्षांपासून याच गोष्टीवर काम करत आहे.
शांग-हुआ: पण मला खात्री आहे की ते सुंदर गणिताला प्रेरित करतील.
अमित सहाय: होय, ते बरोबर आहे. वास्तविक जगाबद्दल एक मोठी गोष्ट म्हणजे वास्तविक जगातील लोकांच्या मागण्या असतात. आणि त्या मागण्या अनेकदा अशक्य वाटतात. आणि तिथेच आपण येतो — अशक्य गोष्टी शक्य करणे हे आपले काम आहे.