बिटकॉईन मायनिंग म्हणजे नेमके काय? बिटकॉईन (आणि क्रिप्टोकरन्सी) मागचे तंत्रज्ञान भाग ३
आमच्या लेखांच्या अपडेट्स मिळवण्यासाठी आमच्या फेसबुक पेजला नक्की Like करा : facebook.com/InMarathi.page
===
लेखक जर्मनीमध्ये सॉफ्ट्वेअर कन्सल्टंट असून आर्टीफिशीयल इंटेलिजन्स आणि I.T तज्ञ आहेत.
===
या लेखमालेच्या मागच्या भागात आपण बघितलं की बिटकॉईन व्यवहारामागचे तंत्रज्ञान अर्थात ब्लॉकचेन म्हणजे नेमके काय आणि ब्लॉकचेन क्रिप्टोकरन्सीच्या मार्गात असलेला सगळ्यात मोठा अडथळा अर्थात डबल स्पेंड प्रॉब्लेम नेमका कसा सोडवते.
मागच्या भागांची लिंक: बिटकॉईन (आणि क्रिप्टोकरन्सी) मागचे तंत्रज्ञान- भाग १
ब्लॉकचेन समजून घेताना: बिटकॉईन (आणि क्रिप्टोकरन्सी) मागचे तंत्रज्ञान- भाग २
पण डबल स्पेंड प्रॉब्लेम हा क्रिप्टोकरन्सीच्या समोरचा सगळ्यात मोठा अडथळा असला तरी एक मात्र अडथळा नव्हता. डिजिटल माध्यमातून चलन वितरीत कसे करायचे हे ब्लॉकचेनने सोडवलं पण क्रिप्टोकरन्सी प्रत्यक्षात उतरवण्यामागे दुसरा मोठा प्रॉब्लेम होता. तो म्हणजे या चलनाचे निर्माण कसे करायचे?
हा प्रॉब्लेम समजण्यासाठी आपल्याला आधी हे समजून घेतले पाहिजे एखाद्या चलनाची निर्मिती ही का आणि कशी महत्वपूर्ण असते. साधारणतः फियाट करन्सी अर्थात रुपया डॉलर युरो येन सारखे चलन हे एखादी केंद्रिय संस्था छापते. आणि क्रिप्टोकरन्सी अमलात आणण्यामागची सगळ्यात मोठी इच्छाशक्ती या केंद्रिय संस्थेला विकेंद्रित पर्याय उभा करणे हीच होती.
पण ही विकेंद्रित संरचना उभी कशी करायची या बाबत डिजिटल चलनाबद्दल उत्साहित असणाऱ्या लोकांमध्ये एकवाक्यता नव्हती.
सातोशी नाकोमोतोने ती श्वेत पत्रिका लिहून ही एकवाक्यता आणली. आपण या लेखमालेत अर्थव्यवस्थेचा भाग फारसा विचारात घेणार नाही आहोत पण मायनिंग बद्दल लोकांमध्ये एवढे गैरसमज आहेत की मायनिंग म्हणजे नेमके काय हे समजून घेण्याअगोदर त्यामागचे अर्थकारण थोडक्यात समजून घेणे गरजेचे आहे. विकेंद्रित पद्धतीत चलन निर्माण करण्यात नेमका काय प्रॉब्लेम आहे? चलन निर्माण हा बऱ्यापैकी संवेदनशील मुद्दा असतो.
कुठल्याही ठराविक वेळेस नेमके किती चलन बाजारात जाऊ द्यायचे यावर त्या चलनाची संपूर्ण अर्थव्यवस्था निर्भर करते. सरकार पाहिजे तितके चलन निर्मित करू शकते का? तर सैद्धांतिकरित्या हो.
आणि बऱ्याच देशांनी वेळोवेळी तसे केलेलंही आहे. पण हवा तसा पैसा छापल्याचा अर्थव्यवस्थेवर फार प्रतिकूल प्रभाव होतो. फारसं अर्थशास्त्रात नं शिरता सांगायचं झाल्यास गरजेपेक्षा जास्त प्रमाणात पैसा छापल्या गेल्याने अर्थव्यवस्थेत इन्फ्लेशन होतं आणि परिमाणी चलनाचे मूल्य कमी होते. उदाहरणार्थ जी गोष्ट तुम्ही १० रुपयात घेऊ शकत होता तीच गोष्ट तुम्हाला २० रुपयाला घ्यावी लागते, तुमच्या सेविंगचे मूल्य कमी होते इत्यादी.
त्याच बरोबर हवा तितका पैसा नाही छापला तर डीफ्लेशन होऊन पैश्याचे मूल्य अतोनात वाढते. त्यामुळे किती चलन निर्माण करावे हा निर्णय महत्वाचा असतो.
जर या चलन व्यवहारात असणाऱ्या प्रत्येकानं हे ठरवायला घेतलं तर एकमत होणे फार कठीण असेल त्यामुळे हा निर्णय एखाद्या निरपेक्ष संस्थेकडे सोपवणे महत्वाचे ठरते. पण विकेंद्रित पध्दतीत अश्या निरपेक्ष संस्थेला बसवायचे कसे? या ठिकाणी परत विज्ञानाची मदत घेण्यात आली. सातोशीने ज्या निरपेक्ष संस्थेवर हा निर्णय सोपवला ती संस्था म्हणजे गणित. विकेंद्रित पध्दतीत विश्वास हा महत्वाचा मुद्दा असतो. मानव किंवा मानव निर्मित संस्था चुकू शकतात, त्यांचे निर्णय सापेक्ष असू शकतात आणि म्हणूनच ही सापेक्षता कमीत कमी करणे यावर विकेंद्रित पध्दतीचा जोर असतो. आणि यासाठी गणितीय संरचना हा उत्कृष्ट उपाय ठरतो.
बऱ्याच लोकांना असं वाटतं कि bitcoin मायनिंग म्हणजे एखादे गणिती कोडे सोडवणे आणि हे कोडे सोडवण्यासाठी तुम्हाला सिस्टीम कडून काही बिटकॉईन मिळतात अर्थात नवीन bitcoin ची निर्मिती होते. त्यामुळे लोकांची अशी धारणा बनते की एखादे कोडे सोडवण्यासाठी पैसे मिळणे हे एकप्रकारे पिरामिड स्कीम सारखे अविश्वसनीय आहे. पण हा एकूण विश्वासच काहीश्या चुकीच्या गृहितकावर आधारित आहे.
ब्लॉकचेन मध्ये एखादे गणित सोडवण्यासाठी फक्त तुम्हाला बक्षीस म्हणून चलन निर्मित होत नाही. तर ही एकूणच एक मजबूत गणितीय संरचना आहे. आणि ती समजून घेण्यासाठी आपल्याला या लेखमालेचा मागचा भाग जरासा आठवावा लागेल. मागच्या भागाचा शेवट आपण एका प्रश्नावर केला होता. ब्लॉकचेन मध्ये कुठला ब्लॉक पुढचा असेल हे नेमकं कसं आणि कोण ठरवतं. त्या प्रश्नाचे उत्तर मायनिंग मध्ये दडलेले आहे.
ब्लॉकचेनचा प्रत्येक ब्लॉक हा एका एन्क्रिप्शन ने सुरक्षित केलेला असतो जेणेकरून हा ब्लॉक मधल्यामध्ये कोणी उघडून त्यातल्या व्यवहारांशी खेळणे अशक्य व्हावे. या एन्क्रिप्शन ला Irreversible cryptographic hash function म्हणतात. हे हॅश फंक्शन नेमकं कसं काम करतं? hash कुठल्याही डेटाला सीमित अक्षरांमध्ये (A fixed string of letter) बदलते.
म्हणजे समजा 256 bit चे हॅश फंक्शन असेल तर “हाय इंद्रनील” ही दोन शब्द असोत का संभाषणाचे दोन वाक्य असोत हॅश फंक्शन त्याला 256 bit मध्ये अर्थात ६४ अक्षरांमध्ये एनकोड करेल. ही ६४ अक्षरं संपूर्णपणे यादृच्छिक किंवा Random असतात.
आणि त्यातले एक जरी अक्षर बदलले तरी संपूर्ण अर्थ बदलतो. याला एन्क्रिप्शन ला डिकोड करायला कुठल्याही प्रकारची चावी नसते. त्यामुळे कॉम्प्यूटरला हे एन्क्रिप्शन डिकोड करायला अंदाज लावावे लागतात. म्हणजे तुम्हाला ऑउटपुट माहित असतं आणि त्याचं इनपुट शोधायचं असतं. याला ब्रूट फोर्स वापरणे म्हणतात. म्हणजे एखादा Random शब्द म्हणजे इनपुट घ्यायचा त्याला हॅश फंक्शन ने एनकोड करायचे आणि बघायचे कि दिलेल्या एनकोडेड स्ट्रिंग अर्थात ऑउटपुट बरोबर ते जुळतंय का?
जुळत असेल तर झालं. नसेल तर परत नवीन शब्द घ्यायचा. ह्या डिकोडिंगला खूप वेळ लागतो. हॅश फंक्शन जेवढे मोठे असेल तेवढा वेळ जास्त लागतो. क्रीप्टोकरंसीज मध्ये SHA 256 अर्थात २५६ bit चे हॅश फंक्शन वापरतात. प्रत्येक ब्लॉक साठी ही हॅश कशी तयार होते?
प्रत्येक ब्लॉकचे एनकोड केलेलं हॅश फंक्शन हे आधीच्या ब्लॉकचे हॅश फंक्शन, आत्ताच्या ब्लॉकचे हॅश फंक्शन आणि एक नोंस याने तयार होतो. नोंस म्हणजे काय? तर ब्लॉकचेन प्रोटोकॉल प्रमाणे प्रत्येक हॅश फंक्शनसाठी एक अडचण पातळी अर्थात difficulty level ठरवलेली असते. म्हणजेच level च्या खाली निर्मित झालेलं हॅश फंक्शन valid मानल्या जातं. ह्या अडचण पातळी मुळे हॅश फंक्शन तयार करायचा वेळ नेटवर्क वर कितीही नोड असले तरी साधारणतः एकसारखा राहतो (bitcoin च्या बाबतीत हा १० मिनिटे एवढा आहे).
ही अडचण पातळी दर दोन आठवड्यांनी बदलते जेणेकरून हा १० मिनिटांचा वेळ स्थिर राहावा. ब्लॉकचेनच्या बाबतीत ही अडचण पातळी ठरवते कि हॅश फंक्शनच्या सुरुवातीला नेमके किती शून्य असावेत. उदाहरणार्थ १०, १२ , १५ इत्यादी. एखादं वैध हॅश फंक्शन साधारणतः असं दिसतं
000000000000002e9067f1cf7252333f7aeb619c89d220985a70ac0e015248e0
आता आधीच्या ब्लॉक चे हॅश फंक्शन आणि आत्ताच्या ब्लॉक चे हॅश फंक्शन मिळून या अडचण पातळीच्या खालचे हॅश फंक्शन तयार होईल याची खात्री नाही देता येत. किंबहुना तसं होण्याची संभवनीयता फारच कमी असते. मग ते तसं व्हावं म्हणून यामध्ये एक random अक्षरांची संख्या ज्याला नोंस म्हणतात ती जोडल्या जाते.
हे random अक्षरं कॉम्प्यूटरला अंदाजाने ओळखावी लागतात आणि खरा वेळ यालाच लागतो. हे नोंस बदलून बदलून तयार झालेला hash अडचण पातळी पेक्षा कमी आहे ते बघितल्या जातं. कमी नसेल तर परत नवीन नोंस वापरून नवीन hash तयार केला जातो. तुमच्या माझ्या साध्या laptop ला हे ओळखायला साधारणतः एक वर्ष लागेल.
पण विकेंद्रित जालावर सगळेच नोड हे सोडवत असल्यामुळे हा वेळ कमी लागतो. हे नोंस ओळखलं की हॅश फंक्शन तयार होतं आणि नवीन ब्लॉक हा चेनला जोडल्या जातो. हे हॅश फंक्शन सोडवण्याला सोप्या भाषेत गणित सोडवणं म्हणतात. पण हे गणित उगाच सोडवायचं नसून ते सोडवणं ब्लॉकचेन साठी फार महत्वाचं असतं. त्यामुळे हे हॅश फंक्शन सोडवण्यासाठी सोडवणाऱ्याला एक ठराविक क्रीप्टोकरंसी मिळते. किती नोड्स या नेटवर्क वर आहेत यावरून ह्या हॅश फंक्शन साठी नोंस सोडवण्याचा वेळ कमी जास्त होऊ शकतो. कमी
नोड असले तर अल्गोरिदम अपोआप अडचण पातळी कमी करते जेणेकरून नोड्स लवकर हे गणित सोडवतात आणि त्यांना ते सोडवण्याचे पैसे मिळतात.
हे सोडवणे जलद होऊ लागले कि जास्त चलन तयार होतं आणि या चलनाच्या लालसेने जास्त नोड्स नेटवर्कवर येऊ लागतात, की मग अडचण पातळी अपोआप परत वाढते आणि गणित सोडवायला जास्त वेळ लागतो. चलन निर्माण मंदावत आणि सिस्टीम समतोल राखते. याने किती चलन निर्मित होतंय यावर बंधनं राहतात. आणि ही स्थिरता या जटील पण स्थिर गणितीय संरचनेमुळे येते.
अर्थात चलन निर्माणाची प्रेरक शक्ती मानवीय नसून गणितीय आणि संपूर्णतः विकेंद्रित असते.
bitcoin आणि बाकी क्रीप्टोकरंसीचे भविष्य काय असेल हे येणारा काळच सांगेल पण ब्लॉकचेन हे तंत्रज्ञान डिजिटल देवाण घेवाण आणि व्यवहारांसाठी वरदान आहे हे मात्र निश्चित. आणि हे वरदान फक्त पैश्यांच्या व्यवहारापुरते सीमित असेल असेही नाही. दोन व्यक्तींमध्ये होणारे ठराव, कॉपीराईटचे क्लेम, गोपनीय माहिती पाठवणे या सगळ्यासाठी ब्लॉकचेन हा भक्कम पर्याय आहे. आणि हा पर्याय येणाऱ्या काळात इंटरनेटचा चेहरा मोहरा बदलून टाकणार आहे हे नक्की.
===
आमचे इतर लेख वाचण्यासाठी क्लिक करा: InMarathi.com तसेच, आमच्या लेखांच्या अपडेट्स मिळवण्यासाठी आमच्या फेसबुक पेजला नक्की Like करा: facebook.com/InMarathi.page । Copyright © InMarathi.com | All rights reserved.