新闻加密货币Bitcoin Core 32.0 以更快的区块验证与安全修复瞄准10月10日发布

Bitcoin Core 32.0 以更快的区块验证与安全修复瞄准10月10日发布

作者: Decrypt·

要点速览

  • Bitcoin Core 32.0 已于周一进入候选版本测试阶段,开发者的目标是10月10日发布最终版本,但测试结果可能使这一时间表发生变化。
  • 此次更新通过并行读取数据库信息加快区块验证速度,在不改变比特币出块速度的情况下减轻节点运营者的工作负担。
  • 一项安全修复可防止恶意构造的钱包名称在非 Windows 系统上触发命令,具体情形为已认证用户可以创建钱包且 walletnotify 功能被配置为执行命令。
  • 贡献者 Matthew Zipkin 在使用 AI 模型 Kimi K3 审计 Bitcoin Core 新 HTTP 服务器时发现了内存耗尽漏洞,审查过程中还发现启用 REST 接口时未认证请求也可能导致内存增长。
  • 修改补丁后,16 个未认证连接在 90 秒内造成的内存增长约为 3 MB,低于此前的 3.2 GB,该修复已于9月5日合并到 Bitcoin Core 32.0 中。
Bitcoin Core 32.0 以更快的区块验证与安全修复瞄准10月10日发布

根据项目日程,允许计算机独立验证比特币支付的开源软件 Bitcoin Core 32.0 已于周一进入候选版本测试阶段。候选版本是预先发布的版本,供测试人员在最终版本发布前发现遗留问题。开发者的目标是10月10日交付完成版本,不过测试结果仍可能使这一时间表发生变化。

此次更新主要影响使用该软件运行钱包和其他服务的节点运营者和开发者,而非日常使用钱包应用的用户。性能是此次更新的核心重点:根据发布说明草案,此次更新可通过并行读取数据库信息加快区块检查速度,同时不会改变比特币出块的速度。更快的验证之所以重要,是因为全节点的核心任务是根据网络规则检查每个新区块——区块大约每十分钟到达一次——因此减少这部分工作可以减轻在没有受信任第三方的情况下验证支付的持续负担。

四条钱包命令还将默认采用一种新的格式,用于在钱包和签名设备之间交换部分签名交易——这种格式允许未完成的交易在完成之前跨设备收集签名——不过应用程序仍可根据需要请求使用旧版本。

安全是此次发布的另一项重点。其中一项修复可防止恶意构造的钱包名称在节点的计算机上触发命令。该漏洞影响非 Windows 系统,具体情形为:已认证用户可以创建钱包,且 walletnotify 功能被配置为在钱包交易发生时执行命令。这类漏洞之所以受到高度关注,是因为它模糊了数据与指令之间的界限:钱包名称通常只是一个标签,却可能与 walletnotify 功能的命令执行产生交互,而该补丁切断了这一路径。

另一项单独的补丁解决了该项目新 HTTP 服务器中内存使用过多的问题,该服务器负责处理来自已连接应用程序的请求。贡献者 Matthew Zipkin(网名 pinheadmz)在其补丁提案中描述了一个“内存耗尽场景”。他最初的评估将风险范围限定在已认证的客户端。

Zipkin 表示,他是在使用 AI 模型 Kimi K3 审计 Bitcoin Core 的新 HTTP 服务器时发现该漏洞的,这一 AI 模型也曾被比特币红队用于搜索比特币软件中的漏洞。他解释说,此前的修复已解决了部分问题,但一种耗尽计算机可用内存的途径——即“OOM”(内存不足)状态——仍然存在。

在对同一补丁的审查过程中,GitHub 用户 jeanpablojp 发现,在启用 REST 接口的情况下,未提交凭据的请求也可能导致内存增长。Zipkin 修改补丁后,审查者报告称,16 个未认证连接在 90 秒内造成的内存增长约为 3 MB,而更改前为 3.2 GB。修改后的补丁已于9月5日合并到 Bitcoin Core 32.0 中,作为持续改进软件安全工作的一部分。未认证的情况将担忧范围扩大到了最初的评估之外,因为这类请求不需要受信任的已登录用户。

该补丁发布之际,比特币相关软件正经历一段更广泛的漏洞响应时期。硬件钱包制造商Box 于8月修复了两个严重的固件漏洞,并表示没有发现被利用的证据。另外,支付软件 Core Lightning 的开发者也在准备修复的同时就已确认的漏洞向节点运营者发出警告。从现在到10月10日之间的候选版本将表明目标日期能否守住,而这些修复只有在运营者最终运行更新版本的情况下才会生效。