比特币转账卡在未确认状态,钱包显示提高费用。按下去究竟是在补缴手续费,还是重新发送另一笔付款?
RBF(Replace-by-Fee)透过替代交易竞争取代原本的未确认交易,常用来提高费用、改善确认机会。它不会直接修改已上链的付款,也不是按一下就能保证撤销交易。
本文说明RBF 的原理、一般钱包操作流程,以及交易加速与取消最容易混淆的地方。
RBF 通常译为「费用替换」,是节点处理未确认交易替换的政策机制。
替代交易会与原交易使用至少一笔相同输入,并须符合节点的替换条件。提高交易费是常见用途,但不代表只要随便多付一点,所有节点都必须接受。
它的作用位置是Mempool 交易池,不是改写已经成立的区块。若原交易先被有效区块收录,就不能再靠一般RBF 流程把它撤回。
Bitcoin付款会引用先前的UTXO作为输入。 RBF 替代交易与原交易竞争使用相同资金来源,因此两者不能同时在同一条有效链上成立。
常见的费用调整方式,是保留收款内容、减少自己的找零,或在需要时加入其他输入,再重新签署及广播。
替代交易不是另外用一笔独立资金再支付相同款项。若直接建立没有输入冲突的另一笔付款,两笔就可能都确认,这与RBF 加速不同。
假设原交易使用0.01 BTC,支付0.004 BTC 给收款人,并透过降低找零增加费用:
B 的费用比A 多0.00003 BTC。如果B 最后确认,链上成立的是B 的费用与输出,不是先收A 的矿工费、再额外收B 的全部矿工费。第三方服务若另有服务费,则应分开计算。
这是资金配置示例,不代表符合所有替换规则,也不是即时建议费率;实际仍须核对交易大小、费率与钱包结果。
BIP 125 描述一种使用输入nSequence 表达可替换性的政策,也包含继承未确认祖先替换信号的情况。
它解释了许多旧钱包为什么有「启用RBF」选项,但不能把旧文件中的条件当成所有节点目前唯一的接受规则。
Full RBF 不要求原交易先表达BIP 125 的可替换信号,仍须检查交易有效性、费用及其他政策条件。
Bitcoin Core 的版本演进包括:
28.0 将Full RBF 设为预设政策。29.0 移除关闭Full RBF 的相关选项,使其成为该软体的标准行为。这是节点软体政策的变化,不代表全网每个节点都使用相同版本,也不会让其他人因此获得你的签署权限。
节点愿意接受某类替代交易,不代表你的钱包介面能建立它。还需要有相应的签署能力、资金与交易资料。
因此,「未显示启用RBF」不等于网路保证不能替换;「Full RBF」也不等于任何钱包都能一键加速。
如果BTC 是由交易所提领,通常由平台控制并签署链上交易。这时应向平台确认加速选项,不能假设自己能用个人钱包替换平台付款。
不同钱包介面有差异,以下为通用流程,并非某个App 的逐画面教学。
从钱包交易纪录取得TxID,确认使用Bitcoin 网路,并查看是否仍未确认。若已确认但商家或交易所未认列,先核对接收端条件。
在原交易详情中,查看是否提供「提高费用」「加速」或类似功能。若找不到,先查该钱包说明,避免直接另建一笔独立付款。
确认收款地址与原本应付金额,查看新的费率、总费用,以及额外增加多少成本。若钱包估算确认时间,应视为参考。
依钱包流程完成签署。硬体钱包使用者仍须核对装置上的交易资讯。广播成功只表示已提交,不代表替代交易一定先于原交易确认。
RBF 会产生另一笔交易及新的交易ID。若需向商家或客服提供付款资料,应说明原交易与替代交易的关系,再确认最后上链结果。
没有所有交易通用的固定加价百分比。需要区分交易费总额、sat/vB 费率,以及节点对替换的政策要求。
对一般用户而言,最直接的做法是由支持该功能的钱包估算,再核对总费用。不要只比较「新费率比旧费率高多少」,就推论一定能被接受。
Bitcoin Core 31.0 引入cluster mempool,并调整RBF 验证,要求替换后交易池的费率图必须严格改善。对各自独立、没有其他相连交易的简单情况,较高费用及费率可满足这项改善判断;仍有其他接受条件。
这表示不能把复杂依赖交易的判断,简化为「新费率高于旧交易就一定成功」。进阶操作应参考实际软体版本,不宜沿用过时的固定参数教学。
部分钱包的「取消」功能,实际上会尝试建立一笔冲突交易,将原本准备支付的资金改送回自己控制的输出,并竞争先被确认。
因此,它比较接近「尝试用另一笔交易改变未确认付款结果」,不是通知全网删除原交易。
如果原付款先确认,或替代交易未被接受,就可能无法达成预期。替代交易尚未确认时,也不能只凭按下取消便认定完成。
不是。以Bitcoin Core 的abandontransaction 为例,它是在符合条件时调整本地钱包对交易及相关输入的处理,不是全网撤销指令。
其他节点可能仍保存原交易;只要原交易仍能有效成立,就不能将本地显示改变当成永远不会确认的保证。
CPFP 可能由控制合适输出的一方操作,例如掌握找零的付款人或能花费收款输出的收款人。它评估的是父子组合,与单纯替换不同。
若问题只是传播不足,重新广播可能有帮助;若问题是费率竞争力不足,原样重送并不会让交易自动变贵或保证更快确认。
RBF 的替代交易与原交易存在输入冲突,但不能因此把每次正常加速都称为诈骗。
判断双重支付造成的影响,要看收款人依赖的付款是否失效,以及是否已交付商品或资产。保留原付款内容、只提高费用的替换,与改变收款结果是不同情境。
收款人也不应因交易没有标示RBF,就把零确认视为不可逆。确认保障可搭配Finality 最终确认理解。
RBF 本身也不等于Reorg 区块重组:前者处理未确认交易替换,后者涉及改采另一段区块历史。
不能透过一般RBF 流程撤回已被有效区块确认的交易。
不是。 Full RBF 不以原交易事先发出信号为必要前提,但钱包能否操作及交易能否被接受仍要分别判断。
若替代交易取代原交易并确认,计入的是最后有效交易的费用。其他独立付款或服务费不能混在一起比较。
因为建立的是另一笔替代交易,需要追踪新的交易ID。
不能仅凭公开交易ID 取得相应输入的花费授权。
不一定。替代交易仍需竞争被确认,原交易也可能先成立。
收款人通常没有原付款输入的授权,不能只凭收款身分直接使用RBF;若能花费合适的未确认输出,则可另评估CPFP。
不需要向外部加速网站交出助记词或私钥。签署应在自己的可信钱包流程内完成。