比特币 RBF 替换要满足哪些条件?BIP125 规则与收款方判断指南 图 1
比特币 RBF 替换要满足哪些条件?BIP125 规则与收款方判断指南 · 图 1

一句话定位

在比特币网络里,一笔未确认交易可以被另一笔花同一输入的交易顶替,前提是它按 BIP125 的可选式全量替换(opt-in full-RBF)规则行事。该策略随 Bitcoin Core 0.12 的初始实现进入参考实现。对付款方,它是加速与修复故障的工具;对收款方,它决定了看到未确认交易这件事值多少信任。本文逐项拆解替换必须满足的条件——这部分经常被转述错。

比特币 RBF 替换要满足哪些条件?BIP125 规则与收款方判断指南 图 2
比特币 RBF 替换要满足哪些条件?BIP125 规则与收款方判断指南 · 图 2

一段被撤回的起点

替换并非后来才有的发明。比特币最早的版本里,nSequence 字段就是被用来允许替换的:节点会用序列号更高的新交易替换内存池中序列号更低的旧交易。因为当时不要求补差价,矿工缺乏打包动力,也容易被滥用,该特性在 0.3.12 被撤回,代码里只留下一句暂时禁用替换的注释。此后多年,网络通行保持最先看到的版本,收款方由此形成了第一版大概率就是最终版的预期。BIP125 正是带着手续费门槛和显式信号重新把替换请了回来。

交易如何声明可替换

两种途径。显式信号:任一输入的 nSequence 小于 0xffffffff-1,这笔交易即声明可替换。继承信号:交易本身没声明,但只要它有一个未确认的祖先声明了可替换,在该祖先未确认期间它同样可替换——合约类协议需要特别警惕这条继承路径。

替换必须同时满足的条件

按 BIP125 记载的初始实现规则,替换交易必须:花掉原交易的至少一个相同输入;除原交易已包含的未确认输入外不得引入其他新的未确认输入;支付的绝对手续费不低于被替换交易之和;并按节点最低中继费率支付自己额外带宽的费用——例如最低中继费为每字节 1 聪时,一笔 500 字节的替换交易至少要额外多付 500 聪。此外,被替换交易连同因此被逐出的后代交易总数不得超过 100 笔。值得注意:条件清单里没有每虚拟字节费率必须更高这一条,门槛是绝对费用加带宽费。

收款方的判断框架

BIP125 建议展示未确认交易的钱包二选一:向用户明示该交易可替换,或在确认前干脆忽略它;并且判断要沿后代继承下去。落到操作层面可以分三档:小额高频可以接受带信号的 0 确认,但记录交易哈希与信号状态备查;正常金额至少等 1 个区块;涉及托管、合约或对手可疑时按协议等待更多确认。任何 0 确认保险的说法都不成立——带信号的未确认交易永远可能被替换,除非替换代价被结构性抬高。

付款方的自我检查

若你的钱包默认开启 RBF,等待确认期间发起替换通常顺滑;若默认关闭,事后只剩 CPFP 给子交易加费等手段。Core 侧这一默认值经历多次演进:早期需要启动参数打开,随后图形界面先发默认开启、RPC 路径随后跟上,近年交易默认可替换后相关开关又被逐步标记为废弃。不同软件与版本差异很大,动手前核对你所用钱包与节点的发布说明,不要沿用别家经验。替换是否真的传开了,可以用广播给部分节点、监听其他节点中继的常规轻量客户端手法自查。

风险提示

替换机制可能被用于针对 0 确认收款的双花。本文只提供防御性识别方法,不提供任何攻击手法,也不构成投资建议。

与 CPFP 的分工

同为加急手段,替换与费用提升走的是两条路:RBF 花同一输入重做一笔交易,要求原交易声明可替换;CPFP 则不动原交易,而是花它的输出并带上更高费率,让矿工连同父交易一起打包。父交易费率过低或体积过大时,CPFP 往往更可行;反之,若原交易带显式信号且你保留着私钥与元数据,直接替换更干净。两种手段都可能受祖先数量与体积上限约束,卡单场景下先查内存池里这笔交易的祖先集大小,再决定用哪条路,比盲目加费有效。对普通用户而言,钱包是否内置这些按钮,本质是它是否替你管理了原交易的完整数据——这也是为什么备份交易记录在排障阶段有价值。