बिटकॉईन मायनिंग म्हणजे नेमके काय?

http://bit.ly/2K52J9E
3

या लेखमालेच्या मागच्या भागात आपण बघितलं की बिटकॉईन व्यवहारामागचे तंत्रज्ञान अर्थात ब्लॉकचेन म्हणजे नेमके काय आणि ब्लॉकचेन क्रिप्टोकरन्सीच्या मार्गात असलेला सगळ्यात मोठा अडथळा अर्थात डबल स्पेंड प्रॉब्लेम नेमका कसा सोडवते. पण डबल स्पेंड प्रॉब्लेम हा क्रिप्टोकरन्सीच्या समोरचा सगळ्यात मोठा अडथळा असला तरी एकमात्र अडथळा नव्हता. डिजिटल माध्यमातून चलन वितरीत कसे करायचे, हे ब्लॉकचेन ने सोडवलं पण क्रिप्टोकरन्सी प्रत्यक्षात उतरवण्यामागे दुसरा मोठा प्रॉब्लेम होता. तो म्हणजे या चलनाचे निर्माण कसे करायचे? 

हा प्रॉब्लेम समजण्यासाठी आपल्याला आधी हे समजून घेतले पाहिजे कि एखाद्या चलनाचा निर्माण हा का आणि कसा महत्वपूर्ण असतो?

 साधारणतः फियाट करन्सी अर्थात रुपया डॉलर युरो येन सारखे चलन हे एखादी केंद्रिय संस्था छापते. आणि क्रिप्टोकरन्सी अमलात आणण्यामागची सगळ्यात मोठी इच्छाशक्ती या केंद्रिय संस्थेला विकेंद्रित पर्याय उभा करणे हीच होती. 

