该文章评估了 Wormhole 协议是否满足 Uniswap DAO 跨链治理的使用场景,结论是满足。
评估结论
对 Wormhole 的分析得出结论,它满足 Uniswap DAO 跨链治理用例的要求,如上文的评估框架所述。验证者集合包括许多信誉良好的实体,并且验证者的数量和安全阈值都设置在令人满意的水平。
此外,该协议的实施和运营安全实践都经过深思熟虑,自 2022 年 2 月发生的漏洞利用事件以来,它们的 DevSecOps 实践和事件响应程序得到了显著改进。
委员会已经确定了一些需要改进的领域,并建议定期监测可能影响协议安全状况的任何重大变化。
Wormhole 是一个通用的跨链消息传递协议,包括用于资产转移的代币桥。该协议依赖于外部验证者集合来保证安全,并采用权限证明验证模型。协议的安全性取决于验证者集合成员的可信度。该协议假设验证者是信誉良好的企业,他们会诚实行事并遵守协议以维护其声誉。此外,该协议假设利益相关者可以在发生恶意行为时采取法律行动,因为验证者是已知的法律实体。
Wormhole 的验证者集合由 19 个验证者组成,每个验证者由不同的法律实体运营。这些实体中的大多数都是已建立且信誉良好的企业,它们将运营核心区块链基础设施作为其主要业务的一部分。每个验证者都为 Wormhole 连接的每个网络运行一个完整节点。
验证者观察来自源的跨链消息,对其进行签名,然后通过点对点网络传播其签名消息。验证者网络提供 API 端点,任何人都可以使用这些端点查询签名消息并将其提交到目标链。
只有当跨链消息至少具有 2/3 验证者的签名时,才会被认为在目标链上有效。这意味着,如果 13 个验证者串通或被入侵,协议的安全性可能会受到损害,并且可能会通过桥发送无效消息。同样,如果超过 1/3 的验证者(即 7 个验证者)离线,则协议的活跃性会受到影响。相同数量的验证者也可以选择审查消息。该协议在验证者的行为方面提供了良好的公共问责制和可审计性,从而可以归因于特定验证者的错误。
验证机制:权限证明协议在很大程度上依赖于外部结构性保证,而这些保证通常难以自信地进行推理(例如,声誉、合同协议、法律追索)。很难精确量化这些对每个验证者的不当行为的威慑作用有多有效。此外,追索机制缓慢、困难、昂贵且不确定(法律)。2022 年末和 2023 年的事件充分证明了,曾经被认为是信誉卓著的实体显然并非如此。事实上,FTX 直到今年早些时候还是 Wormhole 协议中的一个验证者。 建议:进一步分散验证者集合,同时保持验证者质量的高标准,构建更多的协议内保证,并为这些验证者开发完善的激励模型。
验证者集合:验证者集合中验证者的声誉、能力和总体可信度对于协议的安全性至关重要。虽然当前的验证者集合主要由似乎符合这些标准的实体组成,但一些验证者是新兴的小企业,对于这些企业而言,这些保证似乎并不具有实质意义。 此外,为了保持验证者集合的可接受质量水平,有必要对各个验证者进行严格的前期和持续的尽职调查。然而,目前,Wormhole 基金会似乎没有制定尽职调查流程。这引发了人们对验证者集合是否可以长期保持可接受的质量水平的担忧。 建议:委员会鼓励团队定义明确的指标来评估验证者的质量,对验证者进行持续的尽职调查,并将验证者信息发布给社区。
验证者性能:目前,没有协议内机制或服务级别协议 (SLA) 来确保验证者保持可接受的正常运行时间和响应能力。对 Wormhole 代币桥在三条链(以太坊、BNB 和 Polygon)上处理的超过 15,000 条跨链消息的分析表明,至少有三名守护者的参与率低于 50%,其中一名守护者的参与率约为 21%。这表明这些验证者要么持续存在较高的延迟。虽然此分析的结果也可能表明这些验证者正在经历停机,但该分析的范围有限,并且在这方面没有定论。委员会无法获得有关验证者更广泛停机的历史数据。 建议:委员会鼓励团队调查现有的延迟问题,采取措施确保验证者的最低性能水平,并发布有关验证者性能的详细指标(包括历史数据)。
验证者激励:验证者集合的可持续性依赖于健全的激励模型。无效的激励模型可能导致验证者流失或消极,从而导致中心化程度的提高。目前,Wormhole 不收取费用,并且似乎没有为验证者制定明确的激励模型。虽然注意到验证者持有协议中的股权,但尚不清楚该模型有多有效、可持续和可扩展。
验证者消极性:目前,没有协议内机制来确保验证者独立观察链并验证消息。这使得协议容易受到某些验证者选择更加消极的情况的影响,他们不花费资源来独立观察和验证消息,而是认可来自其他人的消息。这会增加中心化程度并降低安全性。目前,该协议鼓励验证者为每个链运营完整节点,但不提供任何机制来确保这一点。目前,这种情况的风险并不那么重要,因为大多数验证者都将运营区块链基础设施作为其核心业务的一部分。 建议:委员会鼓励团队考虑实施协议内机制来解决此问题,并从其他已经这样做的跨链协议中汲取灵感。
细粒度审查:由于验证者对单个消息进行签名,并且协议不强制消息排序,因此通过协议进行审查可能会更有针对性且执行成本更低。要审查消息,至少七个验证者必须串通或独立决定这样做符合他们的最佳利益。
委员会仔细审查了协议的实施情况,其中包括 EVM 链的智能合约和验证者代码。该实施似乎是合理的,并且符合协议的规范和技术文档。组件的内部设计似乎经过深思熟虑,并且符合最佳实践。总的来说,观察结果表明代码库已经成熟。对协议实施的其他观察包括:
来自众多知名安全公司对系统不同方面的审计,范围各不相同。所有已发布的审计表明,所有高严重性或关键严重性问题都已解决。
核心组件和整个系统的强大测试。
高达 250 万美元的活跃漏洞赏金(上限为受影响价值的 10%)。
足够详细和信息丰富的技术文档。
定义明确的开发和部署实践。
委员会鼓励团队使用相关的静态分析工具,并考虑发布代码覆盖率信息作为其持续集成输出的一部分。
去年年初,由于一个未修补的 Rust 合约被操纵以进行利用,Wormhole 流动性桥被利用了 12 万 wETH。尽管该漏洞的机制与 Uniswap DAO 的跨链治理用例无关,但它表明团队优先严格遵守 DevSecOps 实践并制定明确的事件响应计划是多么重要。在漏洞利用之后,Wormhole 对其实践进行了重大改进,例如改进的实施流程、更清晰的事件响应计划和强大的单元测试。这些改进值得称赞,并证明了协议的增长和成熟。考虑到任何团队的 DevSecOps 都在不断变化,并且委员会只能评估我们研究中可用的内容,委员会建议 Uniswap 基金会定期监测可能影响协议安全状况的任何重大变化,包括 DevSecOps 实践。
关于 Uniswap-Wormhole 适配器,在使用 Wormhole 进行 BNB 链之前,注意到了一些担忧。这些担忧通过与团队的密切合作得到了解决。具体来说:
委员会建议对 Uniswap-Wormhole 连接器的实施进行相关改进,包括消息超时、排序和重放保护,并与 Wormhole 团队合作实施这些更改。此连接器现在用于 Uniswap 协议的 BNB、Gnosis 和 Moonbeam 部署。
在 Uniswap 协议在 BNB 上启动之前,委员会观察到有两个合约仍然由部署者 EOA 控制,而不是 Uniswap DAO 的时间锁合约控制。这部分是由于消息传递桥连接器使用的两阶段所有权转移模型造成的,该模型使得将所有权转移到 Uniswap DAO 的时间锁合约变得困难。Uniswap DAO 的转移模型中的这种不一致性以前未被发现,但此后已得到解决。委员会与 Wormhole 团队、GFX Labs 和 Uniswap 基金会合作,部署了具有单阶段所有权转移模型的更新版本,并迅速纠正了该问题。
与对协议实施的观察类似,各种运营机制、流程和策略似乎都经过深思熟虑,并且符合行业最佳实践。关于协议的以下观察结果值得注意:
对协议参数的更改(包括升级)依赖于与消息传递相同的信任假设。它们需要一定数量的验证者签署此类治理行动。
有许多针对保护和运营可靠有效的验证者节点的明确建议。例如,所有验证者都需要为链运营完整节点,并且围绕密钥管理和各种其他安全注意事项有一些一般性建议。
有现成的工具可以跟踪跨链消息,并查看有关验证者状态的高级详细信息。
除了各个验证者公司实施的事件响应程序外,还有明确定义的事件响应计划。
虽然向验证者提供了运营安全建议,但目前没有任何流程或机制来确保验证者遵守这些建议或遵循基本要求。
虽然协议仪表板显示有关验证者活动的实时信息,但它受到限制。 建议:委员会鼓励团队提供有关验证者活动的更多指标,例如历史停机时间、延迟和参与率。该团队被告知以 Axelar 的仪表板作为参考。
该协议无法暂停智能合约。响应漏洞或利用需要首先构建和部署修复程序,然后与一定数量的验证者协调治理行动。这极大地限制了协议响应紧急情况和减轻其影响的速度,并可能降低其功效。虽然验证者可能会通过审查恶意跨链消息来潜在地缓解攻击,但对于不需要发送此类消息的漏洞利用(例如,2022 年 8 月的 Nomad 黑客攻击),这种方法可能无效。
正如协议架构部分所述,似乎没有明确定义的验证者尽职调查流程。这可能会随着时间的推移影响验证者集合的质量。
虽然对验证者执行安全监控有一些一般性建议,但很难知道它是否得到有效执行。 建议:委员会建议协议实施独立的监控策略,以监控不变量和异常行为。
最终性:Wormhole 协议连接到具有广泛最终性模型的区块链。该协议使用特定于链的启发式方法来确定最终性,并允许应用程序在指定所需的最终性类型时具有一定的灵活性。
网络安全性和活跃性:Wormhole 协议连接多个区块链,其中一些是新的且部分中心化的,发生安全性和活跃性故障的可能性不可忽略。这意味着一条链上的安全故障理论上可能会影响协议的完整性并影响其他连接的链。为了减轻这种情况,该协议在代币桥层应用了速率限制和代币隔离等措施。
由于 Uniswap DAO 的用例专门用于从以太坊到远程部署的消息传递,因此它不会直接受到非以太坊链中发生的此类故障的影响。
- 原文链接: uniswap.notion.site/Asse...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!