बिटकॉइन वाचा: op_vault (BIP 345)


यह चौथा लेख है शृंखला अलग-अलग वाचा के प्रस्तावों में गहरी गोताखोरी जो एक गहन टूटने के लिए परिपक्वता के एक बिंदु पर पहुंच गई है।

Op_vaultबीआईपी 345 में जेम्स ओ’बीरने द्वारा आगे रखा गया (ग्रेग सैंडर्स के साथ बाद में एक सह-लेखक के रूप में जोड़ा गया), वॉल्ट को लागू करने के लिए डिज़ाइन की गई वाचा है। यह अतिरिक्त रूप से निर्भर करता है केबल टीवी (या txhash या अन्य समान opcodes) एक तिजोरी के निर्माण को पूरा करने के लिए।

प्रस्ताव कैसे काम करता है, यह देखने से पहले, आइए देखें कि एक तिजोरी क्या हासिल करने की कोशिश कर रही है।

वॉल्ट का उद्देश्य आपके बिटकॉइन स्टोरेज की सुरक्षा में सुधार करना है। यह तिजोरी से खर्च करने के किसी भी प्रयास के दौरान देरी की अवधि की शुरूआत द्वारा पूरा किया जाता है। वॉल्ट से सीधे अपने बिटकॉइन को भेजने में सक्षम होने के बजाय, तिजोरी उन्हें प्रतिबंधित कर देती है ताकि उन्हें केवल “मध्य मैदान” पते पर भेजा जा सके। जबकि तिजोरी से वापस ले लिया जा रहा सिक्के इस मध्य ग्राउंड स्टेट में हैं, वे किसी भी समय आपके नियंत्रण में एक गहरे कोल्ड स्टोरेज वॉलेट में खर्च किए जा सकते हैं (आदर्श रूप से भौगोलिक रूप से वितरित वॉल्ट मल्टीसिग), और केवल उस गहरी ठंड भंडारण के लिए। एक पूर्व-परिभाषित टाइमलॉक के बाद सिक्के को अंतिम इच्छित गंतव्य के लिए आगे की ओर खर्च किया जा सकता है।

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

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

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

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

पूर्व-हस्ताक्षरित लेनदेन वाल्ट एक बोझिल और जटिल निर्माण हैं, और पर्याप्त जटिलता पेश करते हैं जो प्रत्येक उपयोग एक गैर-काल्पनिक जोखिम को एक तरह से गड़बड़ करने का एक तरह से पेश करता है जिससे खोए हुए धन का परिणाम होता है।

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

कैसे op_vault काम करता है

Op_vault को टैपरोट पर बनाया गया है, जिसका अर्थ है कि संपूर्ण डिज़ाइन टैपस्क्रिप्ट का उपयोग करता है और टैपट्रीज़ और स्क्रिप्ट खर्च करने वाले पथ के अस्तित्व पर निर्भर करता है। यह एक पूर्ण तिजोरी के निर्माण के लिए CTV (या TxHash/इसी तरह की कार्यक्षमता) के उपयोग पर भी निर्भर करता है।

प्रस्ताव वास्तव में दो opcodes, op_vault, और op_vault_recover है। Op_vault का उपयोग तिजोरी से निकासी को ट्रिगर करने के लिए किया जाता है, और op_vault_recover का उपयोग गहरी वसूली वॉलेट में ट्रिगर वापसी को स्वीप करने के लिए किया जाता है। यह विचार एक टैपट्री का निर्माण करने के लिए है जिसमें वापसी के लिए इसमें op_vault पथ हैं, और एक सुरक्षित कोल्ड वॉलेट के मध्य में किसी भी फंड को मध्य-मध्य-मध्य में स्वीप करने के लिए UP_VAULT_RECOVER पथ हैं। यह टैपट्री आपकी तिजोरी है।

Op_vault एक लेन -देन के आउटपुट को एक op_vault encumbered सिक्का खर्च करने के लिए प्रतिबंधित करके काम करता है। Opcode को गवाह में उम्मीद है:

  • एक टेपलीफ स्क्रिप्ट बॉडी
  • स्क्रिप्ट अपडेट के लिए डेटा टुकड़ों की संख्या
  • निकासी के लिए एक आउटपुट सूचकांक
  • वॉल्ट में वापस जाने वाले किसी भी फंड के लिए एक आउटपुट इंडेक्स
  • तिजोरी में वापस जाने के लिए सतोशी की एक राशि

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

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

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

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

