以太坊 2.0 Prysm 事件回顾:发生了什么?学到了什么?_区块链前沿

以太坊 2.0 Prysm 事件回顾:发生了什么?学到了什么?

理会了以太坊 2.0 Prysm 客户端事件的基本起源,并列出了以太坊 2.0 质押者须要注视的题目。

原文题目:《以太坊 2.0 主网事件回忆》
撰文: Raul Jordan,Prysmatic Labs 配合开创人

1620563819-37124c6d2398d6dhttps://beaconcha.in/epoch/32302

事件择要

从 epoch 32302 发端,信标链丧失了洪量区块创议。因为 Prysm 是 Eth2 客户端顶用户最多的,是以题目最有能够浮现在 Prysm 上。一段光阴以后,咱们在当地重现了该过错。这本来是咱们已知的一个与 Eth1 数据投票和考证者入款关系的题目。只管之前已有人向咱们陈诉过此题目了,不过咱们没法重现这个 bug 并将其视为独立事情。并且这个题目从未在职何尝试网可能主网中普遍鼓励过。这是该题目初次致使区块创议衰落事件。

在这 18 个 epochs 内,几近一齐 Prysm 信标节点都没法损耗新区块。Epoch 32320 又发端平常运转了,其时专家遍及以为该事件已终了了。但是大概 24 小时后,该事件再次产生,形成了宛如的浸染。

对于此事件的正式过后解说陈诉已宣告,调查链接 察看。

该回忆完全先容了事件的光阴线;理会了基本起源和列出了 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 发端浮现区块创议丧失的题目。

1620563820-5e79cc40931ff33

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。在添补缓存时,咱们入款树的一个过错预设致使讯息的讹误:

1620563821-991927e5da1d65e题目根本

究竟解释,倘使咱们的入款树是空的,函数 len(items) 将一直返回 1。这表示着当本质上咱们应当把 lastReceivedMerkleIndex 的值设为 -1 时,咱们会把它设为 0。上头的代码会致使一些在该代码途径的 Prysm 节点跳过把第 0 笔入款嵌入到树里。咱们代码库的其余局部都指向题目出在咱们入款树完结的这个怪异局部,而不是这个代码途径。

为了检查这个假使,咱们试验运用 Protolambda 供应给咱们的尝试夹具尽量地复制代码途径。咱们直观咱们漏了将第 0 笔入款嵌入到入款树。自然,咱们恐怕在一个可反复的尝试中找到致使全面事情产生的、有题目的入款树根!尔后,咱们环绕该代码途径增加前提,以免该前提再次浮现,并筹备推出终究肯定的建设版本。

1620563822-50b559c7a112721

题目束缚

基本起源归纳

  • Prysm 把 Eth1 数据保管在磁盘上,以避免用户在屡屡重启历程时都必需对考证者入款合约日记发出要求。
  • 倘使一个节点重启并把 Eth1 数据保管在磁盘上,咱们会从这些数据初始化咱们的入款缓存,但因为咱们的奇怪默克尔树 (sparse merkle tree,SMT) 帮手举措包的处事式样与从磁盘上的数据初始化此缓存的代码途径不类似,咱们会跳过把第 0 笔入款嵌入入款树,形成失效入款树根。这个代码途径只浸染那些创世此后还不数据库的节点,厥后被建设了。
  • 在官方模范里,Prysm 节点遵守「万万多半」的绳尺实行一个 Eth1 数据投票算法,不过,Prysm 并不全面完结该算法的一些灵验前提。Prysm 节点随万万多半 Eth1 数据投票施行投票,该投票数据援用的是一个现存的区块根,这能够致使 Prysm 节点投票给一个由有题目的入款树天生的入款树哈希值,由于这些入款是未被考证的。
  • 因为搜集里大局部的节点都是 Prysm 节点,随万万多半绳尺投票给有题目入款根这个题目的滚雪球效应滋长成一个严格题目,由于 Prysm 节点在随后一段光阴里没法在主网上天生区块。
  • 一朝 Eth1 数据投票期重置了,Prysm 节点又也许精确地创议区块了,直到在改日又碰到该空隙。

束缚计划

在北京光阴 4 月 25 日周日 13:00,在虚浮定性中煎熬了多个小时后,咱们宣告了对该题目的建设。咱们对这个束缚计划有一概的掌控,并不是常有决心在节点晋级后,该题目在 Eth2 中不会再浮现。

1620563823-aaf4dd94221af38

摄取教育

