概念 Eth2.0 中的验证者水平

时间:2021-07-30 17:12编辑:未知

引言

大家 Attestant 是非推广托管型的 以太币 2.0 质押服务,既能为顾客资金提供更高的安全性,又能借助一流的验证方案来获得比传统验证基础设施更高的收益。衡量收益的办法之一是,追踪 以太币 2.0 区块链上见证消息的生成和上链状况。这是一大重要指标,由于见证消息越早上链,收益就越高。本文将介绍 Attestant 是怎么样单独或综合计算见证有效性的。

见证消息

见证消息(attestation)是验证者对 以太币 2.0 区块链目前状况的投票。每一个激活状况的验证者都会在每一个 epoch (时段)(约长 6.5 分钟)创建见证消息。见证消息包含以下部分:

其中比较有趣的部分是链首投票(chain head vote),即,验证者在创建这条见证消息时觉得什么区块是链上最新的有效区块。链首投票的结构如下所示:

图中的 sLOT (时隙)概念了验证者觉得目前区块链的链首所在地方(所在高度) ,Hash(哈希)概念了验证者觉得的链首区块。二者一同概念了区块链上的一个点。有了足够多的投票,互联网就可以就区块链的状况达成协议。

虽然一条见证消息的数据量比较小,但验证者有数万名 , 数据量非常快就会积沙成塔。因为这部分数据将永远存储在区块链上,降低数据量尤为重要。这是通过一个被叫做 “聚合(aggregation)” 的过程达成的。

聚合就是将多条 committee(委员会)、chain head vote(链首投票)、finality vote(终局性投票)都相同的见证消息(译者注:即同一委员会中作了相同的链首投票和终局性投票的见证消息) 合并成一个 聚合见证消息 ( aggregate attestation ):

聚合见证消息与单个见证消息存在两点差异。第一,前者有多个验证者。第二,聚合签名是由单个见证消息的签名合并生成的。聚合见证消息的存储效率非常高,但会增加通信和计算方面的负担(详见下文)。

假如大家强制需要每一个验证者将所有见证消息聚合起来,那样将每一个见证消息传给每一个验证者所需的通信量非常快就会致使互联网过载。同样地,假如聚合只不过可选项,那样验证者就不会浪费我们的资源这么做。因此,互联网会选择一组验证者来负责进行聚合 1 。出于利益考虑,验证者会认真履行职责,由于包含较多验证者的聚合见证消息更大概被添加到区块链上,验证者就更大概获得奖励。

实行这一聚合过程的验证者就是 聚合者(aggregator) 。

见证奖励的变化状况

以太币 2.0 在为验证者计算见证奖励时使用了 打包距离( inclusion distance ) 这一指标。打包距离指的是见证消息生成时所处的 slot 与该见证消息被打包到区块时所处的 slot 之差。比如,在 slot s 生成的见证消息在 slot s+1 被打包到区块中,这个时候打包距离就是 1 。假如见证消息在 slot s+5 被打包到区块中,这个时候打包距离就是 5 。

在 以太币 2.0 互联网中,见证消息的价值取决于打包距离,打包距离越小越好。这是由于越早上链的信息越有用。

为体现见证消息的相对价值,验证者所获得的见证奖励会随打包距离的增大而降低。具体来讲,见证奖励会乘以 1/d (d 为打包距离)。

见证消息的打包过程

见证消息是怎么样打包到 以太币 2.0 区块链上的?其过程如下 2 :

1. 每一个参与见证的验证者都会用其所拥有些链状况的有关数据生成见证消息;
2. 见证消息会通过 以太币 2.0 互联网广播给有关聚合者;
3. 每一个聚合者在收到见证消息后都会将它与其它具备相同声明的见证消息聚合起来;
4. 聚合见证消息会通过 以太币 2.0 互联网广播至所有节点;
5. 只须是没在链上看见该聚合见证消息的区块建议者都可以将其打包到区块中。

一旦你发现打包距离大于 1 ,就要知道其背后缘由。可能有以下几个缘由:

见证消息生成延迟

验证者可能会遇见一些问题,从而致使见证消息生成延迟。比如,验证者所拥有些链状况有关数据过时,或者验证者在生成和签署见证消息上花浪费时间间过久。无论出于哪种缘由,见证消息生成步骤的迟滞都会对整个步骤的剩余步骤产生连锁反应。