क्या है op_vault के लिए अच्छा है

जाहिर है वॉल्ट्स। Op_vault ने पूर्व-हस्ताक्षरित लेनदेन या CTV आधारित वॉल्ट की सभी प्रमुख सीमाओं को साफ-सफाई से संबोधित किया। कोई प्रतिबंधात्मक पूर्व-कथित संप्रदाय या पूर्व-तय शुल्क नहीं, पुन: उपयोग करने में कोई खतरा नहीं है, और हर बार जब आप जमा करते हैं तो प्रमुख विलोपन जैसे उच्च सुरक्षा मुद्दे से निपटने के लिए कोई आवश्यकता नहीं है।

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

आप कुछ के बहुत करीब बना सकते हैं एक प्रकार का होना op_vault के साथ। एक वॉल्ट टेम्पलेट बनाएं जिसमें 3-6 महीने (ड्राइवचेन निकासी के समान) के आदेश पर एक अविश्वसनीय रूप से लंबा टाइमलॉक हो। किसी भी स्क्रिप्ट के लिए कोई प्राधिकरण गेट नहीं है और टेम्पलेट को सार्वजनिक करें। लोग अब बस उस वॉल्ट स्क्रिप्ट को पैसे भेजकर “ड्राइवचेन” में धन जमा कर सकते हैं। कोई भी केवल एक op_vault पथ से खर्च करके और उनके वापसी लेनदेन के CTV हैश सहित एक वापसी का प्रस्ताव कर सकता है। खनिक किसी भी अमान्य वापसी लेनदेन को खान करने से इनकार करके इसे लागू कर सकते हैं, और अगर एक दुर्भावनापूर्ण खनिक ने कभी भी एक दुर्भावनापूर्ण वापसी ट्रिगर का खनन किया, तो अगला ईमानदार खनिक केवल धन को फिर से शुरू कर सकता है।

यह वही है जो बीआईपी में अनुशंसित एक समान स्क्रिप्ट टेम्पलेट का उपयोग करके किया जा सकता है। निकासी के लिए सेट की गई स्क्रिप्ट टेम्पलेट मनमाना है, और जैसा कि संभावित रूप से बहुत सामान्य है कि किस प्रकार के स्व -अनुबंधों को op_vault सक्षम कर सकता है।

समापन विचार

Op_vault स्पष्ट रूप से उचित वाल्टों को सक्षम करने के लक्ष्य को पूरा करता है जो प्रतिबंधों, जटिलताओं और जोखिम के साथ नहीं आते हैं जो पूर्व-हस्ताक्षरित लेनदेन वाल्ट (या यहां तक ​​कि सीटीवी जैसी किसी चीज़ के साथ सरल वाचा वाल्टों) के साथ आते हैं। हालांकि, ऐसा करने में यह उस मूल लक्ष्य को पूरा करने के लिए कार्यात्मकताओं के एक व्यापक और सामान्यीकृत सेट को पेश करता है।

प्रस्ताव निश्चित रूप से अपेक्षाकृत चिकनी और सुरक्षित तिजोरी कार्यक्षमता को सक्षम करेगा, लेकिन यह कई अन्य दरवाजों को भी खोलता है। Drivechains कुछ ऐसा है जो एक के साथ आता है जोखिम की बड़ी डिग्री माइनर एक्सट्रैक्टिबल वैल्यू (MEV) के आसपास केंद्रित है। इस तरह की कार्यक्षमता को सक्षम करने के डाउनसाइड्स, और प्रोत्साहन के मुद्दों और परिणामों के लिए, एक अच्छी तरह से निर्मित तिजोरी को सक्षम करने के लिए उल्टा होने के खिलाफ तौला जाना चाहिए।

Op_vault एक अपेक्षाकृत परिपक्व प्रस्ताव है, लेकिन कार्यक्षमता की डिग्री जो इसे सक्षम करती है, उसे हल्के ढंग से संपर्क नहीं किया जाना चाहिए।



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *

Translate »