本周的时事通讯描述了一项提议,即改变比特币核心(Bitcoin Core)针对矿工区块模板的交易选择算法,以略微提高矿工的盈利能力,并让收费高昂的用户获得更多的集体杠杆。此外,还包括我们的常规章节,介绍软件版本和候选版本,以及流行的比特币基础设施软件的显著变化。
新闻
基于候选集(CSB)的块模板构建:Mark Erhardt在Bitcoin Dev邮件列表上发布了一篇关于他和Clara Shikhelman对矿工事务选择算法的分析。比特币的共识规则强制规定,除非所有未确认的祖先也在同一块中较早地包含,否则任何交易都不能包含在该块中。比特币核心解决了这一限制,将每一笔未确认祖先的交易都视为同时包含这些祖先的费用和规模。例如,如果交易B依赖于未确认的交易A,那么比特币核心将两个交易支付的费用相加,然后除以两个交易的总规模。这使得Bitcoin Core能够根据有效费率公平地比较mempool中的所有交易,无论这些交易是否有祖先,Erhardt和Shikhelman指出,一个可能需要更多CPU的更复杂的算法可以找到一组相关的交易,这些交易甚至比Bitcoin Core现有的简单算法更有利可图。作者在mempool历史数据上测试了他们的算法,发现在几乎所有最近的区块中,它的收费都会比Bitcoin Core现有的算法略高,改进后的算法可以允许多个用户各自从一个大的coinjoin或批处理支付中获得一个输出,每个用户支付CPFP费用所需的总费用的一小部分,以增加该coinjoin或支付。与当前情况相比,这将是一种改进,在当前情况下,每个用户的CPFP费用突增都是独立考虑的,并且多个相关费用突增可能不会对是否挖掘祖先事务产生聚合影响。
释放和释放候选人
热门比特币基础设施项目的新版本和候选版本。请考虑升级到新版本或帮助测试候选版本。
hwi2.0.2是一个小版本,它增加了对BitBox02消息签名的支持,总是使用h而不是’BIP32路径,并提供了一些错误修复。
LND 0.13.0-beta.rc3是一个候选版本,它增加了对使用修剪过的比特币完整节点的支持,允许使用原子多路径(AMP)接收和发送支付,并增加了PSBT功能,以及其他改进和错误修复。
显著的代码和文档更改
本周,比特币核心、C-Lightning、Eclair、LND、Rust Lightning、libsecp256k1、硬件钱包接口(HWI)、Rust Bitcoin、BTCPay服务器、比特币改进方案(BIPs)和闪电出现了显著变化。
比特币核心#20833是第一个在比特币核心中实现mempool包验收的公共关系。此更改允许testmempoolaccept RPC接受多个事务,其中后面的事务可能是先前事务的后代。未来的PRs可以测试L2事务链,通过rpc将事务包直接提交给mempool,并通过P2P网络进行通信。
Bitcoin Core#22017更新用于Windows发行版的代码签名证书,之前的证书被其颁发者吊销,但没有提供明确的原因。比特币核心的几个最新版本可能会以稍微不同的版本号重新发布,以便他们的Windows二进制文件可以使用此证书。
比特币核心#18418增加了接收到同一地址的最大UTXO数,如果设置了避免重复使用钱包标志,则该地址将同时使用。一起花费的输出越多,相对于带有默认标志的钱包,费用可能越高,但第三方能够识别用户以后的交易的可能性也越小。
C-Lightning#4501为大约一半的C-Lightning当前命令的输出添加了JSON模式(另一半的模式计划在将来添加)。运行C-Lightning的测试套件时产生的输出将根据模式进行验证,以确保一致性。这些模式还用于自动生成C-Lightning的文档,说明每个命令产生的输出。
LND#5025增加了对使用signet的基本支持。在Optech跟踪的其他LN实现中,C-Lightning也支持signet(参见时事通讯#117)。
LND#5155增加了一个配置选项,可以随机选择在交易中花费哪些钱包UTXO;随着时间的推移,这减少了钱包中的UTXO碎片。相比之下,LND中的默认硬币选择算法花费了h