52 / 691BIP125

Replace-by-Fee (RBF)

अपुष्ट लेनदेन को अधिक शुल्क वाले संस्करण से बदलना

Replace-by-Fee (RBF), Bitcoin की स्थानीय mempool और लेनदेन प्रसारण नीति है। यह अपुष्ट लेनदेन का विरोधी प्रतिस्थापन स्वीकार करने देती है, यदि वह नोड के शुल्क, वैधता और DoS सुरक्षा नियम पूरे करे।

RBF पुष्टि से पहले के लेनदेन पर लागू होता है। BIP125 ने Bitcoin Core 0.12 से जुड़े opt-in संकेत और प्रतिस्थापन नियम बताए। Full-RBF में वह संकेत आवश्यक नहीं: Core 24 ने इसे विन्यास योग्य बनाया, Core 28 ने सामान्य रूप से चालू किया और Core 29 ने mempoolfullrbf विकल्प हटाया। RBF सर्वसम्मति या पुष्ट ब्लॉक नहीं बदलता; यह तय करने में भूमिका निभाता है कि नोड कौन सा वैध अपुष्ट विरोधी लेनदेन रखे और प्रसारित करे।

RBF mempool के एक या अधिक अपुष्ट लेनदेन बदलता है, जिनके साथ कम से कम एक खर्च किया जाने वाला इनपुट साझा हो। यह ब्लॉक में पहले से पुष्ट लेनदेन नहीं लिखता या बदलता। प्रतिस्थापन के डेटा और txid अलग होते हैं; उसे आवश्यक हस्ताक्षरों सहित इनपुट खर्च की शर्तें खुद पूरी करनी होती हैं। [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core v30.0 — Mempool replacement policy]

BIP125 में कम से कम एक इनपुट का nSequence, 0xfffffffe से कम हो तो स्पष्ट opt-in संकेत है। इसमें अपुष्ट पूर्वज से संकेत विरासत में मिलने का वर्णन भी है। यह ऐतिहासिक नीति है, सर्वसम्मति की शर्त नहीं। Full-RBF बिना संकेत के भी प्रतिस्थापन परखता है; संकेत न होने से भुगतान अपरिवर्तनीय नहीं हो जाता। [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core 0.12.0 release notes]

RBF स्थानीय mempool और relay नीति है, सर्वसम्मति नियम नहीं। माइनर ऐसा सर्वसम्मति-वैध विरोधी लेनदेन चुन सकता है जो दूसरे नोड के mempool में पहले न हो। Full Node अपने mempool की पिछली पसंद से स्वतंत्र होकर सर्वसम्मति नियमों से बने ब्लॉक की जाँच करता है। [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core 29.0 release notes]

Bitcoin Core 30 की एकल प्रतिस्थापन नीति नए अपुष्ट इनपुट और हटाए जाने वाले लेनदेन की संख्या भी सीमित करती है। केवल वही UTXO खर्च करना पर्याप्त नहीं; मानकता, प्रसारण और वैधता नियम पूरे करने होते हैं। सीमाएँ CPU, मेमोरी और बैंडविड्थ बचाती हैं। पैकेज प्रतिस्थापन के नियम नोड संस्करण के अनुसार अलग परखने चाहिए। [Bitcoin Core v30.0 — Mempool replacement policy]

कुल शुल्क satoshi में राशि है; शुल्क दर प्रति वर्चुअल बाइट sat/vB में राशि है। Core 30 में एकल प्रतिस्थापन का शुल्क सभी हटाए गए लेनदेन के शुल्कों का योग और प्रतिस्थापन के आकार पर incrementalrelayfee के अनुसार अतिरिक्त लागत पूरा करे। उसकी दर सीधे विरोधी लेनदेन की दरों से अधिक होनी चाहिए। केवल दर बढ़ाना या satoshi जोड़ना पर्याप्त नहीं; Core 30 की सामान्य incrementalrelayfee 0.1 sat/vB है, पर नोड की सेटिंग अलग हो सकती है। [Bitcoin Core v30.0 — Mempool replacement policy] [Bitcoin Core 30.0 release notes]

मूल लेनदेन बदलने पर उसके आउटपुट खर्च करने वाले वंशज भी mempool से हट सकते हैं। इसलिए तुलना हमेशा केवल दो लेनदेन की नहीं होती। Core 30 में एकल प्रतिस्थापन के लिए सीधे विरोधी लेनदेन के वंशजों की गिनती, स्वयं लेनदेन सहित, जोड़कर 100 तक सीमित है; साझा वंशज एक से अधिक बार गिने जा सकते हैं। पैकेज शुल्क और संबंध प्रतिस्थापन की सफलता पर असर डालते हैं। [Bitcoin Core v30.0 — Mempool replacement policy]

