गौरव सोमवंशी

मूळ माहिती तटस्थ व्यक्तीला माहीत नसेल तर ती अंदाजाने मिळवणे अशक्य ठरते, हे ब्लॉकचेन तंत्रज्ञानाचे वैशिष्टय़. गणिती आकडय़ांच्या साहाय्याने ब्लॉकचेन तंत्रज्ञान- विशेषत: बिटकॉइनमध्ये ही सुरक्षा कशी पुरवली जाते?

‘ब्लॉकचेन’ तंत्रज्ञानात एक विशिष्ट सुरक्षा आहे, ज्याची उणीव आधी इतर तंत्रज्ञानांत आणि कार्यप्रणालीत होती. ती उणीव भरून काढण्यासाठी आपण तंत्रज्ञान सोडून बाह्य़ संस्थांवर अवलंबून होतो. यामुळे या बाह्य़ संस्थांना एक अधिकार आणि शक्ती प्राप्त झाली. आपण या लेखमालेत याआधी पाहिले आहे की, चौदाव्या शतकात जेव्हा युरोपमध्ये कागदी चलनाचा वापर प्रचंड प्रमाणात सुरू झाला आणि बँकिंग क्षेत्राचा उगम झाला. थोडय़ाच काळात बँकांनी शक्तीचे शिखर गाठले. याच ताकदीचा गैरउपयोग पुढे गुंतवणुकीशी निगडित बँकांकडून झाला आणि आपण २००८-०९ या काळात जागतिक आर्थिक मंदी अनुभवली. त्याच वर्षी ‘सायफरपंक’ चळवळीशी निगडित सातोशी नाकामोटो नामक व्यक्तीने (की समूहाने; आपल्याला अजून ठाऊक नाही) ‘ब्लॉकचेन’ तंत्रज्ञान तयार करून त्यावर ‘बिटकॉइन’ हे चलन सुरू केले.

याच बिटकॉइनच्या आधारावर कोणत्याही बाह्य़ संस्थेवर किंवा अधिकाऱ्यावर अवलंबून न राहता, जगाच्या कोणत्याही कोपऱ्यातील व्यक्ती दुसऱ्या कोणत्याही व्यक्तीसोबत व्यवहार करू शकते.या तंत्रज्ञानाने डिजिटल युगातून गहाळ असलेले गुणधर्म जगासमोर मांडले – विश्वास आणि पारदर्शकता! याच गुणधर्माचा उपयोग इतर कोणत्या क्षेत्रांत करता येईल, हा विचार काही वर्षांपूर्वी सुरू झाला. प्रस्तुत लेखकालासुद्धा काही वर्षांपूर्वी याच विचाराने ग्रासले आणि ब्लॉकचेन तंत्रज्ञान आणखी कोणत्या क्षेत्रांत वापरता येईल का, यासाठी प्रयत्न सुरू केले. त्याचप्रमाणे आपापल्या क्षेत्रांत काम करीत असलेल्या इतर मंडळींनीदेखील या तंत्रज्ञानाची दखल घेऊन स्वत:च्या क्षेत्रात या गुणधर्माच्या आधारावर सकारात्मक परिवर्तन आणण्याचे प्रयत्न सुरू केले.

हे सगळे का शक्य झाले? कारण काही प्रस्थापित आणि काही नवीन संकल्पनांच्या जोरावर सुरक्षा पुरविण्यास ब्लॉकचेन तंत्रज्ञान सक्षम ठरले. ही सुरक्षा नक्की कुठून येते बरे? असे काही तंत्रज्ञान आहे का- जे कधीच काहीही केल्या भेदलेच जाऊ शकत नाही? किंवा अशी एक प्रणाली आहे का- जिला आजपर्यंत कोणी भेदलेच नाही?

तर.. सुरक्षा पुरवण्याचे अनेक प्रकार असले, तरी त्यामध्ये गणिताची किंवा आकडय़ांची मदत घेतली जातेच. याबद्दल एक उदाहरण पाहू या..

