火星链 火星链
Ctrl+D收藏火星链
首页 > 火币APP > 正文

EDR:速读 Evmos 升级失败官方分析报告及解决方案

作者:

时间:1900/1/1 0:00:00

作者:Evmos官方团队

编译:Lukie

3月7日上午,CosmosEVM兼容中心Evmos在Discord官方群表示,网络升级失败,并将暂停24-48小时。3月8日下午,CosmosEVM兼容中心Evmos在推特发文称,「鉴于社区反馈,Evmos至少在接下来的几天内都不会上线」。

今日15:27时,Evmos团队在Github上发表了升级失败报告,对网络升级失败的核心问题进行了解读。

为什么链停止运行了?

?核心团队在主网上发布了部分测试的升级程序代码

?发生共识错误之后协调失误,团队安排的时间太紧凑,只有几个小时可用于进行升级部署

?升级的复杂性达到了一个极端——需要彻底重启整个网络并完成同步

?5个验证者双签,导致它们被tombstoned

1)当验证者被tombstone后,他们将不能再次成为验证节点。

2)这是一个严重的错误。tombstone本质上是永久封禁,所有的委托都需要手动解除绑定,这对委托人来说也是一个可怕的场景。

ZachXBT已获得超70万美元捐款,ETH占比56.7%:6月17日消息,Nansen数据显示,链上分析师ZachXBT已获得超70万美元捐款,截至发文时为711196美元,其中ETH占比56.7%,USDC、USDT分别占比26.42%、11.08%。[2023/6/18 21:44:25]

?考虑到受影响的验证节点和用户,暂停这条链是可以接受的。

?在尝试恢复网络数小时后,我们目睹了多个验证节点被tombstone。验证者社区和核心团队认为这是不对的,于是决定停止网络,直到新版本测试达到可用于生产的状况后再重启。

为什么会出现5个验证者双签?

?他们在共识停止期间运行unsafe-reset-all,导致他们破坏了priv_validator_state.json文件。此外,一些节点在迁移到其他机器的过程中,并忘记拷贝迁移priv_validator_state.json文件

?他们不知道必须备份并迁移priv_validator_state.json,因为当链正常运行时这通常都不是问题,大多数块将在一轮内达成共识,并且在说明手册中没有明确说明一定要这样做。

数据:39999950枚USDC从币安转移到未知钱包:金色财经报道,WhaleAlert监测数据显示,39,999,950枚USDC(价值约39,999,950美元)从币安转移到未知钱包。[2022/10/4 18:39:17]

为什么有这么多验证者运行unsafe-reset-all而不保留他们的priv_validator_state.json?

?验证者必须从快照中恢复,因为如果他们在升级期间重新启动节点,他们将不再参与共识,所以在这样做时,它们要么完全删除$EVMOSD_home/data,要么运行unsafe-reset-all。在共识停止期间执行此操作时,它是不安全的,并且如果没有备份priv_validator_state.json,则不完全了解如何恢复。

?关于priv_validator_state.json有很多误解

?关于这个文件在重新同步时的影响,没有明确的答案

为什么验证者必须从快照中恢复?

?当链停止运行并且人们在停止期间重新启动他们的验证节点时,验证节点不会自动恢复参与共识流程。

截至7月30日,NFT市场月度交易额为6.2611亿美元,OpenSea占比超70%:7月31日消息,截至7月30日,NFT市场的最新月度交易额为6.2611亿美元。而上个月的销售额为8.8468亿美元。

OpenSea继续保持市场领先地位,该平台7月销售额为4.479亿美元,占比达71.5%。基于Solana的NFT市场Magic Eden月销售额约为8100万美元。(The Block)[2022/7/31 2:49:15]

?因此,解决方案是使用快照重新启动一个新的数据库。

?在这段时间里,许多人超量访问Polkachu端点,但是在从头开始下载或同步节点之后,操作人员设法启动了Polkachu快照的镜像。

?双签的人和该区块提交者有很强的关联性。

