比特币价格·比特币行情
Ctrl+D收藏简单区块链

以太币 2.0 主网事故回望_艺术品

作者:

时间:2021/4/30 21:53:09

以太币 2.0 主网事故回望

https://beaconcha.in/epoch/32302

从 epoch 32302 逐渐,信标链遗失了很多区块建议。因为 Prysm 是 Eth2 手机客户端中客户数最多的,因而难题最有可能发生在 Prysm 上。一段时间以后,我们在当地再现了该不正确。这实际上是大家已经知道的一个与 eth1 数据信息投票和验证者存款有关的难题。虽然以前早已有些人向大家汇报过此难题了,可是我们无法再现这一 bug 并将其视作独立事情。并且这个问题从没在一切测网或是主网中不断发展过。它是该难题初次造成区块建议不成功事故。

在这里 18 个 epochs 内,基本上全部 Prysm 信标节点都没法生产制造新区块。Epoch 32320 又逐渐一切正常运作了,那时候大伙儿广泛认为该事故早已告一段落。殊不知大概 24 小时后,该事故再次出现,导致了相近的危害。

有关此事故的宣布过后分析汇报已公布,浏览连接查询:https://docs.google.com/document/d/1nJr6_bd-UnLBxvhT8lcRYdAZr69QdVQ3zJNUr3LgW-0/edit

该回望详解了事故的时间轴;剖析了直接原因及其列举了 Eth2 质押贷款者和参加者必须留意的难题。

一些基本数据信息说明,第一次事故中,每一个受影响的验证者均值损害 122950 gwei (按文章内容攥写时的价钱测算为 0.3 美金)。而该次事故产生的 24 钟头内,又发生了第二次同样的事故,每一个受影响的验证者损害约为 0.22 美金。

一些重要客观事实:

沒有验证者被罚没款

对信标链的谈妥沒有危害

参与度或是很高 (最低值也是有 84.8%) (编者注,此数据信息与 Ben Edgington 撰写的最新一期《Eth2 进展更新》有出入。)

大部分验证者遗失 2 到 3 个证实,无论哪一个手机客户端种类

此次不好像一次故意或有意的进攻

在全部精英团队历经大概 30 个钟头的勤奋以后,大家确诊了其直接原因,并在 UTC 時间 4 月 25 日早晨 6 点为全部 Prysm 节点布署了修补版本号。在节点并未彻底升級以前,相近的事故仍发生了最后一次。给节点运作者充足的時间升級手机客户端以后,该类事故沒有再产生过去了,而且有直接证据说明该难题已获得彻底处理。

变成验证者的近道

此事故是不是会消弱大伙儿对 Eth2 的自信心?

不容易。该事故并沒有导致的共识不成功,而且该事情的危害范畴与 Eth2 主网的经营规模对比十分小 (在第一次事故中,每一个受影响的验证者均值损害约 0.3 美金)。自创世至今,Eth2 一直都十分强劲,验证者参与度十分高,而且每一个 epoch 都完成了谈妥。从大家的视角看来,常见故障解决了以后,互联网有工作能力修复到极致运作的情况,反倒提高了小区对以太币的还原工作能力的自信心。

此事故是不是会消弱大伙儿对 Prysmatic Labs 精英团队的自信心?

大家对本次事故作出的反映和解决方案与先前大家解决 Eth2 测网中的常见故障时彻底不一样。本次事故产生后,大家精英团队立刻清除了错误报告;量化分析危害;及其等待解决方法时,给验证者们列举了确立的解决流程。其次,大家彻底明确了解决方法以后,才去让大伙儿升級手机客户端版本号。特别注意的是,因为 Prysm 手机客户端是以太币 2.0 互联网中客户占有率较大 的手机软件,因而发生的一切 bug 都很有可能会造成更比较严重的难题。

针对关键开发人员而言,工作中的关键是要“管束多元性” (bound complexity)。例如 Eth2 这类的分布式架构具备这般多的自变量,大家每一个精英团队都尽一切勤奋以降低其出 bug 的概率。自然,在这个的手机软件中,发生 bug 是难以避免的,而且大家认可,Prysmatic Labs 的确出错了。可是大家期待能够展示出大家精英团队解决困难的驱动力与工作能力,另外为验证者均衡速率和精确性中间的难题。

事故直接原因汇总

