1. 程式人生 > >P2P:區塊鏈系統的重要基石

P2P:區塊鏈系統的重要基石

各位朋友大家晚上好,我們今天繼續來做區塊鏈的分享;今天聊的主題是對等網路;今天我的交流目的想和大家聊清楚三個基本問題:
1. 對等網路的組網思想
2. 區塊鏈系統為什麼選擇對等網路作為自身的網路模型
3. 為什麼說對等網路是區塊鏈實現去中心化的重要基石

下面讓我們開始今天的分享內容;

對等網路,又稱為P2P網路;對於沒有接觸過計算機原理的朋友,如果直接談組網模型或是對等網路,還是稍稍有點抽象;按照之前的分享思路,我們繼續從身邊的例子說起;下面來看下微信傳送朋友圈;

例如小明中午拍了一張天空的圖片,然後附上一句話,“今兒天不錯”,發到了朋友圈,然後他的好友都看到了;

這個簡單的發朋友圈的事,其背後資料傳輸的大致流程是這樣的:天空的圖片和“今兒天不錯”這段圖文,是先通過網路傳輸,送到了微信伺服器;然後微信伺服器,又將小明剛發的朋友圈的圖文資料推送給了他的好友,然後好友小黃看到了,給小明點了贊;

這裡說的是小明,對於任何一個人,發朋友圈的過程都是這個模式,資料先送到微信中央伺服器,中央伺服器再統一下發;這裡面出現了第一個相對抽象的概念:中央伺服器;這個中央伺服器,有點類似於全國鐵路網上的大的鐵路樞紐站,例如鄭州、西安、北京、瀋陽等;這也是一種網路模型,稱為服務型網路;基於服務型網路模型,便於服務的統一提供、資源的統一調配和資訊的統一下發等;

但是由於中央伺服器的“樞紐性”太強,也有其自身顯著的弊端;例如:一旦崩潰,就會導致全網的服務掛掉;就像前段時間,因為鹿晗事件導致,微博伺服器癱瘓一樣;在安全性方面,如果中央伺服器被黑客入侵,或者病毒感染,就能夠很快的將病毒輻射到所有的終端使用者,從安全上來說,是件非常可怕的事,如果使用者基數非常大,都有可能會危及到社會穩定;中央伺服器對使用者資料的掌控性太強,如果一家商業道德底線過低,可能會肆意分析、售賣我們的資料;這些都是服務型網路的潛在問題;

而對等網路模型的出現,其初衷便站在了服務型網路的的對立面;在對等網路裡,每一個網路節點,所具有的功能,在邏輯上是完全對等的,不存在誰是服務端,誰是客戶端;每一個節點在對外提供服務的時候,也在使用別的節點為自己提供類似的服務;在P2P網路中,每個網路節點,具有相同的資料收發許可權,也就是每一個節點都可以對外提供全網所需的全部服務;也正是因為這,任何一個節點垮掉,都不會對整個網路的穩定性構成威脅;

所以,這也就引出了P2P網路的核心思想:平等、自治、自由;因此,P2P是一種組網模型,更是一種網路組織思想;服務型網路,更像是中央集權制度國家;而對等網路,則是完全民主化的國家治理機制;

在之前的分享中,我們提到了,區塊鏈是一個防篡改、去中心化的分散式網路應用系統;所謂的去中心化,也就是在區塊鏈網路中,在邏輯上,不會有任何的特殊節點,每個節點,在功能的提供上是相同的;換句話說,每一個計算機節點,部署了相同的區塊鏈程式碼,他們通過P2P網路,互相通訊;

區塊鏈網路系統之所以選擇P2P作為其組網模型,這是由於二者思想的契合度確定的;區塊鏈的根本出發點之一是去中心化,中本聰在他的白皮書裡,提到電子現金系統中,第三方系統是多餘的,沒有價值,意思就是整個系統不要依賴任何特殊的第三方來完成自身系統的運轉;而P2P網路的天然屬性,就是全網節點平等,無特殊節點;由於區塊鏈和對等網路的建設思想,高度契合,再加上P2P網路已經是一個發展成熟的網路技術;二者走到一起,幾乎是一種必然;

由於對等網路,全網無特殊節點,每個節點都可以提供全網所需的全部服務,沒有中心節點把控全網發號施令,保證了資料的自由流通,平等手法,保證了區塊鏈系統在底層通訊通道上到平等性,P2P網路的這些優勢特性,因此,可以說對等網路奠定了區塊鏈系統的重要基石;

以上,就是今天的分享內容,比較偏重理論,沒有涉及到具體的實現;關於P2P網路的實現,在下次的分享中,我們將以國內的區塊鏈開源協議DNA為例,和大家一起來探討P2P網路如何建立、如何定義收發訊息、如何維護連線節點、如何做資料驗證等等一系列問題;如果大家感興趣,可以先clone下來DNA的程式碼(github地址:),稍加閱讀;這套程式碼在實現上,相對於Bitcoin 和 Ethereum,思路上相對簡單一點,也便於新手入門;那各位朋友,我們今天先到這裡,我們下次再見,晚安;