比特币核心本周进展

INSIDER 发布于 2025-11-07 阅读 39

比特币核心本周进展:合并了12个PR,包括引入共识C API(30595),允许外部实现与Bitcoin Core保持bug/规范兼容;更新CI工具链和新增MSAN模糊测试任务。开放PR如33745修复提交区块时witness承诺检查。IRC会议讨论了工作组进展,包括沉默支付、集群内存池(33629)等。无重大发布。

bitcoin++ 是一个国际比特币开发者会议系列。"Insider Edition" 是我们的新闻编辑室,报道 bitcoin++ 领域内外正在发生的事情。

上周比特币动态

本周 Bitcoin Core 动态

Bitcoin Core 贡献者 kevkevin 报道一些最新更新...

大家好 👋,我是 kevkevin,一名开源开发者,也是 Insider Edition 的记者。上周,我审查了 Bitcoin Core 仓库中的若干拉取请求。以下是我认为值得关注的。

已合并的 PR
每周都有若干更改被正式纳入 Bitcoin Core。本周,共有 12 个更改被合并。以下是其中一些我认为有趣的。

这一变化期盼已久。这是因为 Bitcoin Core 长期以来一直需要为其共识代码提供接口。这一点意义重大,因为在 Bitcoin Core 之外实现共识困难的主要原因之一,是你需要既符合 Bitcoin Core 的规范,也要与其中的 bug 保持一致——因为 Bitcoin Core 中的任何 bug 都应在其他实现中复现;否则,存在链分叉的风险。

  • 这一变更的作用是为 Bitcoin Core 的共识代码提供一个接口,因此用户现在可以做到与 Bitcoin Core 在 bug 和规范上保持一致,无需过分担心在自己的实现中正确实现共识代码。

  • ci: 在“tidy”任务中更新 Clanghebasto

此更新同步了 IWYU(Include what you use),使其兼容 clang 21,并修复了新的“modernize-use-default-member-init”警告。坦率地说,这个变化并不十分激动人心,因为它主要是版本更新,但这是 100% 必要的。

目前,该任务在 qa-assets 中运行,因此将其移植到 Bitcoin GitHub 仓库也是合情合理的。该任务的功能是运行针对 MSAN 的 模糊测试套件。这一变化本身也并不令人兴奋。模糊测试之前曾发现过破坏性变更,因此为项目增加另一个模糊测试任务是有意义的。


开放的 PR
总有变化正在实时更新和审查中。以下是一些仍在等待审查的值得关注的 PR。

当 IPC 客户端通过 Mining 接口请求新区块模板时,我们会保留其 CBlock。这样当它们调用 submitSolution() 时,我们可以在原地修改它,而无需像 submitblock RPC 那样重建整个区块。

然而,在此提交之前,我们忘记使 m_checked_witness_commitment 失效,但我们应该这样做,因为客户端带来了新的 coinbase。

这会导致我们接受无效的链尖。

修复此问题并添加一个测试,以确认我们现在拒绝这样的区块。作为 sanity check,我们在测试中添加了第二个节点,并确认它将接受我们挖掘的区块。


IRC 会议笔记
每周四都会举行 IRC 会议。以下是本次会议的一些简短笔记。
  • Erlay 工作组更新 (sr_gi)

    • 无更新
  • 模糊测试工作组更新 (dergoegge)

    • dergoegge: 无更新
  • 内核工作组更新 (TheCharlatan)

    • TheCharlatan: # 30595 已合并 :)

      • 我们上面已经提到了这个 PR ^^^^
    • 多人发送了赞美表情

    • 讨论关于绑定的放置位置

  • 基准测试工作组更新 (l0rinc)

    • l0rinc: 对于 # 31132,我们简化了多线程 InputFetcher,使其直接收集到临时缓存,以避免在遇到无效区块时修改主数据库缓存。由于我们不再因缺失条目而失败(验证不是缓存预热器的职责),我们可以安全地基于短 ID(而非完整交易 ID)过滤区块内花费——甚至不需要使用 SipHash,因为我们仅依赖排序后的向量二分查找进行存在性检查,基准测试表明这比之前快了几倍。所有这些都带来了不错的加速,在某些系统上,reindex-chainstate 的速度提升了高达 30%(详情见 https://github.com/bitcoin/bitcoin/pull/31132#issuecomment-3479640421)。本地基准测试还揭示代码中可能存在一些内存泄漏,见 # 33806(将进行调查)
  • 静默支付工作组更新 (Novo__)

  • 集群内存池工作组更新 (sdaftuar, sipa)

    • glozow: 以防 sipa 不在线 - #33629 是需要审查的 PR。我们希望下周进行一次审查“冲刺”,并欢迎任何有空闲的人加入。

    • glozow: 我整理了一份审查想法列表,特别针对那些不太熟悉所有代码领域的人: https://github.com/glozow/bitcoin/issues/13

  • Stratum v2 工作组更新 (sjors)

  • 多进程工作组更新 (ryanofsky)

    • 无更新
  • QML GUI 工作组更新 (johnny9dev)

    • 无更新
  • 网络分割工作组更新 (cfields)

    • cfields: 抱歉,过去几周我都不在,尚未开始工作,因此仍无可报告的内容。我希望下周能开启一个 issue,包含子项目的逻辑分组和提议的高级计划以供讨论/审查。
  • 休眠工作组

    • stickies-v: 我们已经有段时间没有在会议上收到 erlay 和多进程工作组的更新了。我建议暂时将它们从轮换中移除,直到有负责人联系我们重新激活。不想浪费大家的时间。有异议吗?

如需查看完整的日志,请参见 会议纪要


发布
  • 无重大发布

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


  • 原文链接: insider.btcpp.dev/p/this...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论