区块链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 Ne