बिटकॉइन एक डिजिटल करेंसी की अवधारणा है, जिसे 2009 में महान और रहस्यमय सातोशी नाकामोतो ने सामने रखा था। यह ढाँचे के तौर पर ब्लॉकचेन तकनीक का इस्तेमाल करती है और बिना किसी केंद्रीय सत्ता के, सीधे एक व्यक्ति से दूसरे व्यक्ति तक काम करती है। इस अवधारणा को समझाने वाला और नाकामोतो का लिखा व्हाइटपेपर हर उस व्यक्ति के लिए ज़रूरी पढ़ाई है जो बिटकॉइन और आम तौर पर क्रिप्टोकरेंसी को समझना चाहता है। यह व्हाइटपेपर सिर्फ़ बिटकॉइन की अवधारणा नहीं समझाता, बल्कि यह भी बताता है कि विकेंद्रीकृत माहौल में बाइज़ेंटाइन फ़ॉल्ट टॉलरेंस सिस्टम कैसे काम कर सकता है।
सबसे पहले, बिटकॉइन में दिलचस्पी रखने वाले को यह जानना चाहिए कि बिटकॉइन की अवधारणा को असल ज़िंदगी में उतारने वाला सबसे बड़ा कारक ब्लॉकचेन तकनीक है — और यह समझना चाहिए कि यह तकनीक काम कैसे करती है।
ब्लॉकचेन क्या है?
ब्लॉकचेन ब्लॉकों की एक शृंखला है, जिसके हर ब्लॉक में डेटा होता है, और जिस पर किसी केंद्रीय सत्ता की निगरानी या नियंत्रण नहीं होता। सूचना की ये शृंखलाएँ क्रिप्टोग्राफ़िक तरीके से सुरक्षित होती हैं और अपनी विकेंद्रीकृत बनावट की वजह से इन्हें चुप नहीं कराया जा सकता। ब्लॉकचेन मूल रूप से दो डेटा स्ट्रक्चर इस्तेमाल करता है: पॉइंटर और लिंक्ड लिस्ट।
पॉइंटर
पॉइंटर ऐसे वेरिएबल होते हैं जो बताते हैं कि कोई दूसरा वेरिएबल कहाँ है। सामान्य हालात में प्रोग्रामिंग में वेरिएबल के भीतर डेटा होता है। (int a = 10 के उदाहरण में, इंटीजर वेरिएबल a का मान 10 है।) पॉइंटर, इसके उलट, डेटा के रूप में कोई मान नहीं रखते, बल्कि उस वेरिएबल के पते की ओर इशारा करते हैं जिसमें वह डेटा रखा है।
लिंक्ड लिस्ट
लिंक्ड लिस्ट डेटा स्ट्रक्चर की सबसे अहम इकाइयों में से एक है और मोटे तौर पर ऐसी दिखती है।
ब्लॉकों की एक कड़ी, जिसके हर ब्लॉक में एक ख़ास डेटा होता है और जो पॉइंटर के ज़रिए अगले ब्लॉक से जुड़ा होता है। पॉइंटर वेरिएबल में अगले नोड का पता होता है और इसी से जुड़ाव बनता है। जैसा कि हमने आख़िरी नोड पर देखा, अंतिम पॉइंटर में कोई डेटा नहीं होता।
यहाँ अहम बात यह है कि हर पॉइंटर में अगले ब्लॉक का पता होता है। तो पहले ब्लॉक का पॉइंटर कहाँ है? पहले ब्लॉक को जेनेसिस ब्लॉक कहते हैं और उसका पॉइंटर सिस्टम के भीतर ही होता है।
हैश पॉइंटर वह पॉइंटर है जिसमें पिछले ब्लॉक का हैश होता है।
हैश एक ऐसी प्रक्रिया है जो किसी भी लंबाई का डेटा लेकर, डेटा की सामग्री चाहे जो हो, एक तय फ़ंक्शन के ज़रिए हमेशा एक ही लंबाई का नतीजा देती है। बिटकॉइन के मामले में ट्रांसफ़र की प्रक्रिया को डेटा के रूप में लिया जाता है और SHA-256 एल्गोरिदम से गुज़ारकर तय लंबाई का नतीजा निकाला जाता है। डाला गया डेटा कितना भी लंबा हो, SHA-256 एल्गोरिदम हमेशा 256 बिट लंबा नतीजा देता है।
अपने सबसे सरल रूप में ब्लॉकचेन नीचे दिखाई गई एक लिंक्ड लिस्ट ही है।
ब्लॉकचेन एक ऐसी लिंक्ड लिस्ट है जिसमें हर ब्लॉक में डेटा होता है और एक हैश पॉइंटर होता है जो उससे पहले वाले ब्लॉक की ओर इशारा करता है। तो हैश पॉइंटर है क्या? हैश पॉइंटर आम पॉइंटर जैसे ही होते हैं, पर उनमें सिर्फ़ पिछले ब्लॉक का पता नहीं होता, बल्कि उस ब्लॉक के डेटा का हैश नतीजा भी होता है। बनावट का यही छोटा-सा फ़र्क ब्लॉकचेन तकनीक को इतना सुरक्षित बनाता है।
एक पल के लिए मान लीजिए कि कोई हमलावर ब्लॉक 3 पर हमला कर उसका डेटा बदलना चाहता है। हैश फ़ंक्शन की वजह से डेटा में सबसे छोटा बदलाव भी नतीजे में बेहद बड़े फ़र्क के रूप में दिखेगा। ब्लॉक 3 के डेटा में ज़रा-सा बदलाव ब्लॉक 2 में संग्रहित हैश नतीजे को बदल देगा, ब्लॉक 2 का बदलाव ब्लॉक 1 के हैश को प्रभावित करेगा, यानी पूरी शृंखला बदलनी पड़ेगी, जो नामुमकिन है। यही वह तरीका है जो ब्लॉकचेन को चुप कराए जाने से बचाता है।
माइनिंग क्या है?
माइनिंग वह प्रक्रिया है जो नए बिटकॉइन बनाने के लिए ज़रूरी है। बिटकॉइन माइनिंग प्रूफ़ ऑफ़ वर्क (POW) के सिद्धांत पर काम करती है। सीधे शब्दों में: किसी समस्या को हल करना बहुत मुश्किल होना चाहिए, लेकिन एक बार हल कर लेने के बाद यह साबित करना बहुत आसान होना चाहिए कि आपका हल सही है।
बिटकॉइन में POW के इस्तेमाल तक पहुँचने से पहले यह समझने की कोशिश करते हैं कि क्रिप्टोकरेंसी को ऐसी व्यवस्था की ज़रूरत ही क्यों पड़ती है।
बिटकॉइन से पहले भी अलग-अलग डिजिटल करेंसी बनीं, लेकिन डिजिटल माहौल में जब आप बिना केंद्रीय सत्ता के, व्यक्ति-से-व्यक्ति चलने वाला नेटवर्क बनाते हैं तो सबसे बड़ी अड़चन वह तार्किक समस्या है जिसे बाइज़ेंटाइन जनरल्स समस्या कहते हैं। चूँकि नाकामोतो ने बिटकॉइन में POW के ज़रिए इस समस्या को हल कर लिया, इसलिए बिटकॉइन अपनी ज़िंदगी शुरू कर पाया और आज भी मज़बूती से चल रहा है।
बाइज़ेंटाइन जनरल्स समस्या
आइए बाइज़ेंटाइन जनरल्स समस्या समझाकर आगे बढ़ें, जिसका ज़िक्र अकादमिक अध्ययनों में भी अक्सर होता है। दुश्मन के शहर पर हमले की योजना बना रहे बाइज़ेंटाइन जनरलों के सामने दो दिक्कतें हैं:
जनरल एक-दूसरे से बहुत दूर हैं, इसलिए किसी केंद्रीय सत्ता के लिए घेराबंदी का संचालन करना नामुमकिन है।
दुश्मन के पास भी मज़बूत सेना है, इसलिए कामयाबी तभी मिलेगी जब सभी जनरल एक ही समय पर हमला करें।
घेराबंदी करती सेनाएँ जब शहर को घेरे रहती हैं, तो हर सेना अपने दाहिनी ओर की सेना से आया आदेश बाईं ओर की सेना तक पहुँचाती है और इसी तरह संपर्क बना रहता है। पर समस्या यह है कि जब आदेश आता है कि हम बुधवार को हमला करेंगे, तो हो सकता है कोई सेना तैयार न हो और जवाब में संदेश भेज दे कि नहीं, हमला शुक्रवार को होगा। या संदेश ले जाने वाला सिपाही दुश्मन के हाथ पड़ सकता है, या उसके संदेश की सामग्री बदली जा सकती है। ऐसे असुरक्षित माहौल में पूरा तालमेल न बने तो कोई भी हमला नाकाम रहेगा।
यही तार्किक समस्या ब्लॉकचेन नेटवर्कों पर भी लागू होती है, जो बिटकॉइन जैसी क्रिप्टोकरेंसी का ढाँचा हैं। ये बेहद विशाल नेटवर्क हैं, तो इनमें मौजूद हर एक व्यक्ति पर भरोसा कैसे करें? हम किसी को 4 ईथर भेजना चाहते हैं, लेकिन कैसे भरोसा करें कि कोई बदनीयत व्यक्ति उस रकम को 40 ईथर नहीं बना देगा?
सातोशी नाकामोतो ने प्रूफ़ ऑफ़ वर्क प्रोटोकॉल पेश करके इस तार्किक समस्या का हल निकाला। देखते हैं यह कैसे काम करता है:
जब घेराबंदी करती सेना अपनी बाईं ओर की सेना तक यह संदेश पहुँचाना चाहती है कि "हम सोमवार को हमला कर रहे हैं", तो उसे ये चरण अपनाने पड़ते हैं;
पहले, मूल संदेश को "नॉन्स" नाम का एक बेतरतीब और सिर्फ़ एक बार बनाया गया मान दिया जाता है। नॉन्स हेक्साडेसिमल संख्या प्रणाली का कोई भी मान हो सकता है।
फिर नॉन्स वाले संदेश को हैश फ़ंक्शन से गुज़ारकर एक नतीजा निकाला जाता है। हमारे इस काल्पनिक हमले में मान लीजिए कि सेनापतियों ने तय किया है कि वे आपस में सिर्फ़ वही हैश नतीजे साझा करेंगे जिनके पहले 5 अंक शून्य हों।
अगर हैश फ़ंक्शन का नतीजा मनचाहा आता है, तो वे संदेश अगले जनरल को भेज देते हैं। अगर नतीजा मेल नहीं खाता, तो दिए गए नॉन्स को बेतरतीब ढंग से बदलकर प्रक्रिया तब तक दोहरानी पड़ती है जब तक पहले पाँच अंक शून्य वाला नतीजा न मिल जाए। इस व्यवस्था में बेहद लंबा समय और भारी कंप्यूटिंग शक्ति लगती है।
अगर संदेश ले जाने वाला सिपाही पकड़ा जाए या संदेश की सामग्री बदल दी जाए, तो हैश फ़ंक्शन की ख़ासियत की वजह से हैश नतीजा बिल्कुल अलग निकलेगा। संदेश जाँचते हुए जनरल देख लेंगे कि हैश के पहले पाँच अंक शून्य नहीं हैं और हमला वापस ले लेंगे।
फिर भी, बेशक संभावना बहुत कम है, हर हैश फ़ंक्शन में टकराने वाले नतीजे आ सकते हैं। सिद्धांत रूप में, A और B दो अलग इनपुट हों तो H(A) = H(B) होने की कोई संभावना नहीं होनी चाहिए, लेकिन असल इस्तेमाल में कोई भी हैश फ़ंक्शन पूरी तरह टकराव-रोधी नहीं है।
तो इसी कम संभावना में क्या होगा अगर संदेश ले जाने वाला सिपाही पकड़ा जाए, संदेश बदल दिया जाए और हैश नतीजा वैसा ही निकले जैसा जनरल चाहते हैं? यह बेशक बहुत समय खाने वाली प्रक्रिया होगी, पर नामुमकिन नहीं। इसके ख़िलाफ़ जनरल अपनी संख्या-बल का इस्तेमाल करते हैं।
इस समस्या से इस तरह पार पाया जा सकता है कि एक ही जनरल बारी-बारी से दाएँ से बाएँ संदेश भेजने के बजाय तीन जनरल एक साथ बाईं ओर संदेश भेजें। अगर जनरल अपने-अपने संदेशों से एक साझा संदेश बनाएँ, उसे हैश फ़ंक्शन से गुज़ारें, नतीजे को नॉन्स दें और फिर से हैश फ़ंक्शन में डालें, तो इस बार नतीजे के पहले छह अंक शून्य होने चाहिए।
इस चरण पर इस संदेश का नॉन्स ढूँढ़ना और संदेश की सामग्री बदलना समय की भारी बर्बादी होगी।
वहीं संदेश पाने वाले जनरलों का काम आसान है; उन्हें बस अपने दिए गए नॉन्स को हैश नतीजे में जोड़कर नतीजों की तुलना करनी है। यह चरण बहुत तेज़ और सरल प्रक्रिया है। यही विचार प्रूफ़ ऑफ़ वर्क सिद्धांत की कार्यप्रणाली है।
सही हैश के लिए नॉन्स ढूँढ़ने में ज़बरदस्त कंप्यूटिंग शक्ति और समय लगता है
लेकिन नतीजों की जाँच करने और यह तय करने में कि कहीं कोई बदनीयत तो नहीं, बहुत कम समय लगता है।
बिटकॉइन माइनिंग में माइनर प्रूफ़ ऑफ़ वर्क प्रोटोकॉल इसी तरह लागू करते हैं। वे अपने सामने खड़ी क्रिप्टोग्राफ़िक पहेली को हल करने और अगला ब्लॉक बनाने के लिए अपनी कंप्यूटिंग शक्ति लगाते हैं। बिटकॉइन ब्लॉकचेन में हर 10 मिनट में एक ब्लॉक बनता है।
बिटकॉइन नेटवर्क पर ट्रांसफ़र कैसे होते हैं?
मान लीजिए जॉन डेव को कुछ बिटकॉइन भेजना चाहता है। यह ट्रांसफ़र कैसे होता है? बिटकॉइन ट्रांसफ़र फ़िएट पैसे के ट्रांसफ़र से बिल्कुल अलग तरीके से काम करते हैं। अगर जॉन डेव को 10 डॉलर देना चाहता, तो वह 10 डॉलर का नोट अपने बटुए से निकालकर डेव को दे देता और ट्रांसफ़र पूरा हो जाता। पर बिटकॉइन में बात अलग है, यह ऐसी चीज़ नहीं जो हमारे पास भौतिक रूप में हो। हमारे पास जो है, वह इस बात का सबूत है कि हमारे पास बिटकॉइन है।
दो बातें हमें जाननी और उन पर ध्यान देना चाहिए;
माइनर अपने बनाए ब्लॉक में डाले गए डेटा से ट्रांसफ़र लेनदेन की पुष्टि करते हैं और उन्हें सुरक्षित करते हैं। इस सेवा के लिए वे शुल्क भी लेते हैं।
फ़िएट करेंसी में हमारे हाथ में मौजूद किसी नोट का इतिहास हम न जानते हैं, न उसका पीछा करते हैं। ऐसा करने का कोई व्यावहारिक तरीका है ही नहीं। जबकि बिटकॉइन का हर ट्रांसफ़र लेनदेन नेटवर्क पर दर्ज होता है।
इस जानकारी की रोशनी में जॉन और डेव के बीच के बिटकॉइन ट्रांसफ़र को देखते हैं। इस ट्रांसफ़र के दो हिस्से हैं; इनपुट और आउटपुट।
यह ट्रांसफ़र करने के लिए जॉन के पास पिछले ट्रांसफ़रों से आए बिटकॉइन होने चाहिए। जैसा हमने बताया, सभी ट्रांसफ़र बिटकॉइन नेटवर्क पर दर्ज होते हैं।
जॉन को पहले मिले TR(0), TR(1) और TR(2) नाम के ट्रांसफ़रों से आए बिटकॉइन इकट्ठा करने होंगे, TR(INPUT) नाम का नया ट्रांसफ़र बनाना होगा और उसे डेव को भेजना होगा। यहाँ TR(INPUT) नए ट्रांसफ़र का इनपुट डेटा बन जाता है।
इनपुट के लिहाज़ से बिटकॉइन ट्रांसफ़र मोटे तौर पर ऐसा दिखता है।
आउटपुट डेटा में बस उतने बिटकॉइन होंगे जितने नए ट्रांसफ़र के बाद डेव के पास होने चाहिए, और बचा हुआ चेंज, जो जॉन के पास लौट जाता है और उसके अगले ट्रांसफ़र में TR(INPUT) मान बन जाता है।
चेंज वाले हिस्से को छोड़ दें तो इस प्रक्रिया में एक ही आउटपुट नतीजा होता है, पर कई आउटपुट नतीजों वाले ट्रांसफ़र भी मुमकिन हैं। यह विवरण सरलता से दिखाता है कि बिटकॉइन नेटवर्क पर ट्रांसफ़र कैसे होता है। लेकिन यह सब कामयाबी से हो, इसके लिए कुछ शर्तें पूरी होनी चाहिए।
ट्रांसफ़र के लिए ज़रूरी शर्तें:
TR(INPUT) > TR(OUTPUT)। इनपुट ट्रांसफ़र हमेशा आउटपुट ट्रांसफ़र से बड़ा होना चाहिए। हर ट्रांसफ़र में इनपुट और आउटपुट (आउटपुट + चेंज) का अंतर माइनरों को शुल्क के रूप में मिलता है। यानी: माइनिंग शुल्क = TR(INPUT) - (TR(OUTPUT) + चेंज)
इनपुट की तरफ़ TR(0)+TR(1)+TR(2)=TR(INPUT) होना चाहिए। दूसरे शब्दों में, जॉन के पास डेव को भेजने लायक पर्याप्त बिटकॉइन होने चाहिए। अगर लेनदेन के लिए उसके पास पर्याप्त बिटकॉइन नहीं है, तो माइनर ट्रांसफ़र ठुकरा देते हैं।
अब डेव को साबित करना है कि उसे भेजे गए बिटकॉइन का मालिक वही है। जॉन ने अपना बिटकॉइन ट्रांसफ़र डेव की पब्लिक की से एन्क्रिप्ट किया है। डेव इसे सिर्फ़ अपनी प्राइवेट की से खोल सकता है।
उधर जॉन को साबित करना है कि उसके पास डेव को भेजने लायक पर्याप्त बिटकॉइन है। वह यह काम अपनी प्राइवेट की से उस ट्रांसफ़र पर हस्ताक्षर करके करता है जिसे वह अंजाम देना चाहता है। कोई भी इसे जॉन की पब्लिक की से खोलकर पुष्टि कर सकता है कि उसके पास वाकई ज़रूरी मात्रा में बिटकॉइन है। इस सबूत को सिग्नेचर डेटा कहते हैं।
इनपुट डेटा (सिग्नेचर डेटा समेत) और आउटपुट डेटा को जोड़कर SHA-256 हैश एल्गोरिदम से गुज़ारा जाता है। इस एल्गोरिदम का नतीजा ही ट्रांसफ़र कहलाता है।
एक बात याद रखनी चाहिए: बिटकॉइन ट्रांसफ़र होने के लिए ज़रूरी है कि जिस माइनर ने ब्लॉक माइन किया है वह उस ट्रांसफ़र को ब्लॉक में डाले। ब्लॉक माइन करने वाले माइनर को उस ब्लॉक में डाले गए सभी ट्रांसफ़रों का शुल्क मिल सकता है। समय के साथ ट्रांसफ़र की मात्रा बढ़ने से, ब्लॉक पूरी तरह भर जाने के कारण ट्रांसफ़रों को नए ब्लॉक का इंतज़ार करना पड़ता है। दरअसल जो लोग इंतज़ार नहीं करना चाहते, वे ज़्यादा माइनिंग शुल्क देते हैं, जिससे उनका ट्रांसफ़र अलग दिखता है और माइनरों के लिए ज़्यादा आकर्षक हो जाता है।
इसी से रिप्लेस-बाय-फ़ी सिद्धांत आया। यह सीधे-सीधे ऐसे काम करता है: भले ही जॉन ने डेव को 5 BTC भेजे हों, माइनिंग शुल्क कम रखने के कारण वह लेनदेन कभी ब्लॉक में शामिल नहीं होता और लंबित रह जाता है। इस लेनदेन को पलटने या रद्द करने का कोई रास्ता नहीं, क्योंकि ख़र्च किए गए बिटकॉइन वापस नहीं आते। लेकिन अगर जॉन उसी पते पर उतने ही BTC का ट्रांसफ़र ज़्यादा माइनिंग शुल्क के साथ करता है, तो पुराना ट्रांसफ़र अमान्य मान लिया जाता है और नया लेनदेन के लिए क़तार में लग जाता है।
बिटकॉइन और आम तौर पर क्रिप्टोकरेंसी का भविष्य अनगिनत संभावनाओं से भरा है। ब्लॉकचेन के इस्तेमाल की कोई सीमा नहीं है, और इस क्षेत्र की परियोजनाएँ दिन-ब-दिन ज़्यादा कामयाब और ज़्यादा सुरक्षित होती जा रही हैं।
वस्तु-मुद्रा से लेकर सोने-चाँदी जैसी बहुमूल्य धातुओं के इस्तेमाल तक, और वहाँ से काग़ज़ी मुद्रा और नाममात्र की मुद्राओं तक के सफ़र में, आभासी माहौल में पैसे का विचार कोई बहुत नया नहीं है — पर इसे अमल में लाना हाल के इतिहास में ही मुमकिन हुआ है।
किसी के मुताबिक़ वह CIA का कोई समूह है, किसी के मुताबिक़ एलियन, और शायद वह सचमुच कोई साइबरपंक सातोशी नाकामोतो ही है। जो भी हो, उसने अपने विचार और उनका अमल हमें सौंपकर यह फ़ैसला हम पर छोड़ दिया कि आगे क्या करना है — ऐसे विचार जो हमारी संपत्तियों को देखने और सहेजने का तरीका पूरी तरह बदल देंगे। उसने अपने से भी उन्नत विचारों के आने का रास्ता खोला और दुनिया को बिल्कुल अलग नज़रिया अपनाने के लिए मना लिया।

