查看原文
其他

Findora 主网升级中断事后分析报告 | 2022 年 11 月 15 日

Findora Findora 2022-11-25

Findora 主网升级中断事后分析报告


此事后分析报告是为社区编写并提供给社区的,以做到对最近发生的主网升级中断事件的公开透明。本文将描述该事件过程、根本原因及其解决方案,同时强调将如何进行改进以防止此类问题再次发生。


活动日期


2022 年 11 月 15 日,星期二


影响和持续时间


  • 主网升级中断

  • 时长:4.5 小时


概述


Discreet Labs DevOps 团队试图与 Findora 的社区验证者协调,以在 Findora 主网上进行试点升级。在此期间,主网升级出现意外中断。工程师发现此问题后,立即开始故障排除,并与受影响的验证者合作,将节点恢复到了之前的版本。更多的社区验证者加入到了恢复节点的工作中。


发生了什么


2022 年 11 月 15 日(太平洋标准时间)下午 5 点左右,Findora 主网升级停止了 4.5 小时。在使用 v0.3.3X 主网更新进行试点升级期间,DevOps 与一组验证者协调后,从较新的 Findora 钱包测试版发送的几笔交易触发了这一事件。


事件监控系统监测到该事件,Discreet Labs 在收到通知后 10 分钟内便开始了故障排除工作。


根本原因


v0.3.3X 更新在交易主体中包含一个新的交易参数。节点的交易哈希计算逻辑如下:


反序列化 -> 签名验证 -> 事务执行 -> 序列化 -> 计算事务哈希


由于新参数在之前的版本中不存在,运行 v0.3.27 的节点在计算交易哈希时忽略了该参数。而在 0.3.3X 版本中,该字段参与了交易哈希计算,导致交易哈希不一致。


决议


在 v0.3.3X 中,哈希计算将忽略新的交易参数,但将保留其在签名验证中的作用。此次发布 v0.3.3X 的更新将确保交易哈希与 v0.3.2X 节点保持向后兼容。


继续前行


Discreet Labs 团队已经总结了一些经验教训和要采取的预防措施。以下是团队将协作使用的方法,以最小化风险和优化沟通。


  1. 通过 Mainnet-Mock 进行额外测试


  • 具有潜在影响的升级将在名为 “Mainnet-Mock” 的暂态网络上进行额外的测试。该网络将是主网的相同副本,包括其数据和验证器,充当 Findora 生产网络的镜像。

  • Mainnet-Mock 将根据需要创建和解构。作为 Mainnet 的镜像副本,针对 Mainnet-Mock 网络的测试将需要 Findora 社区验证者的协助和密切沟通,以达到 > 66.67% 的共识。

  • 具有潜在影响的升级将在 Mainnet-Mock 网络上进行验证,然后才被归类为“Mainnet-Ready”。


  1. 变更管理流程改进


有潜在影响的变更将经过改进的变更管理流程。这些流程改进将确保所有适当的涉众与工程变更任务保持同步。


  • Discreet Labs 将继续使用上述计划,确保合作伙伴和 CEX 收到即将发生的变更的通知,必要时将继续提供技术支持。

  • 有潜在影响的变更细节将在预定变更日期之前与社区进行广泛沟通。Discreet Labs 将在变更前两周、前一周、前三天、前一天、变更当天和变更后一天共享信息。

  • 变更信息将在社交媒体上共享,并作为公告发布到官方 Discord 和 Telegram 频道以及 Reddit。Discreet Labs 将通过 Discord 和 Telegram 通过验证者专用渠道与验证者社区进行沟通。

  • Mainnet-Mock 测试将作为变更管理流程的一部分进行。有关 Mainnet-Mock 的信息,请参见上文。


非常感谢验证者社区,你们共同努力修复了节点。反映了 Findora 社区一直培养和拥护的积极价值观。您帮助去中心化和保护 Findora 网络的决定值得称赞。


我们期待着将主网升级到 v0.3.3X。


关于 Findora


Findora 将以太坊的可编程性与先进的隐私保护 ZK 技术相结合。它允许开发人员使用Solidity、SDK 和他们熟悉的功能来构建创新的隐私 Dapp。

作为一条创新的 L1, Findora 是零知识密码学领域的领导者。它的 ZK 技术将允许开发人员将隐私和可审计性结合起来,以实现合规性。通过 SDK, Findora 为 Web3 提供了一个即插即用的隐私工具。

通过隐私保护和零知识创新,Findora 使 Web3 能够被大规模采用。

Findora 相关链接:

Website:https://findora.org
Mainnet:https://mainnet.findora.org
Medium:https://medium.com/findorafoundation
Twitter:https://twitter.com/Findora
Github:https://github.com/findoranetwork
Findora Academy:https://medium.com/findorafoundation/tagged/academy

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存