Haven 协议于 2021 年 7 月 19 日星期一宣布硬分叉回滚
Fork 进程将在第三方审计完成时安全地重启链和开放交易所
本文档重点介绍了即将推出的 Haven 协议硬分叉的后续步骤。该团队的首要任务是尽快开放交易所钱包并启用所有交易,同时完成对更新代码库的彻底审计和外部审查。
这些更新是为了响应 2021 年 6 月的漏洞利用。欲了解更多详情,请阅读我们的 完整报告.
回滚到块 886575
2021 年 7 月 8 日,Haven 协议社区参与投票决定对 2021 年 6 月漏洞的最佳响应。社区做出决定,以决定性的 95% 多数通过回滚链以阻止 886575。此回滚将于 2021 年 7 月 19 日合并到硬分叉中。
最快和最安全的方法需要两个分叉。
需要硬分叉有两个主要原因:
- 安全地启用回滚 - 导致未知通货膨胀的反向攻击,并启用交换交易、发送和接收资产。
- 实施增强的验证,使将来任何利用转换的尝试都成为不可能。
我们每天花费时间确保协议安全,通过构建和审核额外的验证证明,我们延迟了交易所的回滚和重新开放。同时,我们不能急于进行所需的安全更新。因此,有必要进行两个单独的分叉,在代码准备好后立即满足每个优先级。
分叉 1:回滚链,同时禁用转换。
为了让链运行并打开交换钱包,我们将在 2021 年 7 月 19 日发布一个分叉,启动回滚到区块 886575。该分叉将包含防止在守护进程级别进行任何类型的 xUSD 或 xAsset 转换的代码,从而进行任何转换基于不可能的漏洞利用。
这将使我们能够以完全安全的方式更快地恢复协议,同时在第三方审查和审计期间保持禁用转换。它还将允许对 Haven 协议网络至关重要的矿池和矿工继续对链充满信心。它还将确保所有希望在交易所买卖 XHV 的用户对其交易充满信心,并根据需要将 XHV 转移到 Haven Vaults。
Fork 1 – 功能摘要
- Haven Vaults 之间的转移 – 打开
- 兑换存款和取款 – 打开
- 转换(在 XHV 与 xUSD 或 xUSD 与 xAssets 之间)– 关闭
Fork 1 还包括用于解决漏洞利用中发现的漏洞的补丁。但是,这些目前是多余的,因为无论如何都禁用了转换。
除了上述对漏洞利用的响应之外,fork 1 将包括在攻击之前计划的预定更新。
计划变更
xAsset 价格滞后变化
- 将 xAsset 转换之间的锁定时间增加到 48 小时
- 将 xAsset 转换费提高到 0.5%
- 在 xAsset 转换费上实现 80% 燃烧
- 在矿工和治理钱包之间平均分配 xAsset 转换费的余额
错误修复和改进
- 改进 xAsset 转换的混合(包括数据库迁移)
- 在故障点从池中移除 tx 中的失败转换——而不是 24 小时后(由 Tx 定价记录高度超过 10 个区块引起)
- 修复供应页面上的整数溢出错误 - 导致循环差异
Fork 1 目前处于最终测试阶段,计划于 2021 年 7 月 19 日发布。由于交易所钱包目前已关闭,通常两周的交易所通知期不适用。
Fork 2:实施额外的安全性和第三方验证并重新启用转换
Fork 2 将包括对转换和验证逻辑的根本检修,以完全消除任何利用转换的机会。
此更新将删除导致 2021 年 6 月漏洞利用的所有剩余漏洞。此外,第三方开发人员和顾问正在进行广泛的审计,他们将进一步确信更新后的代码库是健壮的。
虽然我们已经完成了 fork 2 所需的大部分开发工作,并且我们正在与第三方快速合作以审计和审查这个新代码,但这个过程不会匆忙。我们致力于确保 Haven 协议的新交易验证结构是安全的。
升级验证
为了显着减少攻击面,第二个分叉将为协议添加一个额外的验证层。这将阻止任何依赖于费用操纵或转换过程中造币和销毁数据的漏洞利用。这是 2021 年 6 月的每个漏洞利用中使用的攻击向量。通过添加这些额外的证明和验证,任何对交易或转换数据的尝试操作都将是不可能的。
Fork 2 – 功能总结
- Haven Vaults 之间的转移 – 打开
- 兑换存款和取款 – 打开
- 转换(在 XHV 与 xUSD 或 xUSD 与 xAssets 之间)– 打开
持有 xUSD 的用户
我们知道,在分叉 2 中重新启用转换之前,xUSD 的效用受到严重限制。为了允许用户进出 xUSD,我们一直在积极开展交易所工作以启用额外的开/关斜坡。我们希望能够很快宣布新的 xUSD/XHV 对。
Havex.io由值得信赖的 Haven 社区成员运营,如果需要,也正在扩展以允许 xUSD 和 XHV 之间的交换。
一旦细节最终确定,有关这些的更多信息将被分享。
保险库支持
Web、桌面和命令行界面 (CLI) Haven Vaults 将需要更新以支持回滚。
将发布新版本的 CLI,其中包含启用 fork one 的新守护程序代码 (v1.4.0)。我们打算在分叉版本的同时提供新版本的桌面和 Web 保管库。
任何尝试使用尚未回滚到此点的保管库的事务都将被拒绝。如果回滚未与您的保管库同步,余额也可能不正确。