2026-11-02 11:16:58

CPFP解析:比特币父子交易加速与组合费率全面指南

摘要
比特币付款尚未确认,收款人除了耐心等待,还有没有可能加速确认过程?如果收款人能花费这笔未确认付款产生的输出,且钱包与节点支持相应处...

比特币付款尚未确认,收款人除了耐心等待,还有没有可能加速确认过程?

如果收款人能花费这笔未确认付款产生的输出,且钱包与节点支持相应处理,就可能透过CPFP 建立另一笔交易,提高相关交易组合的费率,吸引矿工一起收录。

CPFP 不会替换原付款。它建立的是依赖原付款的新交易,因此理解「父子关系」与「组合费率」,比只看子交易付了多少费用更重要。

CPFP 是什么? Child Pays For Parent 的意思

CPFP 是Child Pays For Parent 的缩写,常译为「子交易为父交易付费」。

它是一种交易费用调整方式:花费低费率未确认交易的某个输出,建立较高费率的子交易,让父子交易一起被收录更有吸引力。

其中「为父交易付费」是经济效果的描述,不是把额外费用填回父交易,也不是让父交易原本的手续费数字改变。

本文以Bitcoin(比特币)的一般交易为主,不将特定钱包功能视为全网通用介面。

父交易与子交易是什么?

Bitcoin 交易输入会引用先前的UTXO 未花费交易输出。若交易B 花费交易A 产生的输出,A 就是B 的父交易,B 是A 的子交易。

在符合条件的情况下,子交易可以先被建立与传播,不必等父交易取得一个确认后才开始处理。

但在有效链上,必须先有父交易产生输出,才有子交易花费它。父子交易可以出现在同一个区块,父交易在区块中的顺序须早于子交易。

项目父交易 A子交易 B资金来源引用更早交易的输出花费A 产生的至少一笔输出原本状态未确认且费率偏低为提高组合费率而新建立能否独立于另一笔成立不依赖 B不能在没有A 的有效历史中成立加速时的作用需要一起被收录提供更多费用诱因

CPFP 为什么可能加速确认?

在Mempool 交易池中,交易不一定是各自独立的候选项目。矿工若想收取子交易的费用,就必须处理它依赖的未确认交易。

如果相关组合的费率具竞争力,矿工可能选择一起收录。这是CPFP 的核心原理。

不过,并非全网有一个共同排序名单,也不是只要子交易费率高,矿工就必须将它放进下一个区块。传播、接受政策、依赖关系及后续费率竞争都会影响结果。

CPFP 组合费率怎么算?

先以「一笔未确认父交易+一笔子交易,且没有其他未确认依赖」的简化情境说明:

组合费率=(父交易费+子交易费)÷(父交易虚拟大小+子交易虚拟大小)。

费用以sat 计算,虚拟大小以vB 计算,得到的单位就是sat/vB。这是依两笔交易费用与大小加总推导的算例,不是任何节点都必定接受的门槛公式。

范例:父交易只有2 sat/vB,如何让组合达到10 sat/vB?

假设父交易大小为200 vB,已支付400 sat;预估子交易大小为150 vB,希望两笔合计达到10 sat/vB:

计算项目结果父交易原费率400 ÷ 200=2 sat/vB父子总大小200+150=350 vB目标总费用350 × 10=3,500 sat子交易需支付3,500-400=3,100 sat子交易本身费率3,100 ÷ 150≈20.67 sat/vB

子交易的费率约为20.67 sat/vB,组合费率才达到10 sat/vB,因为它也承担了提高整体竞争力的成本。

反过来,若只让子交易本身支付10 sat/vB,也就是1,500 sat,组合费率只有(400+1,500)÷350≈5.43 sat/vB。

以上均是假设数字,不代表当前建议费率。实际签署后的大小、费用取整及政策要求仍须核对。

有其他未确认祖先时,不能只算两笔

若父交易本身又依赖其他未确认交易,实际需要一起考虑的范围可能更大。若有其他子交易或更复杂的相连结构,矿工与节点也可能依交易群组评估。

因此,简单父子平均公式适合入门算例,不能直接代替所有版本的实际区块选择演算法。

谁可以使用CPFP?付款人与收款人都可能吗?

判断重点是「谁能花费父交易中的适合输出」。

角色可能使用的输出需要确认付款人自己控制的找零输出是否有找零、金额及花费条件是否适合收款人自己收到的未确认输出钱包是否允许建立相应子交易交易所用户通常由平台控制的链上输出平台是否提供相关处理服务其他人不一定具有花费权限只知道TxID 不代表能操作

一般情况下,付款人不能任意花费收款人的输出,收款人也不能任意花费付款人的找零。

如果付款直接存入交易所,由平台控制对应地址,使用者不能只凭帐面余额,在自己的钱包建立该输出的CPFP。

CPFP 操作教学:一般钱包流程

以下是通用检查顺序,实际按钮及支持条件依钱包不同。

