SLOT:以太坊2.0:信标链验证者的旅程_ETH

编者按:本文来自蓝狐笔记,作者AlexT,译者SIEN,Odaily星球日报经授权转载。

前言:以太坊phase0的核心是信标链,它负责协调以太坊网络。作为验证者,Ta是如何参与ETH2.0网络的?本文从验证者的视角非常简洁地阐述了验证者的参与过程,很适合想成为ETH2.0网络验证者的读者阅读。

本文试图用简单的语言来解释信标链的工作方式。在ETH2.0中,信标链是整个网络的骨干,以非常复杂的方式协调所有一切,因此,下面的阐述有意地进行了大量的简化。为了简单起见,我将主要考虑网络和验证者正常工作的情况,并忽视大多数毫无疑问会发生的恶意行为。诸如罚款、消减以及孤块、重组等事情在这里暂不描述,后续再表。信标链是一个区块链,从本质上讲,是连接在一起的区块的链,但有一些惊喜。我们的旅程从一个不为人知的英雄开始,Ta就是验证者。验证者将其32个ETH的“小金库”锁入在当前ETH1.0网络上的质押合约中,以便通过运行验证者节点来积极参与ETH2.0网络。在验证者出发之前,需要一些先决条件。理想情况下,验证者有权访问ETH1.0节点和信标链客户端节点,两者均已同步。一旦我们的英雄将其ETH存入质押合约,他的ETH2.0之旅便开始了。存储过程的一部分是,他为其信标链的ETH获得了公钥、冷热私钥。通过浏览器,公钥可用来查看验证者状态和活动。热私钥用于投票和提议,而冷私钥应该离线存储,因为它是金钥匙,它允许将来让你访问你的ETH。需要注意的是,这里有一件非常重要的事情,一旦你发送了质押金,你必须保证验证者客户端处于运行状态,直到你停止成为验证者。在Phase0阶段,如果你退出,你将无法重新加入成为验证者,同时也无法转移资金。否则,你会失去ETH。验证者的第二步是等待大约7.5个小时,以确保存储的交易无法被逆转。验证者利用这段时间来设置一个可用的验证者客户端,添加热私钥并将其连接到先前设置的信标链客户端。一旦等待结束,存储资金被信标链识别,验证者被添加到激活队列中。在这个队列中,可以猜想,我们会继续等待,这取决于队列中有多少其他的验证者。现在已有327,680个激活的验证者,每个epoch只有4个验证者可以活跃。要想理解epoch,需要先了解什么是slot。slot是12秒的时间间隔,可以生产一个区块。最终这是一个区块链,因此,我们必须在某个时间点产生区块。空slot可以存在,且它们被称为跳过slot。为了确保事情能够井然有序,slot在一起组成分组,在一个epoch一次32个slot。这分散了一些信标链客户端需要做的一些操作,这反过来应该减少运行所述客户端的计算机的计算负担。在队列中排队后,验证者终于被激活。在每个epoch开始前,验证者都会得到一份花名册。在这个花名册中,他会看到每个epoch,跟他的一些同行一起,他需要投票决定将哪些区块包含到一个slot中。在某些epoch,他看到他也有责任为slot提议区块,而其他人可以投票。在每个epoch之前,信标链的每个slot选择一个验证者来提议区块。它也采用整个可用的验证者池,将他们分成每个epoch的slot数,然后进一步将其分成上述的组,也就是委员会。委员会可以将其选票汇总在一起。最后,对于每个epoch,每个验证者需要按照指示进行一次投票,并且如果被选中,则将需要提议一个区块。回到我们的主角,验证者,我们发现他的生活相当单调。正如我提到的那样,他花了很多epoch询问信标链客户端在每个epoch前他需要做什么,之后再尝试去执行。然后每个epoch他需要去投票,以使得其他人提议的区块被包括进来。考虑到所有的可用信息,它会真诚地执行操作。并且,通常来说,仅查看一个带有正确信息的提议区块是件简单任务。时不时地会发生一些让人激动的事情,我们的验证者被选择去提议区块。一旦相应的slot出现,它就会从网络上查看可以看到的内容,上一个区块是什么以及可以看到在网络上等待被包含进区块中的验证。随后,它将所有这些信息打包进入一个新区块,然后将其发送到网络。它收集到的信息越多发送越快,它可以收到的潜在奖励就越多,如果该区块被包含在规范链中的话。在提交该区块后,假定一切都正确,通过收到的证明数量,它会看到该区块在随后的区块中被其他同行验证。在一个epoch结束之后,信标链还将ETH发放给正确履行职责的验证者。其中一些发给投票的人,更大部分发给提议区块的人。但是,如果没能正确完成任务,人们也会遭到罚款。更糟糕的是,如果验证者因为恶意行为,或因为技术困难,导致发生诸如在同一slot提议两个区块之类的事情,他们会被消减,这意味着会损失更多的资金且从链中被踢出。区块链是一个个区块逐个构建起来的,通过使用最后一个可用区块作为父块,每个区块查看之前slot中的区块,将自己锚定到链上。不过,由于现实世界中的事情都不是童话,因此,诸如网络延迟之类的事情会导致产生很多问题,因为并不是所有的验证者都有相同的情况。延迟意味着一些验证者可以看到某些提议的区块,而其他人可能看不到。为了解决这个问题,必须在验证者客户端中引入一个称为“分叉选择”的强大实体。其目的有点类似于法官。在每个slot,它会检查自己拥有的所有可用信息,并且如果考虑链的历史存在多种选择,它会尝试选择其中一个,选择回溯到构建时刻获得投票数最多的那个。这个机制可以确保它只有一个规范链,但它有个称为重组的副作用,可能在短期内对链进行重组。当重组发生时,奖励和惩罚也会发生改变,以反映新链的历史和履行的职责。如果总验证者池中至少有三分之二的投票赞成同一区块代表一个epoch的开头,那么,该epoch被认为是链中的有效部分。合理性提供一个合理的确定性,即是说,链不会通过重组而改变。为了确定链不会发生改变,当有一个连续的其他epoch已经被证明且建立在其上时,该epoch会被视为具有最终性。换言之,具有最终性的epoch是被已经证明的epoch,而其子epoch也是被证明的。总的来说,这就是信标链验证者的旅程:同步信标链客户端发送32ETH质押金到存储合约启动验证者客户端等待,直到质押存款被确认,且被添加进入验证者激活队列运行并确保验证者客户端持续运行:-对区块进行投票/证明,以使其包含到链上-被要求时提议新区块获得收益$$$本文简要提及或忽略了以下主题,这些主题都需要用专门文章来阐述:*随机数的生成—RANDAO*分叉选择规则—CasperFFG*最终性*奖励和惩罚计算方法*消减*验证者生命周期,包括自愿和强制退出*任何与Phase1+相关的内容*任何技术性的内容,例如BLS签名、SSZ编码或数据结构

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-5:75ms