लाइटनिंग नेटवर्क को समझना, भाग 1: एक द्विदिश Bitcoin भुगतान चैनल का निर्माण
लाइटनिंग नेटवर्क शायद बिटकॉइन के शीर्ष पर तैनात होने वाला सबसे अधिक प्रतीक्षित तकनीकी नवाचार है। भुगतान परत, पहले जोसेफ पून और टाडेज ड्रेजा द्वारा प्रस्तावित, लगभग एक साल पहले, लगभग किसी भी कीमत पर उपयोगकर्ताओं के बीच लगभग असीमित संख्या में ऑफ-चेन लेनदेन का समर्थन करने का वादा करता है – बिटकॉइन द्वारा दी गई सुरक्षा का लाभ उठाते हुए।.
कम से कम तीन कंपनियां – पून और ड्रेजा आकाशीय विद्युत, ब्लॉकस्ट्रीम तथा ब्लॉकचेन – वर्तमान में प्रौद्योगिकी के कार्यान्वयन पर काम कर रहे हैं। लेकिन इस छोटी तकनीकी सीमा के बाहर पूरी तरह से समझ में आता है कि बिटकॉइन की क्षमताओं को बढ़ावा देने के लिए “माइक्रोप्रायमेंट्स का भविष्य” कैसे निर्धारित है.
इस तीन-भाग श्रृंखला में, बिटकॉइन मैगज़ीन ने लाइटनिंग नेटवर्क के बुनियादी बिल्डिंग ब्लॉक्स को दिया और दिखाया कि वे इस आगामी प्रोटोकॉल लेयर को महसूस करने के लिए एक साथ कैसे फिट होते हैं.
श्रृंखला का यह पहला भाग आवश्यक बिल्डिंग ब्लॉक्स स्थापित करता है, और दिखाता है कि “स्मार्ट कॉन्ट्रैक्ट्स” बनाने के लिए इन्हें कैसे जोड़ा जा सकता है, जिसे लाइटनिंग नेटवर्क की पहली आवश्यकता का एहसास करने के लिए लागू किया जा सकता है: एक द्विदिश भुगतान चैनल.
(नोट: बिटकॉइन की ठोस समझ रखने वाला कोई भी व्यक्ति बिल्डिंग ब्लॉक्स को छोड़ सकता है।)
बिल्डिंग ब्लॉक # 1: अपुष्ट लेनदेन
इसके अंत में, बिटकॉइन प्रोटोकॉल में लेनदेन होते हैं, जो आम तौर पर पिछले लेनदेन से जुड़े होते हैं, और संभावित रूप से भविष्य के लेनदेन से जुड़े होते हैं। प्रत्येक लेन-देन में इनपुट होते हैं, जो बिटकॉइन के पते से संदर्भित होते हैं, और आउटपुट, जो बिटकॉइन के पते को संदर्भित करते हैं, को भेजे जाते हैं। इसके अतिरिक्त, इनपुट में बिटकॉइन भेजने की आवश्यकताएं शामिल होनी चाहिए, जैसे हस्ताक्षर जो इनपुट-पतों के “स्वामित्व” को साबित करते हैं। आउटपुट, इस बीच, नई आवश्यकताओं को स्थापित करते हैं, जिन्हें बाद के लेनदेन के इनपुट में शामिल किया जाना चाहिए.
इसकी एक प्रमुख विशेषता के रूप में, लाइटनिंग नेटवर्क को कम या ज्यादा नियमित बिटकॉइन लेनदेन से बनाया गया है। यह सिर्फ इतना है कि ये लेनदेन आम तौर पर बिटकॉइन नेटवर्क पर प्रसारित नहीं होते हैं। इसके बजाय, उन्हें उपयोगकर्ताओं के नोड्स पर स्थानीय रूप से संग्रहीत किया जाता है – लेकिन उन्हें किसी भी समय नेटवर्क पर प्रसारित किया जा सकता है.
बिल्डिंग ब्लॉक # 2: डबल-स्पेंड प्रोटेक्शन
लाइटनिंग नेटवर्क के लिए दूसरा बिल्डिंग ब्लॉक शायद बहुत अधिक व्याख्या करने की आवश्यकता नहीं है, क्योंकि यह यकीनन बिटकॉइन के लिए स्वयं का अधिकार है: डबल-प्रोटेक्शन संरक्षण। यदि दो लेनदेन (या: इनपुट) एक ही आउटपुट पर निर्भर करते हैं, तो केवल एक ही पुष्टि कर सकता है.
यहां ध्यान रखने वाली महत्वपूर्ण बात यह है कि अपुष्ट लेनदेन भी परस्पर विरोधी हो सकते हैं, जिसका अर्थ केवल एक ही पुष्टि कर सकता है.
बिल्डिंग ब्लॉक # 3: मल्टीसिग
लाइटनिंग नेटवर्क का तीसरा बिल्डिंग ब्लॉक भी एक सीधा है: मल्टीसिग्नेचर (मल्टीसिग) पते। (या आम तौर पर: P2SH- पते।)
मल्टीसिग पते बिटकॉइन पते हैं – जैसा कि नाम से पता चलता है – से “अनलॉक” करने और बिटकॉइन खर्च करने के लिए कई निजी कुंजी की आवश्यकता होती है। मल्टीसिग पते सभी प्रकार की परिस्थितियों में स्थापित किए जा सकते हैं। उदाहरण के लिए तीन संभावित कुंजी में से दो की आवश्यकता होती है, या पंद्रह में से पंद्रह या किसी अन्य संयोजन के बारे में.
लाइटनिंग नेटवर्क अक्सर दो में से दो (2-ऑफ -2) मल्टीसिग सेट-अप का उपयोग करता है। 2-में से मल्टीकोस्ट एड्रेस से बिटकॉइन को अनलॉक करने के लिए दो समर्पित कुंजी से दो हस्ताक्षर की आवश्यकता होती है.
बिल्डिंग ब्लॉक # 4: टाइम-लॉक्स
चौथा बिल्डिंग ब्लॉक टाइम-लॉक है। समय-ताले एक आउटपुट में “बिटकॉइन को लॉक” कर सकते हैं, उन्हें भविष्य में केवल कुछ बिंदु पर खर्च करने योग्य (बाद के इनपुट में शामिल करने के लिए) बनाते हैं।.
टाइम-लॉक्स दो अलग-अलग प्रकार के होते हैं: निरपेक्ष प्रकार, जिसे चेकलॉकटाइम वेरिफाइड (सीएलटीवी) कहा जाता है, और सापेक्ष प्रकार, चेकस्सेंसवेरिअर (सीएसवी)। CLTV भविष्य में (अधिक या कम) ठोस समय तक बिटकॉइन लॉक करता है: एक वास्तविक समय और तारीख, या एक विशिष्ट ब्लॉक ऊंचाई। इसके बजाय, CSV, सापेक्ष समय का उपयोग करता है। एक बार जब सीवीएस-आउटपुट ब्लॉकचेन पर रिकॉर्ड हो जाता है, तो बिटकॉइन फिर से खर्च किए जाने से पहले उस बिंदु से एक विशिष्ट मात्रा में ब्लॉक लेता है।.
बिल्डिंग ब्लॉक # 5: हैश वैल्यूज़ एंड सीक्रेट्स
पांचवां और अंतिम बिल्डिंग ब्लॉक – क्रिप्टोग्राफी – बिटकॉइन का सबसे मौलिक बिल्डिंग ब्लॉक है। लेकिन लाइटनिंग नेटवर्क में, यह एक नए तरीके से लागू होता है.
संक्षेप में, एक “मान” या “गुप्त” संख्याओं की एक लंबी और अनोखी स्ट्रिंग है जिसका अनुमान लगाना असंभव है, यहां तक कि अनंत प्रयासों वाले कंप्यूटर के लिए भी। एक विशेष गणना के साथ, यह मान (या गुप्त) संख्याओं के एक अलग स्ट्रिंग में “हैशेड” हो सकता है, एक “हैश।” और यहाँ चाल है: जो कोई भी मूल्य जानता है वह आसानी से हैश पुन: पेश कर सकता है। लेकिन यह दूसरे तरीके से काम नहीं करता है; यह एक रास्ता है.
इस तरकीब का उपयोग बिटकॉइन में ही किया जा सकता है। (वास्तव में, यह वास्तव में बिटकॉइन कैसे काम करता है।) उदाहरण के लिए, एक हैश को आउटपुट में शामिल किया जा सकता है, और बाद के इनपुट को संगत मूल्य में शामिल करने के लिए इनपुट की आवश्यकता होती है.
पहली चुनौती: द्विदिश भुगतान चैनल
लाइटनिंग नेटवर्क पेश किए जाने से पहले भी भुगतान चैनलों की अवधारणा कुछ समय के लिए थी। विशिष्ट भुगतान चैनल कुछ उद्देश्यों के लिए उपयोगी हैं, लेकिन यह भी सीमित है: वे एक-दिशात्मक हैं। ऐलिस बॉब को कई ऑफ-चेन लेनदेन का भुगतान कर सकता है, लेकिन बॉब ऐलिस को एक ही चैनल के माध्यम से बिल्कुल भी भुगतान नहीं कर सकता है.
लाइटनिंग नेटवर्क की एक प्रमुख विशेषता के रूप में, पून और ड्रेजा ने भरोसेमंद द्विदिश भुगतान चैनलों का प्रस्ताव किया.
चैनल खोलना
एक द्विदिश भुगतान चैनल स्थापित करने के लिए, शामिल दोनों पक्षों को पहले एक शुरुआती लेनदेन पर सहमत होना चाहिए। यह शुरुआती लेनदेन यह निर्धारित करता है कि चैनल में प्रत्येक बिटकॉइन कितने जमा करता है.
बता दें कि एलिस एक बिटकॉइन बॉब को भेजना चाहती है। चूंकि ऐलिस और बॉब अधिक बार लेनदेन करने की उम्मीद करते हैं, इसलिए वे एक द्विदिश भुगतान चैनल खोलने का निर्णय लेते हैं, और बिटकॉइन भेजने के लिए इसका उपयोग करते हैं। (पूरे बिटकॉइन को भेजना शायद भुगतान चैनल के लिए बहुत है, क्योंकि ये माइक्रोएमेंट के लिए अधिक उपयोगी हो सकते हैं – लेकिन यह पूरी तरह से संभव है।)
चैनल खोलने के लिए, ऐलिस और बॉब प्रत्येक को दो बिटकॉइन पते पर पांच बिटकॉइन भेजते हैं। यह “शुरुआती लेनदेन” है। बिटकॉइन केवल इस पते से खर्च किए जा सकते हैं यदि ऐलिस और बॉब दोनों एक बाद के लेनदेन पर हस्ताक्षर करते हैं.
इसके अतिरिक्त, ऐलिस और बॉब दोनों एक रहस्य (संख्याओं का एक समूह) बनाते हैं, और हैश का आदान-प्रदान करते हैं.
ऐलिस अब शुरुआती लेनदेन से तुरंत बाद में लेन-देन करता है। यह एक “प्रतिबद्धता लेनदेन” है। प्रतिबद्धता लेन-देन के साथ, ऐलिस खुद को चार बिटकॉइन भेजता है, और छह बिटकॉइन को दूसरे मल्टीसिग पते पर भेजता है। यह दूसरा मल्टीसिग पता थोड़ा फंकी है। इसे बॉब द्वारा अपने आप अनलॉक किया जा सकता है, लेकिन ब्लॉकचेन पर शामिल होने के बाद केवल 1000 अतिरिक्त ब्लॉक का खनन किया गया है; इसमें CSV- लॉक शामिल है। या, इसे ऐलिस द्वारा अपने दम पर खोला जा सकता है, लेकिन केवल अगर वह उस रहस्य को भी शामिल करता है जिसके लिए बॉब ने अभी उसे हैश दिया है। (बेशक, एलिस को इस बात का कोई पता नहीं है कि यह रहस्य क्या है – वह केवल हैश को जानती है – इसलिए इस विकल्प का उपयोग करने का कोई तरीका नहीं है।)
ऐलिस इस प्रतिबद्धता लेनदेन के उसके अंत पर हस्ताक्षर करती है। लेकिन उसने इसे प्रसारित नहीं किया! इसके बजाय, वह बॉब को देता है.
इस बीच, बॉब एक ही करता है, लेकिन प्रतिबिंबित। वह एक प्रतिबद्धता लेनदेन भी बनाता है, जिसमें से वह खुद को छह बिटकॉइन भेजता है, और चार एक मजेदार नए मल्टीसिग-एड्रेस के लिए। यदि वह अतिरिक्त 1000 ब्लॉक का इंतजार करती है, तो ऐलिस इस पते को अनलॉक कर सकता है, या बॉब उसे अपने रहस्य का उपयोग करके ऐलिस के साथ अनलॉक कर सकता है.
बॉब इस आधे पर हस्ताक्षर करता है, और इसे ऐलिस को देता है.
सभी “आधे-वैध” प्रतिबद्धता लेनदेन और रहस्यों की राख के आदान-प्रदान के बाद, वे दोनों ब्लॉकचेन पर दर्ज किए गए रिकॉर्ड को सुनिश्चित करने के लिए, शुरुआती लेनदेन पर हस्ताक्षर करते हैं और प्रसारित करते हैं। चैनल अब आधिकारिक रूप से खुला है.
इस बिंदु पर, एलिस और बॉब दोनों ही दूसरे से मिले आधे-वैध प्रतिबद्धता लेनदेन पर हस्ताक्षर और प्रसारण कर सकते थे। अगर ऐलिस करता है, तो बॉब को तुरंत छह बिटकॉइन मिलते हैं। यदि बॉब करता है, तो एलिस को तुरंत चार बिटकॉइन मिलते हैं। लेकिन किसके संकेत और प्रसारण से लेनदेन को बाद के मल्टीसिग-एड्रेस को अनलॉक करने के लिए 1000 ब्लॉक का इंतजार करना होगा, और शेष वर्डप्रेस पर दावा करना होगा.
हालाँकि, और यह एक भुगतान चैनल की प्रमुख चाल है: न तो अपने लेन-देन के आधे हिस्से पर हस्ताक्षर और प्रसारण करें.
चैनल को अपडेट करना
थोड़ी देर बाद, बॉब ऐलिस को एक बिटकॉइन वापस भेजना चाहता है। वे संतुलन को फिर से पांच-पांच करने के लिए, चैनल की स्थिति को अपडेट करना चाहते हैं। इसे पूरा करने के लिए, ऐलिस और बॉब दो काम करते हैं.
सबसे पहले, दोनों प्रक्रिया को ऊपर वर्णित के रूप में दोहराते हैं (सिवाय इसके कि उद्घाटन लेनदेन पहले से ही ब्लॉकचेन पर दर्ज किया गया है; वह हिस्सा छोड़ दिया गया है)। इस बार, ऐलिस और बॉब दोनों ने खुद को पांच बिटकॉइन का श्रेय दिया है, और दोनों ने पांच बिटकॉइन को फंकी मल्टीसिग-एड्रेस की विशेषता दी है। इन मल्टीसिग-पतों के लिए स्थितियां समान हैं, सिवाय इसके कि उन्हें नए रहस्यों की आवश्यकता होती है: ऐलिस और बॉब दोनों एक-दूसरे को हनीवेज़ प्रदान करते हैं। वे दोनों अपने नए आधे वैध प्रतिबद्धता लेनदेन पर हस्ताक्षर करते हैं, और इसे एक दूसरे को देते हैं.
दूसरा, ऐलिस और बॉब एक दूसरे को अपने पहले रहस्यों को सौंपते हैं, जैसा कि पहले सेट-अप में किया गया था.
इस बिंदु पर, फिर से, ऐलिस और बॉब दोनों ही मिले नए “आधे वैध” प्रतिबद्धता लेनदेन पर हस्ताक्षर और प्रसारण कर सकते थे। उनके समकक्षों को तुरंत पांच बिटकॉइन मिलेंगे, जबकि प्रसारक को 1000 ब्लॉक का इंतजार करना होगा। जैसे, चैनल अपडेट है.
लेकिन इसके बजाय पुराने प्रतिबद्धता लेनदेन को प्रसारित करने से बॉब को क्या रोकना है? उस प्रतिबद्धता लेन-देन के कारण एक रास्ता निकला जिसने उसे पाँच के बजाय छह बिटकॉइन का भुगतान किया ….
बेशक, बॉब को रोकना उसका पहला रहस्य है, जो उसने अब ऐलिस को दे दिया है.
बॉब पुराने प्रतिबद्धता लेनदेन को सुरक्षित रूप से हस्ताक्षर और प्रसारित नहीं कर सकता है, क्योंकि ऐलिस अब बॉब के पहले रहस्य को जानता है। अगर बॉब उस प्रतिबद्धता लेनदेन को साइन और प्रसारित करते, तो वह तुरंत एलिस को चार बिटकॉइन भेजते … और उसे अपने छह बिटकॉइन का दावा करने के लिए 1000 ब्लॉक का इंतजार करना पड़ता। यह एक समस्या है, क्योंकि अब जब ऐलिस को अपने रहस्य का पता चल गया है, तो वह इस समय का उपयोग बॉब को पंच को हराकर कर सकता है, और अन्य छह पासवर्डों का दावा कर सकता है!
और चूंकि बॉब के पास ऐलिस का रहस्य भी है, इसलिए यह दूसरे तरीके के लिए भी उतना ही सच है। यदि ऐलिस एक पुराने प्रतिबद्धता लेनदेन पर हस्ताक्षर करने और प्रसारित करने की कोशिश करता है, तो बॉब चैनल के सभी बिटकॉइन चुरा सकता है.
इस पाठ्यक्रम का अर्थ है कि ऐलिस और बॉब दोनों को निष्पक्ष रूप से खेलने के लिए दृढ़ता से प्रोत्साहित किया जाता है, और केवल चैनल के सबसे हाल के राज्य पर हस्ताक्षर और प्रसारण करते हैं.
इसके बाद, नेटवर्क पर भुगतान की अनुमति देने के लिए इस द्विदिश भुगतान चैनल सेट-अप का विस्तार करना होगा। यह इस श्रृंखला के दूसरे लेख में शामिल है.
अतिरिक्त प्रतिक्रिया के लिए रस्टी रसेल और जोसेफ पून को धन्यवाद.