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

http://bit.ly/bitbl
458

Get real time updates directly on you device, subscribe now.

Print Friendly, PDF & Email

मागच्या भागात आपण बघितलं क्रिप्टोकरन्सीची सुरुवात कशी झाली आणि त्याच्या रस्त्यातला सगळ्यात मोठा प्रॉब्लेम अर्थात डबल स्पेंडिंग म्हणजे काय. या भागात आपण बघूया क्रिप्टोकरन्सी मागचे तंत्रज्ञान अर्थात ब्लॉकचेन नेमके डबल स्पेंडिंग कसे सोडवते.

  • मागच्या भागात म्हणल्याप्रमाणे डबल स्पेंडिंग क्रिप्टोकरन्सीच्या रस्त्यातला सगळ्यात मोठा अडथळा होता. सातोशी नाकोमोतो या व्यक्ती किंवा व्यक्ती समूहाने २००८ मध्ये याविषयी एक श्वेत पत्रिका (white paper) लिहून या प्रॉब्लेम वर पहिल्यांदा ठोस उपाय सुचवला. तो उपाय म्हणजे ब्लॉकचेन. 
  • पण ब्लॉकचेन म्हणजे नेमके काय? आपण आधीच बोलल्याप्रमाणे कुठल्याही डिजिटल व्यवहाराचा लेखाजोखा ठेवण्यासाठी नोंदवही वापरल्या जाते. क्रिप्टोकरन्सीचे व्यवहार दोन व्यक्तींमध्ये (peer to peer) होत असून त्याच्यावर नजर ठेवणारी कुठली केंद्रीय संस्था नसते. त्यामुळे ही नोंदवही नेमकी ठेवणार कोण हा प्रश्न असतो. ‘नाकोमोतो’ने यावर सुचवलेला उपाय म्हणजे विकेंद्रित जालावर (Decentralized network).  
  • प्रत्येक ‘नोड’ने हा व्यवहारांचा हिशोब ठेवायचा. म्हणजे तुमचा त्या व्यवहाराशी संबंध असो वा नसो तुम्ही त्या हिशोबाची नोंद स्वतःच्या वहीत करून घ्यायची. नेटवर्कवर असलेल्या प्रत्येक नोडमध्ये या व्यवहाराची नोंद झाल्यानंतरच हा व्यवहार पूर्ण होऊ शकेल. यातल्या एकही नोडवर ह्या व्यवहाराची नोंद नसेल तर हा व्यवहार ग्राह्य मानल्या जाणार नाही.
  • उदा.एखाद्या क्रिप्टोकरन्सीचे (आपण या करन्सीला उदाहरणार्थ “होन” म्हणूया) १०० लोकांचे नेटवर्क आहे. माझा मित्र राम पण या नेटवर्कवर १०० लोकांपैकी आहे. आता समजा मला रामला “होन” याच चलनात काही पैसे द्यायचे आहेत तर ते मी कसे देणार? सगळ्यात पहिले मला या नेटवर्कचा १०१ वा नोड व्हावे लागेल. तो नोड झाल्यानंतर मी १० होन रामला देतोय अशी नोंद माझ्या नोंदवहीत करेन. (हे १० होन माझ्याकडे कुठून आले हा प्रश्न आपण तूर्तास बाजूला ठेवूया). ही नोंद काय असेल? तर माझ्या खात्यातून १० होन कमी झाले आणि रामच्या खात्यात १० होन वाढले. मग ही नोंद मी एक डेटा पॅकेटमध्ये टाकून मी नेटवर्कच्या प्रत्येक नोडला पाठवेन. आता इथे प्रश्न येतो की समजा इंटरनेट वरून ही नोंद पाठवताना कोणी मधल्या मध्ये नेटवर्क हॅक करून त्यात फेरफार केली तर? तर ती तशी फेरफार करता येऊ नये म्हणून हे पॅकेट एका एन्क्रिप्शन की (encryption key) ने एन्क्रिप्ट करून पाठवल्या जातं. हे पॅकेट म्हणजे मुळात एन्क्रिप्शन की + व्यवहाराची नोंद असं असतं. हे एन्क्रिप्शन करायला दोन चाव्या लागतात. पब्लिक की आणि प्रायव्हेट की.
  • नेमकं काय आहे पब्लिक आणि प्रायव्हेट की?
    • प्रत्येक ‘नोड’कडे त्याच्या खात्याच्या दोन किल्ल्या असतात. पब्लिक आणि प्रायव्हेट. माझ्या नोडची प्रायव्हेट की फक्त माझ्याकडे असते. आणि पब्लिक की नेटवर्कवर प्रत्येक नोडकडे. माझ्या खात्याच्या प्रायव्हेट की ने जर मी एखादा व्यवहार एन्क्रिप्ट केला तर तो माझ्या पब्लिक की ने उघडून बघता येतो आणि खात्री करून घेता येते की तो व्यवहार माझ्याकडूनच झालेला आहे. पण त्यात बदल करून तो पब्लिक की ने परत एन्क्रिप्ट करता येत नाही. त्यामुळे नेटवर्क वरच्या कोणालाही त्या व्यवहारात बदल करता येत नाही. पण तो व्यवहार अस्सल आहे का नाही याची खात्री करून घेता येते. 
    • हा व्यवहार नेटवर्क वरच्या प्रत्येकाला बघता येत असल्यामुळे ह्यात संपूर्ण पारदर्शिता असते आणि म्हणूनच ब्लॉकचेन तंत्रज्ञानाला काळ्या पैशांविरोधातलं मोठं अस्त्र समजल्या जात आहे.
  • आता आपण आधीच्या प्रश्नाकडे वळूया. माझ्याकडे हे १० होन आहेत याची खात्री नेटवर्क कशी करणार? दुसऱ्या शब्दात सांगायचे झाल्यास मी डबल स्पेंड करतोय का नाही हे नेटवर्कला कसे कळणार? ब्लॉकचेन माझ्या बॅलन्सची काहीच माहिती ठेवत नाही. अर्थात माझ्याकडे किती पैसे आहेत हे ‘नोड’वरच्या कोणालाच माहिती नसतं.
  • नेटवर्क फक्त व्यवहारांची माहिती साठवत. पण नेटवर्कच्या प्रत्येका नोडवर असलेल्या नोंदवहीत (ज्याला ब्लॉकचेनच्या भाषेत लेजर म्हणतात) नेटवर्क वर होणाऱ्या प्रत्येका व्यवहाराची नोंद असते. त्यामुळे एखाद्या नोड वर व्यवहाराची नोंद आली की तो नोड सर्वप्रथम त्या व्यवहार करणाऱ्या व्यक्तीच्या सगळ्या नोंदी तपासून ही खात्री करून घेतो की त्या व्यक्तीकडे तेवढ्या चलनाचे व्यवहार इनपुट झालेले आहेत. म्हणजे मी रामला १० होन देण्याचा व्यवहार नेटवर्क वर सगळ्यांना पाठवल्यावर प्रत्येक नोड माझ्याशी संबंधित सगळे व्यवहार तपासेल आणि खात्री करून घेईल की मला आत्तापर्यंत मिळालेल्या पैश्याचे व्यवहार आणि मी आत्तापर्यंत पाठवलेल्या पैशाचे व्यवहार यांची वजाबाकी १० किंवा १० पेक्षा जास्त आहे. आणि ते तसे असल्यासच प्रत्येक नोड हा व्यवहार आपल्या लेजर अर्थात नोंदवहीत लिहून घेईल.
  • तांत्रिकदृष्ट्या सगळं बरोबर वाटत असलं तरी यात एक त्रुटी आहे. समजा माझ्यात आणि राम मध्ये व्यवहार आहे की तो मला १० होन घेऊन टीव्ही विकणार आहे. मी त्याला १० होन पाठवले अर्थात या व्यवहाराची नोंद मी नेटवर्कवर सगळ्या नोड्स ना पाठवली, रामने ती नोंद प्रोसेस केली आणि मला टीव्ही पाठवून दिला. पण काही नोड्स होते ज्यांचे इंटरनेट तेव्हा चालत नव्हते त्यामुळे त्यांना ती नोंद तोपर्यंत मिळाली नाही. त्यादरम्यान राम ने टीव्ही पाठवल्या पाठवल्या मी अजून एक व्यवहाराची नोंद नेटवर्कवर पाठवली ज्यात १० होन अजून तिसऱ्यालाच देऊन टाकले. 
  • रामला माहित आहे की ही नोंद खोटी आहे कारण माझ्याकडे आता १० होनच नाहीएत. पण नेटवर्कवर काही काळ गायब असणाऱ्या नोडला हे कसं कळणार की या दोन्ही व्यवहारांपैकी कुठला व्यवहार आधी घडला? नोड जेव्हा परत नेटवर्क वर येईल तेव्हा त्याच्याकडे दोन व्यवहार असतील आणि त्यातला कुठला व्यवहार आधी झाला हे कळायचा त्या नोडकडे काहीही मार्ग नसेल. तुम्ही म्हणू शकता की तो नोड पॅकेट वरच्या टाइमस्टॅम्प (timestamp) वरून ठरवू शकतो. पण हे टाइमस्टॅम्प खूपच सहजतेने बदलता येतात.
  • या प्रॉब्लेमवर उपाय करण्यासाठी ब्लॉकचेन nodes agreement वापरते. अर्थात कुठलाही व्यवहाराला एकटं दुकट नेटवर्क वर टाकल्या जात नाही. बऱ्याच व्यवहारांना एकत्र करून एका ब्लॉक मध्ये टाकल्या जातं. आणि हा ब्लॉक अधिक  त्याच्या आधीच्या ब्लॉकची लिंक नेटवर्क वर टाकली जाते. एका ब्लॉकमध्ये असलेले सगळे व्यवहार एका वेळेस घडले असे मानले जाते. 
  • जे व्यवहार अजून एखाद्या ब्लॉकमध्ये नाहीएत ते अनिश्चित समजले जातात आणि अशाप्रकारे नेटवर्क व्यवहारांचे आयोजन समय आधारित शृंखलेत (Time based chain) होते. याच कारणाने या तंत्रज्ञानाला ब्लॉकचेन असे नाव दिलेले आहे. आपल्या उदाहरणात बघायचे झाल्यास माझे दोन्ही व्यवहार दोन वेगवेगळ्या ब्लॉक्समध्ये असतील आणि नंतरचा ब्लॉक आधीच्या ब्लॉकच्या लिंक शिवाय बनू शकणार नाही. त्यामुळे हे ब्लॉक्स कुठल्या नोड वर कधी पोचतात याने फरक पडणार नाही त्यांच्या लिंक ने कुठला व्यवहार आधी झाला हे लगेच कळेल.
  • नेटवर्कवरचा प्रत्येक नोड व्यवहारांना एकत्र करून ब्लॉक बनवू शकतो आणि नेटवर्कला सुचवू शकतो की पुढचा ब्लॉक कुठला असावा. प्रत्येक नोड हे सुचवू शकत असल्यामुळे परत हा प्रश्न आला की कुठला ब्लॉक पुढचा असावा हे कोणी ठरवायचं? विकेंद्रित पद्धत असल्यामुळे हा निर्णय कोणी केंद्रीय संस्था घेणार नाही हे स्पष्टच आहे. त्यामुळे हा प्रश्न सोडवण्यासाठी परत गणिताकडे वळते.

नेमका कसा सुटतो हा प्रश्न? आणि ब्लॉकचेन तंत्रज्ञानात बिटकॉइनसारख्या चलनाचा निर्माण कसा होतो? bitcoin mining म्हणजे नेमके काय? या सगळ्या प्रश्नांकडे बघूया पुढच्या भागात. 

– इंद्रनील पोळ

pole.indraneel@gmail.com

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

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

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

नोटबंदीचे महत्व अधोरेखित  करणारे करसंकलनाचे आकडे

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

Click to rate this post!
[Total: 0 Average: 0]

Get real time updates directly on you device, subscribe now.

Comments are closed.