चैप्टर 3 - 10 में से 0 क्विज़ पास
Hashes: डिजिटल फिंगरप्रिंट
एक क्रिप्टोग्राफ़िक hash एकतरफ़ा फ़ंक्शन है जो डेटा के साथ किसी भी छेड़छाड़ को उजागर कर देता है और प्रूफ़ ऑफ़ वर्क को संभव बनाता है।
- यह समझाना कि क्रिप्टोग्राफ़िक hash क्या करता है और एवलांच इफ़ेक्ट क्यों मायने रखता है
- यह बताना कि कैसे एक Merkle root किसी ब्लॉक को उसके सभी ट्रांज़ैक्शन से जोड़ता है
सीधे जवाब
Bitcoin में hash क्या होता है?
डेटा का एक एकतरफ़ा डिजिटल फिंगरप्रिंट: इसे निकालना आसान है, इससे वापस मूल डेटा पाना व्यावहारिक रूप से असंभव है, और डेटा में कोई भी बदलाव करने पर एक बिल्कुल अलग hash मिलता है।
Merkle root क्या होता है?
एक अकेला hash जो किसी ब्लॉक को उसके हर ट्रांज़ैक्शन से जोड़कर लॉक करता है, ताकि किसी भी ट्रांज़ैक्शन में बदलाव करने पर रूट बदल जाए।
Bitcoin का इतिहास क्यों नहीं बदला जा सकता?
हर ब्लॉक हेडर पिछले ब्लॉक से जुड़ा (commit) होता है, इसलिए किसी पुराने ब्लॉक को बदलने का मतलब है उसके और उसके बाद आने वाले हर ब्लॉक के लिए प्रूफ़ ऑफ़ वर्क दोबारा करना।
एकतरफ़ा फ़िंगरप्रिंट
एक क्रिप्टोग्राफ़िक hash फ़ंक्शन कोई भी इनपुट लेता है — एक शब्द, एक तस्वीर, या पूरा इनसाइक्लोपीडिया — और एक तय आकार (fixed-size) का डाइजेस्ट देता है। यह प्रक्रिया एकतरफ़ा होती है: आप यह तो वेरिफ़ाई कर सकते हैं कि उस इनपुट से वही डाइजेस्ट बनता है, लेकिन डाइजेस्ट से वापस इनपुट तक पहुँचना व्यावहारिक रूप से संभव नहीं है। Bitcoin में SHA-256 का इस्तेमाल होता है, जो 256 बिट्स देता है, जिन्हें आम तौर पर 64 हेक्साडेसिमल कैरेक्टर्स में लिखा जाता है। ब्लॉक hash और ट्रांज़ैक्शन ID पर इसे दो बार लागू किया जाता है (SHA-256d)।
एवेलांच इफ़ेक्ट
एक अच्छा hash फ़ंक्शन बहुत संवेदनशील होता है। 500 पन्नों के किसी डॉक्यूमेंट में बस एक कॉमा बदल दें, तो डाइजेस्ट पूरी तरह बदल जाता है। इसे एवेलांच इफ़ेक्ट कहते हैं। इसी वजह से hash कमिटमेंट के तौर पर काम आते हैं: डाइजेस्ट सटीक बाइट्स को लॉक कर देता है, और बाद में किया गया कोई भी बदलाव तुरंत साफ़ दिख जाता है।
Merkle root
एक ब्लॉक हर ट्रांज़ैक्शन को एक-एक करके सीधे हेडर में hash नहीं करता। वह ट्रांज़ैक्शन ID के जोड़ों (pairs) को hash करता है, फिर उनके नतीजों के जोड़े बनाकर hash करता है, और यह तब तक दोहराता है जब तक कि सिर्फ़ एक hash न बचे: Merkle root। ब्लॉक हेडर में उसका वर्ज़न, वह Merkle root, पिछले ब्लॉक का hash, समय, डिफ़िकल्टी टारगेट और nonce शामिल होते हैं। अगर आप कोई भी ट्रांज़ैक्शन बदलते हैं तो Merkle root बदल जाता है, जिससे हेडर का hash बदल जाता है और आगे के काम की चेन टूट जाती है।
छेड़छाड़ साफ़ दिखाने वाला इतिहास
हर ब्लॉक हेडर में पिछले हेडर का hash शामिल होता है। किसी पुराने ट्रांज़ैक्शन को दोबारा लिखने के लिए, हमलावर को उस ब्लॉक और उसके बाद के हर ब्लॉक का प्रूफ़ ऑफ़ वर्क ईमानदार नेटवर्क से ज़्यादा तेज़ी से दोबारा करना होगा। यह hash चेन इतिहास को वेरिफ़ाई करना आसान और दोबारा लिखना बहुत महँगा बना देती है। नोड्स अमान्य (invalid) ब्लॉक्स को खारिज कर देते हैं, लेकिन वे ज़्यादा कुल काम (accumulated work) वाली किसी मान्य प्रतिस्पर्धी चेन को ही मानते हैं। कोई नोड ज़्यादा काम वाली मान्य चेन को सिर्फ़ इसलिए खारिज नहीं कर सकता कि उसे किसी हमलावर ने बनाया है।
खुद आज़माएँ
मुख्य बातें जो आपको याद रखनी चाहिए
Hash एकतरफ़ा कमिटमेंट होते हैं। Merkle root एक ब्लॉक को उसके सभी ट्रांज़ैक्शन से जोड़ता है, और हर हेडर पिछले ब्लॉक से जुड़ता है, इसलिए इतिहास बदलने के लिए उसके ऊपर किए गए सारे काम को दोबारा करना पड़ता है।
याद करें, फिर लागू करें
डेमो में एक अक्षर (character) बदलें। क्या बदलता है, और hash क्या साबित नहीं करता?
अपनी समझ की जाँच करें
डाइजेस्ट पूरी तरह बदल जाता है। मेल खाता डाइजेस्ट सिर्फ़ यह जाँचता है कि डेटा वैसा का वैसा है (consistency); यह साबित नहीं करता कि डेटा सच है या उसे मंज़ूरी मिली (authorized) है। मंज़ूरी देने (authorization) के लिए सिग्नेचर ज़रूरी हैं।
चेकपॉइंट
मुख्य शब्द
स्रोत
25 अक्टूबर 2026 को जाँचा गया · यह वित्तीय सलाह नहीं है