पण ही विकेंद्रित संरचना उभी कशी करायची या बाबत डिजिटल चलनाबद्दल उत्साहित असणाऱ्या लोकांमध्ये एकवाक्यता नव्हती. सातोशी नाकोमोतोने ती श्वेत पत्रिका लिहून ही एकवाक्यता आणली. आपण या लेखमालेत अर्थव्यवस्थेचा भाग फारसा विचारात घेणार नाही आहोत पण मायनिंग बद्दल लोकांमध्ये एवढे गैरसमज आहेत की मायनिंग म्हणजे नेमके काय? हे समजून घेण्याअगोदर त्या मागचे अर्थकारण थोडक्यात समजून घेणे गरजेचे आहे.

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

  • सरकार पाहिजे तितके चलन निर्मित करू शकते का? तर सैद्धांतिकरीत्या हो. आणि बऱ्याच देशांनी वेळोवेळी तसे केलेलंही आहे. पण हवा तसा पैसा छापल्याचा अर्थव्यवस्थेवर फार प्रतिकूल प्रभाव पडतो. फारसं अर्थशास्त्रात न शिरता सांगायचं झाल्यास गरजेपेक्षा जास्त प्रमाणात पैसा छापल्या गेल्याने अर्थव्यवस्थेत इन्फ्लेशन होतं आणि परिमाणी चलनाचे मूल्य कमी होते. 

  • उदाहरणार्थ जी गोष्ट तुम्ही १० रुपयात घेऊ शकत होता तीच गोष्ट तुम्हाला २० रुपयाला घ्यावी लागते, तुमच्या सेविंगचे मूल्य कमी होते इत्यादी. त्याच बरोबर हवा तितका पैसा नाही छापला तर डीफ्लेशन होऊन पैशाचे मूल्य अतोनात वाढते. त्यामुळे किती चलन निर्माण करावे हा निर्णय महत्वाचा असतो. 

  • जर या चलन व्यवहारात असणाऱ्या प्रत्येकानं हे ठरवायला घेतलं तर एकमत होणे फार कठीण असेल त्यामुळे हा निर्णय एखाद्या निरपेक्ष संस्थेकडे सोपवणे महत्वाचे ठरते. पण विकेंद्रित पध्दतीत अश्या निरपेक्ष संस्थेला बसवायचे कसे? या ठिकाणी परत विज्ञानाची मदत घेण्यात आली. 

  • सातोशी ने ज्या निरपेक्ष संस्थेवर हा निर्णय सोपवला ती संस्था म्हणजे गणित. विकेंद्रित पध्दतीत विश्वास हा महत्वाचा मुद्दा असतो. मानव किंवा मानव निर्मित संस्था चुकू शकतात, त्यांचे निर्णय सापेक्ष असू शकतात आणि म्हणूनच ही सापेक्षता कमीत कमी करणे यावर विकेंद्रित पध्दतीचा जोर असतो. आणि यासाठी गणितीय संरचना हा उत्कृष्ट उपाय ठरतो.

  • बऱ्याच लोकांना असं वाटतं की बिटकॉइन मायनिंग म्हणजे एखादे गणिती कोडे सोडवणे आणि हे कोडे सोडवण्यासाठी तुम्हाला सिस्टीम कडून काही बिटकॉईन मिळतात.  अर्थात नवीन बिटकॉइनचा निर्माण होतो. त्यामुळे लोकांची अशी धारणा बनते की एखादे कोडे सोडवण्यासाठी पैसे मिळणे हे एकप्रकारे पिरामिड स्कीमसारखे अविश्वसनीय आहे. पण हा एकूण विश्वासच काहीशा चुकीच्या गृहितकावर आधारित आहे.

  • ब्लॉकचेनमध्ये एखादे गणित सोडवण्यासाठी फक्त तुम्हाला बक्षीस म्हणून चलन निर्मित होत नाही. तर ही एकूणच एक मजबूत गणितीय संरचना आहे. आणि ती समजून घेण्यासाठी आपल्याला या लेखमालेचा मागचा भाग जरासा आठवावा लागेल. मागच्या भागाचा शेवट आपण एका प्रश्नावर केला होता. ब्लॉकचेन मध्ये कुठला ब्लॉक पुढचा असेल हे नेमकं कसं आणि कोण ठरवतं. त्या प्रश्नाचे उत्तर मायनिंग मध्ये दडलेले आहे.

  • ब्लॉकचेनचा प्रत्येक ब्लॉक हा एका एन्क्रिप्शनने सुरक्षित केलेला असतो जेणेकरून हा ब्लॉक मधल्यामध्ये कोणी उघडून त्यातल्या व्यवहारांशी खेळणे अशक्य व्हावे. या एन्क्रिप्शनला Irreversible cryptographic hash function म्हणतात. हे हॅश फंक्शन नेमकं कसं काम करतं? हॅश कुठल्याही डेटाला सीमित अक्षरांमध्ये (A fixed string of letter) बदलते. म्हणजे समजा 256 bit चे हॅश फंक्शन असेल तर “हाय इंद्रनील” ही दोन शब्द असोत का संभाषणाचे दोन वाक्य असोत हॅश फंक्शन त्याला 256 bit मध्ये अर्थात ६४ अक्षरांमध्ये एनकोड करेल. 

  • ही ६४ अक्षरं संपूर्णपणे यादृच्छिक किंवा Random असतात. आणि त्यातले एक जरी अक्षर बदलले तरी संपूर्ण अर्थ बदलतो. याला एन्क्रिप्शनला डिकोड करायला कुठल्याही प्रकारची चावी नसते. त्यामुळे कॉम्प्यूटरला हे एन्क्रिप्शन डिकोड करायला अंदाज लावावे लागतात. म्हणजे तुम्हाला ऑउटपुट माहित असतं आणि त्याचं इनपुट शोधायचं असतं. याला ब्रूट फोर्स वापरणे म्हणतात. म्हणजे एखादा Random शब्द म्हणजे इनपुट घ्यायचा त्याला हॅश फंक्शनने एनकोड करायचे आणि बघायचे की दिलेल्या एनकोडेड स्ट्रिंग अर्थात आउटपुट बरोबर ते जुळतंय का? जुळत असेल तर झालं. नसेल तर परत नवीन शब्द घ्यायचा. या डिकोडिंगला खूप वेळ लागतो. 

  • हॅश फंक्शन जेवढे मोठे असेल तेवढा वेळ जास्त लागतो. क्रीप्टोकरंसीज मध्ये SHA 256 अर्थात २५६ बिटचे हॅश फंक्शन वापरतात. प्रत्येक ब्लॉक साठी ही हॅश कशी तयार होते? 

Block

  • प्रत्येक ब्लॉकचे एनकोड केलेलं हॅश फंक्शन हे आधीच्या ब्लॉकचे हॅश फंक्शन, आत्ताच्या ब्लॉक चे हॅश फंक्शन आणि एक नोंस याने तयार होतो. नोंस म्हणजे काय? तर ब्लॉकचेन प्रोटोकॉल प्रमाणे प्रत्येक हॅश फंक्शनसाठी एक अडचण पातळी अर्थात difficulty level ठरवलेली असते. म्हणजेच लेव्हलच्या खाली निर्मित झालेलं हॅश फंक्शन वैध (valid) मानलं जातं. या अडचण पातळीमुळे हॅश फंक्शन तयार करायचा वेळ नेटवर्कवर कितीही नोड असले तरी साधारणतः एकसारखा राहतो (बिटकॉइनच्या बाबतीत हा १० मिनिटे एवढा आहे). 

  • ही अडचण पातळी दर दोन आठवड्यांनी बदलते जेणेकरून हा १० मिनिटांचा वेळ स्थिर राहावा. ब्लॉकचेनच्या बाबतीत ही अडचण पातळी ठरवते कि हॅश फंक्शनच्या सुरुवातीला नेमके किती शून्य असावेत. उदाहरणार्थ १०, १२ , १५ इत्यादी. एखादं वैध हॅश फंक्शन साधारणतः असं दिसतं