见证消息广播延迟

验证者生成见证消息后需要通过互联网将见证消息广播至聚合者处。这一步骤的本质意味着,广播宜早不适合迟,由于如此可以确保验证者准时收到该见证消息,并将其合并到聚合见证消息中。验证者应该连接到足够多的对等节点,从而确保自己能尽快将见证消息广播给聚合者。

聚合见证消息生成延迟

聚合者可能会推迟见证消息的聚合步骤。最容易见到是什么原因,聚合者节点已经由于生成见证消息而过载,但假如需要聚合很多验证者,聚合算法的速度也会导致巨大延迟。

聚合见证消息广播延迟

与见证消息广播延迟类似,聚合见证消息也需要在互联网中广播,因此存在相同的延迟风险。

区块生成失败

要想让见证消息上链,第一要将它打包到区块中。但,区块生成并不肯定总能成功。有两种状况会致使区块生成失败:1. 验证者离线;2. 验证者与互联网中的其他验证者失去同步,致使其生成的区块因包含无效数据而被拒绝。假如区块生成失败,就没办法确保见证消息在同一个 slot 内上链,致使打包距离大于最好距离。

区块生成失败还会产生其它影响,即,增加了可打包进下一个区块的见证消息总量。假如可打包的见证消息总量超越了区块容量,区块生产者非常可能优先打包那些可以带来较高收益的见证消息,也就是那些打包距离最小的见证消息。这就大概致使那些错过最好打包距离的见证消息一再被推后,由于它们能带来的收益愈加低。

因为验证者没办法控制区块生成 3 ,大家概念了 “最早打包 slot(earliest inclusion slot)” 这一术语。最早打包 slot 指的是见证消息生成后的第一个生成有效区块的 slot 。见证消息没办法打包到一个没有的区块中,因此,以见证消息生成后的第一个 slot 为标准也衡量不出见证者的效率。这个标准就体现了这部分考量,将 “最早打包 slot” 概念为见证消息生成后的第 1 个产生有效区块的 slot(译者注:即过滤掉区块生产者的失误对衡量验证者效率导致的影响)。

恶意行为

尽管这样,恶意参与者依旧大概拒绝将见证消息聚合,或者拒绝将见证消息打包到区块中。前者的风险可以用让每一个验证者团体都有多个聚合者来缓解 。为减少后者的风险,不打包见证消息需要承担肯定的本钱。但,参与见证的验证者没办法迫使区块生成者打包见证消息,因此假如不打包见证消息所产生的收益高于其本钱,参与见证的验证者就束手无策了。

计算见证消息有效性

考虑到区块生成和打包距离,见证消息有效性可以理解为见证消息对互联网的用处有多大。见证消息有效性的正式概念是:

区块有效性是以百分比呈现的。下表列出了一些示例:

区块距离的上限是 32 。假如未能在区块距离达到上限之前将见证消息打包进区块,则该见证消息的有效性为 0。

聚合见证消息有效性

单个见证消息的有效性非常有趣,但本身意义不大。假如大家将不同验证者在不同 slot 生成的见证消息的有效性综合起来看,就能更好地知道这组验证者的整体有效性。大家仅需取单个见证消息有效性的平均值,即可计算出聚合有效性,比如,一组特定验证者连续 7 天来的有效性均值。

概要

当 以太币 2.0 启动时,成千上万个节点会确定彼此的地方,然后开始建议和见证区块。就像所有不成熟的互联网一样,你需要通过持续的探索来找到怎么样叫你的节点尽量好办法。正如上文所述,见证消息有效性是用来追踪节点有效性的一大指标。期望达成奖励最大化的验证者可以通过见证消息有效性来认识其总体表现。

Attestant 会为大家的验证者追踪其见证消息有效性,并将顾客报告中的数据大全起来,从而提供更明确的表现指标。伴随大家继续拓展非推广托管型 以太币 2.0 质押服务,大家非常乐于与大伙推荐更多的指标。

注释:

验证者组合中的成员每过几分钟就会改变,因此所有验证者一同负担聚合本钱。
这是经过简化的见证步骤,但出于本文的目的而言,这个步骤是准确的。
显然,除去那些验证者自己生成的数据。

出处:区块链喜好者

本文标签: