मर्कल ट्री क्या है? इस ब्लॉकचेन घटक के लिए शुरुआती मार्गदर्शिका

मर्कल ट्रीज़ ब्लॉकचेन का एक मूलभूत घटक है जो उनकी कार्यक्षमता को रेखांकित करता है। वे बड़े डेटा संरचनाओं के कुशल और सुरक्षित सत्यापन की अनुमति देते हैं, और ब्लॉकचेन के मामले में, संभावित रूप से असीमित डेटा सेट की अनुमति देते हैं।

ब्लॉकचेन में मर्कल ट्री के कार्यान्वयन के कई प्रभाव हैं। यह उन्हें डेटा अखंडता बनाए रखने के लिए हैश-आधारित आर्किटेक्चर और डेटा की अखंडता को सत्यापित करने का एक तुच्छ तरीका प्रदान करते हुए स्केल करने की अनुमति देता है।

क्रिप्टोग्राफ़िक हैश फ़ंक्शंस अंतर्निहित तकनीक है जो मर्कल पेड़ों को काम करने की अनुमति देती है, इसलिए सबसे पहले, यह समझना महत्वपूर्ण है कि क्रिप्टोग्राफ़िक हैश फ़ंक्शंस क्या हैं।

त्वरित निर्णय: मर्कल ट्री क्रिप्टोग्राफ़िक हैश से बनी डेटा संरचनाएं हैं जो बड़े डेटा सेटों की कुशल अखंडता सत्यापन और मैपिंग की अनुमति देती हैं, जिससे वे ब्लॉकचेन और वितरित संस्करण नियंत्रण जैसे सिस्टम का एक अभिन्न अंग बन जाते हैं।


त्वरित तथ्य

प्रमुख बिंदुDescription
क्रिप्टोग्राफिक हैश फ़ंक्शनहैश फ़ंक्शंस जो किसी भी आकार का इनपुट लेते हैं और एक निश्चित लंबाई हैश मान आउटपुट करते हैं। मर्कल वृक्षों में उपयोग किया जाता है।
मर्केल वृक्ष संरचनाट्री डेटा संरचना जहां प्रत्येक गैर-पत्ती नोड अपने बच्चे नोड्स का हैश है। बड़े डेटा सेटों की कुशल मैपिंग और सत्यापन सक्षम बनाता है।
रूट हैशमर्कल पेड़ के शीर्ष पर हैश जो पूरे पेड़ के हैश का प्रतिनिधित्व करता है। संपूर्ण डेटा सेट के लिए फिंगरप्रिंट के रूप में कार्य करता है।
मर्कल प्रमाणपूर्ण डेटा सेट की आवश्यकता के बिना, केवल रूट हैश की आवश्यकता के बिना डेटा अखंडता और पेड़ में स्थिति के सत्यापन की अनुमति दें।
बिटकॉइन में कार्यान्वयनमर्कल ट्री लेन-देन को ब्लॉकों में संग्रहित करते हैं। ब्लॉक हेडर में संग्रहीत रूट हैश एसपीवी नोड्स को लेनदेन को सत्यापित करने की अनुमति देता है।
अन्य ब्लॉकचेन कार्यान्वयनएथेरियम जैसे कई ब्लॉकचेन में उपयोग किया जाता है जो अधिक जटिल मर्कल पेट्रीसिया ट्रीज़ का उपयोग करता है।
वितरित प्रणालीसाथियों के बीच साझा किए गए डेटा को आसानी से सत्यापित करने के लिए Git और IPFS जैसी संस्करण नियंत्रण प्रणालियों को अनुमति दें।

क्रिप्टोग्राफिक हैश फंक्शंस

सीधे शब्दों में कहें तो हैश फ़ंक्शन कोई भी फ़ंक्शन है जिसका उपयोग किसी मनमाने आकार (इनपुट) के डेटा को एक निश्चित आकार के आउटपुट में मैप करने के लिए किया जाता है। डेटा इनपुट पर एक हैशिंग एल्गोरिदम लागू किया जाता है और परिणामी निश्चित लंबाई आउटपुट को हैश कहा जाता है।

