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.