分组共识下的P2P连接方案——分组网络拓扑结构

原创 PlatON 

分组共识下的P2P连接方案——分组网络拓扑结构

本篇内容为分组共识下的P2P连接方案,针对目前Giskard协议演进成分组共识的一种设计方案,本期为第二部分。

| 组内网络拓扑结构

在构建网络类型时,可分为不规则网络和规则网络,首先对不规则网络的情况下进行分析。

分组共识下的P2P连接方案——分组网络拓扑结构

上图为两种不同连接数量的连接图,分别使用随机算法连接的不规则网络拓扑结构:

P1

连接数的计算:f=(GM-1)/3,每个节点向组内的其它f个节点建立连接,有可能出现P1图所示的两个连通分量,组内未能形成一个连通图,通信受阻,消息无法传至全部成员。

P2

连接数的计算:h=floor(GM/2),每个节点向组内的其它h个节点建立连接,能在连接上保持重叠,最终形成一个连通图,保证节点间连通的同时,能快速传播至其它成员。

结论

在利用随机算法建立连接时,形成的网络结构不可控,存在一定风险并且无法达到设计目标。把节点对 外的连接称为「度」。

1. 当度较少时可能存在被孤立的情况。

2. 而度较多时,提高了连通的可靠性,但整体的消息量庞大并且占用过多的可用连接。

| 组内连接算法 

分组共识下的P2P连接方案——分组网络拓扑结构

组内连接将构造一个规则的网络拓扑结构,在连接数的限制和消息量的限制下,保证各节点间连通性的健壮和传播效率,各节点的组内连接数将维持在一个较低的量下,并且分为R1和R2两个规则共同构建网络拓扑结构。

预先将组内所有成员按照某种规则排列,可视作「环」,整个规则将以邻居的概念组织各节点间的关系。

t=4, opp=h

R1

首先,每个节点向自身左右两边的邻居各连接t个节点,优先让整组连通。

R2

在R1基础上,每个节点再向自身左边第h个节点发起连接(也就是正对面),最终形成如上拓扑结构。节点在组内的连接量为10=t*2+2个,保持整组连通的同时,消息也能快速传播至全部成员,并且维持在此连接量上能保证只要消息传入组内任何成员就能传播至组内全部成员。

结论

节点在充分连接自身邻居节点后,再向远距离的节点建立一个连接,同理远距离的某个节点也会连向自身,最终节点在组内连接为10个。连向远距离节点的目的是提高连接的范围,扩大自身的邻居圈提高传播效率(以消息发出一次为一个周期,最优能在两个周期传至全部成员),也提高连接的可靠性,避免在较少连接的情况下,节点间的部分连接异常导致节点被孤立。

本文转载自https://mp.weixin.qq.com/s/BtKg-wPoLWIEuXsMb_5neg

(0)
上一篇 8月 21, 2021 10:22
下一篇 8月 22, 2021 10:00

相关推荐

发表评论

登录后才能评论