月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 火必下载 > 正文

以太坊:以太坊网络 Finalize 延迟事件分析报告_POC

作者:

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

概述

5 月 11、12 日连续两天晚上,以太坊共识层短暂异常,imToken 分析该异常主要某几种以太坊共识层客户端节点负载过高,使得 Validator 宕机离线,直接导致 Epoch 投票无法达到 2/3,共识层无法确认最终性,但短时间过后以太坊网络自我恢复正常,imToken 认为这表明以太坊 PoS 共识算法具备韧性和自我修复的能力。

事件及背景

通常情况下,以太坊 PoS 共识网络状态会在 2 个 Epoch 被敲定(Finalized),而上周出现了两次 Epoch 敲定的延迟。

第一次发生在 5 月 11 日,Epoch 的敲定被延迟了 3 个 Epoch,约 20 分钟。

第二次发生在 5 月 12 日,Epoch 的敲定被延迟了 8 个 Epoch,约 51 分钟。

在事件发生期间,以太坊网络仍然持续产生区块并处理交易。然而,由于 Validator(验证节点)的投票率不足,Epoch 无法敲定(即 Epoch 得到以太坊 PoS 网络共识级别安全保证)。Epoch 未能敲定意味着在绝大多数 Validator 作恶并出现分叉的情况下,epcoh 可能被回滚,从而导致交易被回滚。

Solana联创:以太坊日均交易量只有Solana的1/30:金色财经报道,Solana联合创始人兼首席执行官Anatoly Yakovenko在接受Real Vision的Raoul Pal最新采访中表示,Solana以超高速率处理交易的目标带来了各种挑战并解释说:“这是我们最大的挑战,也许是我喜欢的挑战,因为所有这些挑战都来了,因为我们有用户。每天,当您查看来自用户(仅来自使用网络的人)的应用程序的正常交易时,Solana每天都有大约 3000 万笔交易,高峰时是 6500 万,这比所有其他区块链交易量总和还要多。Binance Smartchain交易量只有Solana的十分之一,以太坊只有约三十分之一。由于这种负载,我们看到了一些没有预料到的状况,但有些人因此对Solana表达不满似乎有点短视。”(dailyhodl)[2022/9/5 13:08:40]

实际上,在事件发生的期间,以太坊网络并未出现分叉,而 Validator 也未进行恶意投票,只因大量 Validator 离线导致投票率不足,从而使得 Epoch 在期间无法被敲定。

经过观察,离线的 Validator 出现 CPU 过载的异常情况,被认为是 Validator 离线的直接原因。

在第二次事件中,Epoch 敲定被延迟了 8 个 Epoch,由于敲定延迟大于MIN_EpochS_TO_INACTIVITY_PENALTY (=4) 从而触发了以太坊共识算法 Inactivity leak 的处理机制。

以太坊网络GAS费短暂跌至20Gwei:2月14日消息,据ultrasound.money数据显示,以太坊网络GAS费用短暂跌至20Gwei,随后又上涨至30Gwei左右,这是近期的数据低点。欧科云链数据显示,自EIP—1559上线以来,截至目前,共计销毁ETH约为183万枚,目前区块燃烧约为0.064枚。[2022/2/14 9:51:10]

· 惩罚离线的 Validator,削减其质押资金,罚没了约 28 个 ETH。

· 取消 Attestation 的奖励,导致约 50 个 ETH 未被发行。

· 该机制保证在线 Validator 最终能掌握以太坊总质押资金的  ?,从而使得网络状态最终能被敲定

imToken 的节点服务也侦测到了此次事件,通过实时监控以太坊共识层 Validator 投票的情况,从而在 Epoch 未能正常敲定前,提前预警以太坊共识网络的异常。下图是第一次事件发生时的节点状态。

PoW 机制下,交易的成功是认定交易在多少连续区块后大概率不会被回滚,PoS 则是以 Safe Head 返回的块高作为交易成功的判定。而目前的规范中则是以 Justified Checkpoint 作为 Safe Head 的状态认定,因此以前一 Epoch 的状态来看,可能存在有 6.4 分钟之久的判定延迟,这对用户而言是很糟糕的体验。

以太坊全网算力较去年8月已上升126%:据欧科云链OKLink数据显示,今年以来,以太坊算力已增长46%。当前全网算力达到412 TH/s,全网难度则为5.45 P,均位于历史高位。 自2020年8月起,以太坊网络的算力开始出现显著增长,当前网络算力较2020年8月已上升126%。[2021/3/11 18:35:05]

imToken 自研的 Safe Head 服务会基于实时的以太坊共识层数据,计算出安全的区块用于交易确认,在保证用户交易安全的前提下,缩短交易确认的时长。正常情况下,imToken 的 Safe Head 算法返回的块高(如上图黄色),会非常贴近最新的区块高度(绿色),从而提高用户体验。

原因分析

