集群内存池完成了吗?——本周比特币核心#32

INSIDER 发布于 2026-02-27 阅读 59

本周比特币核心开发进展:合并了包括矿工IBD后冷却、miniscript解析泛化、集群内存池SFL成本模型改进等PR;IRC会议上宣布结束集群内存池工作组,感谢参与者;还有内核工作组和基准测试工作组的更新。

bitcoin++ 是一个国际比特币开发者会议系列。"Insider Edition" 是我们的编辑部,报道 bitcoin++ 世界内外发生的一切。

上周比特币动态

Cluster Mempool 完成了吗? - 本周 Bitcoin Core #32

本周我们告诉矿工在 IBD 后立即冷却...

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

已合并的 PR
每周都有若干变更正式添加到 Bitcoin Core。本周共合并了 19 个变更。以下是我觉得比较有趣的一些。

此修改将 createNewBlock() 从一个可以快速返回的方法,改为可能阻塞几分钟的方法。冷却不会快速返回,而是等待 IBD 完成。然后,当链尖向前移动时,它会等待几秒钟,看看链尖是否更新;如果是,则重启计时器。

冷却功能是可选的,因为它不应用于内部非 IPC 代码,在测试 IPC 客户端时(例如在 Signet 上)也不应暂停。

Sjors 一直在改进 IPC 接口,这是他的系列修改之一!

Miniscript 有一个解析器,目前它在解析键、哈希或锁定时间表达式时只查找下一个“)”。当表达式包含嵌套表达式时,这会导致失败。目前,嵌套表达式仅可能出现在键表达式中的 musig() 内。Achow101 注意到这个模式可以推广到处理哈希和锁定时间,因此他也实现了这一点。

  • Cluster mempool: SFL cost model (take 2) 作者 sipa 这是 cluster mempool 跟踪问题 的一部分。此变更提高了生成森林线性化(SFL)成本模型的准确性。SFL 成本模型控制对于无法在合理时间内线性化的集群,算法消耗多少 CPU 时间。目标是拥有一个衡量已完成工作量的度量。我们希望在线性化过程中对工作量设置上下界。

存在相互冲突的设计目标。一方面,理想的情况是指标与实际 CPU 时间紧密相关,但使其依赖系统则可能成为噩梦,因为这样很难在全网范围内预测/推理。

PR 中列出了多种解决方案,Sipa 选择了中间路线,通过基准测试确定了函数调用/分支/循环的权重来计数。

你可以在 PR 中阅读完整规范。

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

该 PR 向 IPC Mining 接口添加了一个 submitBlock 方法,相当于 submitblock RPC。它接受一个通过 IPC 序列化的区块,并通过常规区块处理路径验证/处理它。

该方法使用与 checkBlock 相同的结果形状:bool + reason/debug 输出参数。它报告重复、不确定和无效区块的拒绝细节,并在每次调用时初始化 reason/debug。

关闭 #34626


IRC 会议笔记
每周四都有一次 IRC 会议。以下是该会议的一些简短笔记。
16:01:37 <fjahr> #topic Cluster Mempool WG Update (sdaftuar, sipa)
16:02:21 <sipa> 我已关闭 #30289。遗憾的是,这也意味着解散 cluster mempool 工作组。
16:02:34 <fjahr> 安息吧!
16:02:52 <sipa> 感谢各位让我们走到这一步。
16:03:29 <sipa> 就这些 :)
16:03:45 <fjahr> 恭喜走到这一步,谢谢!
16:03:55 <instagibbs> 项目打得不错,恭喜
16:04:17 <andrewtoth_> 恭喜 sipa!
16:04:47 <sipa> 距离 sdaftuar 和我开始讨论它正好三年多 :)
16:03:47 <fjahr> #topic Kernel WG Update (sedited)
16:04:45 <sedited> 另一个改进 blockmap 和 cchain 并发的 RFC PR 已在 #34654 中开启
16:04:54 <sedited> 我这边就这些。
16:05:16 <fjahr> #topic Benchmarking WG Update (l0rinc, andrewtoth)
16:05:39 <andrewtoth_> #34165 已合并,谢谢大家!
16:05:46 <andrewtoth_> 我还对 #31132 进行了变基,也整合了 furszy 的 ThreadPool。我希望在 v31 分支后能尽快合并它。
16:06:18 <andrewtoth_> 不确定 l0rinc 是否在这里,但他在上周会议后开启了 #34641。能把它纳入 v31 就好了。
16:06:29 <andrewtoth_> 我这边就这些。

发布版本
  • 本周无发布版本

感谢阅读。请下周再来收看 Bitcoin Core 的最新动态!

如有任何评论、建议或错误,欢迎随时联系或留言。

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

相关文章

0 条评论