以太坊

區塊鏈的網絡連接與拓撲結構

  區塊鏈的網絡連接與拓撲結構插图

區塊鏈技術的一個核心要素就是P2P網絡。
如果我們簡單來看P2P技術,它的應用領域已經非常廣泛了,從流媒體到點對點通訊、從文件共享到協同處理,多種領域都有它的身影出現。
同樣的,P2P的網絡協議也有很多,比較常見的有BitTorrent、ED2K、Gnutella、Tor等,也就是我們常說的BT工具和電驢。

  區塊鏈的網絡連接與拓撲結構插图(1)

由於區塊鏈的P2P網絡技術知識繁多,我們主要先對其中的部分內容進行講解:區塊鏈的網絡連接與拓撲結構。
希望讀完本篇可以讓你對目前成熟的區塊鏈P2P網絡的拓撲結構以及運行原理有個大體的認知。
網絡連接與拓撲結構

1、網絡連接

除去少數支持UDP協議的區塊鏈項目外,絕大部分的區塊鏈項目所使用的底層網絡協議依然是TCP/IP協議。  所以從網絡協議的角度來看,區塊鏈其實是基於TCP/IP網絡協議的,這與HTTP協議、SMTP協議是處在同一層,也就是應用層。
在“區塊鏈的常見誤區”這篇文章中,我們提到了“區塊鍊是否會顛覆互聯網”這一說法,如果要是認真分析的話,它顛覆的層面其實最多只到HTTP協議,不能再多了。  以HTTP協議為代表的、與服務端的交互模式在區塊鏈上被徹底打破了,變更為完全的點對點拓撲結構,這也是以太坊提出的Web3.0的由來。  比特幣的P2P網絡是一個非常複雜的結構,考慮到礦池內部的挖礦交互協議與輕節點。我們僅僅討論全節點這種場景下的P2P網絡發現與路由。  比特幣的P2P網絡基於TCP構建,主網默認通信端口為8333。

2、拓撲結構

P2P網絡拓撲結構有很多種,有些是中心化拓撲,有些是半中心化拓撲,有些是全分佈式拓撲結構。

  區塊鏈的網絡連接與拓撲結構插图(2)

比特幣全節點組成的網絡是一種全分佈式的拓撲結構,節點與節點之間的傳輸過程更接近“泛洪算法”,即:交易從某個節點產生,接著廣播到臨近節點,臨近節點一傳十十傳百,直至傳播到全網。全節點與SPV簡化支付驗證客戶端之間的交互模式,更接近半中心化的拓撲結構,也就是SPV節點可以隨機選擇一個全節點進行連接,這個全節點會成為SPV節點的代理,幫助SPV節點廣播交易。

END

區塊鏈的網絡連接與拓撲結構插图(3) 長按二維碼,關注我們吧區塊鏈的網絡連接與拓撲結構插图(4)區塊鏈的網絡連接與拓撲結構插图(5)