造成上述事件的直接原因是某几种以太坊共识层客户端节点负载过高,使得 Validator 宕机离线,从而无法正常进行共识投票。经过分析,这些节点负载过高的原因是:

当收到指向陈旧区块的见证(Attestation)时,节点需要重新计算信标链状态以验证这些见证,而该过程需要消耗大量的 CPU 以及内存资源。

当同时收到大量指向陈旧区块的见证时,节点的 CPU 以及内存资源被耗光,从而导致这些 Validator 宕机离线。

本来此类问题可以通过基于见证指向区块的缓存来解决,然而由于 Validator 的规模增长以及大量此类 attestation 的出现,导致出问题的客户端实现的缓存被击穿,节点不得不消耗大量资源重新计算信标链状态。

分析 | 以太坊主流交易所24H交易量略有下滑 对比特币汇率有一定抬升:据 TokenGazer 数据分析显示,截止至 11 月 12?日 11 时,以太坊价格为$187.56,总市值为$20,150.89M,主流交易所24H交易量约为$52.59M,环比昨日下滑17.01%;近期以太坊对比特币汇率有一定上行趋势;基本面方面,以太坊链上交易量、链上DApp交易量有一定增长,新增地址增速有一定提升,算力持续下滑;以太坊 30 天开发者指数约为 2.23;以太坊与 BTC 180 天关联度保持稳定,30 天 ROI 略有回调;据TokenGazer官网六道数据显示,以太坊情绪指数移动平均线呈下滑趋势;由于费率的下调,抵押在Maker上的ETH总量有一定增长。[2019/11/12]

共识层客户端 Teku 以及 Prysm 目前推出了 patch 版本以解决该问题。具体而言,patch 版本的客户端实现会过滤掉这些陈旧的见证,即当满足下列条件,忽略该见证:

· 见证指向一个陈旧的 Slot

· 见证指向一个节点从未见过的 Checkpoint

然而,我们仍需持续观察以太坊主网敲定的情况以确认 patch 的有效性。

共识层客户端 Teku 以及 Prysm 的 patch 版本:

· Prysm:v4.0.3-hotfix

· Teku:v23.5.0

V神宣布:以太坊扩容方案渐趋成熟:以太坊联合创始人Vitalik Buterin本周在推特上提到,通过分片技术(sharding),以太坊的交易处理能力即将得到大幅提升。分片技术能够提升区块链的交易处理量。这种“链上”解决方案通过多个网络计算机来分配交易负载,允许更多的交易在同一时间得到确认。他介绍,通过多个计算机同时处理shard区块的方式,可以使得单个区块的处理时间缩短到10秒钟。[2018/5/3]

以太坊设计优势

在此次事件中,以太坊保证可用性仍持续产生区块并处理交易,而仅推迟 Epoch 敲定的关键在于两点:

1. 以太坊客户端的多样性

2. Gasper 算法的设计

以太坊客户端的多样性

在此次事件中,虽然共识层客户端 Teku 以及 Prysm 的实现出现了问题,但不影响其他共识层客户端的正常运作。像是 Lighthouse 客户端本次并不受影响,由于不同客户端在实现的设计上并不相同,因此仍有 Validator 正常在运作。

以太坊客户端的多样性保证了:即使某些客户端出现问题(甚至导致 Epoch 不能敲定),也不会影响正常的客户端产生区块并处理交易,使得以太坊的可用性得到保持。

以太坊 Gasper 共识算法对可用性的设计

保证以太坊的可用性是以太坊共识算法 Gasper 的设计出发点之一,其把以太坊区块生产与敲定分离。因此,即使区块敲定受阻,区块的产生并不会随之终止。考虑到大部分情况下,区块敲定最终会恢复(产生的区块最终仍会被敲定),那么对用户影响其实会很低。对比其他 BFT 的共识算法:若区块敲定失败,共识节点会停止产出下个区块。从而,导致期间整个区块链不可用,即俗称的「区块链挂了」。

另外,第二次事件还触发到了 Inactivity Leak 的机制,其主要是为了保证以太坊在极端情况(大量 Validator 长时间离线)下仍能重新敲定区块。

经验与启示

以太坊多客户端的挑战

当前,以太坊客户端多样性现状如下图所示:

来源: https://clientdiversity.org/#distribution

可以看到,以太坊客户端多样性仍需继续推广和宣传。可以想象,如果客户端实现足够多样,使得 Prysm 以及 Teku 的占比小于 ?,那么这次事件甚至不会发生(? 客户端正常运作足以敲定 Epoch)。另外,当前执行层的客户端集中在 Geth,占比高达 61%。这实际上存在着潜在风险:如果 Geth 运作不当,以太坊会受到很大的影响。

除了以太坊客户端多样性需要进一步努力外,以太坊客户端切换也是此次事件暴露的一个痛点:当某个客户端实现出问题时,Validator 如何切换到正常的客户端实现之上。此过程涉及:

· 把出问题客户端的 Validation key 安全地迁移到正常的客户端之上

