新闻加密货币MultiversX 暂停主网以修复无效状态

MultiversX 暂停主网以修复无效状态

作者: Coindoo·

要点速览

  • 攻击者试图利用虚拟机层中的交易原子性缺陷、导致无效变更被记录到链上后,MultiversX 暂停了主网区块生产。
  • 尚未公布确认的损失金额,用户是否永久损失资金、哪些账户和合约受影响仍不得而知。
  • 补丁正在一个复制主网历史的影子分叉中进行测试,工程师可借此在验证人将其部署到真实网络之前验证修复后的状态。
  • 团队正在评估一种仅纠正与事件相关记录的定向恢复方案,以避免像 Cronos 在 Tectonic 攻击后那样的大范围回滚——当时验证人移除了近11,000个区块,覆盖约两小时。
  • 官方建议用户在网络暂停期间避免提交交易、避免通过交易所或跨链桥转移 EGLD 或 ESDT,并不要理会各类恢复链接。
MultiversX 暂停主网以修复无效状态

MultiversX 已暂停其主网运行,此前有攻击者试图利用网络虚拟机层中的交易原子性问题,导致无效变更被记录到链上。团队已停止区块生产,将补丁投入影子分叉测试,并表示正在评估定向恢复方案。目前尚未公布确认的损失金额。

MultiversX 已确认的信息

  • 问题涉及交易原子性。
  • 无效变更已被记录到链上。
  • 主网运行已暂停。
  • 补丁已进入影子分叉测试。
  • 定向恢复方案正在评估中。

仍未知的信息

  • 用户是否永久损失了资金。
  • 哪些账户或合约受到影响。
  • 攻击者如何触发该故障。
  • 将采用哪种恢复方式。
  • 各项服务何时全部重新开放。

暂停冻结了问题——但并未撤销问题

在其事件更新中,MultiversX 表示,攻击者试图利用主网虚拟机层中的原子性问题。开发人员在追踪由此产生的状态变更并准备补丁期间,暂停了网络运行。目前尚未公布确认的损失金额。

停止区块生产可防止新交易基于可能已经错误的记录继续构建。同时,在工程师确定哪些余额或合约条目受到影响之前,这也阻止了使用相同手法再次发起攻击。

暂停并不会撤销网络已经接受的变更。在 MultiversX 采纳恢复计划之前,这些记录仍是钱包、应用和跨链桥所使用的起点。

9月20日查询时,MultiversX 状态页面将系统列为部分降级。公共 API、xPortal、Explorer、Wallet、Bridge、xExchange 和 xLaunchpad 显示性能降级,而网关和索引被列为正常运行。

这些标签描述的是单项服务,并不代表正常的交易处理已经恢复。恢复各界面也无法解决底层的账目问题。要理解原因,需要先了解交易原子性。

原子性是区块链上的“全有或全无”

一笔智能合约交易可以包含多个相互关联的操作。一个余额可能被减少,另一个被增加,流动性池被更新。原子性执行要求整个操作序列全部成功,任何变更才会永久生效。

**预期结果:**每个必要步骤都成功,所有变更一并提交。任何步骤失败,该交易变更都不应被提交。

**原子性失败:**某个操作失败,但先前的状态变更仍然保留。网络因此可能记录一个本不应独立存在的部分结果。

这是对原子性的简化示例,并非对 MultiversX 事件的还原。一笔损坏的交易可能导致账户余额、代币供应量或合约记录与预期结果不一致。MultiversX 尚未披露被篡改的数据类型,因此没有足够证据表明攻击者创建了代币、抽干了某个特定合约或窃取了已知金额。

最终性证明的是共识,而非无缺陷的执行

区块链最终性意味着验证人已就哪个区块及其结果状态属于规范链达成一致。它并不能证明用于计算该状态的软件没有缺陷。

验证人执行相同的协议规则并比对结果。如果这些规则在所有节点上存在相同的缺陷,验证人可以就一个协议本不应允许的结果持续达成一致。共识能够确定网络接受了哪个状态;它无法保证该状态的产生没有软件缺陷的参与。

