使用BLS聚合签名的分组共识方案(三) | 技术云图

fffmCQ.jpg

使用BLS聚合签名的分组共识方案(三) | 技术云图

分组共识方案在现有Giskard共识基础上,将验证节点集合随机分组,每个分组中的节点只需要在组内达成消息共识并生成该消息的BLS聚合签名,各分组再进行组间签名交换,将所有分组的签名重新聚合成完整的签名结果,从而实现该消息在整个网络的最终一致性。

该方案可提升现有Giskard共识的可扩展性,降低网络通信复杂度、消息复杂度。

消息复杂度分析

分组原则

Giskard在具有n个节点的网络中的传输开销为,也就是说每个节点产生的消息都需要广播给所有共识节点。

以PrepareVote阶段共识为例,分析分组前后的消息复杂度:假设共识节点总数为n,平均分成x组,每组成员数为n/x。

分组前,PrepareVote消息总量为。

分组后,第一步,PrepareVote消息只在分组内扩散,所以消息总量为²;第二步,RGBlockQuorumCert消息只由每组的协调节点产生并发送,以分组人数上限25为例,每组的初始协调节点数为5个,假设这5个协调节点产生的分组聚合签名各不相同,在不考虑普通节点升级为协调节点的情况下,RGBlockQuorumCert消息总量为。

容错性对比

假设验证节点总数为N,可以平均分成X组,每组成员数为N/X。分组之前,整个网络容错为(N-1)/3,分组之后,每组容错为(N/X-1)/3,整个网络的容错为(N-X)/3,因为X大于1,所以分组后,整个网络的容错性会有所下降但差值不大。

举例:200个节点分成8组,每组25个节点,分组前后整个网络的容错数分别为66和64。

各项指标数据的采集

需要通过大量不同场景的测试,采集以下指标数据

共识效率指标

view出块率

view缺失数

view的平均时长

平均出块速率(块/秒)

网络指标

节点连接数

通信复杂度

一轮共识的消息总量(metrics统计)

网络出入流量

性能指标

TPS

交易延迟TTF

扩展性指标

共识节点的增加对其余指标数据的影响

可靠性指标

安全性证明

活跃性证明

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论