000000000000002e9067f1cf7252333f7aeb619c89d220985a70ac0e015248e0

  • आता आधीच्या ब्लॉक चे हॅश फंक्शन आणि आत्ताच्या ब्लॉक चे हॅश फंक्शन मिळून या अडचण पातळीच्या खालचे हॅश फंक्शन तयार होईल याची खात्री नाही देता येत. किंबहुना तसं होण्याची संभवनीयता फारच कमी असते. मग ते तसं व्हावं म्हणून यामध्ये एक रँडम (random) अक्षरांची संख्या ज्याला नोंस म्हणतात ती जोडल्या जाते. हे रँडम अक्षरं कॉम्प्यूटरला अंदाजाने ओळखावी लागतात आणि खरा वेळ यालाच लागतो. हे नोंस बदलून बदलून तयार झालेला हॅश अडचण पातळी पेक्षा कमी आहे ते बघितलं जातं. कमी नसेल तर परत नवीन नोंस वापरून नवीन हॅश तयार केला जातो. 

  • तुमच्या माझ्या साध्या लॅपटॉपला हे ओळखायला साधारणतः एक वर्ष लागेल. पण विकेंद्रित जालावर सगळेच नोड हे सोडवत असल्यामुळे हा वेळ कमी लागतो. हे नोंस ओळखलं कि हॅश फंक्शन तयार होतं आणि नवीन ब्लॉक हा चेनला जोडल्या जातो. हे हॅश फंक्शन सोडवण्याला सोप्या भाषेत गणित सोडवणं म्हणतात. पण हे गणित उगाच सोडवायचं नसून ते सोडवणं ब्लॉकचेन साठी फार महत्वाचं असतं. त्यामुळे हे हॅश फंक्शन सोडवण्यासाठी सोडवणाऱ्याला एक ठराविक क्रीप्टोकरंसी मिळते. 

  • किती नोड्स या नेटवर्क वर आहेत यावरून ह्या हॅश फंक्शन साठी नोंस सोडवण्याचा वेळ कमी जास्त होऊ शकतो. कमी नोड असले तर अल्गोरिदम अपोआप अडचण पातळी कमी करते जेणेकरून नोड्स लौकर हे गणित सोडवतात आणि त्यांना ते सोडवण्याचे पैसे मिळतात. हे सोडवणे जलद होऊ लागले की जास्त चलन तयार होतं आणि या चलनाच्या लालसेने जास्त नोड्स नेटवर्क वर येऊ लागतात, मग अडचण पातळी आपोआप परत वाढते आणि गणित सोडवायला जास्त वेळ लागतो. चलन निर्माण मंदावत आणि सिस्टीम समतोल राखते. याने किती चलन निर्मित होतंय यावर बंधनं राहतात. आणि ही स्थिरता या जटील पण स्थिर गणितीय संरचनेमुळे येते. अर्थात चलन निर्माणाची प्रेरक शक्ती मानवीय नसून गणितीय आणि संपूर्णतः विकेंद्रित असते.

  • बिटकॉइन आणि बाकी क्रीप्टोकरंसीचे भविष्य काय असेल? हे येणारा काळच सांगेल पण ब्लॉकचेन हे तंत्रज्ञान डिजिटल देवाण घेवाण आणि व्यवहारांसाठी वरदान आहे हे मात्र निश्चित. आणि हे वरदान फक्त पैशांच्या व्यवहारापुरते सीमित असेल असेही नाही. दोन व्यक्तींमध्ये होणारे ठराव, कॉपीराईटचे क्लेम, गोपनीय माहिती पाठवणे या सगळ्यासाठी ब्लॉकचेन हा भक्कम पर्याय आहे. आणि हा पर्याय येणाऱ्या काळात इंटरनेटचा चेहरा मोहरा बदलून टाकणार आहे हे नक्की.

इंद्रनील पोळ

[email protected]

(लेखक जर्मनीमध्ये आर्टिफिशियल इंटेलिजन्स आणि इंटरनेट ऑफ थिंग्जच्या प्रकल्पांवर काम करतात.)

बिटकॉईन (आणि क्रिप्टोकरन्सी) मागचे तंत्रज्ञान – भाग १

बिटकॉईन (आणि क्रिप्टोकरन्सी) मागचे तंत्रज्ञान – भाग २

‘मायक्रो एटीएम’ नावाची डिजिटल क्रांती! 

Disclaimer:  आमच्या डिस्केलमर पॉलिसीजबद्दल जाणून घेण्यासाठी https://arthasakshar.com/disclaimer/  या लिंकवर क्लिक करा. आमचे इतर लेख वाचण्यासाठी क्लिक करा: https://arthasakshar.com/  | आमचे सर्व लेख मिळवण्यासाठी फॉलो करा : फेसबुक ट्विटर | Copyright © https://arthasakshar.com | All rights reserved.

Comments are closed.