बिटकॉइन भुगतान को समन्वित करने के लिए DNS का उपयोग करना

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

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

इस अपेक्षा के साथ ऑन-चेन भुगतान में समस्या आती है, ऐसा स्थिर पहचानकर्ता (एकल पता) की असमर्थता के कारण नहीं, बल्कि एकल ऑन-चेन पता पोस्ट करने और आपके साथ बातचीत करने वाले सभी लोगों द्वारा इसका उपयोग करने की गोपनीयता निहितार्थ के कारण होता है। तुम्हें भुगतान करने के लिए. यह आपके संपूर्ण भुगतान इतिहास और सिक्के के स्वामित्व को सभी के सार्वजनिक दृश्य में रखता है। यदि आपको कभी-कभार ही पैसे मिल रहे हैं, यानी जब काम के लिए भुगतान किया जा रहा हो या लोगों के साथ बार टैब का निपटान कर रहे हों, तो बस अपना बटुआ खोलना और प्राप्त करने के लिए एक नया पता तैयार करना बिल्कुल भी बोझ नहीं है। हालाँकि, यदि आपको बार-बार धन प्राप्त हो रहा है, विशेष रूप से ऐसे मामलों में जहां आप सीधे भुगतान की मांग नहीं करते हैं, तो यह एक गंभीर बोझ प्रस्तुत करता है।

यही कारण है कि BTCPay सर्वर जैसे उपकरण बनाए गए थे, ताकि लोगों के लिए प्रवेश में बाधा को कम किया जा सके ताकि धन प्राप्त करने को स्वचालित करने के लिए आवश्यक बुनियादी ढांचे को तैयार किया जा सके, बिना कुछ सरल कार्य किए, जैसे कि प्रत्येक व्यक्ति को पुन: उपयोग के लिए भुगतान करने के लिए एक ही पता पोस्ट करना। हालाँकि, इसके लिए एक ऐसे सर्वर को चलाने की आवश्यकता होती है जो लगातार ऑनलाइन उपलब्ध हो। हालाँकि परियोजना ने आवश्यक समझ के स्तर को काफी कम कर दिया है, फिर भी यह उस उपयोगकर्ता के लिए एक बड़ा बोझ है जो केवल निष्क्रिय रूप से धन प्राप्त करने में सक्षम होना चाहता है।

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

इन सभी समाधानों में कमियां हैं। सॉफ़्टवेयर का एक अतिरिक्त टुकड़ा (एक HTTP सर्वर) चलाने की आवश्यकता जो आपके बिटकॉइन वॉलेट या लाइटनिंग नोड के अलावा हर समय ऑनलाइन रहता है; BTCPay/LNURL सर्वर से अनुरोध करने से प्रेषक का आईपी पता प्राप्तकर्ता को लीक हो जाता है; टीएलएस प्रमाणपत्र प्राधिकारियों पर भरोसा करना।

बस डीएनएस का प्रयोग करें

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

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

इससे भुगतान डेटा प्राप्त करने के साधन के रूप में DNS का वास्तविक लाभ मिलता है: HTTP सर्वर चलाने की आवश्यकता को अलविदा कहें। एक TXT रिकॉर्ड एक ऑन-चेन बिटकॉइन पते को एनकोड कर सकता है (हालाँकि BIP विशेष रूप से ऐसा न करने की अनुशंसा करता है यदि आप पते के पुन: उपयोग को रोकने के लिए नियमित रूप से नए पते को घुमाने में सक्षम नहीं हैं), लेकिन इससे भी महत्वपूर्ण बात यह है कि इसमें BOLT 12 लाइटनिंग ऑफर भी शामिल हो सकता है।

ये रिकॉर्ड किसी भी DNS सर्वर, आपके अपने स्थानीय सर्वर, आपके ISP, यहां तक ​​कि Google या Cloudflare जैसे सार्वजनिक सर्वर से भी प्राप्त किए जा सकते हैं। इस मूल बिंदु से, HTTP आधारित समाधानों की एक कमी हल हो गई है; अब आप उस व्यक्ति को अपना आईपी पता लीक नहीं कर रहे हैं जिसे आप भुगतान करने का प्रयास कर रहे हैं। अब, वीपीएन या टोर के बिना अपने आईएसपी के डीएनएस या Google या क्लाउडफ्लेयर जैसे सार्वजनिक सर्वर का उपयोग करने के मामले में आप उन्हें अपना आईपी पता बता रहे हैं; बीआईपी स्पष्ट रूप से इस कारण से वीपीएन या टोर पर डीएनएस रिज़ॉल्यूशन के लिए समर्थन को प्रोत्साहित करता है।

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

किसी ऑफ़र को DNS TXT रिकॉर्ड में संग्रहीत करके, भुगतान करने के लिए उपयोगकर्ता को बस किसी के डोमेन को अपने वॉलेट में टाइप करना होगा ताकि वह TXT रिकॉर्ड प्राप्त कर सके, BOLT 12 ऑफ़र प्राप्त कर सके और फिर भुगतान कर सके। उन्हें किसी भी सर्वर को होस्ट करने या अपने लाइटनिंग नोड के अलावा किसी भी सॉफ्टवेयर को चलाने की आवश्यकता नहीं है, डीएनएस सिस्टम उनके लिए सब कुछ संभालता है, जहां तक ​​​​उनके बोल्ट 12 ऑफर को होस्ट करने की बात है, जो उपयोगकर्ता उन्हें भुगतान करना चाहते हैं, उन्हें ढूंढ सकते हैं।

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

स्रोत: https://bitcoinmagazine.com/technical/using-dns-to-coorderinate-bitcoin- payment