Eth2 和 Eth1 链松散地联接着,Eth2 仅在验证者存款验证时必须采用 Eth1。换句话说,即便 验证者对垃圾数据开展了投票,Eth2 PoS 链还可以再次运作。而唯一会危害到的事便是,新的验证者存款没法加上,直至 PoS 链再度对恰当的 Eth1 数据信息开展投票。此“投票”是在“投票周期时间”中进行的,现阶段主在网上将该周期时间设定为 64 epochs (大概 6.8 钟头)。

投票的方法为一个简易的“半数以上”标准,Eth2 验证者标准中有表述其运行方法。悲剧的是,Prysm 在推行该标准 (依照半数以上标准投票) 时,遗失了一些验证。该事故中,因为 Prysm 发生了 bug,造成一名区块提议者建立了一个彻底失效的 Eth1 存款树杆,而别的 Prysm 节点最先发觉了该区块建议。接着,她们对于此事投过有效票,由于 Prysm 手机客户端遵照的是简易的“半数以上投票”标准,而沒有做确立的验证。

随后,全部 Prysm 节点”稳赚“似地对失效信息内容投票,造成了区块提议者没法将具备存款的区块装包进链。这是由于,这种存款对节点的 Eth1 存款树杆未开展验证,因此区块建议会不成功。而在投票期完毕以后,该难题就全自动解决了,但假如 bug 未修补,将再次发生这类难题。

事实上,此次发生失效 Eth1 存款数据信息树杆的直接原因是,存款缓存文件复位中发生了 bug,但仅危害了应用 Prysm 手机客户端的一部分信标节点。这造成这种节点生产制造不正确的存款树杆,而别的 Prysm 节点对其开展投票,进而导致了本次事故。

留意,下边是关键技术!大伙儿能够跳至下一部分,阅读文章解决方法及其该次事故产生的成功经验。

区块建议不成功

Epoch 32302 逐渐发生区块建议遗失的难题。

Nishant 通告了精英团队,并举办了全会精神。随后,大家根据当地的主网信标节点再现事故,并开始了调研。

数据调查报告,Prysm 对怪异的、不正确的 eth1 存款树杆投票

大家注意到 Prysm 的节点正对着怪异的树杆投票,该内塔尼亚胡根用以验证 PoS 链中的验证者存款合同的存款一致性。在公共性电脑浏览器上查询了最开始的区块提议者的历史时间信息内容以后 (为了更好地维护该验证者,也不发布其真实身份了),大家推论这并并不是一起进攻事情。

枚举法

最开始的猜疑是有关 Prysm 怎样在验证者建议编码途径中解决 eth1 数据信息投票。尤其是,大家尝试清除一些难题:

1.装包存款进区块这儿有什么问题吗?

2.存款日志信息内容获得和 eth1 信息内容混了或是不确定性吗?

3.大家的存款默克尔树发生难题了没有?

在下面的 16 个钟头上下,大家耗费了很多的時间共同奋斗确诊潜在性的难题。大家整理了编码行,尝试根据单元测试卷来再现常见故障全过程,并试着了各种各样方式。虽然大家早已拥有一个潜在性的解决方法,大家也因欠缺自信心而对公布修补版本号而焦虑不安。

较有效的直接原因

先前在解决 Eth2 测网中的 bug 时,大家获得了一些成功经验,光对直接原因有信心是不足的。在高危的状况下,在向客户发布解决方法以前,大家必须有 100% 的自信心。在事故产生后 28 钟头,大家坐下来并问一下自己:”大家也有什么叫不清楚的呢?大家还能够问什么问题来使我们更贴近产生常见故障的直接原因呢?”随后大家知道以下几个方面:

1.大家的稀少默克尔树 (sparse merkle tree) 完成并沒有比较严重的 bug,因为它应用主网和 Prater 测网的存款,与 Lighthouse 和 Protolambda 的 Eth2 zrnt 完成相符合。

2.大家用以从 Eth1 节点查找 Eth1 数据信息的编码途径沒有 bug,都没有回到有误的数据信息。

大家不清楚的有:

1.失效的存款树杆是怎样造成的

2.为何这个问题在一些节点中是能够再现的,而别的节点不能

3.为何 Prysm 节点在明确区块中的存款总数时,发生了”off-by-one“不正确

修补难题

为了更好地回应这种难题,大家看过复位大家的存款树的编码途径。結果发觉,在初期加上了一个缓存文件层以防止质押贷款者每一次运行她们的节点时都务必免费下载全部验证者存款纪录。除此之外,大家加上了一个新作用——在手机客户端內部能够从一个嵌入的创世情况中运行 Prysm。在添充缓存文件时,大家存款树的一个不正确预置造成信息内容的讹误:

