BITCOIN

बिटकॉइन साइलेंट पेमेंट्स और सीक्रेट ब्लाइंडिंग कीज

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

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

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

BIP47

Justus Ranvier द्वारा BIP47 दर्ज करें। इस प्रस्ताव का उद्देश्य किसी व्यक्ति के लिए पर्याप्त जानकारी सार्वजनिक रूप से पोस्ट करने में सक्षम होने के लिए सक्षम होना है, जो किसी से भी धन प्राप्त करने में सक्षम हो, बिना उस सार्वजनिक जानकारी के (1) यह ट्रैक करने के लिए कि पोस्ट करने वाले व्यक्ति ने कितना पैसा लगाया है इसे प्राप्त हुआ है और (2) जनता को किसी भी जानकारी का खुलासा करना है कि किसने अनुरोध करने वाले व्यक्ति को धन भेजा है। मूल विचार उस सार्वजनिक रूप से पोस्ट की गई जानकारी (या भुगतान कोड) ले रहा है और वहां से, अपने स्वयं के भुगतान कोड को जोड़कर एक नया सेट पतों का निर्माण कर सकता है जिसके लिए रिसीवर निजी कुंजी का निर्माण कर सकता है। पतों का यह नया सेट एकल प्रेषक और रिसीवर के बीच संबंध के लिए विशिष्ट है, हर बार जब कोई नया प्रेषक इस प्रोटोकॉल का उपयोग किसी रिसीवर को पैसे भेजने के लिए करता है, तो यह उन दोनों के लिए अद्वितीय पतों का एक नया सेट उत्पन्न करेगा।

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

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

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

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

मौन भुगतान

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

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

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

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

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

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

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

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

Back to top button
%d bloggers like this: