लाइटनिंग नेटवर्क को समझना, भाग 2: नेटवर्क बनाना
लाइटनिंग नेटवर्क शायद बिटकॉइन के शीर्ष पर तैनात होने वाला सबसे अधिक प्रतीक्षित तकनीकी नवाचार है। भुगतान परत, पहले जोसेफ पून और टाडेज ड्रेजा द्वारा प्रस्तावित, लगभग एक साल पहले, लगभग किसी भी कीमत पर उपयोगकर्ताओं के बीच लगभग असीमित संख्या में ऑफ-चेन लेनदेन का समर्थन करने का वादा करता है – बिटकॉइन द्वारा दी गई सुरक्षा का लाभ उठाते हुए।.
कम से कम तीन कंपनियां – पून और ड्रेजा आकाशीय विद्युत, ब्लॉकस्ट्रीम तथा ब्लॉकचेन – वर्तमान में प्रौद्योगिकी के कार्यान्वयन पर काम कर रहे हैं। लेकिन इस छोटी तकनीकी सीमा के बाहर पूरी तरह से समझ में आता है कि बिटकॉइन की क्षमताओं को बढ़ावा देने के लिए “माइक्रोप्रायमेंट्स का भविष्य” कैसे निर्धारित है.
इस तीन-भाग श्रृंखला में, बिटकॉइन पत्रिका लाइटनिंग नेटवर्क के बुनियादी बिल्डिंग ब्लॉकों को बाहर निकालता है, और दिखाता है कि वे इस आगामी प्रोटोकॉल परत को महसूस करने के लिए एक साथ कैसे फिट होते हैं.
इस श्रृंखला के पहले भाग में बुनियादी भवन ब्लॉकों को शामिल किया गया था, और बताया गया था कि इनका उपयोग द्विदिश भुगतान चैनलों को स्थापित करने के लिए कैसे किया जाता है। यह दूसरा भाग बताता है कि कैसे द्विदिश भुगतान चैनलों को एक नेटवर्क में बदल दिया जाता है.
जाल
पिछले लेख में, ऐलिस और बॉब ने एक द्विदिश भुगतान चैनल की स्थापना की थी। अब, एलिस एक बिटकॉइन को तीसरे व्यक्ति, कैरल को भुगतान करना चाहती है.
ऐसा करने के लिए, ऐलिस और कैरोल उनके बीच एक भुगतान चैनल खोल सकते थे। लेकिन वे वास्तव में की जरूरत नहीं है। जैसा कि यह पता चला है, बॉब और कैरोल में पहले से ही एक पारस्परिक चैनल है, इसलिए एलिस बस बॉब के माध्यम से कैरोल का भुगतान कर सकते हैं.
विशेष रूप से, ऐलिस बॉब को एक बिटकॉइन का भुगतान कर सकता है, और बॉब कैरोल को एक बिटकॉइन का भुगतान कर सकता है.
हालांकि, ऐलिस वास्तव में उस मामले के लिए बॉब – या कैरोल पर भरोसा नहीं करता है। उसे डर है कि अगर वह बॉब को भुगतान करती है, तो बॉब वास्तव में कैरोल को कभी नहीं चुकाएगा। या शायद बॉब मर्जी कैरल का भुगतान करें, लेकिन कैरल दावा करेगी कि उसे कभी पैसा नहीं मिला, और ऐलिस को यह नहीं पता होगा कि किसे दोषी ठहराया जाए.
इसलिए, ऐलिस यह सुनिश्चित करना चाहती है कि वह केवल बॉब वन बिटकॉइन का भुगतान करे, अगर वह कैरोल को एक बिटकॉइन का भुगतान भी करता है। यह एक सरल क्रिप्टोग्राफ़िक ट्रिक के साथ (आंशिक रूप से) पूरा किया गया है.
जब ऐलिस कैरोल को एक बिटकॉइन भेजना चाहती है, तो वह कैरोल को एक मूल्य (संख्याओं का एक यादृच्छिक स्ट्रिंग) बनाने और उसे हैश भेजने के लिए कहती है। ऐलिस एक बिटकॉइन के लिए बॉब के साथ मूल मूल्य का आदान-प्रदान करने के लिए कैरोल को भी बताता है.
इस बीच, ऐलिस, कैरोल से हैश ले जाती है, बॉब की ओर मुड़ जाती है, और बॉब को बताती है कि यदि वह उसे संबंधित मूल्य प्रदान करता है (जो केवल कैरोल के पास है).
तो, बॉब कैरोल में बदल जाता है, और मूल्य के बदले में कैरोल को एक बिटकॉइन देता है.
फिर, बॉब वैल्यू के साथ एलिस की ओर वापस लौटता है। ऐलिस जानता है कि बॉब ने बिटकॉइन के बदले कैरल से मूल्य प्राप्त किया होगा, और इसलिए निष्कर्ष निकाला कि कैरोल को उसका बिटकॉइन मिला। इसलिए ऐलिस आत्मविश्वास से बॉब को एक बिटकॉइन दे सकता है.
प्रत्येक व्यक्ति खुश है.
कुंआ… लगभग प्रत्येक व्यक्ति खुश है.
इस “भोले” परिदृश्य में, बिचौलिया बॉब को अभी भी ऐलिस और कैरोल पर भरोसा करना है। बॉब को अपने बिटकॉइन भेजने के बाद कैरोल को वास्तव में उसे मूल्य देने के लिए भरोसा करना है, और बॉब को एलिस पर वास्तव में भरोसा करना है कि वह उसे एक मूल्य प्रदान करता है।.
इसलिए बिटकॉइन-फॉर-वैल्यू ट्रेडों को नेटवर्क के साथ पूरी तरह से गारंटी दी जानी चाहिए। अधिक विशेष रूप से: अगर बॉब कैरोल को एक बिटकॉइन देता है, वह जरूर ऐलिस से बिटकॉइन वापस पाने की गारंटी हो.
यहीं से हैश टाइम-लॉक्ड कॉन्ट्रैक्ट्स (HTLCs) आते हैं.
हैश टाइम-लॉक्ड कॉन्ट्रैक्ट्स
इसलिए ऐलिस और बॉब HTLC के माध्यम से मूल्य के लिए एक बिटकॉइन का आदान-प्रदान करना चाहते हैं। (और बॉब और कैरल भी उसी मूल्य के लिए एक बिटकॉइन एक्सचेंज करना चाहते हैं – लेकिन अभी के लिए कभी भी बुरा नहीं मानते।)
ऐसा करने के लिए, बॉब को बिटकॉइन को सीधे भेजने के बजाय, ऐलिस एक बिटकॉइन को एक नए (और, फिर से: कायरता) मल्टीसिग पते पर भेजता है। इस पते पर लॉक किए गए बिटकॉइन को दो अलग-अलग तरीकों से अनलॉक किया जा सकता है.
पहला विकल्प बॉब के लिए अपने हस्ताक्षर को शामिल करना है तथा मूल्य.
दूसरा विकल्प ऐलिस के लिए अपने स्वयं के हस्ताक्षर को शामिल करना है। हालाँकि, इस विकल्प पर एक CLTV-timelock है: ऐलिस लेनदेन के बाद ही हस्ताक्षर और प्रसारण कर सकते हैं – कहते हैं – दो सप्ताह बीत चुके हैं.
इसका मतलब यह है कि बॉब के पास बाद में होने वाले लेन-देन को बनाने के लिए दो सप्ताह का समय है, जिसमें वह अपने हस्ताक्षर और मूल्य शामिल करता है, और इसे बिटकॉइन को फंकी मल्टीसिग पते से खुद को भेजने के लिए प्रसारित करता है। जैसे, इस व्यापार की गारंटी है। बॉब कर सकते हैं केवल यदि वह मूल्य प्रदान करता है, तो ऐलिस के बिटकॉइन पर दावा करें: बिटकॉइन नेटवर्क पर इसे प्रसारित करने से यह ऐलिस को देखने के लिए सार्वजनिक रूप से दिखाई देता है.
और अगर बॉब समय पर मूल्य प्रदान नहीं करता है, तो ऐलिस के लिए उसके बिटकॉइन को वापस लेने के लिए “टाइम-आउट विकल्प” है। सरल.
नेटवर्क पर वापस जाएं, क्योंकि वास्तव में इस HTLC सेटअप की आवश्यकता क्यों है.
जैसा कि उल्लेख किया गया है, न केवल ऐलिस और बॉब, बल्कि बॉब और कैरोल ने एक HTLC की स्थापना की। इसलिए, अगर कैरोल ने बॉब, बॉब से उसके बिटकॉइन का दावा किया मर्जी बदले में मूल्य प्राप्त करें; यह ब्लॉकचेन पर दिखाई देगा.
इसलिये, अगर ऐसा होता है, बॉब को ऐलिस से बिटकॉइन प्राप्त करने की गारंटी दी जाती है। बॉब मूल्य ले सकता है कि कैरोल ने ब्लॉकचेन पर सार्वजनिक रूप से दिखाई दिया, इसे एलिस के साथ अपने एचटीएलसी में शामिल करें, और खुद के लिए भी बिटकॉइन का दावा करें। दोनों चैनल प्रभावी रूप से जुड़े हुए हैं.
अंतिम विवरण के रूप में, यह है महत्वपूर्ण है कि बॉब को कैरोल से मूल्य मिलता है इससे पहले ऐलिस बॉब से अपने बिटकॉइन को पुनः प्राप्त कर सकता है। यदि बॉब को कैरोल से ही मूल्य मिलता है उपरांत एलिस ने पहले ही उसे वापस बुला लिया, बॉब आखिरकार बीच में फंस गया। इसलिए बॉब और कैरोल के HTLC में टाइम-आउट की समय सीमा समाप्त होनी चाहिए इससे पहले ऐलिस और बॉब के HTLC में समय समाप्त हो रहा है। (उदाहरण के लिए, दस सप्ताह के बाद, दो सप्ताह के बजाय। यही कारण है कि HTLCs को CheckLockTimeVerify (CLTV) की आवश्यकता है- और CheckSequenceVerify (CSV) नहीं।)
अंत में, हल करने के लिए एक और समस्या है: लाइटनिंग नेटवर्क के उपयोगी होने के लिए, यह सब ऑफ-चेन पूरा किया जाना चाहिए। यह कैसे किया जाता है, इस श्रृंखला के तीसरे और अंतिम लेख में शामिल किया गया है.