以下是在区块高度58701的共识流程中违反拜占庭规则的行为:

BF5FC06E32A4168817A16D69692F36C8F7A5DA37,proposedround0,anddoublesignedround0.

基于Cardano的AdaSwap启动公共测试网:金色财经消息,在Cardano上构建DeFi应用程序的平台AdaSwap已推出其公共测试网。该协议支持Cardano生态系统的第一个去中心化加密货币交易所(DEX)。AdaSwap也是第一个建立在Milkomeda之上的去中心化应用生态系统,Milcomeda是Cardano区块链的第二层解决方案。截至目前,Milkomeda平台上的锁仓总价值(TVL)超过3600万美元。[2022/6/30 1:40:24]

FF9F24A7DB626386EBA92D1E8D058474CEC40C26,proposedround2,anddoublesignedround2.

4F8EDD442959D0BB78F8CE0012BAD23AFEE6E08C,proposedround4,anddoublesignedround4.

76692115F93AE444FA857C7BA963F125D8C2E6C6,proposedround8,anddoublesignedround8.

币安将不支持使用MWEB充提LTC:金色财经消息,币安发布公告称,将不支持通过Mimble Wimble Extension Blocks(MWEB)功能进行的LTC存取款,因该功能为用户提供了在不泄露任何交易信息的情况下发送隐私LTC交易的选项,使得币安无法核实发件人地址,资金将不会被接收或退回从而导致资金损失。[2022/6/13 4:22:21]

9BA4035E5B58DAB71B6573791FDAA3D9E1C78A00,proposedround10,anddoublesignedround10.

为什么验证者要重新启动它们的节点?

?一些节点重新启动,因为它「看起来卡住了」。

?其他节点重新启动,因为没有人能够保持一组可靠的peer。

?本次升级比大多数验证者所习惯的升级都要复杂。

为什么没有一群稳定同步的peer呢?

?我们怀疑许多节点并没有进行升级,导致升级重新启动后的节点连接到一些没有升级的无效节点。许多节点的addrbook.json因为没有升级导致他们与新版本无法兼容。

?人们很可能连接到没有升级的seed,并可能传播他们大量无效的addrbook.jsonpeer。

?当人们在升级过程中关闭他们的节点,导致peer的状况变得更糟。

?有几个关键节点直到后来才升级,这意味着许多关键节点都在运行旧版本。

?我们在解决,并创建了一个稳定的peer列表。

为什么我们需要在v2.0.1之前紧急发布v1.1.2版本?

?在高度58,700它需要一个升级处理程序紧急升级链。我们不想通过治理进行升级,因为有一个安全漏洞还没有被修复,否则需要等待至少5天的时间,这会导致大量的人利用漏洞窃取他人的资产。

为什么我们没有发现v2.0.0早期升级失败的问题?

?没有自动化的测试套件来捕捉错误,因此测试必须从头开始构建测试工具或手动完成。手动测试一直持续到交付的最后时刻,但是并非所有团队成员都能拥有在迁移期间快速手动测试需求的能力。

?因为我们在最后一分钟更改了迁移逻辑以尝试通过模块迁移进行升级,所以我们在升级前测试了这大约300个块。我们没有足够的时间在几个小时前召集可用人员并准备好进行测试,因为这是手动测试,需要对升级有深入的了解。

?当我们使用旧的升级处理逻辑时,在指定块高度使用cosmovisor进行升级时已经通过测试并可以正常工作,但它不符合最佳实践,因为设置新的参数应该在模块本身的迁移处理程序中完成。在编写迁移处理程序时,我们试图获取现有参数并进行设置,当你在迁移过程中时GetParam将返回空字节。所以解决方法是在迁移中设置所有新参数,而不从存储中检索旧参数。

?当我们测试迁移逻辑并发现故障、其他Evmos工程师重新上线时,它已经落后了300个块。到那时,已经来不及了,Evmos不得不接受在区块高度58700升级的命运。

为什么这个升级对于验证者来说变得如此复杂?