在事情中,对咱们的束缚计划有决心和与外界的精心沟通是相当要害的

当咱们蒙受 Eth2 的 Medalla 尝试网事件时,咱们上了对于卓越沟通的价格的要害一课。每一个大家指摘和谈话的准确表白城市对事情的完毕孕育严格浸染。在尝试网的事情里,咱们感到一个立刻的束缚计划是经历大家渠道报告专家「重启你们的节点」。这个粗率的决计致使搜集上大局部的节点都掉线了,尔后领先恐后在一堆坏的平等节点里找好的,以完结与区块链的同步。别的,咱们很快宣告了一个不 100% 决心能束缚题目的软件晋级热补钉。这给体例带来更多的扰乱,并形成节点运转商对束缚计划的疑惑。

相较之下,在此次主网新事件的全面进程里,咱们从来注视盛大与准确的沟通。其它,在咱们对题目的根本息争决步骤有 100% 的决心之前咱们不宣告热补钉。

维持端庄与肃静有助于束缚题目

咱们团队过程了往日几年建立 Eth2 ,学到了何如在面临窘境时维持肃静。咱们自满在束缚题目进程中,维持肃静、一再相易状况陈诉、保证团队感化到援助和反面的反应利害常要害的。咱们恐怕花光阴搜集尽量多的凭据,并与咱们的用户施行精致的协作,咱们将胜利束缚这个题目。更要害的是,咱们在发端时就花光阴对事情浸染施行量化,以缩小质押者与因不足讯息而孕育的忧愁。这个教育对在高度重要与就寝不及的状况下处事特殊要害。慢下来,用适应的步骤束缚它,其实不惜完善价值制止把题目弄得更糟。

Eth2 尝试网不即是主网

对 Prysm 客户端,咱们在大家 Eth2 尝试网中对 Prysm 产物前的候选版本施行了普遍的尝试和监听。Prater 和 Pyrmont 尝试网都是用户在参加到 Eth2 主网前用来尝试他们的树立的好东西。不过,这些尝试网都预设四个产物级 Eth2 客户真个占比是热诚平衡分的,即不哪一个客户端在考证者中有显然的多半份额。悲惨的是,这能够不商讨到当某个客户端为大多半人所运用时才会浮现的空隙。在改日,Prysmatic Labs 会在一个更热诚主网境况、或一个 Prysm 搜集节点 50% 的境况里施行内部尝试网里施行尝试。

别的,咱们倡导其余客户端也在它们本人的体例尝试中参加如许的境况,在它们成为大多半客户真个时间,它们也能够明白本人客户真个潜伏题目。

质押者应当议论甚么

为何运用 Prysm 客户端做质押

1620563824-59e195e4ce6b3c0https://launchpad.Ethereum.org

人们采用运转 Prysm 时由于从一发端咱们团队已埋头于使他们参预以太坊质押的领会更简洁。我与咱们的用户沟经历几何次,几何人采用一个客户端不是由于微观上的优化或与其余客户审察比相对小的收益分离,而是由于咱们使得他们的领会更简洁——卓越的文档质料,从来给一齐的社区成员供应要害的搀扶。对生手来讲 Eth2 是恐怖的,质押也充溢虚浮定性微风险。咱们团队的工作是让用户显示咱们在他们身旁,和不管他们的题目多小城市得回咱们的援助。独特地,咱们从来关注那些能够对夂箢行不太清楚、不太明白 UNIX 职掌体例的普遍质押者。

在改日,你也许对咱们团队有以下恭候:

  • 普及完结模范前提的确切性,保证预设和灵验前提在职何代码被写入前都被充裕考查和置疑
  • 咱们不因要普及这个别验,还要强化勤奋,使 Prysm 比今日选拔几何倍,使运用咱们客户真个质押者更轻便参预搜集,囊括网页界面的鼎新。
  • Prysm 将在研发方面强化勤奋,在 Eth1 <> Eth2 的兼并条件供环节的机能与鼎新。
  • 咱们自满强健的比赛能孕育一个重大的勉励机制,推进 Eth 的权力解释能有更多人参预,也是以更平安,由于一齐客户端团队都持续改良他们的软件
  • 咱们团队力求于以最高的专科程度来束缚和质押者能够会碰到的题目。咱们自满咱们做益处理咱们路上会碰到的任何题目,并向咱们的社区保险咱们会把质押者领会动作咱们的最高优先级。
  • 结尾,咱们自满还有几何要害机能也许使 Prysm 形成参预 Eth2 的、更有吸引力的软件,咱们将朝着这个宗旨持续迭代
  • Prysm 有一些考证者收益的高档优化还没对一齐质押者设为默许煽动。咱们自满这些机能宣告后,Prysm 的质押者会看到最高水准的收益。

