# Electrum 比特币一直未确认：检查 RBF、CPFP 与加速费用

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/electrum-unconfirmed-rbf-cpfp-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

从已有交易找到可替换标记、可支配输出和费用预览，区分发送方 RBF 与收款方 CPFP；预览不会让交易自动确认。

## 使用工具
- [Electrum](https://lianxiaozhi.com/tools/electrum) · [官方入口](https://electrum.org/)

## 前置条件
- 使用已安装、地址已核对的 Electrum 桌面钱包或 watching-only 副本，准备原交易哈希、预期收款地址和数量；无需为排查重新导入恢复词。
- 适用于 Bitcoin 链上交易。菜单依据 Electrum 4 文档，当前官方 Qt 代码存在不同确认流程；手机端、其他币的分叉钱包及闪电支付不按本教程套用。
- 查看和未签名预览不产生矿工费；实际替换或子交易需要相应签名权限并支付费用，本教程的完成条件停在诊断和预览。

## 1. 在 History 找到原交易并记录状态

在 History 按原哈希定位交易，打开详情，记下方向、收款输出、确认状态与查看时间。先比对完整哈希和地址，避免把同金额的另一笔当成卡住的交易。记录使用的服务器；Electrum 对未确认记录依赖服务器，断连或记录遗漏不能直接解释为付款取消。

核对结果：得到一笔确定的原交易及当前确认状态；若已确认，结束未确认加速排查。
依据：[Electrum FAQ：未确认交易、服务器信任与加速入口](https://electrum.readthedocs.io/en/latest/faq.html)
依据：[Electrum：区块包含证明与 SPV](https://electrum.readthedocs.io/en/latest/spv.html)

## 2. 检查是否存在可用的 RBF 路径

在详情查 Replace by fee: True，再查看该笔 History 的右键菜单是否提供 Increase Fee。官方默认可替换的说明排除了闪电通道开关交易。仅收到付款、没有发送方签名权限时，不把 True 当成自己能替换；菜单缺失就记录不可用，继续检查 CPFP 条件。

核对结果：分别记录可替换标记、菜单是否存在、谁持有发送权限，不把一个标记当成全网接受保证。
依据：[Electrum FAQ：未确认交易、服务器信任与加速入口](https://electrum.readthedocs.io/en/latest/faq.html)
依据：[Electrum：watching-only、未签名交易与独立广播](https://electrum.readthedocs.io/en/latest/coldstorage.html)

## 3. 进入加费表单，明确选择预览

从原交易右键进入 Increase Fee，查看当前与新费用、目标费率。若界面有 Preview，选择预览后核对未签名交易。帮助页描述 OK 后出现未签名窗口，但当前官方代码还存在确认后进入 sign_tx 的分支；看不到明确预览入口时停在表单并取消，不用 OK、Sign 或 Send 试探。

核对结果：只取得费用表单或明确未签名的预览；未因按下确认按钮进入签名或广播。
依据：[Electrum FAQ：未确认交易、服务器信任与加速入口](https://electrum.readthedocs.io/en/latest/faq.html)
依据：[Electrum 官方 Qt RBF 代码：预览、签名、费用策略与错误](https://raw.githubusercontent.com/spesmilo/electrum/280e6ca90ade4a82d7e459804b96be239489b75a/electrum/gui/qt/rbf_dialog.py)

## 4. 核对加费由谁承担及收款金额

若界面提供 Method，核对保留付款金额或减少付款金额的策略；当前代码对应的提示分别是付款人多付、收款人少收。逐项比对原收款输出与预览，账单要求足额付款时不能默认接受少收。代码按 sat/vbyte 比较新旧费率，并拒绝新费率不高于旧值；总费用、费率和额外费用分别记录，不混用。

核对结果：收款地址与应付数量满足原约定，费用单位明确，知道加费是否减少收款额。
依据：[Electrum 官方 Qt RBF 代码：预览、签名、费用策略与错误](https://raw.githubusercontent.com/spesmilo/electrum/280e6ca90ade4a82d7e459804b96be239489b75a/electrum/gui/qt/rbf_dialog.py)

## 5. 没有 RBF 时检查 CPFP 可支配输出

收款方可检查收到的未确认输出，发送方则检查是否有属于自己的找零。右键原交易查看 Child pays for parent；此路径是在花费相关输出的新交易中加费，不是修改父交易。记录表单给出的费用；若不能预览、没有可支配输出或菜单不可用，退出并请发送方检查其方案，不另发一笔同额付款。

核对结果：明确拟花费的是父交易的哪个自有输出，以及子交易费用；不可用时保留具体原因。
依据：[Electrum FAQ：未确认交易、服务器信任与加速入口](https://electrum.readthedocs.io/en/latest/faq.html)
依据：[Electrum：watching-only、未签名交易与独立广播](https://electrum.readthedocs.io/en/latest/coldstorage.html)

## 6. 保存诊断并区分预览、签名与确认

关闭未签名窗口，记录原哈希、方案、预览费用、时间及错误信息。watching-only 能构造交易，实际发送仍需独立签名与广播；普通钱包也应由持有人另行确认。后续核对新交易时，同时保留原交易和替换或子交易的关系；广播成功不是入块证明，要继续查看确认状态。

核对结果：留下可复核诊断；只有重新查询到区块确认，才把相关交易记为已确认。
依据：[Electrum：watching-only、未签名交易与独立广播](https://electrum.readthedocs.io/en/latest/coldstorage.html)
依据：[Electrum：区块包含证明与 SPV](https://electrum.readthedocs.io/en/latest/spv.html)
依据：[Electrum 官方 Qt RBF 代码：预览、签名、费用策略与错误](https://raw.githubusercontent.com/spesmilo/electrum/280e6ca90ade4a82d7e459804b96be239489b75a/electrum/gui/qt/rbf_dialog.py)

## 常见错误
- RBF 和 CPFP 是提高打包机会的方案，不保证立即确认；等待若干天也不保证自动取消或可以放心重复付款。
- Cancel (double-spend) 属于构造替代交易的不同任务，不能撤销已经确认的付款；不要把它当作免费退款按钮。
- 当前 Qt 代码的预览分支与 FAQ 的 OK 描述不同；固定代码版本用于说明差异，不承诺所有已安装版本按钮相同。
- 查询公共服务器会暴露地址关联；不要在客服或截图中公开整个 xpub、钱包文件或秘密。

## 完成检查
- 原交易、确认状态、发送权限和可支配输出已分别记录，RBF/CPFP 的适用路径与失败原因明确。
- 取得费用表单或明确未签名预览，核对数量和单位；没有预览选项时以取消表单完成诊断。
- 本教程经官方正文及代码核验，未使用真实钱包执行预览、签名、广播或完成加速验收。

## 相关知识
- [比特币 RBF 是什么？提高费率能否取消已经确认的交易](https://lianxiaozhi.com/learn/bitcoin-rbf)
- [比特币 CPFP 是什么？子交易怎样帮助父交易提高打包机会](https://lianxiaozhi.com/learn/bitcoin-cpfp)
- [区块确认与最终性是什么？交易成功和充值到账为何不同步](https://lianxiaozhi.com/learn/confirmations-and-finality)

## 官方依据
- [Electrum FAQ：未确认交易、服务器信任与加速入口](https://electrum.readthedocs.io/en/latest/faq.html)
- [Electrum：watching-only、未签名交易与独立广播](https://electrum.readthedocs.io/en/latest/coldstorage.html)
- [Electrum：区块包含证明与 SPV](https://electrum.readthedocs.io/en/latest/spv.html)
- [Electrum 官方 Qt RBF 代码：预览、签名、费用策略与错误](https://raw.githubusercontent.com/spesmilo/electrum/280e6ca90ade4a82d7e459804b96be239489b75a/electrum/gui/qt/rbf_dialog.py)
