使用BLS聚合签名的分组共识方案(三)

原创 PlatON

使用BLS聚合签名的分组共识方案(三)

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

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

| 消息复杂度分析

分组原则

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

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

分组前,PrepareVote消息总量为。

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

容错性对比

假设验证节点总数为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

扩展性指标

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

可靠性指标

  • 安全性证明
  • 活跃性证明

本文转载自https://mp.weixin.qq.com/s/k0jqvVk4yKhEWV4hjb9mmg

(0)
PlatONWorld-M6的头像PlatONWorld-M6管理员
上一篇 13 9 月, 2021 10:48
下一篇 14 9 月, 2021 09:10

相关推荐

发表回复

登录后才能评论