‘हॅशिंग’ या तांत्रिक संकल्पनेवरील लेखात आपण हे पाहिले की, कितीही मोठय़ा माहितीचा साठा आपण मर्यादित आणि निश्चित पद्धतीने लहान स्वरूपात आणू शकतो. या ‘हॅश’ केल्या गेलेल्या आऊटपुटला पाहून कोणाला मूळ माहिती कोणती होती हे कळायला मार्ग नसतो. मागील लेखात (‘सही रे सही’, ९ एप्रिल) आपण   ‘इन्क्रिप्शन’ आणि ‘हॅशिंग’ यांतील मूलभूत फरक पाहिले. समजा, मी एका माहितीला- उदाहरणार्थ ‘गौरव’ या शब्दाला ‘इन्क्रिप्ट’ करून एक आऊटपुट काढले, तर ज्या कोणाकडे ‘चावी’ असेल त्याला ते आऊटपुट परत उलगडून ‘गौरव’ हा मूळ शब्द दिसेल. पण समजा, जर मी ‘गौरव’ या शब्दाला ‘हॅश’ केले आणि त्याचे आऊटपुट काढले, तर त्या आऊटपुटकडे पाहून कोणाला हे मुळीच कळणार नाही, की मूळ माहिती (‘गौरव’) काय होती. ‘हॅश’ केलेली माहिती पुन्हा कोणाला मूळ माहितीमध्ये रूपांतरित करता येणार नाही, हे तत्त्व ब्लॉकचेन तंत्रज्ञानाच्या अनेक आधारांपैकी एक आहे. आजच्या लेखात याबद्दल विस्ताराने पाहू या.

‘हॅश’ केलेले आऊटपुट बघून मूळ माहिती ओळखण्याचे दोनच पर्याय आहेत –  एक तर तुम्हाला आधीपासूनच माहीत असावे की, समोर दिलेले हॅश आऊटपुट हे ‘गौरव’ ही माहिती ‘हॅशिंग’ कार्यप्रणालीत ओतल्यावर बाहेर आलेले आहे. जर हे माहीत नसेल, तर दुसरा उपाय एकदम साधा आहे. तुम्हाला शक्य असलेली प्रत्येक माहिती त्या ‘हॅशिंग’ कार्यप्रणालीत टाकून बघावी लागेल. ती टाकून येणारे आऊटपुट हे आपल्यासमोर असलेल्या हॅश आऊटपुटशी तंतोतंत जुळले की मूळ माहिती आपल्याला समजेल. परंतु मानवी पद्धतीने आपण एक-एक करून प्रत्येक प्रकारच्या माहितीचे नमुने  (कोणताही आकडा किंवा शब्द अथवा वाक्य) हे त्या कार्यप्रणालीत टाकून पाहणे आणि त्यात ‘गौरव’ हा शब्द अंदाजाने येणे, याची शक्यता किती असेल? जवळपास नाहीच. बरे, आज आपल्याकडे सुपर-संगणक आहेतच- त्यांचा वापर करून एका सेकंदाला माहितीचे कोटय़वधी नमुने ‘हॅशिंग’ कार्यप्रणालीत टाकून आपण पाहू शकता की कोणते आऊटपुट हे मूळ माहिती, म्हणजे ‘गौरव’ या शब्दाशी तंतोतंत जुळते का? याला संगणकशास्त्रात ‘ब्रूट फोर्स’ पद्धत म्हणतात. म्हणजे, मला जर तुमचा पासवर्ड माहीत नसेल तर मी प्रत्येक शब्द आणि आकडय़ांचे संयोजन वापरून तोवर प्रयत्न करत बसेल जोपर्यंत मला तो मिळत नाही. हे मानवी प्रयत्नांना शक्य नाहीच; पण सुपर संगणकांना? ते पाहू या.

ब्लॉकचेन तंत्रज्ञानात, विशेषत: बिटकॉइनमध्ये ‘एसएचए-२५६’ नावाची ‘हॅशिंग’ कार्यप्रणाली वापरली जाते. अनेक प्रकारच्या ‘हॅशिंग’ कार्यप्रणाली आहेत, पण सध्या  ‘एसएचए-२५६’ ही सुरक्षेच्या दृष्टीने बळकट कार्यप्रणाली  आहे. ‘एसएचए’ म्हणजे ‘सीक्युर हॅशिंग अल्गोरिदम’ आणि ‘२५६’ कारण ते २५६ बिट्सचे मर्यादित आणि निश्चित स्वरूपाचे आऊटपुट देते. एक बिट ही ‘०’ किंवा ‘१’ असू शकते, अशा २५६ बिट्स. म्हणजे ‘००१००१००१०१..’ असे २५६ बिट्सपर्यंत. तुम्ही जर ‘गौरव’ ही माहिती टाकली तर २५६ बिट्समध्ये आऊटपुट येईल. तुम्ही ‘लोकसत्ता’चे मागील अनेक दशकांतले सगळे अंक मिळून एक फाइल बनवली आणि ती ‘एसएचए-२५६’मध्ये टाकली तरीसुद्धा २५६ बिट्सचा एक अद्वितीय आऊटपुट येईल.