RBF खर्च करने वाले लेनदेन को ही बदलकर शुल्क बढ़ाता है। Child Pays for Parent (CPFP) मूल लेनदेन को रखता है और पर्याप्त शुल्क वाला संतान लेनदेन जोड़ता है, जिससे माइनर संयुक्त दर देख सके। चुनाव नियंत्रित आउटपुट, आवश्यक इनपुट पर हस्ताक्षर की क्षमता और लेनदेन ग्राफ पर निर्भर है; CPFP मूल लेनदेन का प्रतिस्थापन नहीं है। [Bitcoin Core v30.0 — Mempool replacement policy]

दोहरा खर्च उसी UTXO को खर्च करने के विरोधी प्रयास हैं। RBF वह तरीका है जिससे नोड अपनी नीति के अनुसार ऐसे अपुष्ट लेनदेन में चुनता है। प्रतिस्थापन ईमानदारी से शुल्क बढ़ा सकता है या अपुष्ट भुगतान की दिशा बदल सकता है। RBF किसी बाहरी व्यक्ति को शर्तें पूरी किए बिना इनपुट खर्च करने का अधिकार नहीं देता। [BIP 125 — Opt-in Full Replace-by-Fee Signaling]

Zero-conf का अर्थ बिना पुष्टि वाला भुगतान है, बिना कॉन्फ़िगरेशन वाला नहीं। व्यापारी द्वारा पहले देखा गया लेनदेन ब्लॉक में जाएगा, इसकी Bitcoin गारंटी नहीं देता। Full-RBF यही सीमा स्पष्ट करता है: zero-conf स्वीकार करना व्यावसायिक जोखिम का निर्णय है, अंतिम Bitcoin निपटान नहीं। [BIP 125 — Opt-in Full Replace-by-Fee Signaling]

getmempoolentry अपुष्ट लेनदेन की स्थिति दिखाता है। testmempoolaccept एक हस्ताक्षरित प्रतिस्थापन उम्मीदवार को नोड के वर्तमान mempool और नियमों पर जाँचता है, उसे प्रसारित नहीं करता। परिणाम दूसरे नोड की स्वीकृति या माइनिंग का वादा नहीं है। Core 28 ने mempoolfullrbf की सामान्य सेटिंग से full-RBF चालू किया; Core 29 ने विकल्प हटाया। getmempoolinfo शुल्क पैरामीटर बताता है, लेकिन Core 30 में fullrbf फ़ील्ड अप्रचलित चिह्नित है; संस्करण और वास्तविक कॉन्फ़िगरेशन हमेशा जाँचें। [Bitcoin Core 28.0 release notes] [Bitcoin Core 29.0 release notes] [Bitcoin Core getmempoolinfo RPC] [Bitcoin Core testmempoolaccept RPC] [Bitcoin Core getmempoolentry RPC] [Bitcoin Core v30.0 — Mempool RPC implementation]

पूरी तस्वीर के लिए इस प्रविष्टि के साथ यह भी पढ़ें लेनदेन शुल्क, Mempool, CPFP (Child Pays for Parent), दोहरा खर्च, पुष्टिकरण, Fee Rate. इस प्रविष्टि का उल्लेख यहाँ भी है चेंज आउटपुट, पुष्टिकरण, दोहरा खर्च, Fee Rate.

DOC · 001BIP 125 — Opt-in Full Replace-by-Fee Signalingविनिर्देश ↗DOC · 002Bitcoin Core v30.0 — Mempool replacement policyदस्तावेज़ ↗DOC · 003Bitcoin Core 0.12.0 release notesदस्तावेज़ ↗DOC · 004Bitcoin Core 24.0.1 release notesदस्तावेज़ ↗DOC · 005Bitcoin Core 28.0 release notesदस्तावेज़ ↗DOC · 006Bitcoin Core 29.0 release notesदस्तावेज़ ↗DOC · 007Bitcoin Core getmempoolinfo RPCदस्तावेज़ ↗DOC · 008Bitcoin Core testmempoolaccept RPCदस्तावेज़ ↗DOC · 009Bitcoin Core 30.0 release notesदस्तावेज़ ↗DOC · 010Bitcoin Core getmempoolentry RPCदस्तावेज़ ↗DOC · 011Bitcoin Core v30.0 — Mempool RPC implementationप्राथमिक स्रोत ↗
स्रोत पहले · यह निवेश सलाह नहीं है