http://www.kqlcn.com/

Eth2验证者须知:如何判定“证明”的有效性

  作者 | Jim McDonald


译者按:Eth2.0验证者怎样才能获得更高的奖励呢?原来证明越早被打包进区块链,验证者获得的奖励便越高。本文根据关键度量“打包距离 (inclusion distance)”帮助验证者判定“单个证明”以及“聚合证明”的有效性。

  何为证明

 

  证明指的是由验证者就Eth2.0区块链当前状态所发起的投票。每位活跃验证者每epoch(约6.5分钟)发起一次证明,由以下元素组成:


Eth2验证者须知:如何判定“证明”的有效性

  图1:证明的组成

 

  其中一个有趣的过程是链头投票,指的是验证者投票证明出最新的有效区块,即链头。链头投票的组成见下图:


Eth2验证者须知:如何判定“证明”的有效性

  图2:链头投票的组成

 

  在这里,slot指的是验证者投票证明当前链头所在的位置,哈希值则标识了验证者所在的位置。而这两者组合起来,独特地标识出区块链上的某一点,并且获得足够的票数之后,网络就链的状态达成了共识。

  尽管每个证明中的数据都相对较小,但随着成千上万的验证者参与,该数据会迅速庞大起来。由于此数据将永远存储在链上,因此减少储存数据的大小很重要,可以通过聚合(aggregation)过程来实现。

  聚合由多个证明组成,并且所有证明都由同一委员会投票,包括链头投票和最终确定性投票,然后将其合并成为一个聚合证明:


Eth2验证者须知:如何判定“证明”的有效性

  图3:聚合证明的组成

 

  聚合证明与简单证明在两个方面有所不同。首先,聚合证明中有多个验证者。其次,他的签名是聚合签名,由匹配的简单证明的签名构成的。聚合证明非常有利于存储,但是会带来额外的通信和计算负担(更多信息请参见下文)。

 

  如果要求每个验证者聚合所有证明,这意味着每一个证明的信息都需传递给每位验证者,其中的通信总量会迅速使网络超载。同样的,如果聚合是可选可不选的,那么验证者不会情愿浪费自己的资源。

  然而如果我们换一种方式,由网络来选择验证者子集执行聚合任务。那么他们会更乐意做好自己工作,因为聚集证明所包含的验证者数量更多,更有可能被打包进链,意味着验证者将更有可能获得奖励。

  执行此聚合过程的验证者被称为聚合者(affregators)。

 

  提高证明奖励

 

  Eth2.0使用打包距离度量(metric inclusion distance)来计算验证者证明所获得的奖励。一个slot的打包距离指的是进行证明的slot与最先打包证明进区块的slot之间的差。例如,在slot ss中进行证明,而在slot s 1s 1中被打包进区块,那么打包距离为11。如果是在s 5s 5处被打包进区块,则打包距离为55。

 

  在Eth2.0中,证明的价值取决于其打包距离,打包距离越短越好。这是因为信息越早呈现在网络上,它就越有用。


Eth2验证者须知:如何判定“证明”的有效性

  图4:证明奖励与打包距离的关系

 

  如果网络运行良好,所有证明的打包距离将会是1。这意味着证明实现最大的有效性,并且相应地获得最大的奖励。如果证明产生延迟,那么验证者获得的奖励将相应地减少。

 

  打包证明过程

 

  那么证明是如何打包进Eth2.0区块链的呢?过程如下:

 

  ➤ 每个证明验证者都会根据链状态相关的数据生成证明;

  ➤ 证明广播到Eth2.0网络中相应的聚合者中;

  ➤ 而收到证明的聚合者将其与其他由同一个委员会投票的证明合并起来;

  ➤ 聚合证明被广播至Eth2.0网络的所有节点中;以及

  ➤ 如果聚合证明还没有被添加到链上,任意一个提议区块的验证者能够将其打包进区块。

 

  当证明的打包距离超过1时,我们就有必要搞清楚其中原因,有以下几种影响因素:

   证明产生延迟

  (Attestation Generation Delay)

 

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