本周的周报分享了关于比特币和闪电网络实现差分模糊测试的更新,并链接到一篇关于用于可问责计算合约的混淆锁的新论文。此外还包括我们的常规部分:总结了 Bitcoin Stack Exchange 的热门问题和答案、新版本和候选版本的公告,以及对热门比特币基础设施软件的重大变更介绍。

新闻

  • 比特币和闪电网络实现差异化模糊测试的更新: Bruno Garcia 在 Delving Bitcoin 上发布了关于 bitcoinfuzz 最近进展和成就的描述,这是一个用于对基于比特币的软件和库进行模糊测试的库和相关数据。成就包括发现了“btcd、rust-bitcoin、rust-miniscript、Embit、Bitcoin Core、Core Lightning [和] LND 等项目中的超过 35 个错误”。发现的闪电网络实现之间的差异不仅揭示了错误,还推动了对闪电网络规范的澄清。鼓励比特币项目的开发者调查使其软件成为 bitcoinfuzz 支持的目标。

  • 用于可问责计算合约的混淆锁: Liam Eagen 在 Bitcoin-Dev 邮件列表上发布了关于他撰写的一篇论文,该论文描述了一种基于混淆电路创建可问责计算合约的新机制。这与最近其他将混淆电路用于 BitVM 的独立工作类似(但不同)(参见周报 #359)。Eagen 的帖子自称“(在他看来)第一个实用的混淆锁,其欺诈证明是单个签名,与 BitVM2 相比,链上数据减少了超过 550 倍”。截至撰写本文时,他的帖子尚未收到任何公开回复。

Bitcoin Stack Exchange 精选问答

Bitcoin Stack Exchange 是 Optech 贡献者寻找问题答案的首选之地,也是我们有闲暇时会给好奇和困惑的用户帮忙的地方。在这个月度栏目中,我们会列举自上次出刊以来出现的一些高票的问题和答案。

新版本和候选版本

热门比特币基础设施项目的新版本和候选版本。请考虑升级到新版本或帮助测试候选版本。

重大的代码和文档变更

本周的重大变更有:Bitcoin CoreCore LightningEclairLDKLNDlibsecp256k1Hardware Wallet Interface(HWI)Rust BitcoinBTCPay ServerBDKBitcoin Improvement Proposals(BIPs)Lightning BOLTsLightning BLIPsBitcoin InquisitionBINANAs

  • Bitcoin Core #31802 默认启用进程间通信(IPC)(ENABLE_IPC),在除 Windows 外的所有系统上将 bitcoin-nodebitcoin-gui 多进程二进制文件添加到发布构建中。这允许创建、管理和提交区块模板的外部 Stratum v2 挖矿服务在不需要自定义构建的情况下试验多进程布局。有关多进程项目和 bitcoin-node 二进制文件的更多背景信息,请参见周报 #99#147#320#323

  • LDK #3979 添加了拼接输出支持,使 LDK 节点既能发起拼接输出交易,也能接受来自对手方的请求。这完成了 LDK 的通道拼接实现,因为 LDK #3736 已经添加了拼接输入支持。此 PR 添加了一个涵盖输入和输出场景的 SpliceContribution 枚举,并确保拼接输出交易的输出值在考虑费用和储备要求后不超过用户的通道余额。

  • LND #10102 添加了 gossip.ban-threshold 选项(默认为 100,0 为禁用该特性),允许用户配置禁用发来无效gossip消息的对等节点的分数阈值。对等节点禁止系统之前已引入并在周报 #319中介绍。此 PR 还解决了一个问题,即解决了响应积压 gossip 查询请求时发送了不必要的节点和通道公告消息的问题。

  • Rust Bitcoin #4907 通过向 ScriptScriptBuf 添加新的通用标签参数 T 来引入脚本标记,并定义了类型别名 ScriptPubKeyScriptSigRedeemScriptWitnessScriptTapScript,这些别名由密封的 Tag 特征支持,用于编译时角色安全。