技术支持
Blockchain

Stacks恢复区块生产,尽管有“偶尔退化”的警告

比特币二层区块链解决方案 Stacks 于 5 月 24 日宣布,在解决与“源于 stacks-node 的内存池同步逻辑的不当行为”有关的问题后恢复区块生产。

分享
Stacks恢复区块生产,尽管有“偶尔退化”的警告

Stacks 警告区块生产中存在“偶尔降级”

5 月 24 日,比特币二层区块链解决方案 Stacks 宣布,在解决“源于 stacks-node 的内存池同步逻辑的不当行为”后恢复区块生产。它建议所有节点操作员,尤其是矿工和签名者,将节点升级到版本 3.1.0.0.11。

然而,在通过 X 共享的更新中,该二层解决方案警告称,在所有矿工和签名者完成升级之前,区块生产将会进一步“偶尔降级”。该公告指示节点操作员尽快升级到最新版本,仅在核心开发人员声称已识别潜在原因的几小时后发布。在最初在 Github 上共享的验尸报告中,Stacks 团队表示:

“该漏洞实际上可以追溯到 2020 年,与 stacks-node 的内存池同步逻辑中的不当行为有关,这导致某些节点在响应正常内存池同步使用的 RPC 调用时返回不当消息。调用该 RPC 调用的 Stacks 节点存在不当行为逻辑,导致其网络变得无响应,直到最近的一些区块中运行的数据远远超过之前的情况下才成为问题。”

根据初步调查结果,最新升级与 3.x.x.x.x 的 chainstate 目录兼容。最新升级的发布预计将最终解决该问题,Stacks 最初在 4 月 18 日承认了该问题。

Stacks 在警告“偶尔降级”中恢复区块生产

当时,Stacks 团队坚称“简单修补”可以解决问题,节点操作员无需做任何事情。然而,5 月 19 日,矿工在区块 897442 处因比特币分叉而导致区块生产延迟,促使开发人员进行另一次调查。

在看到 70% 的签名者恢复到前一个版本的 chainstate 后,正常区块链生产恢复,开发人员在四天后再次报告延迟。