模糊测试现已可视化 —— 本周 Bitcoin Core 动态 #33

INSIDER 发布于 2026-03-06 阅读 49

本周Bitcoin Core开发周报介绍了Brink/dergoegge发布的fuzzing活动可视化新仪表盘,合并了15项PR,包括修复Rust IPC客户端稳定性、优化私有广播测试、修复钱包关闭时同步问题等。IRC会议讨论了fuzzing仪表盘、QML GUI开发、31.0里程碑等。文章提供了技术细节和社区协作动态。

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

上周比特币动态

模糊测试现已可视化 - 本周 Bitcoin Core 动态 #33

本周,模糊测试工具有了新仪表盘...

大家好 👋,我是 kevkevin,一名开源开发者,也是 Insider Edition 的记者。上周,我审核了 Bitcoin Core 仓库中的几个拉取请求。

本周,Brink/dergoegge 宣布推出一个新仪表盘,用于查看 Bitcoin Core 上的所有模糊测试活动。

已合并的 PR
每周都会有多个变更正式添加到 Bitcoin Core 中。本周共合并了 15 个变更。以下是我认为本周值得关注的一些内容。

Rust 挖矿客户端在异步请求和连接非正常断开时遇到了问题。为了解决这个问题,该 PR 同步了 Bitcoin Core 与 libmultiprocess 子树上的内容。具体来说,有一个变更用于避免非 C++ 客户端中的异步错误。

此项变更中新增了测试,并且在讨论中似乎存在一些内存泄漏问题,但已得到解决。

  • test: 让 p2p_private_broadcast.py 中的连接可以以任意顺序建立 by vasild

几个月前,Vasild 将私有广播功能合并到 Bitcoin Core 中,该功能允许交易通过短期 Tor 和 I2P 连接发送。如标题所示,此变更是测试变更。具体来说,是对功能测试的修改,目的是让私有广播中的连接可以以任意顺序建立。

如果发生以下两个事件:

  • (可能)自动建立的 10 个初始连接并未覆盖所有网络

  • (不太可能)特定网络的逻辑几乎立即启动。它使用的是均值为 5 分钟的指数分布(rng.rand_exp_duration(EXTRA_NETWORK_PEER_INTERVAL))。

因此,如果两者同时发生,那么第 11 个连接可能不是预期的私有广播,而是一个特定网络的连接。

  • wallet: 在断开链通知后调用 SyncWithValidationInterfaceQueue by achow101

当钱包断开链通知时,它不应再执行后续通知。但根据测试发现,情况并非如此。

目前,我们在断开链通知后继续执行关闭操作。现在,钱包会在关闭其余部分之前等待验证接口队列清空。

变更总是在实时更新和审核中。以下是一些仍处于开放状态且正在寻求审核的值得关注的 PR。

自从冲突交易追踪在 5613f98 中被移除后,ConnectTrace 中的哨兵模式就不再必要了。没有该追踪功能,ConnectTrace 只不过是 std::vector 的一个简单包装,因此直接将其替换为 vector 似乎更好。

同时,对命名进行现代化/更新,将 PerBlockConnectTrace 重命名为 ConnectedBlock

重构,无行为变更。