步骤一:确认父交易仍未确认

取得原付款TxID,核对网路、地址与确认状态。父交易如果已经确认,便不再需要靠它的子交易带动确认。

步骤二:查看能否花费合适输出

确认自己控制的是找零还是收款输出,并查看钱包是否提供CPFP、子交易加速或相应的币控制功能。

若钱包限制使用未确认输出,或输出有不符当前条件的锁定要求,就不能假设按一般转帐即可完成。

步骤三:核对整个组合的费用

除了子交易自身费率,也查看父交易大小与费用,以及是否有其他未确认依赖。可优先使用钱包提供的组合估算,再确认额外成本。

所选输出的金额需足以安排子交易费用与有效输出;若需要加入其他输入,子交易大小及费用也要重新估算。

步骤四:确认子交易目的与签署内容

常见方式是将资产移至自己控制的地址。检查新地址、金额与费用,不要为了加速而把资产转给陌生服务。

签署应在自己的可信钱包或硬体钱包流程完成,公开查询与加速咨询不需要交出助记词。

步骤五:追踪父子两笔交易

CPFP 会新增子交易TxID,父交易TxID 不因建立子交易而改变。确认时要查看两笔状态,不能只看到子交易已广播就认定父交易已完成。

CPFP 与RBF 有什么不同?

RBF 费用替换会建立与原交易存在输入冲突的替代交易;CPFP 则建立依赖原交易的后续交易。

比较项目CPFPRBF原交易保留,仍需要确认与替代交易竞争资金引用花费原交易产生的输出与原交易竞争使用至少一笔相同输入谁能操作能花费合适输出的一方能授权替代交易的一方TxID保留父交易ID,新增子交易ID产生替代交易ID费用判读父交易与子交易都要计算查看最后有效交易及额外服务费

两者不是固定哪个比较便宜。应比较钱包支持情况、交易结构与实际成本。已有子交易时,也可能影响钱包可提供的替换选项。

CPFP 会收两笔矿工费吗?

若父子两笔交易都确认,两笔各自的费用都会计入,不像RBF 的原交易与替代交易互相冲突。

前述范例中,父交易费是400 sat,子交易费是3,100 sat,整体费用为3,500 sat。若另有服务费,则还需额外核对。

如果父交易已自行确认,而子交易也已有效广播,子交易并不会因此自动取消。它仍可能作为一般后续转帐继续确认并支付费用,操作前应考虑这个结果。

为什么CPFP 可能没有成功?

情况可能影响组合费率仍不足只看子交易高费率,忽略父交易或其他依赖成本父交易未被相关节点看到或接受子交易缺少可处理的前置资料交易群组不符合政策相连交易数量、大小或结构受到限制父交易被有效冲突交易取代原输出未在有效历史中成立,子交易失去来源输出金额不足或无法花费无法建立符合条件的子交易市场费率又上升原本估算不再具有相同竞争力

Bitcoin Core 31.0 的政策变化

Bitcoin Core 31.0 引入cluster mempool,以相连交易群组处理相关限制,并移除旧有CPFP carveout 例外。

移除carveout 不等于取消CPFP。它改变的是部分特定交易结构如何取得政策例外;一般读者仍可理解父子交易的加速原理,但不宜照抄旧版固定限制及「一定能多塞一笔子交易」的说法。

另外,将交易提交给一个节点,与保证全网传播、保证矿工收录是不同事情。套件提交与转发能力依软体版本及交易结构而异,不能以提交成功视为加速完成。

CPFP、双重支付与交易确认的关系

正常CPFP 是花费父交易建立的输出,不是竞争花费父交易原本的输入,因此不应直接称为双重支付。

不过,父交易尚未确认时,不能把收款视为完全不可改变。若原付款失效,依赖它的子交易也可能无法成立。

父子都被收进有效区块后,仍须依需求查看确认深度。

CPFP 常见问题FAQ

CPFP 中文是什么?

常称为子交易为父交易付费,或父子交易加速。

一定要付款人才能使用吗?

不是。能花费父交易中合适输出的一方,都可能在符合条件下操作,包括收款人。

父交易没确认,子交易能先建立吗?

可以在符合条件时先建立及传播,但有效链必须先包含父交易,才可包含花费其输出的子交易。

父子可以同一个区块确认吗?

可以,区块内须先排列父交易,再排列子交易。

子交易费率很高,就一定能加速吗?

不是。要一起考虑需要收录的未确认依赖、费用及接受政策。

CPFP 可以取消原付款吗?

不能把CPFP 当成撤回父交易的方法;它本身依赖父交易成立。

收到交易所地址的BTC,可以自己做CPFP 吗?

通常不能直接操作由交易所控制的输出,应先询问平台提供的处理方式。

CPFP 后原交易ID 会变吗?

不因建立子交易而改变;需要同时记录父交易与子交易各自的TxID。

声明:文章不代表链懂观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!转载请注明出处!侵权必究!
热门新闻
热门百科
回顶部