कई हैशिंग एल्गोरिदम व्यापक रूप से सार्वजनिक रूप से उपलब्ध हैं और आपकी आवश्यकताओं के आधार पर चुने जा सकते हैं।

मनमाना इनपुट से परिणामी हैश न केवल लंबाई में तय होता है, बल्कि यह इनपुट के लिए पूरी तरह से अद्वितीय होता है और फ़ंक्शन स्वयं नियतात्मक होता है। यानी आप एक ही इनपुट पर कितनी भी बार फ़ंक्शन चलाएं, आउटपुट हमेशा एक जैसा ही रहेगा।

उदाहरण के लिए, यदि आपके पास इनपुट के रूप में नीचे दिए गए डेटा सेट हैं, तो परिणामी आउटपुट प्रत्येक इनपुट के लिए अद्वितीय हैं। ध्यान दें कि दूसरे और तीसरे उदाहरण में, भले ही इनपुट का अंतर केवल एक शब्द है, परिणामी आउटपुट पूरी तरह से अलग हैं।

यह बहुत महत्वपूर्ण है क्योंकि यह डेटा की "फ़िंगरप्रिंटिंग" की अनुमति देता है।

एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन, विकिपीडिया से छवि

चूँकि आउटपुट (उदाहरण में हैश योग) की लंबाई हमेशा वही होती है जो उपयोग किए गए हैशिंग एल्गोरिदम द्वारा निर्धारित की जाती है, बड़ी मात्रा में डेटा को केवल उनके परिणामी हैश के माध्यम से पहचाना जा सकता है।

ऐसे सिस्टम में जिनमें बड़ी मात्रा में डेटा होता है, एक निश्चित लंबाई के आउटपुट के साथ डेटा को संग्रहीत करने और पहचानने में सक्षम होने के लाभ से विशाल भंडारण बचत हो सकती है और दक्षता बढ़ाने में मदद मिल सकती है।

ब्लॉकचेन के भीतर, ब्लॉकचेन की स्थिति निर्धारित करने के लिए हैशिंग एल्गोरिदम का उपयोग किया जाता है।

ब्लॉकचेन लिंक की गई सूचियाँ हैं जिनमें डेटा और एक हैश पॉइंटर होता है जो पिछले ब्लॉक को इंगित करता है, कनेक्टेड ब्लॉक की एक श्रृंखला बनाता है, इसलिए इसे "ब्लॉकचैन" नाम दिया गया है।

प्रत्येक ब्लॉक एक हैश पॉइंटर के माध्यम से एक दूसरे से जुड़ा होता है, जो पिछले ब्लॉक के पते के साथ पिछले ब्लॉक के अंदर डेटा का हैश होता है। इस प्रारूप में डेटा के ब्लॉक को जोड़ने से, पिछले ब्लॉक का प्रत्येक परिणामी हैश ब्लॉकचेन की संपूर्ण स्थिति का प्रतिनिधित्व करता है क्योंकि पिछले ब्लॉक के सभी हैश किए गए डेटा को एक हैश में हैश किया जाता है।

इसे (SHA-256 एल्गोरिथम के मामले में) आउटपुट (हैश) द्वारा इस प्रकार दर्शाया जाता है:

b09a57d476ea01c7f91756adff1d560e579057ac99a28d3f30e259b30ecc9dc7

ऊपर दिया गया हैश उसके पहले ब्लॉकचेन की संपूर्ण स्थिति का फ़िंगरप्रिंट है। नए ब्लॉक से पहले ब्लॉकचेन की स्थिति (हैशेड डेटा के रूप में) इनपुट है, और परिणामी हैश आउटपुट है।

