नोट: इस लेख को इस तरह से लिखा गया है कि इसे गैर-तकनीकी पाठक भी आसानी से समझ सकें। बहुत अधिक तकनीकी समझ प्राप्त करने के लिए, इस लेख को पढ़ने के बाद हमारे blockchain bootcamp का संदर्भ लें।
आम धारणा के विपरीत, ब्लॉकचेन क्रिप्टोग्राफी के कारण नहीं, बल्कि आर्थिक प्रोत्साहन (economic incentive) के कारण अपरिवर्तनीय (immutable) होते हैं। क्रिप्टोग्राफी सिर्फ एक बेहतरीन टूल है जो आर्थिक प्रोत्साहन को लागू करना आसान बनाता है।
कोई फ़ाइल अपरिवर्तनीय कैसे हो सकती है?
अंततः ब्लॉकचेन एक फ़ाइल ही है — यह एक ऐसी फ़ाइल है जिसमें नेटवर्क का ट्रांज़ेक्शन इतिहास (transaction history) होता है। और हम सभी जानते हैं कि फ़ाइलों को एडिट किया जा सकता है। तो फिर ब्लॉकचेन को अपरिवर्तनीय क्या बनाता है?
यदि आप एक ही फ़ाइल को हजारों स्वतंत्र कंप्यूटरों पर स्टोर करते हैं, और वे कंप्यूटर एक-दूसरे के साथ मिलीभगत (collude) नहीं करते हैं, तो सभी कंप्यूटरों पर एक समान बदलाव करना असंभव हो जाता है।
यदि आप किसी एक कंप्यूटर पर कोई बदलाव करते हैं (जैसे कि किसी ट्रांज़ेक्शन को डिलीट करना), तो उस कंप्यूटर की फ़ाइल अन्य कंप्यूटरों की फ़ाइल से मेल नहीं खाएगी।
अपरिवर्तनीयता (immutability) की दिशा में अगला कदम बदलावों का आसानी से पता लगाना है। ब्लॉकचेन गीगाबाइट्स (gigabytes) जितने बड़े होते हैं, इसलिए हर बार यह जाँचने के लिए कि इतिहास के साथ छेड़छाड़ हुई है या नहीं, पूरे नेटवर्क में एक पूरी फ़ाइल भेजना बहुत महंगा और कठिन होगा।
सभी फ़ाइलों को एक hash function (हैश फ़ंक्शन) के साथ संक्षेप में प्रस्तुत किया जा सकता है। एक हैश फ़ंक्शन किसी भी फ़ाइल को लेता है और 0 और 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,935 के बीच का एक नंबर आउटपुट करता है।
आप हैश फ़ंक्शन को किसी बड़ी फ़ाइल के लिए डिजिटल फिंगरप्रिंट (digital fingerprint) जनरेट करने वाले टूल के रूप में मान सकते हैं। यदि फ़ाइल में एक बिट (bit) भी बदलता है, तो फिंगरप्रिंट पूरी तरह से एक अलग नंबर बन जाएगा। इस प्रकार, केवल नंबर देखकर यह आसानी से पता लगाया जा सकता है कि फ़ाइल में बदलाव हुआ है या नहीं।
यह फ़ाइल पर एक स्लाइडिंग विंडो (sliding window) का उपयोग करके और बड़ी संख्या की “स्क्रैम्बलिंग” (scramble) को ट्रिगर करने के लिए फ़ाइल सामग्री का उपयोग करके जनरेट किया जाता है। सिर्फ एक अक्षर बदलें, और स्क्रैम्बल पूरी तरह से अलग होगा। यहाँ एक एनीमेशन दिया गया है:

फ़ाइल के हैश की गणना (computing the hash of a file)
उदाहरण के लिए, आपके लिए निम्नलिखित दो नंबरों की तुलना करना और देखना आसान है:
25699748482000334349659950178510113434625287339471322686429384401650686920510
इस नंबर के समान नहीं है
111615780842736058021275746192495359629127277574153577922775094394736461370563.
जब आप दो अलग-अलग बहुत बड़े नंबर देखते हैं, तो आप समझ जाते हैं कि जिन दो अलग-अलग फ़ाइलों को फिंगरप्रिंट किया गया था, वे भी अलग-अलग हैं।
इन बहुत बड़े नंबरों को “blockhashes” (ब्लॉकहैश) कहा जाता है।
फ़ाइल (File) → हैश फ़ंक्शन (Hash Function) → बहुत बड़ा नंबर (Very Large Number)
यदि आप etherscan.io जैसे ब्लॉक एक्सप्लोरर (block explorer) का उपयोग करते हैं, तो आप देखेंगे कि इस बहुत बड़े नंबर को blockhash कहा गया है। इस पूरे लेख में हम इसे यही कहेंगे।