· 由于以太坊共识有 Slash 的规则,需要保证旧客户端与新客户端的行为的一致性而不被 Slash。例如:

o 新旧客户端分别对分叉两侧的 Checkpoint 进行投票,从而被 Slash

o 新旧客户端在同一个 Slot 产出不同的区块,从而被 Slash

以太坊共识的监控

需要类似 Safe Head 类似的服务持续监控以太坊 PoS 网络的实时状态,提前发现并预警该类事件,而非等到 Epoch 无法按预期敲定才得知网络状态异常。相关的最新研究可见此文章。

以太坊共识算法的科普

这次事件暴露了科普以太坊 PoS 共识机制的必要性。在此次事件中,很多用户误以为「以太坊挂了」,从而造成不必要的恐慌。然而,实际上,以太坊网络持续产生区块并处理交易。以太坊共识层和执行层的组合为以太坊交易交易确认带来双重保障,在共识层 Epoch 无法敲定的情况下,执行层的区块处理并不受影响,且 Epoch 敲定的异常状况也在以太坊共识算法中有相应处理设计。面向用户的区块链知识科普仍然是从业者们需要持续努力的方向。

对以太坊应用的启示

虽然以太坊网络足够健壮,但是偶尔的不稳定会对应用有着一定的影响。同时,应用要正确处理这些不稳定的场景。

· Layer1 -> Layer2 的存款时间会变长。Layer2 在 mint 的时候,一个重要前提是需要保证 L1 存款交易不会被回滚。因此,当以太坊网络 Epoch 敲定被推迟的情况下,L1->L2 的存款时间也会相应变长。

· 类似的,交易所也需要防止链上充值交易被回滚的情况,因此其充值时间也会相应变长。

· Oracle 链上报价存在被回滚的风险,因此依赖其的高价值服务要适当暂停。

· 在此次事件中,Uniswap 不显示余额、只能买入不可卖出,而 dYdX 暂停了存款。

总结

在这次事件中,我们可以看到以太坊 PoS 共识算法的韧性与自我修复的能力,也看到客户端很快在发生事故后,即时响应与修正错误。对以太坊整个生态而言,还需在以下方面持续投入:增加客户端多样性,优化对网络状态的实时监控与预警,深度用户教育(不仅面向普通用户,也需面向从业者),生态参与者在网络异常时的紧急预案准备。

参考链接

· Finality issue updates May 2023

· https://twitter.com/robplust/status/1657044364382846978

· https://twitter.com/superphiz/status/1656780594326405121

· https://twitter.com/terencechain/status/1657021042110631936

imToken

企业专栏

阅读更多

金色荐读

金色财经 善欧巴

迪新财讯

Chainlink预言机

区块律动BlockBeats

白话区块链

金色早8点

Odaily星球日报

MarsBit

Arcane Labs

标签:以太坊NBSBSPPOC怎么得到以太坊币交易nbs币官网bspt币未来前景HatchyPocket

火必下载热门资讯
BRC:BRC-20炒作终将落幕 比特币扩容迫在眉睫_ORDI

来源:Bankless 编译:比推BitpushNews Mary LiuMemecoin (模因币)热潮正在蔓延!一种称为 BRC-20 的新代币类型吸引了开发人员.

1900/1/1 0:00:00
NFT:2023年NFT市场分析(下):巨鲸动态与NFT盈利方法_影视币区块链有哪些

点击阅读:2023年NFT 市场分析(上):市场概况与微观趋势原文:CoinMarketCap&NFTGO  译:金色财经第三章 主要项目与事件 NFT项目的趋势分析.

1900/1/1 0:00:00
DAO:详解MakerDAO终局计划Endgame的新路线图 将AI辅助治理及部署新链_DAOLaunch

作者:Rune Christensen, MakerDAO联合创始人 编译:Felix, PANewsEndgame是MakerDAO的重大更新,旨在提升效率、弹性和参与度.

1900/1/1 0:00:00
比特币:晚间必读 | 24个比特币生态项目和工具全盘点_BSPT价格

2021年8月以太坊主网实施EIP-1559,标志着以太坊网络第一次开始burn(销毁)ETH。这次升级将用户之前支付给区块验证者的部分费用(称为基础费用)纳入burn机制.

1900/1/1 0:00:00
BIT:讯飞“星火”抢夺AI话语权_CHA

5月6日下午,科大讯飞召开了名为“讯飞星火认知大模型”的成果发布会,同步发布了讯飞AI学习机、讯飞听见、讯飞智能办公本、讯飞智能座舱和讯飞开放平台等5项应用成果.

1900/1/1 0:00:00
NBS:一文探讨5个消息跨链项目的安全机制_BSPAY币

原文作者:Ailsa多链生态的繁荣催生了用户对跨链的需求。链与链之间的跨链交互的日益增加,但与此同时跨链安全事件频频发声,跨链安全成为市场关注的焦点.

1900/1/1 0:00:00