回忆客户端各类性的对话

自 Eth2 创世此后,咱们从来听到的一个共通中心是客户端各类性。Eth2 是一个有全国各地的人动作考证者参预的宣传式体例。分别人用分别的软件参预到区块链的共鸣里,倘使某个软件浮现严格题目,倘使运转搜集的客户端完结由一个平稳宣传的话,浸染会更小。

Leonardo Bautista-Gomez 早在正月的时间发表了一份数据理会,完毕实际 Prysm 节点占搜集的 65%,这次事情也卖弄 Prysm 考证者在今日占了大多半。

1620563825-91cafc1cbb66251https://github.com/leobago/BSC-Eth2/tree/master/armiarma

咱们倡导你们客观地对付每一个客户端:它的软件、它的社区、还有它的韧性,尔后决计选哪一个软件及其背后的团队是最契合你的需要的。倘使某个 Eth2 客户端毛病了对你来讲很要害的货色,者正式你不选他们的客户真个情由,咱们激烈保举你提议一个机能要求。Prysmatic Labs 会接续埋头于搀扶你参预到以太坊搜集,并推进区块链软件的规模。

倘使你想沟通和对本文由疑义的话,请参加咱们的 Discord。

参考

事情的沟通
https://www.reddit.com/r/Ethstaker/comments/mxpz57/regarding_the_recent_beacon_chain_incident/

过后反省陈诉
https://docs.google.com/document/d/1nJr6_bd-UnLBxvhT8lcRYdAZr69QdVQ3zJNUr3LgW-0/edit?usp=sharing

Medalla 尝试网事情
https://medium.com/prysmatic-labs/Eth2-medalla-testnet-incident-f7fbc3cc934a

起源链接:medium.com

免责说明:动作区块链讯息平台,本站所宣告作品仅代表作家一面见解,与链闻 ChainNews 态度无关。作品内的讯息、见识等均仅供参考,并不是动作或被视为本质投资倡导。

1620563826-422d88c89879398

以太坊

1620563826-422d88c89879398

以太坊

怒放的宣传式区块链运用平台,经历其专属加密钱币 Ether 以太币供应去重心化的假造机,解决点对点合约。理睬任何人设立和运用经历区块链岁月运转的去重心化运用,不任何狡黠、审查、第三方禁锢。 以太坊的观念初次在 2013 至 2014 年由维塔利克·布特林 Vitalik Buterin 受比特币发掘后提议,旨在共通建立一个更寰球化、更自如、更切实的互联网。以太坊EthereumETHERC 20ERC-20ERC20ERC721ERC-721以太坊 2.0察看更多1620563827-13a9f2c5b9f7c03

Prysmatic Labs

1620563827-13a9f2c5b9f7c03

Prysmatic Labs

Prysmatic Labs 区块链开拓团队为初始以太坊基金会受益人,力求于以太坊横向扩容,为以太坊区块链上有价格的 DApps、智能合约供应援助。 Prysmatic Lab 名目的认真人 Raul Jordan 来自洪都拉斯圣佩德罗苏拉,在哈佛大学练习计划机科学。团队具有宣传式体例到云计划的百般后台,夸大用尝试启动的步骤,完结体例的首个分片客户端。 Prysmatic Labs 团队正在钻研和开拓的区块链分片束缚计划,旨在将以太坊区块链的全面状况分别为独自的片来束缚可增添性、平安性、分别性三大题目。你也许将以太坊搜集视为一个独自的分片,搜集中的一齐节点都须要解决这个特殊大的分片中的每一个工作。分片则将搜集分别为多个片,而某些节点只须要解决某些分片的工作,是以这类计划从搜集角度推广总迷糊量。PrysmPrysmatic Labs察看更多以太坊 岁月 Prysm 以太坊 2.0 Prysmatic Labs

区块链前沿是一个专业的比特币价格查询&区块链数字货币资讯平台,我们为用户提供关于区块链企业、数字货币币种、数字货币交易平台及区块链人物的相关信息,我们整理发布全球主流比特币交易平台、虚拟数字货币交易平台、区块链应用企业的结构化信息,我们对区块链及数字资产充满热情,立志打造成一个区块链综合门户网站。
区块链前沿 » 以太坊 2.0 Prysm 事件回顾:发生了什么?学到了什么?

发表评论