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