Evmos团队在协调紧急升级时出现了几个错误:

?没有对v2.0.0进行测试导致了第二次更新。如果没有经过测试,则应该推迟升级。

?由于漏洞的严重性,发布时间很紧迫。

1)通知应至少提前24小时发出,区块高度有所推迟,但在升级前几个小时发布的版本被限制了,这意味着验证者必须在线交换二进制文件。

2)升级非常激进。

3)时间线是在修复之前选择的,这不是安全事件的处理方式。

4)即使用户资金存在风险,也应该在公开之前找到解决方案,即使是更?广泛的验证者组。

?在不可行的时间线上为此使用cosmovisor,当原始设计使状态机兼容直到分叉高度时,需要手动升级。团队在节点运营商中过度估计了cosmovisor的重要性。

为什么要花这么多轮来尝试升级?

?因为升级版本是最后一刻发布的,而且升级失败了,是不能立即恢复的。

?投票权不在我们这里,我们在争取了66%的投票权,在10轮回合中,也就是说持续了数小时。

为什么人们需要依赖快照和重新同步v1.1.2来重新应用升级v2.0.1?

当验证者开始使用v2.0.1版本时,许多人认为peer存在问题,因为这在Cosmos生态系统中很常见。在停止运行其节点以修改对peer列表和/或增加peer数量之后,他们重新启动了节点。我们认为这导致了Tendermint的一种不确定状态。正如我们所说的,这种不确定状态导致Tendermint不知道它应该处于块同步模式还是共识模式,从而导致节点处于闲置状态。要从这种不稳定状态中恢复,用户需要删除他们的数据库并从升级前的快照中恢复并同步到升级高度,然后更改到v2.0.1.

此外,Evmos团队还在Github上发布了补救文件供开发者和验证者参考。

标签:MOSEVMOSUNDEDROsmosisevmos币怎么卖DDU FoundationEDRC币

火币APP热门资讯
元宇宙:文物+元宇宙:博物馆如何玩出新花样?

来源:南京日报/紫金山新闻记者?朱彦原标题:《六十位馆长学者联名发布<关于博物馆积极参与建构元宇宙的倡议>,文物+元宇宙博物馆如何玩出新花样?》元宇宙概念愈炒愈热,无论是科技新贵.

1900/1/1 0:00:00
FTC:美国得州奥斯汀市长提出新举措,支持Web3技术和加密支付

据Cointelegraph3月14日消息,美国得州奥斯汀市市长SteveAdler提出了两项新举措,以采用区块链技术和加密支付.

1900/1/1 0:00:00
区块链:产业区块链周报丨工信部将筹建工业元宇宙服务平台;厦门出台元宇宙产业发展行动计划

中央工信部:将筹建工业元宇宙服务平台,拟于今年推出首批工业文化数字藏品3月25日,工信部官网发布《关于征集首批工业文化数字藏品素材的通知报道》.

1900/1/1 0:00:00
MAI:Dmail Network CTO James:未来的分布存储会放到不同的链上

3月21日下午,Computecoin测试网huygens启动会在链节点举行,DmailNetworkCTOJames在圆桌讨论中分享了Web3范式下依靠公链Dfinity来构建的邮箱Dmail.

1900/1/1 0:00:00
LABS:钱塘法院:用虚拟货币交付借款、购买矿机行为不受法律保护

近日,钱塘法院审结一起涉泰达币的民间借贷纠纷案件。法院审理后认定,原、被告之间的民间借贷关系不成立,对于原告主张二被告返还借款并支付利息损失的诉请不予支持,判决驳回原告的诉讼请求.

1900/1/1 0:00:00
元宇宙:一文了解虚拟人的“前世今生”

来源:综艺报虚拟偶像一词诞生于20世纪80年代的日本,早期偏向二次元,主要指虚拟歌姬,比如初音未来,以及乐华娱乐推出的虚拟偶像团体A-SOUL等。随着技术迭代,未来虚拟偶像更贴近于数字人的概念.

1900/1/1 0:00:00