IRC 会议记录
每周四都会举行 IRC 会议。以下是本次会议的简短记录。
16:01:32 <fjahr> #topic 模糊测试工作组更新 (dergoegge)
16:01:38 <hodlinator> 大家好
16:01:59 <dergoegge> 我为 Brink 的模糊测试基础设施制作了一个仪表盘:https://dergoegge.github.io/fuzzor-dashboard/
16:02:19 <darosior9> 大家好
16:02:25 <dergoegge> 如果有人知道如何让它更有用,请告诉我
16:02:28 <fjahr> 非常酷
16:02:29 <pinheadmz> 大家好
16:02:36 <l0rinc> 大家好
16:02:44 <dergoegge> 已经在模糊测试工作组中收到了一些很好的反馈(谢谢!)
16:02:57 <dergoegge> 还想提一下 https://github.com/bitcoin-core/gui-qml/pull/503
16:03:08 <dergoegge> 如果能给 qt gui 也做类似的东西就太好了
16:03:36 <hebasto> qml 很快将成为新的图形界面
16:03:53 <dergoegge> 如果我们要继续维护它,通过这种方法进行一些模糊测试来增加我们的信心会很不错
16:04:34 <willcl-ark> 大家好
16:04:49 <dergoegge> 我自己不会去做这个,但如果有人感兴趣,我愿意帮助审核或编写模糊测试
16:05:50 <fjahr> dergoegge: 就这些吗?
16:06:34 <dergoegge> 是的,除非有人想补充
16:06:36 <johnny9dev> 大家好。我可以投入一些代币来研究 Qt 小部件的这个功能。我以前在另一个 qml 项目中构建过同样的东西
16:06:57 <dergoegge> 太好了!完成后告诉我!
16:07:05 <fjahr> #topic 内核工作组更新 (sedited)
16:07:54 <sedited> 这周没什么可分享的。
16:08:00 <fjahr> #topic 基准测试工作组更新 (l0rinc, andrewtoth)
16:08:04 <l0rinc> 我这边没什么
16:08:56 <andrewtoth_> 我根据上周会议和 #34641 的反馈创建了 #34692。希望这个足够简单,能纳入 v31。这将为我们的用户带来很大的用户体验改进。我们可以在 v32 中继续改进数据库缓存。
16:08:58 <corebot> andrewtoth_: 错误:该 URL 在前 32KB 内没有 HTML 标题。
16:09:00 <corebot> andrewtoth_: 错误:该 URL 在前 32KB 内没有 HTML 标题。
16:09:38 <andrewtoth_> 我这边就是这些
16:09:59 <fjahr> #topic 网络分裂工作组更新 (cfields)
16:10:14 <cfields> 仍然没有更新,精力一直在别处。真心希望这周能开始。感谢你的耐心 :)
16:11:29 <fjahr> 没有看到静默支付,但 k_max 的讨论正在取得进展(据我所知,BIP 变更已合并),重点又回到了实现这个功能的 secp PR 上。
16:11:39 <fjahr> 还有其他要讨论的吗?
16:12:15 <sipa> 大家好
16:12:20 <johnny9dev> 我想把 qml 项目重新放回每周主题列表中。过去两周我一直在重新投入工作,现在已经重新获得了完整的动力。
16:12:34 <johnny9dev> 我现在有了完整的动力*
16:12:59 <fjahr> #topic QML GUI 工作组更新 (johnny9dev)
16:13:01 <fjahr> :p
16:13:03 <johnny9dev> 我还有另一个贡献者在帮我,他也想更新自己的进展
16:13:09 <willcl-ark> 不错!
16:13:35 <fjahr> johnny9dev: 在我看来,你不需要请求许可,直接在维基页面上把它提上来就行
16:14:11 <johnny9dev> 我的目标是功能对等,我已经搭建了测试自动化框架,并完成了与原始 qt 项目的解耦。epcileafies 完成了节点断开/封禁功能,并使用图形界面测试框架为其完成了完整的端到端测试
16:15:18 <johnny9dev> 功能列表已添加到项目的 issue 中。
16:15:52 <johnny9dev> 这次状态更新大概就是这些了

关于这个话题还有更多讨论,请阅读会议记录全文
16:41:42 <fjahr> #topic 31.0 里程碑
16:41:57 <achow101> 分支定在 10 号,也就是 5 天后
16:42:36 <achow101> 里程碑中仍有 8 个开放的 PR:https://github.com/bitcoin/bitcoin/milestone/74
16:42:47 <achow101> 请大家审核
16:43:07 <sedited> 另外还有一个未解决的问题 #34735。
16:43:08 <corebot> https://github.com/bitcoin/bitcoin/issues/34735 | 在 rpc_gettxspendingprevout.py 中出现的间歇性失败,第 98 行,assert_equal(node0.gettxspendingprevout([..]), [..]), JSONRPCException: 内存池中未找到 outpoint :0 的支出交易,且 txospenderindex 不可用 · Issue #34735 · bitcoin/bitcoin · GitHub
16:44:32 <achow101> 就这些

发布
  • 本周无发布

感谢阅读。请务必在下一周继续关注 Bitcoin Core 的更新!

如有任何评论、建议或错误,请随时联系我们或发表评论

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

相关文章

0 条评论