हालाँकि मर्कल ट्री के बिना क्रिप्टोग्राफ़िक हैश का उपयोग करना संभव है, लेकिन यह बेहद अक्षम है और स्केलेबल नहीं है। किसी ब्लॉक में श्रृंखला प्रारूप में डेटा संग्रहीत करने के लिए हैश का उपयोग करना समय लेने वाला और बोझिल है।

जैसा कि आप देखेंगे, मर्कल पेड़ डेटा अखंडता के तुच्छ समाधान के साथ-साथ मर्कल प्रमाणों का उपयोग करके पूरे पेड़ के माध्यम से उस डेटा की मैपिंग की अनुमति देते हैं।


मर्कल पेड़ और मर्कल प्रूफ़

राल्फ मर्कले के नाम पर, जिन्होंने 1979 में इस अवधारणा का पेटेंट कराया था, मर्कल पेड़ मूल रूप से डेटा संरचना पेड़ हैं जहां प्रत्येक गैर-पत्ती नोड अपने संबंधित बच्चे नोड्स का हैश है।

पत्ती नोड्स पेड़ में नोड्स का सबसे निचला स्तर हैं। पहले तो इसे समझना मुश्किल लग सकता है, लेकिन अगर आप नीचे आमतौर पर इस्तेमाल किए जाने वाले आंकड़े को देखेंगे, तो इसे समझना बहुत आसान हो जाएगा।

हैश ट्री

बाइनरी हैश ट्री का एक उदाहरण, विकिपीडिया से छवि

महत्वपूर्ण रूप से, ध्यान दें कि बाईं ओर गैर-पत्ती नोड्स या "शाखाएं" (हैश 0-0 और हैश 0-1 द्वारा दर्शायी गई) उनके संबंधित बच्चों एल1 और एल2 के हैश कैसे हैं। इसके अलावा, ध्यान दें कि शाखा हैश 0 अपने संयोजित बच्चों का हैश कैसे है, शाखाएँ हैश 0-0 और हैश 0-1।

उपरोक्त उदाहरण मर्कल वृक्ष का सबसे सामान्य और सरल रूप है जिसे बाइनरी मर्कल वृक्ष के रूप में जाना जाता है। जैसा कि आप देख सकते हैं, एक शीर्ष हैश है जो पूरे पेड़ का हैश है, जिसे रूट हैश के रूप में जाना जाता है। अनिवार्य रूप से, मर्कल ट्री एक डेटा संरचना है जो हैश की "एन" संख्या ले सकती है और इसे एक हैश के साथ प्रस्तुत कर सकती है।

पेड़ की संरचना मनमाने ढंग से बड़ी मात्रा में डेटा की कुशल मैपिंग की अनुमति देती है और उस डेटा में परिवर्तन कहां होते हैं इसकी आसान पहचान करने में सक्षम बनाती है। यह अवधारणा मर्कल प्रूफ़ को सक्षम बनाती है, जिसके साथ, कोई यह सत्यापित कर सकता है कि डेटा की हैशिंग वास्तव में हैश के पूरे सेट को देखे बिना पेड़ तक और सही स्थिति में सुसंगत है।

इसके बजाय, वे संपूर्ण डेटा सेट के बजाय केवल हैश के एक छोटे उपसमूह की जांच करके यह सत्यापित कर सकते हैं कि डेटा खंड रूट हैश के अनुरूप है।

जब तक रूट हैश सार्वजनिक रूप से ज्ञात और विश्वसनीय है, तब तक यह किसी भी व्यक्ति के लिए संभव है जो डेटाबेस पर कुंजी-मूल्य लुकअप करना चाहता है और डेटाबेस के भीतर डेटा के एक टुकड़े की स्थिति और अखंडता को सत्यापित करने के लिए मर्कल प्रूफ का उपयोग कर सकता है। एक विशेष जड़.

