LTC挖矿_比特币BTC_以太坊ETH_挖矿赚钱_手机挖矿首选网站

LTC挖矿

Eth2 Staking 指南 #3:分片化的共识

签名聚合

Eth3 用了 BLS 签名策略 ——一种在多条椭圆曲线上得到概念、对签名聚合较为友好的策略。在策略所选定的曲线上,单个签名的大小是 96 字节。

假如占总量 10% 的 以太币 参与了质押,则 Eth3 会拥有约 35 万个验证者。这就意味着,单个 epoch 产生的签名数据量大小可能会达到 33.6 MB,那样一天就是 7.6 GB。那样,只须 133 天,签名数据就会超越 1 TB。

解决方法是,BLS 签名是可以聚合的。假如 Alice 提交了签名 A,而 Bob 所提交的签名 B 是对相同数据签的名,那样仅需存储 C = A+B,就能验证 Alice 和 Bob 的签名。用了签名聚合技术,整个委员会的验证者前面都可以聚合成一个签名。如此就能将签名数据的存储需要减少到天天 2 MB。

把验证者分配到不同委员会中的设计,让验证 Eth3 所需付出的工作量减少了几个数目级。

对于一个想要验证信标链和所有分片链的节点来讲,它要做的只是监测来自每个委员会的聚合见证消息,仅需这样便是否了解每条分片链的状况,与各验证者对哪些区块 是/不是 信标链主链的怎么看。

因此,委员会机制帮 Eth3 达成了两大设计目的:仅需消费者级别的笔记本即可参与 Eth3 互联网、支持尽量多的验证者来达成尽量的去中心化。

用数字来讲明:大部分拜占庭容错式的权益证明协议只能支持数十位验证者,但 Eth3 可以支持数十万验证者同时为系统安全性作贡献,又不牺牲实行时延和吞吐量。

原文链接:https://blog.ethereum.org/2021/03/27/sharding-consensus/
作者:Carl Beekhuizen
翻译:阿剑

Eth3 Staking 指南 #0
Eth3 Staking 指南 #1:勉励机制
Eth3 Staking 指南 #2

特别感谢 Sacha Yves -Leger 和 Joseph Schweitzer 的指正。

Sharding是 Eth3 对比 Eth1 的很多升级之一。这个名词源自数据库研究,就是将一个大的数据库切分为很多部分,而一个分片就是一个部分。那样放到 Eth3 和数据库的语境下,分片就意味着要把整个系统的存储和计算切分开来、相互独立地处置各分片,然后随实质需要组成最后结果。具体来讲,Eth3 系统中包含了很多分片链,而每个条分片链的功能都与 Eth1 区块链相似,这就能带来大幅度的可扩展性提高。

不过,在 Eth3 中还有一种不那样为人所知的分片种类,而且从协议设计的角度来看,这个种类可能更为激动人心:分片化的共识。

就像互联网中最慢节点的处置能力限制了互联网的吞吐量,单个验证者的计算资源也决定了可以参与共识的验证者总数目。由于每新增一个验证者,都会给系统中的所有其他验证者带来额外的工作量,那样伴随验证者数目的增加,最后会达到一个状况:资源最少的那个验证者将不再可以参与共识。那样 Eth3 处置这个问题的策略就是分片化的共识。

Eth3 的系统中有两种基本的时间单位,时隙和时段。

一个时隙是 12 秒,这是大家预期可出一个区块的时间;区块其实是一种让验证者的投票能集合发布到链上的机制,不止于包含买卖让链变得有用。

一个时段由 32 个时隙组成,在一个时段中,信标链要实行所有跟链的维护有关的计算,包括:合理化及敲定新区块、给验证者发放奖励和惩罚。

大家在本系列的第一篇文章中提到,验证者会被分配到不一样的委员会中实行工作。那样在任一时刻,都有验证者同时既是信标链委员会成员、也是某一个分片链委员会的成员;每一个验证者在一个时段中都要发出见证消息一次 —— 为已经提出的信标链区块投票。

Eth3 的分片化共识的安全模型,基于如此一个观念:让委员会在某种程度上就是整个验证者集合的准确统计学代表。

举例而言,假如整个验证者集合中有 33% 的验证者是恶意的,那样他们可能就会进入到同一个委员会中。那就完蛋了。

所以,大家需要确保事情不至于这样。换句话来讲,大家需要保证的是,假如 33% 的验证者是恶意的,那样在一个委员会中只有约 33% 的验证者是恶意的。

大家需要两个举措来达成这一点:

举例,假如单个委员会由 128 个随机选出的验证者组成,那样一个控制了全网 1/3 验证者的攻击者可以控制单个委员会的 2/3 验证力量的概率是很很小的。

验证者提交的投票叫做 “见证消息”。见证消息由几个部分组成:

把尽量多的部分都组合到一条见证消息中,系统的整体效率便得以提高,由于,在检查验证者的签名时,不再需要分别验证对信标链区块的投票和对分片链区块的投票,节点仅需基于见证消息做运算,即可得知信标链区块的状况和每一条分片链的状况。

假如每个验证者都提交了我们的见证消息,而每一条见证消息都需要被所有其它节点单独验证一次,那样 Eth3 的节点的开销可能会变得非常大。这就是为何大家需要 “聚合技术”。

见证消息被设计成容易组合的形式,因此,假如有两个乃至更多验证者做了同样的投票,那就可以用一条见证消息把他们的投票都大全起来,仅需把签名字段放在一块即可。这就是 “聚合” 和含义。

委员会的投票在根本上来讲也是易于聚合的,由于这部分验证者都被分配到了同一个分片上,因此分片状况的投票和对信标链区块的投票非常可能是相同的。这就是 Eth3 能伴随验证者数目的增加而扩展吞吐量的机制。通过把验证者打散到委员会内,验证者将仅需关心自己所在委员会的成员,也仅需检查极少数从其它委员会处传来的、已经聚合过的见证消息。

相关推荐

我们的缺点麻烦您能提出,谢谢支持!