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

2020-02-28 17:20 栏目:经验之谈 来源: 查看()

以太网第0阶段的核心是信标链,负责协调以太网。作为验证者,Ta如何参与ETH2.0网络?本文从验证者的角度出发,非常简洁地解释了验证者的参与过程,适合想成为ETH2.0网络验证者的读者。本文作者是亚历克斯·特,由《蓝狐笔记》中的“SIEN”翻译。

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

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

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发