जब रूट हैश उपलब्ध होता है, तो हैश ट्री को किसी भी गैर-भरोसेमंद स्रोत से प्राप्त किया जा सकता है और डेटा अखंडता के तत्काल सत्यापन के साथ पेड़ की एक शाखा को एक समय में डाउनलोड किया जा सकता है, भले ही पूरा पेड़ अभी तक उपलब्ध न हो।

मर्कल ट्री संरचना के सबसे महत्वपूर्ण लाभों में से एक एक समान हैशिंग तंत्र के माध्यम से डेटा के मनमाने ढंग से बड़े सेट को प्रमाणित करने की क्षमता है जिसका उपयोग बहुत कम मात्रा में डेटा को सत्यापित करने के लिए किया जाता है।

पेड़ डेटा के बड़े सेट को प्रबंधनीय छोटे भागों में वितरित करने के लिए फायदेमंद है जहां समग्र बड़े डेटा आकार के बावजूद अखंडता के सत्यापन के लिए बाधा काफी कम हो जाती है।

रूट हैश का उपयोग संपूर्ण डेटा सेट के लिए फिंगरप्रिंट के रूप में किया जा सकता है, जिसमें संपूर्ण डेटाबेस या ब्लॉकचेन की संपूर्ण स्थिति का प्रतिनिधित्व करना शामिल है। निम्नलिखित अनुभागों में, हम चर्चा करेंगे कि बिटकॉइन और अन्य सिस्टम मर्कल ट्री को कैसे लागू करते हैं।


बिटकॉइन में मर्कल पेड़

बिटकॉइन द्वारा नियोजित क्रिप्टोग्राफ़िक हैश फ़ंक्शन SHA-256 एल्गोरिथम है। यह "सिक्योर हैशिंग एल्गोरिदम" के लिए है, जिसका आउटपुट निश्चित 256 बिट लंबाई का है। बिटकॉइन में मर्कल ट्री का मूल कार्य प्रत्येक ब्लॉक में लेनदेन को संग्रहीत करना और अंततः छंटनी करना है।

जैसा कि पहले उल्लेख किया गया है, ब्लॉकचेन में ब्लॉक पिछले ब्लॉक के हैश के माध्यम से जुड़े हुए हैं। बिटकॉइन में, प्रत्येक ब्लॉक में उस ब्लॉक के सभी लेनदेन के साथ-साथ ब्लॉक हेडर भी शामिल होता है जिसमें निम्न शामिल होते हैं:

  • ब्लॉक संस्करण संख्या
  • पिछला ब्लॉक हैश
  • टाइमस्टैम्प
  • खनन कठिनाई लक्ष्य
  • अस्थायी रूप से
  • मर्कल रूट हैश

नीचे दी गई छवि बिटकॉइन श्वेतपत्र से है और यह दर्शाती है कि मर्कल पेड़ प्रत्येक ब्लॉक में कैसे फिट बैठता है।

मर्कल ट्री

लेन-देन को खनिकों द्वारा ब्लॉक में शामिल किया जाता है और मर्कल ट्री के हिस्से के रूप में हैश किया जाता है, जो मर्कल रूट की ओर ले जाता है जो ब्लॉक हेडर में संग्रहीत होता है। इस डिज़ाइन के कई विशिष्ट लाभ हैं।

सबसे विशेष रूप से, जैसा कि श्वेतपत्र में बताया गया है, यह सरल भुगतान सत्यापन (एसपीवी) नोड्स के अस्तित्व की अनुमति देता है, जिन्हें "हल्के ग्राहक" के रूप में भी जाना जाता है। इन नोड्स को संपूर्ण बिटकॉइन ब्लॉकचेन डाउनलोड करने की आवश्यकता नहीं है, केवल सबसे लंबी श्रृंखला के ब्लॉक हेडर डाउनलोड करने होंगे।