तर प्रत्येक बिट हा ‘०’ किंवा ‘१’ असेल आणि असे २५६ बिट्स असतील, तर किती प्रकारचे आऊटपुट शक्य असतील? जर फक्त एक बिट असले असते, तर दोनच आऊटपुट शक्य आहेत, ‘०’ किंवा ‘१’. जर दोन बिट्स असतील तर? तर ‘००’, ‘०१’, ‘१०’ आणि ‘११’ असे चार आऊटपुट शक्य आहेत. जर तीन बिट्स असतील तर? तर ‘०००’, ‘००१’, ‘०१०’, ‘१००’, ‘०११’, ‘११०’, ‘१०१’ आणि ‘१११’ असे आठ आऊटपुट शक्य आहेत. तुमच्या हे ध्यानात आले असेल की, दोनचा घातांक किती याप्रमाणे हे चालते. कारण दोन प्रकारच्या संख्या आहेत (० व १) आणि घात कितीचा असेल हे ‘बिट्स’ किती आहेत यावर अवलंबून असेल. ‘एसएचए-२५६’मध्ये किती प्रकारचे आऊटपुट शक्य आहेत? तर दोनचा घात २५६ ही संख्या जितकी असेल तितके! तो एकदा लिहिण्यासाठी सगळ्या जागा कमी पडतील, म्हणून आपण त्याला दोनचा घात २५६ असे म्हणू या. म्हणजे मूळ माहिती कोणती होती हे माहीत नसेल, तर समोर असलेले ‘हॅश’ आऊटपुट कोणत्या माहितीसाठी बनले आहे हे पाहण्यासाठी आपल्याला दोनचा घात २५६ इतक्या वेळा प्रयत्न करावे लागतील!

तर.. सुपर-संगणकांना किती वेळ लागेल दोनचा घात २५६ इतके नमुने तपासून पाहण्यासाठी? ग्रँट सॅण्डर्सन नामक व्यक्तीने हे एक उदाहरण देऊन सांगितले होते. सध्या एक ताकदवान संगणक एका सेकंदाला चारशे कोटी नमुने तपासू शकतो. आपण या अशा एका संगणकासारखे एक हजार संगणक मिळून एक सुपर-संगणकांचा समूह बनवू या. आता इथून पुढे समजा, आपण पृथ्वीवर चारशे कोटी लोकांकडे प्रत्येकी अशा संगणकांचा समूह देऊ या. मग अशा चारशे कोटी पृथ्वी बनवू या, ज्यात प्रत्येक  पृथ्वीवर चारशे कोटी लोकांकडे चारशे कोटी सुपर-संगणकांचा समूह आहे- जे प्रत्येकी दर सेकंदाला चारशे कोटी नवीन नमुने तपासून पाहतात. इथेच कशाला थांबायचे? असा विचार करा की, अशा आपण चारशे कोटी पृथ्वी बनवू या. इतकी प्रचंड संगणकीय ताकद वापरूनसुद्धा मी प्रत्येक सेकंदाला नवीन नमुने तपासून पाहू लागलो, तरीसुद्धा दोनचा घात २५६ नमुने तपासून पाहायला मला इतका कालावधी लागेल जो आपल्या विश्वाच्या वयापेक्षा कित्येक पटींनी मोठा आहे (विश्वाचे वय आपण ‘बिग बँग’पासून पाहिले तर १३००-१४०० कोटी वर्षे इतके असेल.)

थोडक्यात, तुम्हाला जर मूळ माहिती माहीत नसेल तर अंदाजाने मिळवणे अशक्य आहे.. तुम्हालासुद्धा आणि सुपर-संगणकांनासुद्धा!

हीच ‘एसएचए-२५६’ हॅशिंग कार्यप्रणाली ब्लॉकचेन तंत्रज्ञानात वापरली जाते, विशेषत: बिटकॉइनमध्ये. या बळकट सुरक्षेचा वापर बिटकॉइन कशा प्रकारे करते ते आपण पुढील लेखात पाहू या.

लेखक ब्लॉकचेन तंत्रज्ञानाच्या उपयोजन क्षेत्रात कार्यरत आहेत. ईमेल : gaurav@emertech.io