ETH2.0验证程序如何获得更高的奖励?事实证明,证据越早被打包到区块链中,验证者获得的回报就越高。根据“包含距离”这一关键指标,帮助验证者判断“单一证明”和“综合证明”的有效性。
证明
证明是指验证人对ETH2.0区块链的当前状态发起的投票。每个活动验证器每隔一个epoch(大约6.5分钟)发起一个证书,并由以下元素组成:
图1:证据的构成
一个有趣的过程是链头投票,这意味着验证器投票来证明**的有效块,即链头。链头投票的组成如下图所示:
图2:链式投票的组成
这里,sLoot指的是验证器投票证明的当前链头的位置,哈希值标识验证器的位置。两者的结合可以唯一地识别区块链上的某一点,在获得足够的票数后,乐视网已经就区块链的地位达成共识。
虽然每个证明中的数据相对较小,但在数千名验证者的参与下,它将迅速增长。由于这些数据将始终存储在链上,因此减少存储数据的大小非常重要,这可以通过聚合过程实现。
聚合由多个证明组成,所有的证明由同一个委员会投票,包括链头投票和最终确定投票,然后将它们组合成一个聚合证明
图3:聚合证明的组成
聚合证明与简单证明有两个不同之处。首先,聚合证明中有多个验证器。其次,他的签名是由匹配的简单证明签名组成的聚合签名。聚合被证明对存储非常好,但是会增加通信和计算开销(有关更多信息,请参见下文)。
如果要求每个验证器聚合所有的证明,这意味着每个证明的信息必须传递给每个验证器,并且其中的通信总量将很快使网络过载。类似地,如果聚合是可选的,验证器也不愿意浪费资源。然而,如果我们改变方式,网络会选择一个子集的验证器来执行聚合任务。然后他们会更愿意做自己的工作,因为聚合证书包含更多的验证者,更有可能被打包到链中,这意味着验证者更有可能获得奖励。
执行此聚合过程的验证器称为聚合器。
提高认证奖励
ETH2.0使用度量包含距离来计算验证者证明的奖励。槽的填充距离是指待证明的槽与首先填充的槽之间的差。例如,如果在槽SS中被证明并且在槽S+1s+1中被打包成块,则填充距离为11。如果在S+5S+5处装入块中,则包装距离为55。
在ETH2.0中,证明值取决于包装距离,包装距离越短越好。这是因为因特网上的信息越早,它就越有用。
为了反映证据的相对价值,根据包装距离的大小,对负责证明的验证者给予不同的奖励。具体来说,奖励乘以1/D,其中D是包装距离。
图4:证明奖励与包装距离之间的关系
如果网络运行良好,所有证书的打包距离为1。这意味着证明**的有效性并相应地获得**的回报。如果延迟举证,验证者的报酬将相应减少。
包装证明程序
那么,如何将证据打包到ETH2.0区块链中呢?过程如下:
1每个验证器根据链状态相关数据生成证明;
2证明它在ETH2.0网络中被广播到相应的聚合器;
3接收证书的聚合器将其与同一委员会投票的其他证书合并;
4向0网络的所有节点广播聚合证明;以及
5如果聚合证明尚未添加到链中,则任何建议块的验证器都可以将其打包到块中。当证实的包装距离超过1时,必须找出原因。有几个影响因素:
证明生成延迟
验证器可能存在“证明生成延迟”问题。例如,关于链状态的信息可能已经过时,或者验证器不够胜任,生成和签署证书需要花费大量时间。无论出于何种原因,迟延证明对程序的其余部分都有间接影响。
验证广播延迟
一旦验证器生成证据,就需要将其广播到网络的聚合器。该过程的目的是使聚合器能够及时地接收到最早的证据信息,以便在将证据广播到整个网络之前进行聚合。验证器应该尝试与尽可能多的其他验证器连接,以确保证据被快速广播到聚合器。
总发电延迟
证明聚合过程可能会延迟。最常见的原因之一是生成的证明使节点过载。然而,当大量验证者需要聚合证明时,聚合算法的速度也会导致聚合延迟。
聚合传播延迟
与证明广播延迟类似,聚合证明也需要广播到网络,并且可能遭受相同的延迟。
区块生产失败
证据必须打包成块才能成为链上数据的一部分。但是,块生成可能失败。当验证器离线或无法同步网络中其他验证器的数据时,产生的无效数据将被链拒绝。
块生成失败将导致另一个影响。由于上一个有效的证明没有打包到块中,下一个生成的块需要接收更多的证明数据。如果可以打包到下一个块中的证明超出了它们所能容纳的范围,那么验证者很可能会选择打包距离最短的那些,因为它们可以获得更多的奖励。这使得剩余的证明有越来越少的包奖励,导致证明错过了**块和后续块。
由于块的生成受验证器状态的影响,我们定义了最早的分组时隙,即有效块生成和证明后的第一个时隙。这个定义考虑到证据不能打包成不存在的块,并且不受验证器有效性的影响。
恶行
然而,恶意验证器有可能拒绝聚合任何给定的证明或将其打包到其块中。前者的解决方案是给每个证明组分配多个聚合器,后者的解决方案是惩罚拒绝将聚合证明打包成块的行为。但是,如果拒绝打包到块中的处罚得到经济补偿,或者如果该行为在政治上更有价值,则负责证明的验证者不能采取任何行动来强迫负责生成块的验证者将证据打包到块中。
计算证明的有效性
考虑到批量生产和包装距离,证明的有效性是指证明对网络的有用性。计算方法如下:
以百分比表示。以下是一些有效性计算示例:
如果证明因其包装距离为32而失败,则证明的有效性为0。
聚合证明的有效性
对于一个单一的证明,计算证明有效性可能有点有趣,但就价值本身而言,它没有多大意义。聚合证明的有效性(包括更长的时间和更多的验证者)使我们能够更好地理解一组验证者的整体有效性。集合证明的有效性是单个证明有效性的平均值。例如,给定组中所有验证器的有效性被记录7天并取平均值。
总结
ETH2.0启动后,数千个节点将相互定位,并开始提出块和证明块。像所有不成熟的网络一样,为了使节点尽可能有效,还有许多问题需要解决。如本文所述,一个用于记录节点效率的明确指标是证明其有效性。如果验证者希望获得**的回报,他可以通过证明有效性来判断自己的整体绩效。
文章链接:https://www.btchangqing.cn/82793.html
更新时间:2020年08月13日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。