निपटान से पहले भी संघर्ष देखा जा सकता है, लेकिन एक सफल दोहरा खर्च तभी होता है जब पीड़ित एक लेनदेन के लिए मूल्य खर्च करता है और दूसरा प्राप्त श्रृंखला में जीतता है। इसलिए, बदला हुआ वॉलेट भुगतान, अनजाने में शुल्क वृद्धि या असफल संघर्ष स्वचालित रूप से धोखाधड़ी नहीं हैं। जीरो-कॉन्फ रेस और ओवरराइटिंग प्रतिबद्ध ब्लॉकों में मौलिक रूप से अलग-अलग लागत और जोखिम होते हैं।
प्रत्येक इनपुट एक txid और एक इंडेक्स का उपयोग करके पिछले आउटपुट को संदर्भित करता है। दो लेन-देन तब संघर्ष में होते हैं जब कम से कम एक इनपुट एक ही अव्ययित आउटपॉइंट को संदर्भित करता है, लेकिन वे एक ही समय में भुगतान नहीं कर सकते हैं। किसी ब्लॉक को मान्य करते समय, नोड जाँचता है कि इनपुट मौजूद है और पहले दिए गए इतिहास में या उसी ब्लॉक में कहीं और खर्च नहीं किया गया है। वैध UTXO सेट में केवल एक शाखा बची रहती है; हमला सातोशी की एक प्रति उत्पन्न नहीं करता है, यह प्राप्तकर्ता को हारने वाली शाखा पर कार्रवाई करने का प्रयास करता है। [बिटकॉइन श्वेतपत्र - लेनदेन, टाइमस्टैम्प सर्वर और गणना] [बिटकॉइन डेवलपर गाइड - लेनदेन] [बिटकॉइन कोर - सत्यापन.सीपीपी]
खनन से पहले अप्रतिबद्ध लेनदेन का कोई वैश्विक मेमपूल या सर्वसम्मति आदेश नहीं है। सहकर्मी सबसे पहले पदोन्नति, टोपोलॉजी, शुल्क नीति, पैकेज स्थिति या ग्रहण अलगाव के कारण विभिन्न संघर्ष देख सकते हैं। फर्स्ट-सीन एक रिले नीति है, पहले विकल्प की पुष्टि करना खनिकों का दायित्व नहीं है। व्यापारी के बैकएंड पर एक txid केवल यह साबित करता है कि एक हस्ताक्षरित उम्मीदवार आया है, न कि यह कि पूरे नेटवर्क ने इसे देखा है या एक ब्लॉक जीता है। [बिटकॉइन डेवलपर गाइड - भुगतान प्रसंस्करण] [बिटकॉइन कोर - मेमपूल रिप्लेसमेंट]
शुल्क द्वारा प्रतिस्थापन एक नोड को मेमपूल संघर्षों को प्रतिस्थापित करने की अनुमति देता है जो शुल्क और एंटी-डॉस नियमों को पूरा करते हैं; पूर्ण-आरबीएफ संस्करण 28 से बिटकॉइन कोर में डिफ़ॉल्ट नीति रही है। प्रेषक वैध रूप से अटके हुए भुगतान शुल्क को बढ़ा सकता है और प्राप्तकर्ता के आउटपुट को संरक्षित कर सकता है, या मूल्य को पुनर्निर्देशित कर सकता है। दोनों ही मामलों में, सर्वसम्मति आम उम्मीदवारों को देखती है और वैध खनन इतिहास में भिन्न को स्वीकार करती है। केवल आरबीएफ सिग्नल, प्रतिस्थापन, या बम्प धोखाधड़ी साबित नहीं होता है; सिग्नल के बिना लेनदेन शून्य-कॉन्फ के लिए फिर से सुरक्षित नहीं है। [बिटकॉइन कोर - मेमपूल रिप्लेसमेंट] [बीआईपी 125 - ऑप्ट-इन फुल रिप्लेसमेंट-बाय-फीस]
रेस अटैक में, भुगतानकर्ता एक लेनदेन व्यापारी को भेजता है और संघर्ष खनिकों या अन्य साथियों को भेजता है, ताकि व्यापारी ब्लॉक के एक विकल्प का चयन करने से पहले गैर-वापसी योग्य सामान जारी कर दे। परिणाम प्रमोशन, व्यापारी के नेटवर्क दृश्य, खनिकों की पसंद और स्थानांतरण समय पर निर्भर करता है। अधिक स्वतंत्र श्रोता पहचान में सुधार करेंगे, लेकिन नियतात्मक अंतिमता नहीं बनाएंगे। रेस, फिननी और वेक्टर76 नाम परिदृश्य मॉडल हैं, लेन-देन सरणियाँ या विभिन्न सर्वसम्मति नियम नहीं। [बिटकॉइन डेवलपर गाइड - भुगतान प्रसंस्करण] [करम एट अल। — बिटकॉइन में दुर्व्यवहार]
माइन करने की क्षमता रखने वाला एक फिननी-शैली का हमलावर पहले निजी तौर पर संघर्ष वाले ब्लॉक को ढूंढता है और उसे मूल्य लौटाता है, फिर उसी यूटीएक्सओ के साथ व्यापारी को शून्य-कॉन्फिडेंस का भुगतान करता है, और सामान प्राप्त करने के बाद छिपे हुए ब्लॉक को प्रकाशित करता है। योजना तभी सफल होती है जब ब्लॉक प्रयोग करने योग्य रहता है और नेटवर्क द्वारा स्वीकार कर लिया जाता है इससे पहले कि कोई ईमानदार प्रतिद्वंद्वी ब्लॉक तैयारी को विफल कर दे; हमलावर ब्लॉक इनाम और खनन लागत दोनों का जोखिम उठाता है। व्यापारी के लेनदेन को सत्यापित ब्लॉक में शामिल करने की प्रतीक्षा करने से क्लासिक अनुक्रम समाप्त हो जाता है, लेकिन बाद में पुनर्गठन जोखिम को दूर नहीं किया जाता है। [बिटकॉइन श्वेतपत्र - लेनदेन, टाइमस्टैम्प सर्वर और गणना] [कारमे एट अल। — बिटकॉइन में दुर्व्यवहार]
एक बार पुष्टि हो जाने के बाद, संघर्ष अब भुगतान को केवल मेमपूल से बाहर नहीं धकेल सकता है: वैकल्पिक वैध शाखा को भुगतान छोड़ना होगा, दूसरा खर्च शामिल करना होगा, और प्राप्तकर्ता की सक्रिय श्रृंखला की तुलना में अधिक चेनवर्क प्राप्त करना होगा। लगभग एक साथ ब्लॉक या सॉफ़्टवेयर या नेटवर्क घटना में धोखाधड़ी के बिना भी पुनर्गठन हो सकता है; पीड़ित के ख़िलाफ़ एक सफल दोहरा ख़र्च केवल संघर्ष जीतकर मूल्य हासिल करने के लिए है। बिटकॉइन कोर खोए हुए वॉलेट लेनदेन के लिए नकारात्मक पुष्टि और वॉलेट संघर्ष दिखा सकता है। [बिटकॉइन कोर - सत्यापन] [बिटकॉइन कोर - सत्यापन.सीपीपी] [बिटकॉइन कोर आरपीसी - gettransaction]
हमलावर की हैशरेट हिस्सेदारी, पुष्टि की गहराई और प्राप्य मूल्य निजी और ईमानदार काम की स्टोकेस्टिक दौड़ निर्धारित करते हैं। 50% से नीचे का मतलब शून्य संभावना नहीं है; स्थायी बहुमत से पकड़ने की संभावना काफी बढ़ जाती है, लेकिन यह खनिकों को जाली हस्ताक्षर करने, विदेशी यूटीएक्सओ खर्च करने, जारी करने से अधिक करने या पूर्ण नोड्स को अमान्य ब्लॉक स्वीकार करने के लिए मजबूर करने की अनुमति नहीं देता है। लागत में हैशपावर, ऊर्जा, खोए हुए ईमानदार पुरस्कार, हानि का जोखिम, तरलता और जोखिम शामिल हैं; आय में बाज़ार की स्थितियाँ भी शामिल हो सकती हैं, इसलिए मशीनों को किराये पर लेने की मात्र कीमत पर्याप्त नहीं है। [बिटकॉइन श्वेतपत्र - लेनदेन, टाइमस्टैम्प सर्वर और गणना] [रोसेनफेल्ड - हैशरेट-आधारित दोहरे खर्च का विश्लेषण] [गैरे, कियियास और लियोनार्डोस - बिटकॉइन बैकबोन प्रोटोकॉल]
प्रत्येक अतिरिक्त प्रतिबद्धता वैकल्पिक शाखा को अधिक बैकलॉग को फिर से करने के लिए मजबूर करती है और, मान्यताओं को देखते हुए, सफलता की संभावना कम हो जाती है। कोई सार्वभौमिक सुरक्षित संख्या नहीं है: कॉफी, कार, स्टॉक एक्सचेंज जमा और गैर-वापसीयोग्य निकासी अलग-अलग मूल्य, प्रेरणा और सुधार की संभावना दर्शाती है। बार-बार उद्धृत छह प्रतिज्ञान एक परंपरा है, आम सहमति नहीं। नीति को हैशरेट वितरण, असामान्य पुनर्गठन, बैकएंड में विश्वास, ग्रहण जोखिम और हैंडओवर की प्रतिवर्तीता की भी निगरानी करनी चाहिए। [बिटकॉइन डेवलपर गाइड - भुगतान प्रसंस्करण] [रोसेनफेल्ड - हैशरेट-आधारित दोहरे खर्च का विश्लेषण]
बैकएंड अपने स्वयं के पूर्ण नोड पर परस्पर विरोधी मेमपूल खर्चों की निगरानी कर सकता है, gettxspendingprevout को कॉल कर सकता है, वॉलेट संघर्ष को पढ़ सकता है, सक्रिय टिप की तुलना कर सकता है और पुष्टि के नुकसान के बारे में चेतावनी दे सकता है। अधिक सहकर्मी या स्वतंत्र नोड्स ब्लाइंड स्पॉट को कम करते हैं, लेकिन किसी ज्ञात संघर्ष की अनुपस्थिति कमजोर सबूत है: एक हमलावर इसे रोक सकता है या इसे कहीं और भेज सकता है। एक्सप्लोरर एक कस्टम नोड दृश्य दिखाता है और इसमें देरी हो सकती है। जांच से वितरण रोकने की अनुमति मिलती है; यह खनिकों को जीतने या शून्य-आत्मविश्वास को पुष्टि में बदलने के लिए नहीं कह सकता। [बिटकॉइन कोर RPC - gettransaction] [बिटकॉइन कोर RPC - gettxspendingprevout] [Karame et al. — बिटकॉइन में दुर्व्यवहार]
ऑनचेन सेटलमेंट के लिए, अपने स्वयं के पूर्ण नोड के साथ मान्य करें, ऑर्डर को सटीक txid, आउटपुट और राशि के साथ बांधें, संभावित नुकसान के अनुसार गहराई निर्धारित करें, पुनर्गठन या संघर्ष की स्थिति में, पूर्ति रोकें और जमा की गई शेष राशि को निकासी योग्य राशि से अलग करें। अपुष्ट परिवर्तन वाले वंशज को माता-पिता से स्वतंत्र न मानें। लाइटनिंग तेजी से आवर्ती भुगतानों को अलग तरीके से संभालती है: एक पुष्टि की गई फंडिंग आउटपॉइंट चैनल को एंकर करती है और प्रतिबद्धता/निरस्तीकरण नियम ऑफचेन स्थिति को नियंत्रित करते हैं; जीरो-कॉन्फ चैनल जानबूझकर फंडर पर भरोसा करता है और फंडिंग में दोहरे खर्च के जोखिम को खत्म नहीं करता है। [बोल्ट 2 - पीयर प्रोटोकॉल] [बिटकॉइन ऑप्टेक - जीरो-कॉन्फ चैनल]
पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें Transaction, पुष्टिकरण, Mempool, Proof of Work, Replace-by-Fee (RBF), Bitcoin. इस प्रविष्टि का उल्लेख यहाँ भी है पुष्टिकरण, Reorg, Stale Block, Replace-by-Fee (RBF).