एसपीवी नोड्स अपने सहकर्मी नोड्स से पूछताछ करके इसे प्राप्त कर सकते हैं जब तक कि वे आश्वस्त न हो जाएं कि संग्रहीत ब्लॉक हेडर जिस पर वे काम कर रहे हैं वह सबसे लंबी श्रृंखला का हिस्सा है। एक एसपीवी नोड एक ब्लॉक हेडर में संबंधित मर्कल ट्री के रूट हैश के साथ एक विशिष्ट मर्कल ट्री पर लेनदेन को मैप करने के लिए मर्कल प्रूफ का उपयोग करके लेनदेन की स्थिति निर्धारित करने में सक्षम है जो सबसे लंबी श्रृंखला का हिस्सा है।

इसके अतिरिक्त, बिटकॉइन में मर्कल पेड़ों का कार्यान्वयन स्थान बचाने के लिए ब्लॉकचेन की छंटाई की अनुमति देता है। यह केवल रूट हैश को ब्लॉक हेडर में संग्रहीत करने का परिणाम है, इसलिए, पुराने ब्लॉकों को मर्कल पेड़ की अनावश्यक शाखाओं को हटाकर काटा जा सकता है, जबकि केवल मर्कल प्रूफ के लिए आवश्यक शाखाओं को संरक्षित किया जा सकता है।


अन्य ब्लॉकचेन और प्रणालियों में मर्कल ट्रीज़ का कार्यान्वयन

हालाँकि बिटकॉइन मर्कल ट्री को लागू करने वाला पहला ब्लॉकचेन था, कई अन्य ब्लॉकचेन समान मर्कल ट्री संरचनाओं या इससे भी अधिक जटिल संस्करणों को लागू करते हैं।

इसके अलावा, मर्कल ट्री कार्यान्वयन केवल ब्लॉकचेन तक ही सीमित नहीं है और इसे कई अन्य प्रणालियों पर भी लागू किया जाता है।

एथेरियम, दूसरी सबसे अधिक पहचानी जाने वाली क्रिप्टोकरेंसी होने के नाते, एक अलग मर्कल ट्री कार्यान्वयन का एक बेहतरीन उदाहरण भी है। क्योंकि एथेरियम अधिक जटिल अनुप्रयोगों के निर्माण के लिए एक मंच के रूप में ट्यूरिंग-कम्प्लीट है, यह मर्कल पेड़ के अधिक जटिल संस्करण का उपयोग करता है जिसे मर्कल पेट्रीसिया ट्री कहा जाता है जो वास्तव में तीन अलग-अलग मर्कल पेड़ हैं जिनका उपयोग तीन प्रकार की वस्तुओं के लिए किया जाता है। आप यहां इन पेड़ों के बारे में अधिक जान सकते हैं।

अंत में, मर्कल ट्री Git और IPFS जैसे वितरित संस्करण नियंत्रण प्रणालियों के महत्वपूर्ण घटक हैं। पी2पी प्रारूप में कंप्यूटरों के बीच साझा किए गए डेटा की अखंडता को आसानी से सुनिश्चित करने और सत्यापित करने की उनकी क्षमता उन्हें इन प्रणालियों के लिए अमूल्य बनाती है।


निष्कर्ष

मर्कल पेड़ ब्लॉकचेन का एक अभिन्न अंग हैं और प्रभावी रूप से उन्हें सिद्ध अपरिवर्तनीयता और लेनदेन अखंडता के साथ कार्य करने की अनुमति देते हैं।

वितरित नेटवर्क में उनकी भूमिका और क्रिप्टोग्राफ़िक हैश फ़ंक्शंस की उनकी अंतर्निहित तकनीक को समझना क्रिप्टोकरेंसी के भीतर बुनियादी अवधारणाओं को समझने के लिए महत्वपूर्ण है क्योंकि वे बड़े और अधिक जटिल सिस्टम में विकसित होते रहते हैं।

स्रोत: https://blockonomi.com/merkle-tree/