难题根本原因

事实上,如果我们的存款树是空的,涵数 len(items) 将自始至终回到 1。这代表着当事实上大家应当把 lastReceivedMerkleIndex 的值设为 -1 时,大家会把它设成 0。上边的编码会造成一些在该编码途径的 Prysm 节点绕过把第 0 笔存款置入到树里。大家代码库的别的一部分都偏向难题出在大家存款树完成的这一怪异一部分,而不是这一编码途径。

为了更好地检测这一假定,大家试着应用 Protolambda 出示给大家的检测工装夹具尽量地复制代码途径。大家判断力大家漏了将第 0 笔存款置入到存款树。自然,大家可以在一个可反复的检测中寻找造成全部事情产生的、有什么问题的存款树杆!随后,大家紧紧围绕该编码途径加上标准,以防止该标准再次发生,并提前准备发布最后明确的修补版本号。

直接原因汇总

Prysm 把 eth1 数据信息储存在硬盘上,以避免 客户在每一次重新启动过程时都务必对验证者存款合同日志发出请求。

假如一个节点重新启动并把 eth1 数据信息储存在硬盘上,大家会从这种数据信息复位大家的存款缓存文件,但因为大家的稀少默克尔树 (sparse merkle tree,SMT) 帮助软件包的工作方式与从硬盘上的数据信息复位此缓存文件的编码途径不同样,大家会绕过把第 0 笔存款置入存款树,导致失效存款树杆。这一编码途径只危害这些创世至今都还没数据库查询的节点,之后被修补了。

在官方网标准里,Prysm 节点遵照“半数以上”的标准实行一个 eth1 数据信息投票优化算法,可是,Prysm 并沒有彻底完成该优化算法的一些合理标准。Prysm 节点随半数以上 eth1数据信息投票开展投票,该投票数据信息引入的是一个现有的区块根,这很有可能造成 Prysm 节点投票给一个由有什么问题的存款树转化成的存款树哈希值,由于这种存款是未被验证的。

因为互联网里绝大多数的节点全是 Prysm 节点,随半数以上标准投票给有什么问题存款根这个问题的滚雪球效应发展趋势成一个比较严重难题,由于 Prysm 节点在接着一段时间里没法在主在网上转化成区块。

一旦 eth1数据信息投票期重设了,Prysm 节点又可以恰当地建议区块了,直至在未来又碰到该系统漏洞。

解决方法

在中国北京时间 4 月 25 日周日 13:00,在可变性中难熬了好几个小时后,大家公布了对该难题的修补。大家对这一解决方法有十足的掌握,并十分有信心在节点升級后,该难题在 Eth2 中不容易再发生。

汲取校风校训

在事情中,对大家的解决方法有信心和与外部的慎重沟通交流是尤为重要的

在我们遭受 Eth2 的 Medalla 测网事故时,大家到了有关优良沟通交流的使用价值的关键一课。每一个公共性评价和语言表达的精准表述都是会对事情的結果造成比较严重危害。在测网的事情里,大家认为一个马上的解决方法是根据公共性方式告知大伙儿“重新启动大家的节点”。这一轻率的决策造成互联网上绝大多数的节点都断线了,随后蜂拥而至在一堆坏的对等节点里找好的,以完成与区块链的同歩。除此之外,大家迅速公布了一个沒有 100% 自信心能解决困难的软件更新热补丁包。这给系统软件产生大量的错乱,并导致节点运作商对解决方法的顾虑。

相较下,在此次主网新事故的全部全过程里,大家一直留意谨慎与精准的沟通交流。此外,在大家对难题的根本原因和解决方案有 100% 的自信心以前大家沒有公布热补丁包。

维持细心与理智有利于解决困难

大家团队历经了以往两年搭建 Eth2 ,学得了怎样在应对挫折时保持冷静。大家坚信在解决困难全过程中,保持冷静、经常沟通交流情况汇报、保证团队感受到适用和正脸的意见反馈是十分关键的。大家可以花时间搜集尽量多的直接证据,并与大家的客户开展细腻的协作,大家将取得成功处理这个问题。更关键的是,我们在逐渐时就花时间对事情危害开展量化分析,以降低质押者与因欠缺信息内容而造成的焦虑。这一经验教训对在高宽比焦虑不安与休息不好的状况下工作中十分关键。变得慢一点,用适度的方式处理它,并不惜一切成本防止把难题弄得更糟糕。

