मर्कल ट्री
मर्कल ट्री क्या है?
मर्कल ट्री एक डेटा संरचना है जिसका उपयोग कंप्यूटर विज्ञान अनुप्रयोगों में किया जाता है। बिटकॉइन और अन्य क्रिप्टोकरेंसी में, मर्कल पेड़ ब्लॉकचेन डेटा को अधिक कुशलतापूर्वक और सुरक्षित रूप से एनकोड करने का काम करते हैं।
उन्हें “बाइनरी हैश ट्री” के रूप में भी जाना जाता है।
मर्कल ट्री को तोड़ना
में Bitcoin के blockchain, लेन-देन का एक ब्लॉक एक उत्पन्न करने के लिए एक एल्गोरिथ्म के माध्यम से चलाया जाता है हैश, जो संख्या और अक्षरों सत्यापित करें कि डेटा की एक दिए गए समूह लेनदेन के मूल सेट के रूप में ही है इस्तेमाल किया जा सकता की एक स्ट्रिंग है, लेकिन लेन-देन का मूल सेट प्राप्त करने के लिए नहीं। बिटकॉइन का सॉफ़्टवेयर लेन-देन के डेटा के पूरे ब्लॉक को नहीं चलाता है – एक समय में हैश फ़ंक्शन के माध्यम से – औसतन लेनदेन के 10 मिनट के मूल्य का प्रतिनिधित्व करता है। बल्कि प्रत्येक लेनदेन को हैशड किया जाता है, फिर प्रत्येक जोड़े के लेन-देन को एक साथ समाहित किया जाता है, और इसी तरह जब तक कि पूरे ब्लॉक के लिए एक हैश न हो। (यदि लेन-देन की विषम संख्या है, तो एक लेन-देन दोगुना हो जाता है और इसका हैश स्वयं के साथ समाप्त हो जाता है।)
कल्पना, यह संरचना एक पेड़ जैसा दिखता है। नीचे दिए गए चित्र में, “T” एक लेन-देन नामित करता है, “H” एक हैश। ध्यान दें कि छवि अत्यधिक सरलीकृत है; एक औसत ब्लॉक में 500 से अधिक लेनदेन होते हैं, आठ नहीं।
निचली पंक्ति के हैश को “पत्तियों” के रूप में संदर्भित किया जाता है, मध्यवर्ती हैश को “शाखाओं” के रूप में और शीर्ष पर हैश को “जड़” के रूप में संदर्भित किया जाता है। किसी दिए गए ब्लॉक की मर्कल रूट को हेडर में संग्रहित किया जाता है: उदाहरण के लिए, ब्लॉक # 482819 का मर्कल रूट e045b18e7a3d708d686717b4f44db2099aabbad9bebf968de5f7271b458f71c8 है। रूट को अन्य जानकारी (सॉफ्टवेयर संस्करण, पिछले ब्लॉक के हैश, टाइमस्टैम्प, कठिनाई लक्ष्य, और नॉन) के साथ जोड़ा जाता है और फिर ब्लॉक के अद्वितीय हैश का उत्पादन करने के लिए एक हैश फ़ंक्शन के माध्यम से चलता है: 000000000000000000bbfc7bf28cbddbbdbafd9aabcc3c3c3c2c332&hl=hi । यह हैश वास्तव में संबंधित ब्लॉक में शामिल नहीं है, लेकिन अगले एक; यह मर्कल जड़ से अलग है।
मर्कल ट्री उपयोगी है क्योंकि यह उपयोगकर्ताओं को पूरे ब्लॉकचेन (अगस्त 2017 के अंत में 130 गीगाबाइट से अधिक) को डाउनलोड किए बिना एक विशिष्ट लेनदेन को सत्यापित करने की अनुमति देता है। उदाहरण के लिए, मान लें कि आप है कि लेनदेन टी सत्यापित करने के लिए करना चाहता था डी ऊपर चित्र में ब्लॉक में शामिल है। यदि आपके पास रूट हैश (H ABCDEFGH ) है, तो प्रक्रिया सुडोकू के खेल की तरह है: आप H D के बारे में नेटवर्क को क्वेरी करते हैं, और यह H C, H AB, और H EFGH को लौटाता है । एच दिया: मर्कल पेड़ जांच सकते कि सब कुछ तीन हैश के साथ के लिए जिम्मेदार है की अनुमति देता है एबी, एच सी, एच EFGH, और जड़ एच ABCDEFGH, एच डी (केवल लापता हैश) डेटा में मौजूद होना चाहिए।
मर्कले के पेड़ों का नाम राल्फ़ मर्कले के नाम पर रखा गया है, जिन्होंने उन्हें 1987 के पेपर में ” ए डिजिटल सिग्नेचर बेस्ड ऑन कन्वेंशनल एनक्रिप्शन फंक्शन ” शीर्षक से प्रपोज किया था।