स्पेसचेन: यह नया बिटकॉइन साइडचेन प्रस्ताव कैसे काम करता है

स्रोत नोड: 1544330

स्पेसचेन एक प्रस्तावित बिटकॉइन साइडचेन है जो ब्लाइंड मर्ज माइन डिज़ाइन का उपयोग करते हुए एक तरफ़ा पेग तंत्र प्रदान करता है।

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

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

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

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

अंतरिक्ष श्रृंखला प्रस्ताव

मर्ज माइनिंग के लिए खनिकों को दोनों बिटकॉइन श्रृंखला के नोड्स को चलाने की आवश्यकता होती है और जो भी अन्य श्रृंखला वे खनन कर रहे हैं, दोनों श्रृंखलाओं के लिए ब्लॉकों को संकलित करने के लिए और बिटकॉइन ब्लॉक हेडर में उनके लिए प्रतिबद्ध हैं जो वे खनन कर रहे हैं। ब्लाइंड मर्ज माइनिंग इस तथ्य का लाभ उठाता है कि वास्तव में, बिटकॉइन खनिकों को वास्तव में अपने बिटकॉइन ब्लॉक में प्रतिबद्ध होने के लिए अन्य श्रृंखला के ब्लॉक हेडर की आवश्यकता होती है, कोई अन्य व्यक्ति वास्तव में अन्य श्रृंखला के लिए ब्लॉक को एक साथ रखने की परेशानी उठा सकता है।

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

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

इसका उपयोग करके निपटा जा सकता है SIGHASH_SINGLE (एक इनपुट से हस्ताक्षर केवल उस एकल इनपुट और संबंधित आउटपुट को दर्शाता है) और SIGHASH_कोई भी भुगतान कर सकता है (लोग स्वतंत्र रूप से हस्ताक्षर को अमान्य किए बिना अतिरिक्त इनपुट और आउटपुट जोड़ने में सक्षम हैं, जब तक कि SIGHASH_SINGLE का उपयोग करके इनपुट / आउटपुट को छोड़ दिया जाता है, उस हस्ताक्षर को अमान्य नहीं करने के लिए)। फिर कोई भी लेन-देन के लिए माइनर शुल्क का भुगतान करने के लिए एक इनपुट जोड़ सकता है और आउटपुट बदल सकता है।

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

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

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

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

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

इस समस्या को हल करने के लिए, एक CHECKSEQUENCEVERIFY (CSV) रिलेटिव टाइम लॉक को मार्कर UTXO स्क्रिप्ट में डाला जा सकता है ताकि यह गारंटी दी जा सके कि मार्कर UTXO का उपयोग करके केवल एक ही लेन-देन की पुष्टि एक दिए गए मुख्य चेन ब्लॉक के अंदर की जा सकती है।

कुल मिलाकर यह इस तरह दिखता है: 

स्रोत

यह भी ध्यान देने योग्य है कि इस डिज़ाइन के दो वेरिएंट को CHECKTEMPLATEVERIFY (CTV) के साथ या बिना किसी बदलाव के लागू किया जा सकता है। इन दो डिज़ाइन वेरिएंट में बस सब-ऑप्टिमल ट्रेडऑफ़ हैं।

CTV संस्करण उस कार्यक्षमता का उपयोग UTXO लॉकिंग स्क्रिप्ट के अंदर हस्ताक्षर सहित हैक के साथ APO के बजाय CTV का उपयोग करके लेनदेन की श्रृंखला के लिए प्रतिबद्ध करने के लिए करेगा। CTV, CTV UTXO खर्च करने वाले लेन-देन के सभी आउटपुट के लिए प्रतिबद्ध है, लेकिन यह स्वयं के अलावा किसी भी इनपुट के लिए प्रतिबद्ध नहीं है।

इसका मतलब है कि आप सीटीवी लेनदेन में इनपुट जोड़ सकते हैं, लेकिन आउटपुट नहीं। तो आप एपीओ डिज़ाइन की तरह ही अपना शुल्क ला सकते हैं, लेकिन आप साइडचेन ब्लॉक हेडर के लिए प्रतिबद्धता नहीं जोड़ सकते।

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

स्रोत

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

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

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

स्रोत

इस अंतिम संस्करण का एक नकारात्मक पहलू यह है कि यदि जो कोई भी साइडचेन ब्लॉक प्रतिबद्धताओं के लिए उपयोग करने के लिए सभी लेन-देन पर पूर्व-हस्ताक्षर करता है, वह ऐसा करने के लिए उपयोग की जाने वाली निजी कुंजी को नहीं हटाता है, तो वे किसी भी समय वर्तमान मार्कर UTXO को दोगुना खर्च करके श्रृंखला को प्रभावी ढंग से रोक सकते हैं। समय।

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

2014 के मूल डिज़ाइन के बाद से बिटकॉइन के लिए प्रकाशित किए गए प्रमुख साइडचेन डिज़ाइन प्रस्तावों से संबंधित श्रृंखला में यह लेख केवल पहला है। बाकी का ध्यान रखें।

यह शिनोबी की अतिथि पोस्ट है। व्यक्त की गई राय पूरी तरह से उनकी अपनी हैं और जरूरी नहीं कि वे बीटीसी इंक या बिटकॉइन पत्रिका को प्रतिबिंबित करें।

समय टिकट:

से अधिक बिटकॉइन पत्रिका