Ethereum पर ब्लॉकहैश (Blockhash)
पूरी फ़ाइल साझा करने के बजाय, नेटवर्क के कंप्यूटर सिर्फ blockhash साझा करते हैं।
Transaction Sequence
जब कोई कंप्यूटर कोई ट्रांज़ेक्शन साझा करता है, तो उसे तीन चीजें साझा करनी होती हैं:
- ट्रांज़ेक्शन से पहले का blockhash
- नया ट्रांज़ेक्शन
- नए ट्रांज़ेक्शन के बाद का blockhash
यदि चरण 1 में दिया गया blockhash किसी कंप्यूटर के लोकल blockhash से मेल नहीं खाता है, तो कंप्यूटर इसे रिजेक्ट कर देता है। यदि चरण 2 में ट्रांज़ेक्शन होने के बाद परिणाम स्वरूप चरण 3 वाला blockhash नहीं आता है, तो ट्रांज़ेक्शन को रिजेक्ट कर दिया जाता है।
हज़ारों कंप्यूटरों को यह विश्वास दिलाने का एकमात्र तरीका कि आपका नंबर वैध (valid) है, उसी blockhash का उपयोग करना है (जो आपके इतिहास का प्रतिनिधित्व करता है) जो अधिकांश कंप्यूटरों के पास है। बहुमत को यह समझाने की कोशिश करने के बजाय कि वे गलत हैं, बहुमत के साथ जाना आसान है और बहुमत के खिलाफ जाने की यही अत्यधिक कठिनाई ब्लॉकचेन को अपरिवर्तनीय और सुरक्षित बनाती है।
Ensuring non-collusion
भले ही आपके पास दुनिया भर में हज़ारों कंप्यूटर हों, लेकिन यदि वे सभी कंप्यूटर वास्तव में किसी एक ही संस्था (entity) द्वारा नियंत्रित किए जाते हैं, तो ब्लॉकचेन के इतिहास में बदलाव करना उस नियंत्रित संस्था के लिए बहुत आसान हो जाएगा।
मुख्य बात यह है कि किसी एक व्यक्ति के लिए नेटवर्क के बहुमत (majority) में भाग लेना मुश्किल बना दिया जाए। इसी को हम “विकेंद्रीकरण” (decentralization) कहते हैं।
Bitcoin जानबूझकर बहुत अधिक बिजली का उपयोग करता है, क्योंकि यह माना जाता है कि कोई भी एक संस्था वैश्विक स्तर पर बहुतायत ऊर्जा की खपत नहीं कर सकती है।
Ethereum प्रूफ़ ऑफ़ स्टेक (proof of stake) का उपयोग करता है (Ethereum नेटवर्क में भाग लेने के लिए आपको Ethereum को लॉक करना होता है) क्योंकि यह माना जाता है कि कोई भी व्यक्ति नेटवर्क के अधिकांश कंप्यूटरों को नियंत्रित करने के लिए बहुतायत में Ethereum खरीदकर उसे लॉक नहीं कर सकता है।
नेटवर्क में जितने कम प्रतिभागी होंगे, मिलीभगत की संभावना उतनी ही अधिक होगी। यही कारण है कि जिन ब्लॉकचेन के नेटवर्क में बहुत सारे कंप्यूटर होते हैं, वे अक्सर उस संख्या का विज्ञापन (प्रचार) करते हैं।
Relationship with distributed ledger
ब्लॉकचेन को कभी-कभी “डिस्ट्रिब्यूटेड लेज़र” (distributed ledgers) या दूसरे शब्दों में वितरित और व्यापक रूप से स्वीकृत ट्रांज़ेक्शन इतिहास भी कहा जाता है। यह महत्वपूर्ण है क्योंकि डिस्ट्रिब्यूटेड होना अपरिवर्तनीय होने का एक अहम हिस्सा है।
जैसा कि हमने पहले भाग में देखा, जब तक गैर-मिलीभगत (non-colluding) वाले प्रतिभागियों द्वारा दुनिया भर में ब्लॉकचेन फ़ाइल की कई प्रतियाँ (copies) स्टोर नहीं की जाती हैं, तब तक फ़ाइल को म्यूटेट (परिवर्तित) किया जा सकता है।
यदि किसी फ़ाइल को केवल कुछ ही कंप्यूटरों द्वारा प्रबंधित किया जाता है, तो वह वास्तव में डिस्ट्रिब्यूटेड नहीं है, और इस प्रकार वह असल में ब्लॉकचेन नहीं है।
Economic incentive
नेटवर्क का कोई भी कंप्यूटर उस ट्रांज़ेक्शन को नेटवर्क में शामिल नहीं करेगा जिसे वह अपने लिए नुकसानदेह मानता हो। उदाहरण के लिए, आप नेटवर्क में एक कंप्यूटर चलाते हैं, और आप एक आता हुआ ट्रांज़ेक्शन देखते हैं जो कहता है “अचानक से बॉब के पास कहीं से एक मिलियन डॉलर आ गए।” किसी को मुफ़्त में पैसा मिलना (और खुद के मुनाफे से चूक जाना) कोई ऐसी चीज़ नहीं है जो अधिकांश कंप्यूटरों को अच्छी लगे, इसलिए वे उस ट्रांज़ेक्शन को रिजेक्ट कर देते हैं और उस ट्रांज़ेक्शन वाले इतिहास से संबंधित blockhashes को स्वीकार नहीं करते हैं। यह जानना कि लोग ऐसे ट्रांज़ेक्शन बनाने को स्वीकार नहीं करेंगे जो अवैध रूप से सिर्फ आपके पक्ष में हों, लोगों को इस तरह के ट्रांज़ेक्शन शामिल करने की कोशिश करने से हतोत्साहित करता है।
लेकिन क्या हो अगर सभी कंप्यूटर एक साथ आएं और कहें “चलो हम सभी अपने लिए एक-एक मिलियन कॉइन प्रिंट कर लें?” एक बहुत ही दिलचस्प आर्थिक घटना (economic phenomenon) होती है: करेंसी की वैल्यू बिल्कुल नहीं बदलती है।
कल्पना करें कि एक दिन सरकार कहती है “हर कोई अपने एक डॉलर के बिल को दस नियो-डॉलर (neo-dollars) में बदल सकता है, 5 डॉलर के बिल को 50 नियो-डॉलर में, आदि।” तो करेंसी की वैल्यू का क्या होगा? कुछ नहीं! अर्थव्यवस्था (economy) में हर चीज़ की कीमत के आगे बस एक और शून्य जुड़ जाएगा और चीजें सामान्य रूप से चलती रहेंगी।
इस तरह की मिलीभगत के लिए, हर किसी को सटीक रूप से सहमत होना होगा कि उन सभी को कितना अतिरिक्त पैसा मिलेगा। यदि कोई असहमति होती है, तो हर किसी के पास अपने इतिहास को दर्शाने वाले अलग-अलग blockhashes होंगे। यदि इस तरह की कोई असहमति होती है, तो नेटवर्क पूरी तरह से ठप हो जाएगा, क्योंकि ऊपर बताया गया Transaction Sequence अब काम नहीं करेगा। यदि नेटवर्क टूटता है, तो सिस्टम में मौजूद सभी लोगों का पैसा डूब जाएगा, इसलिए नेटवर्क को न तोड़ने का भी एक प्रोत्साहन (incentive) होता है।
When economic incentive isn’t sufficient
यह दिखाने के लिए कि अपरिवर्तनीयता मुख्य रूप से आर्थिक (economic) है, न कि क्रिप्टोग्राफिक, कल्पना करें कि कॉलेज के छात्रों का एक समूह एक नया ब्लॉकचेन शुरू करता है, चलिए इसे college-coin कहते हैं। उनकी कुल संपत्ति (net worth) $20,000 से कम है। फिर मैं एक दुष्ट अरबपति के रूप में आता हूं और उन्हें एक ऐसा प्रस्ताव देता हूं जिसे वे ठुकरा नहीं सकते: उन सभी को अपनी इच्छा के अनुसार ब्लॉकचेन को एडिट करने के लिए $20,000 देना। यह एक ऐसा प्रस्ताव है जिसे वे ठुकरा नहीं सकते।
चूंकि वे सभी एक समान एडिट करते हैं, इसलिए उन सभी को एक समान blockhashes मिलते हैं, और नेटवर्क सामान्य रूप से आगे बढ़ता है। फिर लोग ट्रांज़ेक्शन करते समय एक-दूसरे को यह नया blockhash दिखाते हैं, और हर कोई सामान्य रूप से पैसा खर्च कर सकता है – लेकिन इतिहास में जोड़े गए मेरे उस नए आइटम के साथ।
अपर्याप्त आर्थिक प्रोत्साहन वाले छोटे ब्लॉकचेन इस तरह के हमलों (attacks) के प्रति संवेदनशील होते हैं।
Mutual Self Interest
यदि आप अपनी फ़ाइल के साथ छेड़छाड़ करते हैं, तो आपका blockhash बाकी कंप्यूटरों के blockhash से मेल नहीं खाएगा। और यदि आपका blockhash अन्य कंप्यूटरों से मेल नहीं खाता है, तो आप पैसे खर्च नहीं कर पाएंगे।
चूंकि हर प्रतिभागी को ब्लॉकचेन की अपनी लोकल कॉपी के साथ छेड़छाड़ न करने (और इस तरह पैसे खर्च करने से वंचित न होने) के लिए प्रोत्साहित किया जाता है, इसलिए ब्लॉकचेन के साथ छेड़छाड़ नहीं की जाती है। यही कारण है कि ब्लॉकचेन अपरिवर्तनीय बना रहता है।
सभी कंप्यूटर फ़ाइलें परिवर्तनशील (mutable) होती हैं। लेकिन यदि आप उचित आर्थिक प्रोत्साहन लागू करते हैं, तो लोग उन्हें नहीं बदलेंगे।
मूल रूप से 10 फरवरी, 2023 को प्रकाशित