53 / 691CPFP

CPFP (Child Pays for Parent)

子交易为父交易付费

子代支付父代(CPFP)是一种增加费用激励的方法,其中昂贵的子代花费廉价的未经确认的父代交易的输出,并增加整个依赖包对矿工的吸引力。

CPFP 不会替换或修改父交易。创建一个孩子需要更高的费用;由于没有父级就无法开采子级,因此其费用可以在经济上补贴整个套餐。成功取决于共同的套餐费率、输出控制、内存池政策和矿工选择。 (feerate)

CPFP 保持廉价的未确认父级不变,并将其输出之一花在更昂贵的子级上。由于没有父母的孩子无法被开采,矿工只能通过包含整个依赖包来获得这两笔费用。

对于简单的对,大约(费用父级 + 费用子级)/(vsize 父级 + vsize 子级)是决定性的。只有当公共套餐费率开始与其他交易竞争区块空间时,高额子费用才会有所帮助。

正常的 CPFP 需要检查父级的至少一项消耗性输出。发送方可以使用更改,接收方可以使用其收到的输出;谁不控制任何输出,就不会签署有效的孩子。

RBF 使用相同的输入创建冲突替换,而 CPFP 保留父级并添加子级。因此,RBF 需要检查原始输入,CPFP 检查父交易的输出。

共识决定了有效性、mempool 策略本地接受以及中继和矿工策略选择来块模板。 CPFP 不会改变任何共识规则,经济上良好的一揽子计划仍可能遇到政策限制。

Bitcoin Core 26添加了submitpackage和CPFP包。高费用的孩子可以帮助低于内存池最低费率的父级,但不能帮助低于最低中继费率的父级;此外,本地接受并不能保证传播到所有同行。

由于内存、CPU 和中继成本,节点限制了祖先和依赖拓扑。因此,即使费用足够,CPFP 也可能在祖先、后代、标准或套餐限制方面失败。

Bitcoin Core 31 转向集群费率图和块费率。历史上的 CPFP 剥离已被取消,因此必须根据当前的集群和一揽子政策来判断今天的行为。

有竞争力的套餐费率会增加纳入的可能性,但不会在下一个区块中保留位置。这取决于区块空间的需求、促销和具体的矿工政策。

通过 getmempoolentry 检查费用、vsize 和父子绑定。 testmempoolaccept将测试candidate并提交package支持的包;整个方案的有效性和经济性决定,而不是孤立的费用子。

要获得更完整的理解,请将本词条与以下词条结合阅读: Replace-by-Fee (RBF), 交易费, Fee Rate, Mempool, 交易, UTXO. 反向关联还来自: 找零输出, 确认, 双花, Fee Rate.

DOC · 001Bitcoin Core 26.0 release notes — submitpackage and package CPFP文档DOC · 002Bitcoin Core 31.0 release notes — cluster mempool and CPFP carveout removal文档DOC · 003Bitcoin Core validation.cpp — package feerate policy一手来源DOC · 004Bitcoin Core package policy implementation一手来源DOC · 005Bitcoin Core mempool terminology文档DOC · 006Bitcoin Developer Guide glossary — Child Pays for Parent文档DOC · 007Bitcoin Core RPC documentation文档DOC · 008Bitcoin Core package relay policy文档
复核于2026年8月1日来源优先 · 非投资建议