安装修正后的软件可以阻止相同的执行路径再次生效,但并不能决定已记录的变更应如何处理。MultiversX 必须识别受影响的条目,并为验证人提供一种可复现的方法,以验证无关活动未被更改。

影子分叉在主网重启前提供演练

MultiversX 已准备了一个补丁,在影子分叉环境中进行测试。影子分叉将相关的主网历史和状态复制到一个隔离环境中,使工程师能够在不触碰真实余额的情况下复现真实的网络条件。

团队可以应用补丁、重放受影响的操作序列,并在验证人将其安装到主网之前测试拟议的恢复方案。该过程应确定:

  • 各节点是否计算出相同的修复后状态。
  • 未受影响的余额是否保持不变。
  • 应用是否能正确读取修正后的记录。
  • 跨链桥和交易所能否核对其数据。
  • 验证人重启时是否不会产生竞争链。

通过这些测试并不会自动重新开放所有服务。部署仍需要验证人、交易所、跨链桥以及连接用户和应用与 MultiversX 的基础设施提供商之间的协调。

定向修复可避免回滚整条链

MultiversX 表示,正在评估一种定向恢复方案,旨在保留已最终确认的交易历史和合法用户记录,仅处理与事件相关的变更。该项目尚未说明该修正将如何实施。

**定向状态修正。**仅修复与事件相关的余额、合约存储或其他记录,无关交易可以保留在已最终确认的历史中。主要难点在于证明该修正包含了每一处无效变更——且仅限于此。

**大范围链回滚。**网络将回退到较早的区块并从那里重建。此后完成的交易即使与事件无关也可能消失。主要难点在于合法转账和应用活动可能需要重放或核对。

更大范围回滚的代价在 Tectonic 攻击事件后已经显现:Cronos 验证人移除了近11,000个区块,覆盖近两小时。该回滚撤销了 Cronos 上仍记录在案的大部分与事件相关的借贷,但也撤销了在此期间完成的无关联交易。两起事件成因不同;Cronos 的例子之所以重要,是因为它展示了回滚共享账本的附带代价。
MultiversX 表示正在考虑一种更窄范围的修复,但尚未说明将如何隔离受影响的记录。定向修复不一定会删除原始区块:交易历史可以保持可见,同时通过一次协调的协议变更确定应用和验证人在重启后将认可的状态。在 MultiversX 公布其恢复设计之前,无法对该方法作出恰当评估。

暂停期间 MultiversX 用户应如何应对

对普通持有者而言,最简单的指引就是等待。MultiversX 并未要求用户迁移代币、将钱包连接到任何“恢复”网站或批准任何纠正性交易。

  • 不要提交或重新广播交易。
  • 不要通过交易所存取 EGLD 或 ESDT。
  • 避免通过跨链桥转移这些资产。
  • 保留在暂停前后提交的任何交易的哈希值。
  • 忽略恢复链接、迁移通知和未经请求的支持信息。
  • 等待 MultiversX 和相关平台均确认重新开放。

网络修复将由验证人和基础设施运营方实施。它不会要求用户透露助记词或将资产发送到新地址。

区块生产恢复后,钱包和区块浏览器也可能需要时间重新同步。界面中显示的余额过期或近期交易缺失,本身并不表明底层资产发生了变化。

重启必须可验证

恢复区块生产将恢复可用性,但其本身并不能回答最终性问题。MultiversX 仍需披露哪些账户或合约受到影响、修复后的状态是如何计算的,以及验证人如何独立得出相同的结果。

如果记录显示仅纠正了与事件相关的变更,定向恢复可能比大范围回滚保留更多合法活动。否则,网络可能在用户仍无法验证为何某些已最终确认的变更被更改、而另一些被保留的情况下恢复运行。

本文仅供参考,不构成财务或投资建议。随着 MultiversX 发布进一步更新,网络状况和恢复指引可能发生变化。