区块链BaaS云服务(28)TOP Network 之P2P 网络
Posted thefist11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链BaaS云服务(28)TOP Network 之P2P 网络相关的知识,希望对你有一定的参考价值。
1. 总结
- P2P网络”不是一个单片网络,而是许多以分层方式组成的P2P网络,类似于互联网的设计。
- 开发了优化的数据传输和Gossip协议,使带宽消耗最小化,提高节点发现的效率。
- 将地理信息嵌入到P2P网络结构中,并实现了智能路由,以减少延迟。
1.1 Kademlia DHT
P2P网络的基础是一个修改过的Kademlia DHT工具。
使用多层的Kad网络,子P2P网络之间的关系是层次化的,每个子网都有它下面一层的信息。
网络的层次结构由zone、cluster和shard实现,zone是一种逻辑划分,而每个cluster和shard由物理的P2P Kad节点网络组成。
- zone:一个以cluster和shard为“节点”的Kad网络。
- cluster和shard:由物理节点组成的子Kad网络。
本质上,每个子网络充当Kad网络中的一个节点。TOP Network中的每个P2P网络都在一个更大的Kad网络中被虚拟化为单个节点。
1.2 XIP 地址
当一个节点第一次被选中并加入网络时,它会被分配一个唯一的XIP地址,该地址会映射到一个Kad节点ID。此映射存储在链上的一个选举块中。
- 在上层,节想要搜索或连接网络中任意一个对等节点,节点只需使用XIP地址。
- 在底层,会根据XRouting-Table将XIP地址进行转换,XRouting-Table是存储在每个节点本地,用于查找正确子网的表。
-当一个节点第一次加入网络时,诸如国家代码和网络位置等一般的地理信息即被确定。然后将这些信息编码植入NodeID中。 zone表示这种地理分区的顶层,每个zone都是一个跨越特定地理区域的Kad网络。特定zone中的集群和分片会因此位于相同的区域,这极大地降低了延迟。
eg. 一个zone可能覆盖北美,而另一个zone可能覆盖欧洲。
1.3 优化的 Gossip 和数据传输协议
发送的数据包被分成头和正文两部分。头的大小只有几个字节,而正文通常要大得多。我们不是将整个包分发给特定子网络中的大量节点,而是使用最有效的层次化组合和多点广播的方法来发送正文。但是,数据头使用可靠的Gossip协议来发送,这大大减少了在Gossip过程中正文必须传输的次数,节省了网络带宽的消耗。
1.4 可靠的 UDP
开发了自己的X-UDP协议。由于这个协议是定制的,只包含了必需的东西,所以,保持了UDP的低开销和高速度。
- UDP是无连接和不可靠的,不能保证服务质量。
- 谷歌的QUIC是可靠的。然而QUIC过于庞大,带来了不必要的开销。
1.5 智能路由
智能路由方案:与Chord DHT中的路由机制相似。当连接到另一个节点时,查找过程最终将提供建立直接连接所需的详细信息。此外,将通过类似于Chord的转发方案测试几个路径,比较每个路径之间的延迟,并使用延迟最低的路由。
以上是关于区块链BaaS云服务(28)TOP Network 之P2P 网络的主要内容,如果未能解决你的问题,请参考以下文章
区块链BaaS云服务(28)TOP Network 之全分片主链(Layer-1)
区块链BaaS云服务(28)TOP Network 之P2P 网络
区块链BaaS云服务(27)TOP Network 区块链平台