सातोशी ने जेनेसिस यानी शुरुआती ब्लॉक में एक संदेश छिपाना नहीं भुलाया, जिसे उसने माइन किया और हार्ड कोड के रूप में लिखा। 3 जनवरी 2009 की तारीख़ दर्ज करते हुए उसने उस दिन के ब्रिटिश टाइम्स की एक सुर्खी जोड़ी, जो दुनियाभर के आर्थिक संकट के लिए ज़िम्मेदार बैंकों के बारे में थी; "मंत्री बैंकों के लिए दूसरे राहत पैकेज की कगार पर"। इन शब्दों से वह शायद केंद्रीय बैंकिंग व्यवस्था का मज़ाक उड़ा रहा है। यह पता नहीं कि सातोशी ने शुरुआती ब्लॉक में यह ऐसा पता क्यों बनाया जिससे ख़र्च नहीं किया जा सकता। अब तक इस पते पर गुमनाम रूप से 16 BTC भेजे जा चुके हैं, और इसीलिए 2 करोड़ 10 लाख बिटकॉइन की कुल आपूर्ति असल में कभी पूरी नहीं होगी।
दुनिया के केंद्रीय बैंकों को डराने वाले स्तर तक पहुँचने में बिटकॉइन को महज़ 9 साल लगे, और अभी उसका सफ़र लंबा है।
