135 / 736SP

Silent Payments

भुगतान संपर्क एक, आउटपुट हर बार अलग

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

Silent Payments से एक ही पहचानकर्ता को बार-बार इस्तेमाल करके बिटकॉइन प्राप्त किया जा सकता है, बिना हर भुगतान को उसी सार्वजनिक रूप से देखे जा सकने वाले पते पर भेजे। वॉलेट बिटकॉइन पाने और भेजने वाला ऐप या उपकरण है। भेजने वाले का वॉलेट भुगतान के लिए नया लक्ष्य निकालता है और प्राप्तकर्ता का वॉलेट बाद में उसे चेन पर पहचानता है। इसकी प्रक्रिया BIP352 में दी गई है। प्राप्तकर्ता को ऑनलाइन रहने या हर भुगतान से पहले नया पता देने की जरूरत नहीं होती।

बॉब वेबसाइट पर सामान्य Bitcoin पता रखे तो कोई भी एक्सप्लोरर में उस पर आए भुगतान देख सकता है। ब्लॉक एक्सप्लोरर किसी खास नेटवर्क के लेनदेन और ब्लॉक खोजने वाला ऐप है। हर व्यक्ति को नया पता देना बेहतर है, लेकिन उन्हें पहुँचाने की व्यवस्था चाहिए। Silent Payments यही समस्या हल करता है। बॉब स्थिर जानकारी देता है और ऐलिस उससे उस भुगतान का खास आउटपुट बनाती है, यानी रकम और उसे आगे खर्च करने की शर्त का रिकॉर्ड। सार्वजनिक संपर्क चेन पर बार-बार उसी प्राप्ति पते के रूप में नहीं दिखता। [1] [3] [9] [7]

Silent Payments पते में सार्वजनिक scan key और सार्वजनिक spend key होती हैं। निजी कुंजी एक गुप्त संख्यात्मक मान है; उससे जुड़ी सार्वजनिक कुंजी दूसरों के साथ साझा की जा सकती है। नाम उनकी भूमिका बताते हैं: scan key भुगतान खोजने से और spend key उन्हें खर्च करने से जुड़ी है। उनसे संबंधित निजी कुंजियाँ बॉब के पास रहती हैं। Bitcoin के मुख्य नेटवर्क mainnet पर वह sp1 से शुरू होता है और Bech32m इस्तेमाल करता है। यह bc1p से शुरू होने वाला सामान्य Taproot पता या वॉलेट बैकअप नहीं है। सार्वजनिक जोड़ी संगत भेजने वाले को भुगतान का लक्ष्य निकालने देती है, लेकिन खर्च करने का अधिकार या बॉब के प्राप्त भुगतानों की सूची नहीं देती। [1] [5] [9]

बॉब को भुगतान करने के लिए ऐलिस का वॉलेट पहले मिली रकम में से चुनता है। उन रकमों के संदर्भ नए लेनदेन के इनपुट बनते हैं। लक्ष्य की गणना में उन्हीं इनपुट की कुंजियाँ इस्तेमाल होती हैं जो BIP352 के नियमों पर खरे उतरते हैं; हर तरह का इनपुट उपयुक्त नहीं होता। ऐलिस उनकी निजी कुंजियों को बॉब की सार्वजनिक scan key के साथ ECDH के जरिए जोड़ती है। इस क्रिप्टोग्राफिक विधि से दोनों पक्ष निजी कुंजियाँ आपस में भेजे बिना स्वतंत्र रूप से एक ही गुप्त मान निकाल सकते हैं। वॉलेट उस मान और खास इनपुट से उसके जुड़ाव के आधार पर बॉब की सार्वजनिक spend key में बदलाव निकालता है। इससे नए आउटपुट की कुंजी बनती है। इनपुट से जुड़ाव के कारण किसी इनपुट की कुंजी दोबारा इस्तेमाल करने पर वही लक्ष्य दोहराया नहीं जाता। अगर ऐलिस RBF का इस्तेमाल करे, यानी अभी तक पुष्टि न हुए लेनदेन को बदले, जैसे फीस बढ़ाने के लिए, और इनपुट भी बदल दे, तो वॉलेट को लक्ष्य फिर से निकालना होगा। वह पुराना परिणाम ज्यों का त्यों नहीं ले सकता। [1] [4]

बॉब का वॉलेट योग्य लेनदेन स्कैन करके निजी scan key और इनपुट के सार्वजनिक डेटा से संभावित आउटपुट निकालता है। मेल मिलने पर वह उसे अपनी रकम में दर्ज करता है। चेन पर यह बिना खास सूचना संदेश का Taproot आउटपुट होता है। ऐलिस के भेजते समय बॉब का ऑनलाइन होना या पहले जवाब देना जरूरी नहीं, लेकिन बाद में वॉलेट को जरूरी डेटा संसाधित करना होगा। [1] [6]

Scan key भुगतान खोजती है; spend key, निकाले गए डेटा के साथ, खर्च करना संभव बनाती है। निजी spend key को ऑनलाइन स्कैनर से अलग रखा जा सकता है। केवल निजी scan key लीक होने से कोई पैसे खर्च नहीं कर सकता, लेकिन सार्वजनिक डेटा के साथ आने वाले भुगतान उजागर हो सकते हैं। इसलिए उसे दूसरे के स्कैनिंग सर्वर को देना निजता को प्रभावित करता है। उस सर्वर को seed या निजी spend key नहीं भेजनी चाहिए। [1]

