Coin Control वॉलेट की वह सुविधा है जिसमें किसी खास भुगतान के लिए रकम आप खुद चुनते हैं। बिटकॉइन बैलेंस पिछली ट्रांज़ैक्शन के अलग-अलग, अभी तक खर्च न हुए आउटपुट से बनता है। इन्हें UTXO कहते हैं। आम तौर पर वॉलेट इन्हें अपने आप चुनता है; Coin Control से यह चुनाव आपके हाथ में आ जाता है।
एलिस को काम के बदले 120 000 sat मिले और उपहार में 80 000 sat और मिले। sat बिटकॉइन की सबसे छोटी इकाई है। वॉलेट कुल 200 000 sat दिखाता है, लेकिन हमारे उदाहरण में यह रकम दो अलग UTXO में है। भुगतान के लिए दोनों को खर्च करना ज़रूरी नहीं। एलिस Coin Control की सूची खोलकर सिर्फ काम से मिली रकम चुन सकती है। ‘काम’ और ‘उपहार’ जैसे लेबल पहचानने में मदद करते हैं। वे वॉलेट में लिखे उसके निजी नोट हैं, पैसे के स्रोत का प्रमाण नहीं। किसी खास रकम को चुनने का कारण न हो तो वह चुनाव वॉलेट पर छोड़ सकती है। [3]
एलिस 100 000 sat भेजने के लिए 120 000 sat वाला UTXO चुनती है। चुना गया आउटपुट पूरा खर्च होता है, जैसे बड़ा नोट देने पर बाकी पैसे वापस मिलते हैं। मान लें कि तैयार ट्रांज़ैक्शन का वर्चुअल आकार 200 vB और शुल्क दर 5 sat/vB है। vB आकार की वह इकाई है जिससे शुल्क निकाला जाता है, इसलिए यहाँ शुल्क 1 000 sat होगा। प्राप्तकर्ता को 100 000 sat मिलेंगे और 19 000 sat एक नए आउटपुट में एलिस को लौटेंगे। इसे change, यानी बची हुई रकम, कहते हैं। दूसरा 80 000 sat वाला UTXO वैसा ही रहेगा। यह तय आकार और भेजने वाले द्वारा चुकाए गए शुल्क का उदाहरण है, हर भुगतान का सामान्य आकार नहीं। [4]
हर खर्च किया गया UTXO नई ट्रांज़ैक्शन का एक इनपुट बनता है और उसमें डेटा जोड़ता है। इसलिए इनपुट का प्रकार और शुल्क दर समान हों तो दस छोटी रकमों से भुगतान करना आम तौर पर एक बड़ी रकम से भुगतान करने से महँगा पड़ता है। शुल्क भेजी गई रकम का प्रतिशत नहीं है; वॉलेट उसे आकार और चुनी हुई दर से निकालता है। कई छोटे UTXO को अपने एक आउटपुट में जोड़ना consolidation कहलाता है। कम दरों पर ऐसा करने से आगे के भुगतान आसान हो सकते हैं और उनके शुल्क घट सकते हैं। लेकिन जोड़ने वाली ट्रांज़ैक्शन का भी शुल्क लगता है और इस्तेमाल हुई रकमों का संबंध सार्वजनिक हो जाता है। [1]
एलिस काम की रकम और उपहार को एक ट्रांज़ैक्शन में खर्च करे तो ब्लॉकचेन देखने वाला अनुमान लगा सकता है कि दोनों पर एक ही व्यक्ति का नियंत्रण है। ब्लॉकचेन ट्रांज़ैक्शन का सार्वजनिक रिकॉर्ड है। उसमें एलिस के निजी लेबल नहीं दिखते, लेकिन इनपुट का साथ इस्तेमाल होना दिखता है। रकम अलग चुनने से यह खास संबंध उजागर होने से बच सकता है। इससे गुमनामी की गारंटी नहीं मिलती: दूसरे संबंध पहले से ज्ञात हो सकते हैं। साथ आए इनपुट भी एक ही मालिक का पक्का प्रमाण नहीं हैं। मसलन Payjoin में भेजने वाला और प्राप्तकर्ता, दोनों एक भुगतान में इनपुट दे सकते हैं। [2]
19 000 sat एलिस को बाद में किसी दूसरी ट्रांज़ैक्शन से वापस नहीं मिलते। change उसी भुगतान में उसके वॉलेट के लिए नए आउटपुट के रूप में बनता है। इस बची रकम का भी इतिहास है: यह काम के भुगतान से आई है। आगे इसे उपहार के साथ खर्च करने पर वही संबंध बन सकता है जिससे एलिस पहले बची थी। इसलिए change आउटपुट पर भी नज़र रखें और यह न मानें कि नया पता पुराने पैसों से जुड़े सार्वजनिक संबंधों को अपने आप छिपा देता है। बड़ा change बताता है कि चुनी रकम भुगतान और शुल्क के जोड़ से काफी अधिक है; केवल इससे चुनाव गलत साबित नहीं होता। [2]
हस्ताक्षर से पहले एलिस वास्तविक इनपुट, प्राप्तकर्ता का पूरा पता, रकम, अपना change और कुल शुल्क देखती है। हस्ताक्षर किसी खास ट्रांज़ैक्शन की मंज़ूरी हैं; सूची में कुछ विकल्पों पर निशान लगा देने से भुगतान पूरा नहीं हो जाता। चुनी रकम भुगतान और शुल्क दोनों के लिए पर्याप्त होनी चाहिए। अभी तक पुष्टि न हुई रकम खर्च करने पर नया भुगतान उस ट्रांज़ैक्शन पर निर्भर होता है जिससे रकम मिली थी। अगर वह पिछली ट्रांज़ैक्शन ब्लॉकचेन में शामिल ही नहीं होती, तो उसके आउटपुट को खर्च करने वाले भुगतान की भी पुष्टि नहीं हो सकती। हाथ से चुनाव करने का उद्देश्य भुगतान को समझना है, ऐसी सेटिंग बदलना नहीं जिनके नतीजे मालूम न हों। [4]
यह प्रोग्राम और संस्करण पर निर्भर करता है। Bitcoin Core v29.0 में fundrawtransaction का add_inputs विकल्प सामान्यतः चालू रहता है। दिए हुए इनपुट कम पड़ें तो वह और इनपुट जोड़ सकता है। सिर्फ चुने UTXO खर्च करने हों तो इस विकल्प और अंतिम प्रस्ताव को जाँचें। listunspent उपलब्ध आउटपुट देखने में मदद करता है। txid पिछली ट्रांज़ैक्शन की पहचान है और vout उसमें आउटपुट का स्थान; दोनों मिलकर एक खास UTXO बताते हैं। solvable का अर्थ है कि प्रोग्राम खर्च करने का तरीका जानता है, यह नहीं कि उसके पास ज़रूरी निजी कुंजियाँ भी हैं। ट्रांज़ैक्शन तैयार करने से गायब हस्ताक्षर नहीं जुड़ते। [4] [3]
Coin Control तब काम आता है जब आप जानते हैं कि कुछ रकमों को अलग क्यों रखना है, या उन्हें खर्च करने की लागत समझना चाहते हैं। यह सुरक्षित बैकअप की जगह नहीं लेता, पैसे का इतिहास नहीं बदलता और पहले प्रकाशित संबंध नहीं मिटाता। हर भुगतान में इसका इस्तेमाल ज़रूरी नहीं। महत्वपूर्ण यह पहचानना है कि कब अपने आप हुआ चुनाव ठीक है और कब खुद फैसला लेना है, फिर देखना है कि तैयार ट्रांज़ैक्शन वास्तव में आपकी मंशा के अनुरूप हो। [3] [2]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें UTXO, वॉलेट, Change Address, Bitcoin में गोपनीयता. इस प्रविष्टि का उल्लेख यहाँ भी है Change Address, CoinJoin, Bitcoin में गोपनीयता, Coin Selection.