Eth2 测试网并不等于主网

针对 Prysm 客户端,我们在公共性 Eth2 测试网中对 Prysm 商品前的备选版本号开展了普遍的检测和监视。Prater 和 Pyrmont 测试网全是客户在添加到 Eth2 主网前用于检测她们的设定的好专用工具。可是,这种测试网都预置四个商品级 Eth2 客户端的占有率是贴近均分的,即沒有哪一个客户端在认证者中有显著的大部分市场份额。悲剧的是,这很有可能沒有充分考虑当某一客户端为大部分人所应用时才会发生的系统漏洞。在未来,Prysmatic Labs 会在一个更贴近主网自然环境、或一个 Prysm 节点 50% 的自然环境里开展內部测试网里开展检测。

除此之外,大家提议别的客户端也在他们自身的內容检测中添加那样的自然环境,在他们变成大部分客户端的情况下,他们还可以认识自己客户端的潜在性难题。

为何应用 Prysm 客户端做质押

https://launchpad.ethereum.org

大家挑选运作 Prysm 时由于从一开始大家团队早已致力于使她们参加以太币质押的感受更简易。我和大家的客户沟通交流过很数次,很多人挑选一个客户端并不是由于外部经济上的提升或与别的客户端对比相对性小的盈利区别,只是由于大家促使她们的感受更简易——优良的档案文件,一直给全部的小区组员出示关键的协助。针对初学者而言 Eth2 是恐怖的,质押也充斥着可变性和风险性。大家团队的重任是让客户了解我们在她们身旁,及其不管她们的难题多小都是会获得大家的适用。尤其地,大家一直关心这些很有可能对cmd不太熟、不太掌握 UNIX 电脑操作系统的一般质押者。

在未来,你能对大家团队有下列希望:

提升完成标准标准的精确性,保证预置和合理标准在一切编码被载入前都被充足审批和提出质疑

我们不因要提升这一感受,也要继续努力,使 Prysm 比今日提高许多 倍,使应用大家客户端的质押者更非常容易参加互联网,包含网页页面页面的改善。

Prysm 将在产品研发层面继续努力,在 eth

标签:

区块链热门资讯
夜间必看5篇 | “永恒不变大牛市”确实存有吗?_艺术品

夜间必看5篇 | “永恒不变大牛市”确实存有吗? 1.MetaMask有什么主要用途? MetaMask是每一个Defi客户应用数最多的钱夹专用工具。4月28日,MetaMask的月活跃性客户已做到五百万之多。

2021/4/30 22:05:04
Khala Network 平行链插槽竞价对策公布_艺术品

Khala Network 平行链插槽竞价对策公布 关键点概述 Key Points Of Khala Auction Strategy Phala Network 将在 Kusama 互联网布署准备主网 Khala Network(主网将接着布署在 Polkadot); Khala Network 并不会发售单独于 PHA 以外的新代币总。

2021/4/30 21:59:18
rNFT:一个用以改善NFT市场流动性的新试验_艺术品

rNFT:一个用以改善NFT市场流动性的新试验 为了更好地改进NFT市场流动性,市场参加多方都是在不一样的方位开展勤奋和试着,而试着的方位包含NFT泛娱乐化、竞拍体制创新、市场销售体制创新等。 TopBidder Protocol是根据激进市场基础理论的NFT竞拍协议书,是现阶段已经知道唯一一个RNFT新项目。

2021/4/30 20:37:55
金黄DeFi日报 | DeFi贷款基准利率回暖至7.22%_艺术品

金黄DeFi日报 | DeFi贷款基准利率回暖至7.22% 1.DeFi总的市值:1270.79亿美金 总市值前十货币排名数据来源DeFibox DeFi总的市值数据来源:Coingecko 2。

2021/4/30 20:21:28
算法稳定币FEI迈入“刑满释放日” 1分钟学好怎样逃出_艺术品

算法稳定币FEI迈入“刑满释放日” 1分钟学好怎样逃出 中国北京时间4月30日,算法稳定币协议书FEI宣布实行了FIP-2赎回计划方案,这容许FEI持有人以0.95美元的价钱将FEI兑换成ETH。 而针对许多 参加者来讲,这代表着长达一个月的“水牢”日常生活早已到要道别的情况下。

2021/4/30 19:43:52
OKX