Silent Payments को अलग सूचना लेनदेन नहीं चाहिए, लेकिन गणना और डेटा स्थानांतरण मुफ्त नहीं हैं। प्राप्तकर्ता योग्य लेनदेन जाँचता है और ऊपर बताई गई क्रिप्टोग्राफिक गणनाएँ करता है। फोन पर इंडेक्सिंग, डेटा का स्रोत और पिछले स्कैन से बीता समय मायने रखते हैं। सामान्य पतों की सूची अकेले काफी नहीं है। नोड ऐसा प्रोग्राम है जो लेनदेन और ब्लॉक की जाँच करता है और नेटवर्क के दूसरे सहभागियों से संपर्क रखता है। अपने नोड और बाहरी प्रदाता की जरूरतें तथा निजता व उपलब्धता पर प्रभाव अलग हैं। [1] [2] [8]

बॉब labels, यानी व्युत्पन्न भुगतान रूप, अलग परियोजनाओं के लिए इस्तेमाल कर सकता है। हर रूप के लिए पूरा स्वतंत्र स्कैन नहीं करना पड़ता। लेकिन सार्वजनिक रूप एक scan key साझा करते हैं, इसलिए देखने वाला उनके साझा मालिक को पहचान सकता है। लेबल बॉब को प्राप्ति वर्गीकृत करने में मदद करता है, अलग गुमनाम पहचान नहीं बनाता। बची रकम का खास लेबल बॉब के अपने भुगतान के बाद बचने वाले हिस्से को पहचानता है। अगर वह पहले मिली ऐसी रकम खर्च करे जो भुगतान और फीस के जोड़ से बड़ी है, तो बाकी रकम उसके अपने वॉलेट में लौटती है। यह दुकानदार से मिलने वाला रिफंड नहीं है। BIP352 इसके लिए m = 0 लेबल रखती है। रिकवरी के समय वॉलेट हमेशा इसे खोजता है और इसे दूसरों से भुगतान पाने के संपर्क के रूप में प्रकाशित नहीं करना चाहिए। [1] [4]

मान लीजिए बॉब का फोन खो गया, लेकिन बैकअप उसके पास है। seed वह गुप्त शुरुआती मान है जिससे वॉलेट कुंजियाँ निकालता है; आम तौर पर उपयोगकर्ता इसे Seed Phrase, यानी रिकवरी के शब्दों के तय क्रम के जरिए सुरक्षित रखते हैं। लेकिन केवल वे शब्द होने से कोई भी ऐप Silent Payments नहीं खोज सकता। उसे कुंजियाँ निकालने का वही तरीका और इन भुगतानों को खोजने की सुविधा चाहिए। इस्तेमाल हुए labels और वॉलेट के पहली बार इस्तेमाल की तारीख का बैकअप रिकवरी आसान बनाता है। मौजूदा रकम खोजने के लिए बची UTXO वाले लेनदेन के जरूरी डेटा को स्कैन किया जा सकता है। UTXO का मतलब है अलग-अलग मिली ऐसी रकम जो अभी खर्च नहीं हुई है। पूरा इतिहास वापस पाने के लिए चेन का अधिक व्यापक स्कैन चाहिए। इसलिए स्कैन खत्म होने से पहले खाली स्क्रीन दिखने का मतलब जरूरी नहीं कि पैसे खो गए हों। [1]

Silent Payments दोहराए गए पते से भुगतान जुड़ने की संभावना घटाता है, लेकिन रकम, कन्फर्मेशन का समय या खर्च किए गए इनपुट का इतिहास नहीं छिपाता। ऐलिस अपना बॉब को किया भुगतान जानती है और ऑर्डर में निजी जानकारी हो सकती है। बॉब बाद में कई UTXO एक लेनदेन में जोड़े तो उनका संबंध फिर दिख सकता है। Silent Payments, CoinJoin नहीं है और दोनों का मेल अपने-आप सुरक्षित नहीं होता; BIP352 सहयोग करने वाले स्वतंत्र भेजने वालों के लिए औपचारिक सुरक्षा प्रमाण की कमी बताती है। [1] [3]

BIP352 में josibake, Ruben Somsen और Sebastian Falbesoner लेखक हैं; इसे 2023 में संख्या मिली। 17 अक्टूबर 2026 की जाँच में दर्जा Complete है। इसका अर्थ सभी वॉलेट में समर्थन नहीं है: भेजना, पाना, स्कैन करना और रिकवरी अलग-अलग जाँचने होंगे। प्रोटोकॉल मौजूदा Taproot इस्तेमाल करता है, नया Soft Fork, यानी नेटवर्क द्वारा अपनाई जाने वाली वैधता के नियमों में सख्ती, नहीं चाहिए। बिना समर्थन वाले पुराने ऐप sp1 पते को सही ढंग से नहीं संभालेंगे। [1] [2]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Bitcoin में गोपनीयता, छद्मनामिता, Taproot, CoinJoin, Replace-by-Fee (RBF), UTXO. इस प्रविष्टि का उल्लेख यहाँ भी है Bitcoin में गोपनीयता, Transaction Labeling.

DOC · 001BIP 352 — Silent Paymentsविनिर्देश DOC · 002Bitcoin Optech — Silent paymentsदस्तावेज़ DOC · 003Silent Payments referenceप्राथमिक स्रोत DOC · 004BIP352 — reference implementationप्राथमिक स्रोत DOC · 005BIP350 — Bech32mविनिर्देश DOC · 006BIP341 — Taprootविनिर्देश DOC · 007Bitcoin Developer Guide — Walletsदस्तावेज़ DOC · 008Bitcoin Developer Guide — Block Chainदस्तावेज़ DOC · 009Bitcoin Developer Reference — Transactionsदस्तावेज़
समीक्षा की गई: स्रोत पहले · यह निवेश सलाह नहीं है