作者:|
(shards),您需要了解被划分的质权验证人(staking the alidator)、证书(atte)、委员会(committee)、检查点(checkpoint)和最终(finality)所有信息。
还记得你第一次瞥见区块链的秘密吗?你是否渴望对灯塔链有类似的理解?以太坊的信标链是以太坊系统的核心,但该系统的大部分内容过于技术性、针对性或不够深入。
在这里,您可以完全理解信标链的元素和机制。在关键细节中将使用示例来帮助您理解和节省时间。
我们假设你有一个坚实的基础在以太坊或比特币和了解一些关于利益证明(PoS)。
让我们进一步了解碎片(shard)、质权验证者(staking the alidator)、证书(attestations)、委员会(committee)、检查点(检查点)和最终(finality)。
分片:宏伟的蓝图
在理解信标链之前,**先介绍一下分片。公链(包括ETHereum)面临的主要可伸缩性问题是,每个节点必须验证和执行所有事务。
在计算机科学中,有两种主要的扩展方法:
垂直扩展:使节点点越来越强大。
水平扩展:添加更多节点。
为了实现去中心化,区块链需要横向扩展。ETHereum 2.0(也称为ETH2或Serenity)的目标之一是让节点在消费硬件上运行。分片是数据库横向扩展的一种方法。
通常,一个分片链有一个节点子集来处理它。验证器被分配到一个不同的分片链,并且只处理和验证该分片链中的事务。
ETHereum片段上的节点子集是动态的,并按块处理。
分片机制区块链实现的主要挑战是如何保证分片的安全性。由于验证器去中心化在不同的分片中,一些节点可能恶意控制分片。
解决方案的关键是:
洗牌验证器是为每个分片块随机选择验证器的委员会,它确保在数学上攻击者不可能攻击单个分片,如果它控制的验证器总数少于三分之一。
欺诈证明(欺诈证明)、数据管理证明(保管证明)和数据可用性检查(数据可用性检查)是重要的安全组成部分。
目前的ETH2计划是使用64个碎片。虽然分片和信标链是独立工作的,但我们将解释系统的关键部分。
分片揭示了ETHereum信标链的作用和需求。我们还理解了为什么要在传统的区块链中添加新元素。切分的新兴世界总是对有创意的开发人员开放。
ETHereum 2.0
简而言之,ETHereum 2.0分为三个阶段:
阶段0-信标链
阶段1 -分片
阶段2 -执行
与管弦乐队的类比:
阶段0 -命令
阶段1 -工具
第二阶段——音乐家
各阶段是系统的重要组成部分,具有不同的特点。第0阶段是以太坊2020计划的一部分。第一阶段通常比其他阶段更静态。阶段2通常是关于执行和**的。
槽(槽)和槽(epochs)
信标链是以太坊2.0的核心。它为系统的和谐和协商一致奠定了基础。每个周期为12秒,每个周期为32个周期:6.4分钟。
槽(槽)是一个机会,添加块到信标链和分片。可以想象,信标链和分片链以一定的速度排列。当系统以**状态运行时,每12秒添加一个信标(链)块和64个分片块。验证器需要与该时间同步。
SLoot (SLoot)类似于阻塞生产时间,但是SLoot (SLoot)可以是空的。信标链和片段化的创建块都在sLoot 0中生成。分片将在信标链的下一个Epoch0期间开始运行,但是分片链和信标链都有自己的Epoch0并包含它们的创建块。
验证器、认证和信标链
虽然工作证书(PoW)与矿工相关联,但在ETHereum 2.0中,验证者是权益证书的“虚拟矿工”验证者积极参与ETHereum 2.0协议共识。他们的激励机制将在稍后的信标链验证者奖惩系统中讨论。
块提议者是随机选择的生产块的验证者。
在大多数情况下,验证者是认证者(attester),它对信标块的分段块进行投票。这些投票记录在信标链中。在信号链和碎片的头部进行投票。
在每个epoch中,验证器被随机分配到一个sLoot和shard。验证人参与分配给他的分片共识,以便他可以对该分片的分片头进行投票。然后,验证器将位于槽处的分片头连接到信标块。
验证(证明)是验证人的投票,由验证人的余额加权。除了块之外,验证者还在系统中广播证明。
验证者还相互监督,奖励那些报告来自其他验证者的冲突投票或提出多个块的人。
信标链的主要内容是验证者的地址、每个验证者的状态、证明和到分片的链接。验证器由信标链激活,可以切换状态,稍后将在信标链验证激活和生命周期中简要描述。
铆合验证器:语义
验证者是虚拟的,由出质人激活。在PoW,用户购买硬件成为矿工。在ETHereum 2.0中,用户承诺ETH激活成为验证者。
我们可以将赌注者与赌注、验证器和平衡器联系起来。每个验证器的**余额为32 ETH。22但有分争的,可以将一切所有的都抵押了。每32 ETH被抵押,一个验证者被激活。
验证器使用信标(链)节点运行于验证器客户端。信标节点具有跟踪和读取信标链的能力。验证器客户端可以实现信标节点功能,也可以调用信标节点。验证器客户端可以执行一个或多个验证器。
交联:将片连接到信标链
交联是信标链与分片链的连接。在交叉链接中,信标链跟随分片链的头部。使用64分片,每个信标块可以包含多达64个交叉链接。一个信标块可能只有一个交叉链接(如果在那个时隙没有为其他63个分片块提出验证者)。ETH2的第1阶段计划将分片链交叉链接到信标链,作为分片叉选择、分片链结束和交叉分片通信的基础。所有的分片链始终跟随信标链。
委员会:介绍
委员会是一组验证者。为了安全起见,每个插槽(在信标链和每个分片中)都有至少128个验证器组成的委员会。恶意攻击者控制委员会的几率不到三分之二。
以太坊信标链的概念来源于随机信标。 向公众传播随机数的概念。信标链在随机过程(RANDAO)中达成一致。
RANDAO随机过程根据验证器平衡的权重选择封隔器。验证人可能是同一位槽提出者和委员会成员,但这不是常态。发生这种情况的概率是1 / 32,所以我们粗略地每一纪元看一次。在上面的场景中,验证器的数量少于8,192个,或者每个槽至少包含两个委员会。
这个关于信标链的解释主要是关于信标链委员会:为信标链服务的验证者。将一块板随机分配一个片,以交叉链接到信标块。没有固定的委员会。负责将一个块的更改与每个块交叉链接的委员会。
构建区块链块的独立碎片链委员会将留到以后讨论。
许多分片块可以由不与信标链交互的分片链验证器构造,但为了使分片块与其他分片通信,信标链委员会需要将其交叉链接到信标块。
该图描述了在三个插槽中发生的事情。
在sLoot1中,一个块被提出,然后由两个验证器进行验证,而委员会A中的一个验证器处于脱机状态。sLoot1的验证和块通过网络传播并到达许多验证器。
在sLoot2中,提出了一个block,而委员会B中的一个验证者没有看到它,因此证明了信标链的报头是一个sLoot1的block。注意,这个验证器与sLoot1中的离线验证器不同。认证信标链头的校验器称为LMD虚反射投票。在SLoot3中,委员会C中的所有验证器都运行LMD GHOST fork选择规则,并独立地验证相同的消息头。
在每个epoch中,验证人只能在一个委员会中。通常,有超过8192个验证器:也就是说,每个槽有多个委员会。所有委员会的规模相同,至少有128名核查人员。当验证者数小于4096时,由于委员会的验证者数小于128,降低了安全概率。
委员会:关键
在每个epoch中,验证者被平均地分成槽,然后再细分成适当大小的委员会。来自插槽的所有验证器都验证信标链头。插槽中的每个委员会尝试交叉连接一个特定的分片。一种变换算法按比例增加或减少每个插槽的委员会数量,使每个委员会至少有128个验证器。
例如,假设有16,384个验证器,其中512个随机分配给插槽1,另一个512分配给插槽2,依此类推。槽1中的512个验证器被进一步划分为4个委员会,并随机分配给shard。
假设分片33、55、22和11是由四个委员会分配的分片。所有512个验证器必须在槽1中发出LMD伪投票;委员会的128个核查人中有一个试图与shard 33相互联系;另一个由128个验证者组成的委员会试图与第55号碎片进行交叉联系;剩下的两个委员会试图与shard 22和shard 11交叉链接。
在sLoot 2中,重复这个过程,将512个验证器平均分为4个委员会,然后随机分配给shard。假设它们被分配到第41、20、17和15片。所有512个验证者必须为插槽2中的信标链路投票。与此同时,这些委员会还试图与shards 41、20、17和15进行交叉链接。
这个过程也在epoch留下的槽中重复。每个验证者都可以在自己的槽中进行投票、验证和交叉链接。自新纪元结束以来,所有16384个验证者都进行了投票并通过分片进行了交叉链接。
但是到目前为止,验证器的投票都是特定于sLoot的,而不是特定于epoch的。这就像投票给地方政府,而不是更广泛的全国选举。验证者没有对同一件事进行投票。关于下一个检查点(检查点)和最终(终结),描述了具体到投票时代的验证者。在指定的时间段内,所有16,384个验证者也将对epoch的检查点进行投票。
信标链检查点(信标链检查点)
检查点(检查点)位于从块的第一个槽开始的epoch中。如果在这个槽中没有生成块,那么最近的前一个块是检查点。每个epoch都有一个检查点块;一个块可能是一个时间超过一个历元的检查点。
注意插槽65打开到插槽128是很重要的。Epoch2的检查点应该位于槽128。但是由于插槽丢失,epoch 2的检查点仍然是在插槽64生成的块。与Epoch 3类似,192个sLoot是空的,因此Epoch 3的检查点是在sLoot 180处生成的一个块。
Epoch boundary block是一些文献中使用的术语(如Gasper的论文,也是上图的来源),可以认为是checkpoint的同义词。
当发起LMD GHOST轮询时,验证者也为最近的epoch检查点投票,称为投票者想要建立的新检查点。以友善为目标。(目标)。这种投票被称为卡斯帕FFG投票,投票还包括**一个由选民识别的检查点,称为“卡斯帕FFG”源。(来源)。
在上图中,验证者在epoch1中的投票使用创建块作为源检查点,然后选择sLoot64中的结果块作为目标检查点。在epoch2中,同一个验证者再次为同一个检查点投票
只有指定给一个时隙的验证者才需要为时隙块投票,然而,所有的验证者都需要为每个epoch的检查点发起一个FFG投票。
绝大多数
所有有效验证者总余额的2/3支持的投票内容为**多数。
例如,假设有三个积极的验证:两匹配器是8 ETH的平衡,平衡校验的32乙,**多数投票必须附带32 ETH验证人的投票:而另两个验证器验证人的投票可能会有所不同,但是他们没有足够的平衡形成**多数。
**的事物
当一个epoch结束时,如果检查点有2/3的选票余额,也就是**多数,那么检查点就是合理的。
如果检查点B已经被证明,并且在它的下一个纪元中检查点已经被证明,那么B就已经完成了(完成了)。通常,一个检查点在两个时间段内完成,即12.8分钟。
平均而言,用户的事务总是发生在一个epoch的中间部分,所以在下一个检查点之前仍然有半个epoch。因此,在一个事务经过2.5个epoch(16分钟)之后,就可以获得最终结果。理想情况下,超过三分之二的证明被封装在一个槽的前22个槽中。因此,交易确认的平均时间是14分钟(16 + 32 + 22个插槽)。分块确认是从分块证明开始,到待证明,再到**。用户可以选择是等待事务完成,还是更低的安全性就足够了。
信标链的头怎么了?
在sLoot96中提出了一个时期边界块(EBB),其中包含epoch2中检查点的证明。Epoch 2检查点的证明投票现在已经达到2/3的**多数,这意味着Epoch 2检查点已经被证明,所以epoch1检查点也已经最终确定。sLoot32的终结性保证了前面所有块的终结性。
当一个检查点被识别时,识别出的块的数量没有限制。虽然定局只发生在时间范围内,但证明了从一个块到另一个块的认证是累积的。从genesis块到区块链头发生了什么。它提供了另一种描述。
从sLoot1到sLoot32的信标块中包含的所有交叉链接将导致sharding链的确定。换句话说,当一个分片块被交叉链接到一个完成的信标块时,它就完成了终结。交联本身不足以确定分片块,但有助于分片链的分岔选择。
当你从genesis块到区块链头会发生什么
同样,我们可以从创建块中找到故事线。从sLoot1到sLoot63的所有提议者都提议一个块,这些块被添加到链中。对于Epoch1中的每个块,它的检查点(SLoot 32处的块)累积55%的验证者证书。验证者提出,sLoot64块还包括Epoch 1检查点的认证。现在,70%的验证者已经验证了Epoch 1检查点:这使得它得到了验证。epoch2检查点(sLoot64)在epoch2认证中没有达到2/3的**多数。验证者在sLoot 96处提出block时,在epoch 2处也投了一票,此时,在epoch 2处的票数满足了2/3的要求,即得到了证明。在演示了Epoch 2的检查点的同时,最终确定了Epoch 1的检查点以及之前的所有块。
另一种可能性是我们只考虑epoch1。在epoch2提出之前,epoch 1检查点可能已经获得了**多数的选票。例如,当插槽32和54块被提议时,插槽32检查点可能拥有大多数所需的证明投票。所以在这种情况下,检查点可能在纪元2之前就已经演示过了。
**,检查点可以在当前的纪元中被证明,但至少要等到另一个纪元。
有时,一个块被证明意味着最终识别出两个或更多的前元块。Gasper论文讨论了仅在高网络延迟、网络隔离或强大攻击的情况下才会出现的情况。
对于分片和ETHereum块上的用户,终结性对于保护他们的事务和减少跨分片通信的复杂性非常重要。如果没有终结,在分片内部和分片之间的事务回滚可能具有破坏性,甚至会使分片的好处失效。
证明:细节
证据包括一个LMD影子投票和一个FFG投票。
理想情况下,每个epoch中的所有验证器都提交一个证书。每个证书有32个槽的机会被打包到链中,这意味着在一个历元中,一个验证者可能有两个证据被打包到链中。
如果验证者在其分配的槽中发送一个证书,并且该证书被打包和链接,验证者将收到**的奖励。那么,将供应链包装起来的回报将会减少。
为了给核查人足够的时间进行准备,他们被提前一个世纪分配给委员会。当新纪元开始时,提议者只分配到插槽。尽管如此,秘密的领导人选举是为了减少攻击和贿赂提议者的风险。
委员会通过将每个认证者的签名聚合为一个签名来优化联合签名技术。当同一板上的验证者发出相同的LMD GHOST和FFG投票时,可以聚合他们的签名。
信标链验证器的奖惩机制
证明人奖励(attester奖励)
证明惩罚(attester处罚)
典的下行风险
罚款及举报人奖励(鞭打及举报人奖励)
申请人的奖励
不惩罚
当一个验证者做了一个大多数其他验证者都同意的认证(LMD GHOST和FFG投票),他们就会得到奖励。在ETH2的第一阶段,验证者也会因为交联而得到奖励。当木块最终确定时,奖励也就确定了。
另一方面,如果核实人没有提交证据,或投票支持一个最终无法确定的区块,他们也将受到惩罚。
在描述相对不太常见的奖罚系统之前,您可能想知道做一个“伪君子”的负面风险。
作为一个出质人,失去ETH的风险等于回报。如果一个验证人在一年的过程中获得了10%的收益,那么(诚实的)验证人可能会由于工作不佳而面临10%的损失。
例如,一个从未在线的验证者,或者其投票区从未最终确定,将被处以罚款,罚款金额等于验证者抛出一个有效的验证区所获得的奖励。
在ETH的努力下,对核查人的所有权利没收(大幅削减)至0.5。一个验钞人如果被没收(砍)刑,至少会失去平衡的1/32,并停止工作。这个惩罚就像验证者离线了8192个epoch一样严重。
该议定书还根据在同样时间内没收的核查人的数目征收额外的罚款。
此额外罚金的计算公式为:验证人余额次数;3 *;核查人被没收的百分比。
换句话说,如果三分之一的核查人同时被没收,他们就失去了所有的平衡。检举人检举成功的,可以获得检举人的奖励。
一旦封印完成,封印工人的报酬是相当可观的。一个总是在线并且工作出色的验证者将从一个被提议的block中获得八分之一的额外奖励。如果扣押发生,提案人也可以收取少量费用将证据打包。在阶段ETH2, 0中,所有告密者的奖励实际上都给了提议者。
ETHereum 2.0系统中有很多机制,对这些机制的评估应该基于所有这些机制的整体效果。奖惩制度的**一部分是对不作为的惩罚。简单地说,如果有超过4个时间点没有完成,那么所有的验证者都将受到双倍的遗漏惩罚,直到下一个检查点完成为止。
无动作惩罚的意义在于,如果50%的验证器离线,则block将在21天后再次完成。
没收(削减)
对于审核人,没收的条件主要有三种:双重提案、FFG双重表决、FFG周向表决。LMD影子投票不会招致没收。
双重的建议
封隔器在其指定的槽内提出多个封隔器。
双重投票
当验证者提交FFG投票时,多个投票指向同一个目标检查点,但引用源检查点不同。
围绕投票
当验证者提交FFG投票时,由多个投票指向的检查点是周围的形状。
以下是两个例子,在epoch 5中,验证器在源检查点32和目标检查点128发起FFG投票:
在epoch 6中,初始化的源检查点和目标检查点的FFG投票被它们在epoch 5中的投票所包围。
在epoch 6中,为源检查点在sLoot 0启动的FFG投票和在sLoot 160启动的目标检查点围绕它们在epoch 5中的FFG投票。
在epoch 6中,FFG对sLoot 128的目标检查点的投票是双重投票,除非sLoot 32是源检查点,否则它将被放弃。同样的FFG投票将不会被没收。
具有相同源检查点的FFG投票也不会招致没收。这是维持网络活动的一个重要条件。例如,如果两个分支链都得到50%验证者平衡的支持,协议应该鼓励验证者在分支之间切换,为同一个源检查点、不同的目标检查点投票(而不是因为分支而惩罚它们,这会导致网络继续分裂)。验证者能够在叉之间安全地切换,可以打破僵局,并尝试形成三分之二多数。
当检举人提交报告时,需要对冲突投票的信息进行打包,以证明验证人应该被没收。
在一个大的记录系统中有效地找到冲突投票是对算法和数据结构的一个巨大挑战。现在和其他;没收物检测的工程挑战寻找参与者。
验证者完全有能力避免没收:只要记住它签署了哪些证书和提案。一个诚实的验证者不会因为其他验证者的行为而受到惩罚。只要核实人不对相互冲突的证书或建议进行表决,就不会被没收。
验证器客户端可以运行多个信标节点来延长系统正常运行时间、增强信任和抵御DoS攻击。当运行一个节点或运行一个备份验证者客户端时,用户需要知道验证者已经签署了不冲突的信息。
信标链验证器的激活和生命周期
每一个想要成为验证者的使用者必须先有32 ETH才有资格成为验证者。在以太坊主网上向保证金协议承诺32 ETH的用户有资格成为验证人。
另一方面,信标链也不鼓励(使)所有余额减少到16ETH的校验器;Pledge用户可以取出剩余的验证者余额,但在ETH2阶段0还没有。
验证者也可以在服务2048个epoch(约9天)后退出。退出时,用户应先通过4个时点,才能退出自己的权益。在四个时间段内,验证人的余额仍然可以被没收。因此,诚实人的余额可以在约27小时后提取。
在“ETHereum 2.0阶段0阶段验证器生命周期”中有更详细的技术说明,包括如下示意图:
为了避免验证器集合在短时间内发生大规模变化,有一种机制可以限制在一个历元内可以激活和退出的验证器的数量。这使得发起激活许多验证器并快速攻击系统的攻击变得更加困难。
信标链也使用了一种叫做的技术。有效的平衡。这种有效平衡的概念避免了验证器平衡的变化,使技术优化成为可能。
概述:
在每届会议上,核查人被平均分配到不同的时段,并进一步划分为相同规模的委员会。验证人只有一个调用插槽,并且只存在于一个委员会中。因此:
新纪元中的所有验证者都试图最终确定同一个检查点:这是FFG投票;
所有验证器被分配到一个插槽,尝试为同一个信标链路头投票:这是LMD重影投票;
将所有验证者分配给一个委员会,以尝试交叉连接分片;
验证者的**行为得到最多的奖励。
激活信标链至少需要16,384个创建验证器。验证者的数量可能由于没收或自动退出而减少,并可能随着出质人的激活而增加。
当系统升级到ETH2或更高版本的第1阶段时,将需要更多的验证器工作。信标链至少需要262144个验证器(认捐数额将超过800万ETH)来产生块,每个块包含64个交叉链接。
文章标题:ethereum 2.0的信标链到底是什么样子的?
文章链接:https://www.btchangqing.cn/27199.html
更新时间:2020年05月27日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。