RBF menangani transaksi sebelum konfirmasi. BIP125 menjelaskan sinyal opt-in dan aturan penggantian terkait Bitcoin Core 0.12. Full-RBF tidak memerlukan sinyal itu: Core 24 membuatnya dapat dikonfigurasi, Core 28 mengaktifkannya secara bawaan, dan Core 29 menghapus sakelar mempoolfullrbf. RBF tidak mengubah konsensus atau blok terkonfirmasi; ia memengaruhi transaksi konflik sah yang belum terkonfirmasi mana yang disimpan dan disebarkan node.
RBF mengganti satu atau beberapa transaksi belum terkonfirmasi dalam mempool yang berbagi setidaknya satu input yang dibelanjakan. Transaksi yang sudah terkonfirmasi dalam blok tidak ditulis ulang. Pengganti mengubah data transaksi dan memiliki txid berbeda; ia harus memenuhi sendiri syarat pembelanjaan input, termasuk tanda tangan yang diperlukan. [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core v30.0 — Mempool replacement policy]
BIP125 menjelaskan sinyal opt-in eksplisit jika setidaknya satu input memiliki nSequence di bawah 0xfffffffe, serta pewarisan sinyal dari leluhur belum terkonfirmasi. Ini kebijakan historis, bukan syarat konsensus. Full-RBF memungkinkan penilaian pengganti tanpa sinyal tersebut; ketiadaannya tidak menjamin pembayaran tak bisa diganti. [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core 0.12.0 release notes]
RBF merupakan kebijakan lokal mempool dan relay, bukan aturan konsensus. Penambang dapat memilih transaksi konflik yang sah menurut konsensus meski node lain sebelumnya tidak menyimpannya dalam mempool. Full Node memvalidasi blok menurut konsensus, terlepas dari pilihan mempool sebelumnya. [BIP 125 — Opt-in Full Replace-by-Fee Signaling] [Bitcoin Core 29.0 release notes]
Kebijakan Bitcoin Core 30 untuk satu transaksi pengganti juga membatasi input baru belum terkonfirmasi dan jumlah transaksi yang dikeluarkan. Pengganti harus memenuhi aturan standar, relay, dan keabsahan, bukan sekadar membelanjakan UTXO yang sama. Batas melindungi CPU, memori, dan bandwidth; aturan penggantian paket harus dinilai terpisah sesuai versi node. [Bitcoin Core v30.0 — Mempool replacement policy]
Biaya total adalah jumlah satoshi; tarif biaya adalah jumlah per byte virtual dalam sat/vB. Untuk penggantian tunggal Core 30, biaya harus menutup jumlah biaya seluruh transaksi yang dikeluarkan, ditambah biaya menurut incrementalrelayfee untuk ukuran pengganti. Tarifnya harus melampaui tarif transaksi yang berkonflik langsung. Tarif lebih tinggi saja atau sekadar menambah satoshi tidak cukup; incrementalrelayfee bawaan Core 30 adalah 0,1 sat/vB, tetapi pengaturan node dapat berbeda. [Bitcoin Core v30.0 — Mempool replacement policy] [Bitcoin Core 30.0 release notes]
Mengganti transaksi induk dapat mengeluarkan turunannya yang membelanjakan output induk dari mempool. Jadi perbandingan tidak selalu hanya dua transaksi. Untuk penggantian tunggal, Core 30 membatasi jumlah hitungan turunan transaksi yang berkonflik langsung, termasuk masing-masing transaksi itu sendiri, hingga 100; turunan bersama bisa dihitung lebih dari sekali. Biaya dan hubungan paket dapat memengaruhi keberhasilan penggantian. [Bitcoin Core v30.0 — Mempool replacement policy]
RBF menaikkan biaya dengan mengganti transaksi pembelanjaan itu sendiri. Child Pays for Parent (CPFP) mempertahankan induk dan menambah anak dengan biaya cukup agar penambang menilai tarif gabungannya. Pilihan bergantung pada output yang dikuasai, kemampuan menandatangani input yang diperlukan, dan graf transaksi; CPFP tidak mengganti induk. [Bitcoin Core v30.0 — Mempool replacement policy]
Pembelanjaan ganda adalah upaya konflik membelanjakan UTXO yang sama. RBF adalah cara node memilih di antara transaksi belum terkonfirmasi tersebut menurut kebijakannya. Pengganti bisa menaikkan biaya secara jujur atau mengalihkan pembayaran belum terkonfirmasi. RBF tidak memberi orang lain hak membelanjakan input tanpa memenuhi syaratnya. [BIP 125 — Opt-in Full Replace-by-Fee Signaling]
Zero-conf berarti pembayaran tanpa konfirmasi, bukan tanpa konfigurasi. Bitcoin tidak menjamin transaksi pertama yang dilihat pedagang akan masuk blok. Full-RBF memperjelas batas ini: menerima zero-conf adalah keputusan risiko usaha, bukan penyelesaian Bitcoin yang final. [BIP 125 — Opt-in Full Replace-by-Fee Signaling]
getmempoolentry menampilkan keadaan transaksi belum terkonfirmasi; testmempoolaccept menguji satu calon pengganti bertanda tangan terhadap mempool dan aturan node saat ini tanpa menyiarkannya. Hasil tidak menjanjikan penerimaan node lain atau penambangan. Core 28 mengaktifkan full-RBF lewat setelan bawaan mempoolfullrbf; Core 29 menghapus opsi itu. getmempoolinfo memberikan parameter biaya, tetapi kolom fullrbf ditandai usang dalam Core 30; selalu periksa versi dan konfigurasi sebenarnya. [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]
Untuk gambaran yang lebih utuh, baca entri ini bersama Biaya transaksi, Mempool, CPFP (Child Pays for Parent), Pembelanjaan ganda, Konfirmasi, Fee Rate. Entri ini juga dirujuk dari Output kembalian, Konfirmasi, Pembelanjaan ganda, Fee Rate.