核心开发者集体失踪?——本周Bitcoin Core开发周报 #42

  • kevkevin
  • 发布于 2026-04-25 12:56
  • 阅读 15

本周Bitcoin Core开发周报:因CoreDev线下会议,IRC会议暂停一周。合并了11个PR,包括实现BIP 370 PSBTv2(支持交易输入输出动态修改)、新增compact block模糊测试harness、通过libbitcoinkernel C API暴露CheckTransaction共识验证函数。此外,一个在审查的PR尝试并行化区块输入获取以提升性能。

kevkevin • 2026年5月8日

大家好👋,我是 kevkevin。我是一名开源开发者,也是 Insider Edition 的记者。上周,我审查了 Bitcoin Core 代码库中的几个 pull request。

Bitcoin Core 开发者们本周缺席了每周的 IRC 会议,因为他们正在 CoreDev 进行线下聚会。这是一个每半年举办一次的活动,Bitcoin Core 贡献者们聚在一起讨论想法。每周的 IRC 会议将于下周四恢复。

已合并的 PR

每周,会有若干更改被正式添加到 Bitcoin Core 中。本周合并了 11 个更改。以下是我认为本周有趣的几个。

实现 BIP 370 PSBTv2 作者 achow101

Ava Chow 的 pull request,即实现 BIP 370(也就是 PSBTv2),本周被合并了。这意味着什么呢?

在 v1 版本中处理 PSBT 的问题是,已签名的交易无法被更改。这意味着无法添加输入和输出。PSBTv2 解决了这个问题。PSBTv2 还有其他好处,比如现在大部分信息都被放置在输入映射和输出映射中的单一位置。

要完全理解它,我建议你阅读完整规范

fuzz: compact block harness 作者 Crypt-iQ

你熟悉 Bitcoin Core 中的模糊测试吗?那你知道 compact blocks 是如何工作的吗?好吧,你很幸运,因为这个更改同时涉及这两者。

本周,Crypt-iQ 的 PR 被合并了,该 PR 在 Bitcoin Core 中添加了一个新的模糊测试工具 cmpctblock。类似于 process_message,它会生成有效和无效的区块,利用内存池中的交易重建区块等。

这是让 Bitcoin Core 获得更多模糊测试覆盖率的又一步,谁知道呢,也许这会在 Core 中发现 compact blocks 工作方式中的漏洞。

kernel: Expose CheckTransaction consensus validation function 作者 w0xlt

此更改通过 libbitcoinkernel C API 暴露了共识级别的函数 CheckTransaction,并添加了一个对应的 C++ 包装器。在此更改之前,无法对交易结构进行无上下文的验证检查,而这次更改提供了这种能力。

这引入了一个新的 API btck_check_transaction,在 C++ 包装器中它看起来像这样:btck::CheckTransaction

Bitcoin 内核项目已经进行了一段时间,这只是添加到其中的又一个 API。这带来了更多的功能和测试,这总是受欢迎的。

总有一些更改在实时更新和审查中。以下是一些仍在等待审查的值得注意的 PR。

validation: fetch block inputs on parallel threads 作者 andrewtoth

问题

目前,在 `ConnectBlock` 中获取输入时,每个输入都是从缓存中顺序获取的。缓存未命中需要访问磁盘数据库来获取 outpoint 并将其插入缓存。由于 `ConnectBlock` 期间数据库是只读的,我们可以在连接的同时,在多个线程上并行获取一个区块的所有输入。

解决方案

我们在 CoinsViewOverlay 中添加了一个线程池来并行获取区块输入。在进入 `ConnectBlock` 之前,区块被传递给 `CoinsViewOverlay` 视图,这会启动工作线程开始获取输入。缓存通过重写的 `FetchCoinFromBase` 方法返回已获取的 coins(一旦可用)。如果尚不可用,主线程也会在等待时获取 coins。

IRC 会议记录

每周四有一次 IRC 会议。以下是该会议的一些简短记录。

本周没有,因为 coredev 正在进行,因此 IRC 会议推迟到了下周。

发布版本

  • 本周无发布版本

感谢阅读。请务必在下周再次关注 Bitcoin Core 的最新动态!

如果有任何评论、建议或错误,请随时联系或留言

  • 原文链接: insider.btcpp.dev/p/core...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
kevkevin
kevkevin
江湖只有他的大名,没有他的介绍。