tl;dr
- L2s को उसी प्रकार का सेंसरशिप प्रतिरोध प्राप्त होना चाहिए जिस प्रकार L1s को वे आधारित हैं
- बीओबी पर, उपयोगकर्ता पहले से ही एथेरियम लेनदेन के माध्यम से अपनी संपत्ति को बीओबी से एथेरियम में जबरन वापस ले सकते हैं
- अपने बिटवीएम ब्रिज के लिए, बीओबी बिटकॉइन को एकीकृत करने पर काम कर रहा है ताकि उपयोगकर्ता बीओबी पर लेनदेन लागू कर सकें।
- बिटकॉइन उपयोगकर्ता BOB को लेनदेन भेजे बिना ही BOB से अपना BTC निकाल सकेंगे
L2s की एक प्रमुख विशेषता यह है कि सीक्वेंसर के ऑफ़लाइन होने पर भी उनकी स्थिति में बदलाव की आवश्यकता होती है। L2s डेटा उपलब्धता (DA) परत से अपनी स्थिति को पढ़कर और लिखकर ऐसा करते हैं, जिसे L2 के ऑनलाइन होने पर भी स्वतंत्र रूप से अपडेट किया जा सकता है। इस तरह, उपयोगकर्ता अपने लेन-देन को तब भी शामिल कर सकते हैं जब सीक्वेंसर ऑफ़लाइन हो, या सीक्वेंसर उनके लेन-देन को सीधे स्वीकार न करे।
BOB के BitVM ब्रिज के लिए, यह एक दिलचस्प समस्या है। BOB वर्तमान में अपनी DA लेयर के रूप में Ethereum EIP-4844 ब्लॉब्स का उपयोग करता है। Ethereum पर उपयोगकर्ता BitVM ब्रिज के माध्यम से आसानी से बिटकॉइन में निकासी शुरू कर सकते हैं। हालाँकि, इसके लिए उपयोगकर्ताओं के पास Ethereum पर ETH होना आवश्यक है।
यह हमारे लिए पर्याप्त नहीं है: बिटकॉइन उपयोगकर्ताओं को अपने BTC को BOB से बिटकॉइन में वापस लाने के लिए केवल बिटकॉइन पर BTC की आवश्यकता होगी। हम एक हाइब्रिड समाधान पर काम कर रहे हैं: डिफ़ॉल्ट रूप से Ethereum को DA के रूप में उपयोग करना, जबकि उपयोगकर्ताओं को बिटकॉइन पर एक विशेष लेनदेन के माध्यम से BOB पर लेनदेन को जबरन शामिल करने की अनुमति देना। हमें इस ब्लॉग पोस्ट में अपने प्रगति पर काम साझा करने में खुशी हो रही है।
DA और व्युत्पत्ति पर पृष्ठभूमि
L2s के लिए व्युत्पत्ति की प्रक्रिया काफी महत्वपूर्ण है: BOB की संपूर्ण L2 अवस्था को L1 और DA परत से निर्मित करने की आवश्यकता होती है। यह L2s को DA परत, हमारे मामले में, Ethereum, के समान सेंसरशिप प्रतिरोध का आनंद लेने की अनुमति देता है।
सरल शब्दों में, रोलअप (विशेष रूप से ओपी स्टैक चेन) में, हमारे पास L1 पर दो प्रकार के डेटा होते हैं:
- "ऑप्टिमिज़्मपोर्टल" अनुबंध में किए गए जमा लेनदेन । ये वे लेनदेन हैं जो एथेरियम पर उपयोगकर्ताओं द्वारा आमतौर पर अपनी संपत्ति BOB में जमा करने के लिए किए जाते हैं। इन जमा लेनदेन का उपयोग BOB पर अन्य लेनदेन करने के लिए भी किया जा सकता है।
- L2 लेनदेन से सीक्वेंसर (या अधिक सटीक रूप से कहें तो ऑप-बैचर) द्वारा सबमिट किए गए बैच । इनमें BOB पर उपयोगकर्ताओं द्वारा सीधे किए गए सभी लेनदेन शामिल होते हैं और अंततः एथेरियम ब्लॉब्स में वापस शामिल कर लिए जाते हैं।
DA परत के रूप में बिटकॉइन
अगर हम बिटकॉइन को DA लेयर के रूप में इस्तेमाल करना चाहते हैं, तो क्यों न बिटकॉइन को पूरी तरह से DA लेयर के रूप में इस्तेमाल करना शुरू कर दिया जाए? इसका जवाब ज़्यादातर कीमत है। बिटकॉइन में बहुत कम स्टोरेज उपलब्ध है (लगभग हर 10 मिनट में लगभग 4MB), और इसलिए स्टोरेज की लागत ज़्यादा है।
हालाँकि, हमारे मामले में, BOB अभी भी एथेरियम को अपनी "मुख्य" DA परत के रूप में इस्तेमाल कर सकता है जहाँ वह अपना संपूर्ण लेन-देन डेटा पोस्ट करता है, लेकिन अगर एथेरियम DA उपलब्ध न हो, तो बिटकॉइन को एक अत्यधिक सेंसरशिप-प्रतिरोधी फ़ॉलबैक परत के रूप में जोड़ सकता है। अनिवार्य रूप से, एथेरियम एक आशावादी DA परत बन जाता है जबकि बिटकॉइन एक महंगा लेकिन दोष-सहिष्णु अंतिम उपाय बन जाता है।
हाइब्रिड व्युत्पत्ति पाइपलाइन
मूल समाधान यह है कि बिटकॉइन को व्युत्पन्न पाइपलाइन के एक भाग के रूप में BOB में जोड़ा जाए, ताकि BOB (और विशेष रूप से "ऑप-नोड") इस क्रम में इनपुट को संसाधित करे:
- बिटकॉइन जबरन निकासी लेनदेन (विशेष रूप से BOB के लिए नया जोड़ा गया)
- बीओबी के ऑप्टिमिज़्मपोर्टल अनुबंध में एथेरियम जमा (ओपी स्टैक मानक)
- ऑप-बैचर से एथेरियम बैच (ओपी स्टैक मानक)
आइए बिटकॉइन-बलपूर्वक निकासी लेनदेन को BOB व्युत्पन्न पाइपलाइन में एनकोड करने के संभावित समाधान पर एक नज़र डालें। ध्यान दें कि इस पर अभी भी शोध चल रहा है, इसलिए इसमें बदलाव संभव हैं।
बिटकॉइन जबरन निकासी लेनदेन
जबरन निकासी लेनदेन बनाने के लिए हमें तीन भागों की आवश्यकता होगी:
- बिटकॉइन पर जबरन निकासी लेनदेन का निर्माण करें।
- बिटकॉइन पर जबरन निकासी लेनदेन को बिटकॉइन की आकार सीमा के भीतर संग्रहीत करें।
- बिटकॉइन पर जबरन निकासी लेनदेन के लिए गैस लागत को संभालें।
1. जबरन निकासी लेनदेन का निर्माण करें
ओपी स्टैक जमा लेनदेन की संरचना निम्नलिखित है:
- bytes32 sourceHash: स्रोत-हैश, विशिष्ट रूप से जमा की उत्पत्ति की पहचान करता है।
- पता: प्रेषक खाते का पता.
- पता: प्राप्तकर्ता खाते का पता, या शून्य (शून्य-लंबाई) पता यदि जमा किया गया लेनदेन एक अनुबंध निर्माण है।
- uint256 mint: L2 पर ढालने के लिए ETH मान.
- uint256 मान: प्राप्तकर्ता खाते को भेजा जाने वाला ETH मान.
- uint64 गैस: L2 लेनदेन के लिए गैस सीमा.
- bool isSystemTx: यदि सत्य है, तो लेनदेन L2 ब्लॉक गैस पूल के साथ इंटरैक्ट नहीं करता है।
- बाइट्स डेटा: कॉलडेटा.
जबरन निकासी लेनदेन के लिए, जमा लेनदेन के डेटा फ़ील्ड में एन्कोडेड निकासी लेनदेन को शामिल करना आवश्यक है। यह BOB पर लेनदेन बनाकर किया जाता है जो BOB से बिटकॉइन में निकासी को ट्रिगर करता है और ठीक उसी तरह काम करेगा जैसे एथेरियम से लेनदेन भेजे जाने पर होता है।
इसके बाद हम जबरन निकासी लेनदेन का एक (संपीड़ित) संस्करण बिटकॉइन पर संग्रहीत कर सकते हैं जिसमें उपरोक्त सभी डेटा शामिल होंगे।
2. जबरन निकासी लेनदेन को बिटकॉइन पर संग्रहीत करें
चूंकि जबरन निकासी लेनदेन के लिए डेटा, OP_RETURN आउटपुट में संग्रहीत किए जाने वाले डेटा से बड़ा होता है, इसलिए हम डेटा को संग्रहीत करने के लिए संभवतः टैपरूट आउटपुट का उपयोग करेंगे।
हालांकि एथेरियम पर जमा लेनदेन (जिसमें निकासी भी शामिल हो सकती है) को पहचानना आसान है, क्योंकि इसे BOB के ऑप्टिमिज्मपोर्टल अनुबंध पर भेजा जाता है, लेकिन बिटकॉइन पर जबरन निकासी लेनदेन को पहचानना उतना आसान नहीं है।
डेटा क्रमांकन : जबरन निकासी लेनदेन को "लिफ़ाफ़ा" संरचना में टैपरूट स्क्रिप्ट का उपयोग करके क्रमांकित किया जाता है। ये बिटकॉइन नेटवर्क पर नूप्स हैं और उदाहरण के लिए, ऑर्डिनल्स के लिए भी उपयोग किए जाते हैं। हम अपनी आवश्यकताओं के अनुसार संरचना को समायोजित करते हैं।
अनसेट
OP_गलत OP_IF
OP_PUSH "बॉब"
ओपी_1
OP_PUSH "लेनदेन"
ओपी_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
दो-चरणीय प्रतिबद्धता/प्रकटीकरण योजना :
ऑर्डिनल्स की तरह, उपयोगकर्ताओं को बिटकॉइन में दो लेनदेन प्रस्तुत करने होंगे:
- प्रतिबद्ध लेनदेन: एक टैपरूट आउटपुट बनाता है जो स्क्रिप्ट के लिए प्रतिबद्ध होता है जिसमें शिलालेख सामग्री शामिल होती है। यह लेनदेन अभी तक डेटा प्रकट नहीं करता है और निकासी लेनदेन को शामिल करने के लिए हमें BOB के पूर्ण नोड्स और अनुक्रमकों के लिए दूसरे लेनदेन की आवश्यकता होगी।
- लेनदेन प्रकट करें: प्रतिबद्ध लेनदेन से आउटपुट खर्च करता है, श्रृंखला पर शिलालेख प्रकट करता है, अर्थात, BOB में शामिल करने के लिए उपयोगकर्ता के निकासी लेनदेन को प्रकट करता है।
3. जबरन निकासी लेनदेन के लिए गैस लागत का प्रबंधन करें
यह अब तक की सबसे खुली समस्या है, जिसके दो विकल्प वर्तमान में विचाराधीन हैं:
- बिटकॉइन पर जबरन निकासी लेनदेन के लिए गैस को 0 पर सेट करें और BOB पर उपयोगकर्ता के ETH बैलेंस से गैस की लागत घटाएँ। इस तरह, केवल वे उपयोगकर्ता ही जबरन निकासी कर सकते हैं जिनके पास BOB पर ETH है। हालाँकि, यह एक अच्छा विकल्प नहीं है क्योंकि जबरन निकासी के लिए उपयोगकर्ताओं के पास BOB पर ETH होना आवश्यक होगा, अर्थात, जिन उपयोगकर्ताओं के पास बिटकॉइन पर BTC है, वे जबरन निकासी नहीं कर सकते।
- गैस का भुगतान उपयोगकर्ता बिटकॉइन पर BTC में करते हैं। BOB नेटवर्क के पास बिटकॉइन पर एक ऐसा पता होना चाहिए जो BTC प्राप्त कर सके और उपयोगकर्ता द्वारा प्राप्त BTC को BOB पर ETH में प्रभावी रूप से एक्सचेंज कर सके ताकि गैस लागत के L1 भाग और निष्पादन लागत का भुगतान किया जा सके। यह विकल्प संभवतः BOB गेटवे का उपयोग करके और BOB DAO के EVM पते को BTC प्राप्तकर्ता के रूप में सेट करके प्राप्त किया जा सकता है।
हम और भी विचारों पर प्रयोग कर रहे हैं, इसलिए अधिक अपडेट के लिए हमारे साथ बने रहें!
सब कुछ एक साथ रखना
कोई भी व्यक्ति बिटकॉइन और एथेरियम पर डेटा की जांच करके BOB की स्थिति निर्धारित कर सकता है:
- बिटकॉइन से सभी निकासी लेनदेन पढ़ें। इन्हें प्रत्येक निकासी के लिए दो लेनदेन के रूप में एन्कोड किया जाता है, यानी एक कमिट और एक रिवील लेनदेन। यह वह अतिरिक्त सुविधा है जो हम ओपी स्टैक में जोड़ रहे हैं और जहाँ हम व्युत्पत्ति पाइपलाइन को बढ़ा रहे हैं।
- एथेरियम पर BOB के ऑप्टिमिज़्मपोर्टल कॉन्ट्रैक्ट में किए गए सभी लेनदेन पढ़ें। यह पहले से ही मानक OP स्टैक व्युत्पत्ति पाइपलाइन का हिस्सा है।
- BOB पर सीधे किए गए और Ethereum पर बैचों के हिस्से के रूप में एकीकृत सभी लेनदेन पढ़ें। महत्वपूर्ण बात यह है कि पूर्ण नोड्स पुष्टिकृत लेनदेन प्राप्त करने के लिए सीधे सीक्वेंसर से नहीं पढ़ते हैं, बल्कि वे Ethereum ब्लॉब्स से पढ़ते हैं। यह पहले से ही मानक OP स्टैक व्युत्पत्ति पाइपलाइन का हिस्सा है।

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