يتناول RBF المعاملات قبل التأكيد. وصف BIP125 إشارات opt-in وقواعد الاستبدال المرتبطة بـ Bitcoin Core 0.12. لا يتطلب 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 إشارة opt-in صريحة عندما تكون قيمة nSequence لأحد المدخلات على الأقل أقل من 0xfffffffe، ويصف أيضًا وراثة الإشارة من سلف غير مؤكد. هذه سياسة تاريخية وليست شرط إجماع. يسمح full-RBF بتقييم البديل دون هذه الإشارة؛ غيابها لا يضمن تعذر استبدال الدفعة. [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core 0.12.0 release notes]
RBF سياسة محلية لـ mempool وترحيل المعاملات، وليس قاعدة إجماع. يمكن للمعدّن اختيار معاملة متعارضة صالحة وفق الإجماع لم تكن لدى عقدة أخرى في 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 فحسب؛ قيمة incrementalrelayfee الافتراضية في Core 30 هي 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 سياسة full-RBF بالإعداد الافتراضي لـ mempoolfullrbf، وأزال Core 29 هذا الخيار. يعرض getmempoolinfo معاملات الرسوم، لكن الحقل fullrbf موسوم بأنه متقادم في Core 30؛ تحقّق دائمًا من الإصدار والإعداد الفعلي. [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.