当前位置:首页 > 物联网 > 区块链
[导读] 上周三,以太坊创始人Vitalik Buterin在布拉格举行的Devcon4大会上,公布了以太坊发展路线(也被称为以太坊2.0)的最新信息,更新的内容包括新链将以Serenity为名(之前被称

上周三,以太坊创始人Vitalik Buterin在布拉格举行的Devcon4大会上,公布了以太坊发展路线(也被称为以太坊2.0)的最新信息,更新的内容包括新链将以Serenity为名(之前被称为Shasper,意指分片和Casper的结合),其包含了Casper、分片、EWASM以及其他一些协议,它会是一条新的区块链,并与当前的以太坊PoW链同时存在,且相互连接。

而在第一阶段,以太坊开发者们将交付基础beacon链,第二阶段则是推出分片数据链,第三阶段就是启用状态交易(EWASM),最后则是迭代、改进以及添加新技术。

而在本文当中,我们将探讨beacon链的Casper共识机制,Casper共识机制其实有两个大的版本,一个是Casper FFG(Vitalik版),而另一个则是本文要讲到的Casper CBC(Vlad版)。

以下内容译自Vitalik最新发布的帖子《Casper CBC lite via committees》

Casper CBC 的工作流程大致如下:

1.验证者发出消息;

2.每则消息指定验证者正在投票的区块,并且还指定了验证者从其他验证者处收到的最新消息。

3.验证者正在投票的区块,必须等于或继承自GHOST分叉选择规则的头部区块(使用其他验证者的最新消息作为输入)

4.唯一的削减条件是(i)上述规则,(ii)验证者不能生成具有相同序列号的两则消息,(iii)在后面的消息中,验证者不能引用具有(比早期消息中的验证者所引用的消息)更早序列号的消息;

5.最终确定性是内生的:在某些时候,当有多轮验证者对X的后代进行投票时,从数学上讲,如果没有大量验证者发出无效消息,头部就不可能切换到非X块;而少于这个量的限制,可使用各种启发式算法进行检测和测量。

下面是一个GHOST分叉选择规则的实例。 字母A,B,C,D,E代表着最近发生的5次投票。

第一个选择在绿色和黄色块之间。最后绿色块获胜了,这是因为有三张选票来自绿色块,而只有两张选票来自其竞争者黄色块。第二次选择是在红色块和蓝色块之间。而蓝色块以2:1的比分获胜,而蓝色块只有一个橙色的子块,所以橙色块是获胜者。

这样做而导致的效率问题是显而易见的:每则消息都需要引用它已经看到的所有其它消息,这可能会导致O(N^2)的数据复杂性;

本文探讨了一种缓解数据复杂性的特定策略,相较于每个验证者的投票,都是在每个其他验证者消息的GHOST分叉选择规则进行评估,其中验证者被明确地分配给m个其他验证者的私人委员会(可能是32≤m≤256),并且在他们的消息当中,必须包含对这些m个验证者签名的引用。

这种引用可以按序列号,或者通过这些签名已包含在链中的位置来完成。削减条件可简单地检查这些消息实际上是否代表GHOST分叉选择评估m则其他消息,并且计数器总是递增的。

更具体地说:

1.对于接受一则消息的链,要么 (i) 消息必须对链中的区块进行投票,要么(ii)该消息投票的链外(off-chain)区块必须被纳入一个叔块(uncle);

2.对于接受一个叔块的链,这个叔块的父块必须 (i)是该链的一部分,或者(ii)已经被纳入了链中,并作为一个叔块;

3.对于一条接受一则消息的链,引用其最新集的所有消息,都必须被接受;

4.每则消息都有一个序列号。对于一条接受带有序列号为n消息的链,它必须已接受了来自序列号为0.。..n−1验证者的消息;

5.验证者可以对具有相同序列号的两则消息进行削减处理,或者也可以削减一则投票x的消息,其中消息中包含的证据不能证明投票x;

如果委员会足够大,它们将接近整个验证者集。并且你可以试探性地确定验证者的数量。 下面是相关的代码:

github.com ethereum/research/blob/659f0b31f9337b3e7ee4bde45cdb93c0ed4fd390/graph_cbc/graph_cbc.py

import random

VALIDATORS = 5000

EDGES = 255

FINALITY = 4000

assert EDGES % 2 == 1

neighbors = list(range(VALIDATORS))

edgelist = neighbors * EDGES

random.shuffle(edgelist)

edges = [edgelist[i*EDGES:i*EDGES+EDGES] for i in range(VALIDATORS)]

last_votes = ‘1’ * FINALITY + ‘0’ * (VALIDATORS - FINALITY)

while 1:

new_zeroes = []

for i in range(VALIDATORS):

votes_for_0 = len([e for e in edges[i] if last_votes[e] == ‘0’])

if votes_for_0 * 2 》 EDGES:

注意,这部分代码是截取的,完整代码可访问:https://github.com/ethereum/research/blob/659f0b31f9337b3e7ee4bde45cdb93c0ed4fd390/graph_cbc/graph_cbc.py

结果就是m ≈ 256 ,容错率似乎接近20%,非常接近 Casper CBC两轮内最大的可能值25%。虽然我们失去了几个百分点的安全性,但我们获得了一个令人惊讶的简约协议表示,否则的话,就可能需要一些相当复杂的数据结构。

此外,请注意,这种Casper CBC的风格,基本上与Avalanche(雪崩协议)的工作方式非常相似,其中每个节点通过对其他节点委员会进行调查而获得共识。这里的主要区别在于,委员会是通过协议选择的,削减条件会强制执行合规性,而GHOST则被用作分叉选择规则,以扩展N元共识链,从而有效地实现经济安全。这表明可能存在着一个更为通用的框架,它可以有效地包含Casper CBC以及Avalanche;

进一步的工作:

1.Casper CBC的容错性,可通过增加的等待回合数,来提高到 (1/3-ϵ)。那么我们是否可以用一种类似的技术,将容错率提高到20%以上呢?

2.有没有办法,在这个设置当中让分片自然地发生呢?一般而言,这种目标,可用某种DAG技术来替换链式机构来完成,其中每个区块都知道其分片的父级,以及其他分片中的的第十个最新和较旧的区块,并且期望验证者,仅完全验证尚未被足够大的验证者样本所验证的区块。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