टैपरोट इज़ कमिंग: व्हाट इट इज़, एंड हाउ विल बेनिफिट बिटकॉइन
बिटकॉइन उपयोगकर्ता, लंबे समय से पहले, “टपरोट” नामक एक चाल से लाभ उठा सकते हैं। प्रथम प्रस्तावित बिटकॉइन कोर योगदानकर्ता और पूर्व ब्लॉकस्ट्रीम सीटीओ ग्रेगरी मैक्सवेल द्वारा, टैप्रोट ऐसा करने में अधिक गोपनीयता की पेशकश करते हुए, बिटकॉइन के स्मार्ट अनुबंध लचीलेपन पर विस्तार करेगा। यहां तक कि सबसे जटिल स्मार्ट अनुबंध, ब्लॉकचेन पर, आमतौर पर नियमित लेनदेन से अप्रभेद्य होंगे.
जबकि एक बड़ा उपक्रम, यह सिर्फ सिद्धांत नहीं है। सबसे प्रचलित बिटकॉइन कोर योगदानकर्ताओं में से कई – जिसमें पीटर वुइल, एंथनी टाउन, जॉनसन लाउ, जोनास निक, एंड्रयू पॉलेस्ट्रा, टिम रफिंग, रस्टी रसेल और, वास्तव में, ग्रेगरी मैक्सवेल शामिल हैं – एक स्नाइक हस्ताक्षर प्रस्ताव पर काम कर रहे हैं जिसमें टपरोट, सभी शामिल होंगे। एक प्रोटोकॉल में उन्नयन.
टपरोट यहां क्या है और यह कैसे काम करता है.
P2SH
सभी बिटकॉइन अनिवार्य रूप से लिपियों में “बंद” होते हैं: ब्लॉकचेन में शामिल लेनदेन में कोड की एक दो पंक्तियां, जो परिभाषित करती हैं कि अगले लेनदेन में सिक्कों को कैसे खर्च किया जा सकता है। खर्च की शर्तों में आमतौर पर सिक्कों के स्वामित्व को साबित करने के लिए एक हस्ताक्षर प्रदान करना शामिल है। लेकिन अन्य, उदाहरण के लिए प्रसिद्ध स्थितियों में टिमिलॉक्स शामिल हैं (सिक्के केवल एक विशिष्ट ब्लॉक ऊंचाई या तारीख के बाद खर्च किए जा सकते हैं) या मल्टीसिग (सिक्के केवल तभी खर्च किए जा सकते हैं जब निजी कुंजी के एक सेट से बाहर कुछ निजी कुंजी हस्ताक्षर प्रदान करें).
विभिन्न प्रकार के स्मार्ट कॉन्ट्रैक्ट बनाने के लिए विभिन्न परिस्थितियों को मिश्रित और मिलान किया जा सकता है। इस तरह के अनुबंध का एक उदाहरण यह हो सकता है कि अगर ऐलिस और बॉब दोनों हस्ताक्षर करते हैं तो सिक्के खर्च किए जा सकते हैं, या यदि एक सप्ताह बीत जाने के बाद एलिस अकेले संकेत देती है, या अगर बॉब अकेले एक गुप्त संख्या प्रदान करते समय हस्ताक्षर करता है। इन तीन शर्तों में से जो भी पहले मिलता है, वह यह है कि सिक्के कैसे खर्च किए जाते हैं.
2012 के बाद से, स्क्रिप्ट्स (स्थितियां) अक्सर सार्वजनिक रूप से पहली बार दिखाई नहीं देती हैं; केवल सिक्कों के नए मालिक को पता है कि उन्हें कैसे खर्च किया जा सकता है। यह P2SH (स्क्रिप्ट हैश का भुगतान) नामक एक चाल के साथ किया जाता है, जहां शुरू में स्क्रिप्ट का केवल एक हैश ब्लॉकचेन में शामिल होता है। यह प्रतीत होता है बेतरतीब ढंग से तराशी गई संख्या में सिक्के हैं। जब मालिक सिक्कों को खर्च करता है, तो वह पूरी स्क्रिप्ट का खुलासा करता है साथ ही साथ एक ही समय में स्क्रिप्ट के लिए “समाधान”। फिर कोई भी प्रारंभिक हैश का उपयोग यह जांचने के लिए कर सकता है कि आपूर्ति की गई स्क्रिप्ट वास्तव में सिक्कों को लॉक करने वाली मूल स्क्रिप्ट थी और तुरंत निष्कर्ष निकाल सकती है कि स्क्रिप्ट की आवश्यकताएं पूरी हुई थीं.
फिर भी, जब सिक्के खर्च किए जाते हैं, तो वर्तमान में सभी संभावित परिस्थितियों को प्रकट करना आवश्यक है, जो मिल सकते थे – उन शर्तों को भी शामिल किया गया है जो पूरी नहीं हुई हैं। इसके दो मुख्य चढ़ाव हैं। एक, यह डेटा का भारी है, खासकर अगर कई शर्तें हैं। और दो, यह गोपनीयता के लिए बुरा है। हर कोई सभी अलग-अलग तरीकों से सीखता है जिसमें धन खर्च किया जा सकता था, जो उदाहरण के लिए, यह बता सकता है कि किस तरह के बटुए का उपयोग किया गया था और शायद अधिक.
मस्तूल
MAST (Merkelized Abstract Syntax Tree) एक प्रस्तावित समाधान है जो इन दो डाउनसाइड के आसपास काम करने के लिए मर्कल ट्री (क्रिप्टोग्राफर राल्फ मर्कल द्वारा आविष्कृत एक दशक पुरानी, कॉम्पैक्ट डेटा संरचना) का उपयोग करता है। संक्षेप में, सभी अलग-अलग स्थितियां जिनके तहत धन खर्च किया जा सकता है व्यक्तिगत रूप से हैशेड (एक एकल हैश में संयुक्त के विपरीत) और एक मर्कल ट्री में शामिल है, जो अंततः एक हैश का उत्पादन करता है: मर्कल रूट। यह मर्कले जड़ “सिक्के को बंद” करता है.
अनूठा लाभ यह है कि अगर कोई मर्कल ट्री में डेटा का पता चला है, मर्कल रूट और कुछ अतिरिक्त डेटा (जिसे मर्कल पथ कहा जाता है) का उपयोग यह सत्यापित करने के लिए किया जा सकता है कि उस विशिष्ट डेटा को मर्कल ट्री में शामिल किया गया था। बाकी मेर्कल पेड़ हैशेड और छिपा हुआ है.
MAST के साथ, इसका मतलब है कि केवल वह शर्त जो पूरी होती है, उसे प्रकट किया जाना चाहिए। यदि, ऊपर दिए गए प्रारंभिक उदाहरण में, ऐलिस अकेले एक सप्ताह के बाद धन खर्च करती है, तो वह केवल उस स्थिति (और मर्कले पथ) को प्रकट करती है। कोई भी यह नहीं जानता है कि पैसा ऐलिस और बॉब द्वारा या एक साथ बॉब द्वारा अकेले खर्च किया जा सकता था, यदि उसने एक गुप्त नंबर जोड़ा। यह जटिल P2SH स्मार्ट कॉन्ट्रैक्ट्स की तुलना में MAST को अधिक डेटा कुशल बनाता है और बूट में गोपनीयता जोड़ता है.
फिर भी स्नेचोर के साथ, टैप्रोट और भी बेहतर कर सकता है: एक लेनदेन यह छिपा सकता है कि एक मैस्ट-संरचना बिल्कुल मौजूद थी.
शुक्राणु
स्चेनर हस्ताक्षर योजना लंबे समय से कई बिटकॉइन डेवलपर्स की इच्छा सूची पर है और वर्तमान में सॉफ्ट कांटा प्रोटोकॉल अपग्रेड के रूप में तैनात किए जाने के लिए विकास में है। कई क्रिप्टोग्राफ़र Schnorr हस्ताक्षर योजना को क्षेत्र में सबसे अच्छा मानते हैं, क्योंकि इसके गणितीय गुण सही स्तर का एक मजबूत स्तर प्रदान करते हैं, यह मैलाबिलिटी से ग्रस्त नहीं है और यह सत्यापित करने के लिए अपेक्षाकृत तेज़ है.
बिटकॉइन के संदर्भ में अपने सबसे प्रसिद्ध लाभ के रूप में, शिनोर के “रैखिक गणित” हस्ताक्षर एकत्रीकरण की अनुमति देता है: एक ही लेनदेन में कई हस्ताक्षर एक में जोड़े जा सकते हैं। एक समान चाल को मल्टीसिग लेनदेन के लिए लागू किया जा सकता है। सार्वजनिक कुंजी और हस्ताक्षर दोनों को “दहलीज सार्वजनिक कुंजी” और “दहलीज पर हस्ताक्षर” में मिलाते हुए, एक मल्टीगैस लेनदेन को किसी भी नियमित लेनदेन से अप्रभेद्य बनाया जा सकता है।.
और हस्ताक्षर योजना का उपयोग और भी दिलचस्प तरीकों से किया जा सकता है। उदाहरण के लिए, निजी कुंजी और सार्वजनिक कुंजी दोनों के लिए “ट्वीक” डेटा का उपयोग करना संभव है। एक सरलीकृत उदाहरण के रूप में, एक निजी कुंजी और इसके संबंधित सार्वजनिक कुंजी को दोनों को दो से गुणा करके देखा जा सकता है। “निजी कुंजी x 2” और “सार्वजनिक कुंजी x 2” अभी भी मेल खाते हैं, और “निजी कुंजी x 2” अभी भी उन संदेशों पर हस्ताक्षर कर सकता है जिन्हें “सार्वजनिक कुंजी x 2” के साथ सत्यापित किया जा सकता है। कोई भी इस बात से अनजान है कि मूल कुंजी जोड़ी को बदल दिया गया था, यहां तक कि कोई अंतर नहीं देखा गया था; tweaked चाबियाँ किसी भी अन्य कुंजी जोड़ी की तरह दिखती हैं.
यह वही है जो टैपरोट को सक्षम करता है.
मुख्य जड़
टैप्रोट एक दिलचस्प अहसास पर आधारित है: चाहे कितना भी जटिल हो, लगभग कोई भी मैस्ट-कंस्ट्रक्शन (या चाहिए) में एक शर्त शामिल होती है जो सभी प्रतिभागियों को परिणाम पर सहमत होने की अनुमति देती है और बस एक साथ निपटान लेनदेन पर हस्ताक्षर करती है। पहले के उदाहरण में, यदि बॉब को पता है कि ऐलिस खुद से, अगले हफ्ते सभी फंडों का दावा कर सकता है, तो वह साथ में हस्ताक्षर करने के लिए अब उसके साथ सहयोग कर सकता है। (कई विशिष्ट स्मार्ट कॉन्ट्रैक्ट सेटअपों में यदि उन्हें दंडित नहीं किया जाता है तो भी उन्हें दंडित नहीं किया जा सकता है। जटिलता वास्तव में केवल ईमानदार रखने के लिए कार्य करती है।)
टैपरोट मैस्ट और जैसा दिखता है हमेशा इसमें एक शर्त शामिल है जहां सभी प्रतिभागी धन खर्च करने के लिए सहयोग कर सकते हैं: “सहकारी करीब।”
Schnorr हस्ताक्षर का उपयोग करके, यह वह जगह है जहाँ यह दिलचस्प हो जाता है.
सबसे पहले, सहकारी व्यक्ति एक व्यक्ति से दूसरे व्यक्ति को एक नियमित लेनदेन की तरह दिखने के लिए श्चोर की दहलीज चाल का उपयोग करेगा। इसलिए, सभी प्रतिभागियों की सार्वजनिक कुंजी को एक साथ जोड़ा जाता है, जिसके परिणामस्वरूप “दहलीज सार्वजनिक कुंजी” है। इस थ्रेशोल्ड सार्वजनिक कुंजी के साथ, सभी प्रतिभागियों के हस्ताक्षरों के संयोजन – उनके “दहलीज हस्ताक्षर” – उन्हें धन खर्च करने की अनुमति देता है.
अब तक बहुत अच्छा है, लेकिन धन खर्च करना जैसे कि यह एक सामान्य लेन-देन था, केवल एक चीज है जो वे कर सकते हैं – कोई भी मैस्ट जैसी संरचना अभी तक नहीं। यही वह जगह है जहाँ दूसरी Schnorr trick आती है.
सभी वैकल्पिक तरीके जिनमें धन खर्च किया जा सकता है – गैर-सहकारी परिणाम – इस बार एक अलग स्क्रिप्ट में संयुक्त हैं। यह स्क्रिप्ट, तब हैशेड है और इसका उपयोग किया जाता है ट्वीक दहलीज सार्वजनिक कुंजी। “सार्वजनिक कुंजी x 2” के बजाय, जैसा कि पहले उदाहरण में उपयोग किया गया है, इसका परिणाम “दहलीज सार्वजनिक कुंजी x स्क्रिप्ट” है। (हम अभी भी सरलीकृत कर रहे हैं।) यह “थ्रेशोल्ड सार्वजनिक कुंजी स्क्रिप्ट”, निश्चित रूप से, “थ्रेसहोल्ड हस्ताक्षर स्क्रिप्ट” से मेल खाती है।
अब, यदि पैसा सहकारी रूप से खर्च किया जाता है, तो सभी प्रतिभागी अपने हस्ताक्षर “दहलीज हस्ताक्षर” में जोड़ते हैं और इसे स्क्रिप्ट के साथ जोड़ते हैं। परिणामस्वरूप “दहलीज हस्ताक्षर x स्क्रिप्ट” उन्हें धन खर्च करने की अनुमति देता है। फिर भी, और महत्वपूर्ण बात, बाहरी दुनिया के लिए, यह सब अभी भी एक नियमित सार्वजनिक कुंजी और एक नियमित हस्ताक्षर की तरह दिखेगा – एक नियमित लेनदेन.
केवल अगर एक सहकारी निकट असंभव साबित होता है, तो थ्रेशोल्ड सार्वजनिक कुंजी को दिखाया जा सकता है कि यह वास्तव में क्या है: ट्विक किया गया.
इस मामले में, दोनों मूल दहलीज सार्वजनिक कुंजी और स्क्रिप्ट से पता चलता है। यह साबित करता है कि “थ्रेसहोल्ड पब्लिक की एक्स स्क्रिप्ट” को इस विशिष्ट स्क्रिप्ट के साथ बदल दिया गया था। तो, P2SH में हैश की तरह, ट्वीक दुनिया को साबित करता है कि यदि इस लिपि में निर्दिष्ट वैकल्पिक शर्तें हैं, तो फंड खर्च योग्य होना चाहिए। (और, P2SH की तरह, ये स्थितियां निश्चित रूप से धन खर्च करने के लिए तुरंत मिली हैं।)
वैकल्पिक रूप से, थ्रेशोल्ड सार्वजनिक कुंजी को स्क्रिप्ट के साथ ट्विक करने के बजाय, थ्रेसहोल्ड सार्वजनिक कुंजी को मर्कल ट्री के मर्कल रूट के साथ ट्विस्ट किया जा सकता है जिसमें सभी अलग-अलग स्थितियां शामिल होती हैं, जिसके तहत निधियों को खर्च किया जा सकता है: एक मैस्ट संरचना। धनराशि खर्च करने के लिए, केवल उस खर्च की शर्त को पूरा किया जाना चाहिए, जिसे प्रकट किया जाना चाहिए.
जैसे, टैप्रोट मेस्ट के सभी लाभ प्रदान करता है, जबकि सामान्य परिस्थितियों में कोई भी कभी नहीं जान पाएगा कि एक नियमित लेनदेन इस तरह के एक जटिल स्मार्ट अनुबंध को कमबैक के रूप में छिपा रहा था।.
यह टैपरोट अवधारणा की एक सामान्य रूपरेखा है; कार्यान्वयन विनिर्देश भिन्न हो सकते हैं। अधिक जानकारी के लिए, पढ़ें मूल टपरोट प्रस्ताव ग्रेगरी मैक्सवेल या घड़ी द्वारा यह प्रस्तुति पीटर वूइल द्वारा.