P2P網路層搭建起區塊鏈系統的基本脈絡
區塊鏈的網路層使用的是Peer to Peer技術實現分散式網路的聯絡機制。網路這一層包括P2P組網機制、資料傳播機制和資料驗證機制(包括令只是證明類的相關技術方案)。網路中的每一個分散式的節點作為系統中單獨的個體進行資訊的接收、處理、反饋。這些節點既接受資訊也產生資訊。P2P網路也叫做對等式網路,他的具體定義是什麼呢?
一、定義
對等式網路:是無中心伺服器,依靠使用者群交換資訊的網際網路體系,它的作用在於,減低以往網路傳輸中的節點,以降低資料遺失的風險。與有中心伺服器的中央網路不同,對等網路的每個使用者端既是一個節點,也有伺服器的功能,任何一個節點無法直接找到其他節點,必須依靠其機群進行資訊交流。
由此可以看出,P2P網路是一個分散式的網路,由各個不同的計算機節點共同組成網路整體,通過協議傳輸特定的資訊。其實P2P並不是一個新的技術,早在2000年的時候技術模型就已經出現,當時的Winsows系統版本還是98。他與之前的計算機叢集最顯著的不同是,在P2P網路中,不存在中心化的節點/伺服器。由中心化的網路拓撲,轉向分散式的多對多拓撲結構。這或許是最初分散式、去中心化結構的原始模型。
你可能聽說過,國內的迅雷公司宣佈過自己是最早使用P2P技術的公司,其實迅雷公司所使用的就是在P2P網路發展過程中,隨之而生的另一個技術:BT下載。恰巧BT下載的創始人也是密碼朋克的成員之一。BT下載是P2P檔案共享的代表,普通的網際網路使用者不需要通過中央伺服器,就可以之間建立網路結構,完成檔案的分享和下載任務。不要小看BT下載技術,他是為網際網路上人與人之間的交流奠定基礎。
二、特點
P2P網路與傳統的中心化伺服器由很大的不同,主要體現在幾個方面:資源使用方式、容錯及安全性、匿名性等。
首先在資源方面,中心化伺服器的頻寬和儲存資源是固定的,隨著接入系統的使用者變多,每個埠可以分得的頻寬和儲存資源就會變少,因此就會影響使用者的使用體驗,如果需要維持之前資源使用量的話必須要在中心伺服器處增配新的資源。P2P網路中的資源和服務是分散在所有的節點上,資訊的傳輸和服務的實現都直接通過網路中的各個節點進行,隨著接入系統使用的節點增多,雖然服務的需求增加,但是系統整體的資源和服務能力也在同步擴充,相當於在不增加主動資源使用的情況下依然可以滿足使用者的需求。而且從理論上說,新增節點的資源使用需求是低於其為P2P網路貢獻的資源量。
然後是容錯性。中心化伺服器由於資源和資料全部儲存在單個或者可鎖定的幾個固定的節點上,如果黑客對這些節點進行鍼對性的攻擊,一旦系統的防火牆攻破,整個系統就會崩潰,資料發生洩漏之後的失態發展無法預期。而P2P網路本身就是分散式的,在資訊和資料的傳遞都儲存在各節點中,部分節點收到攻擊損壞並不會對整體系統造成大的影響,因為可以迅速的被其他節點補位,保持系統的連通性。同時使用者的隱私資訊被獲取和利用的可能性會變得很小,各個節點可以獲取的資料都是不完整的,即使被獲取也無法簡單的挪作他用。在這個層面上,P2P網路比中心化的伺服器更安全。
這裡舉個簡單的例子來說明,之前發生的經濟酒店住客資訊洩露事件,就是由於這些經濟酒店的系統選擇將自己的資料儲存在中心化的伺服器中,黑客黑進資料儲存中心的資料庫之後,將這些資訊散播出去,給一些人造成極大的困擾,畢竟很多人去酒店可能不是一個人。而如果這些資訊是儲存在P2P網路中,也不會有這樣的問題,因為黑客攻破任何一個節點可以獲取的資訊都是非常零散的,在A節點獲取的住戶資料只有一個人,而與其同住的另一個人資訊可能在幾萬個節點中的另一個裡。這樣就在很大程度上保證匿名性。
在P2P網路裡面,挖到根本的技術原理,是拓撲理論。這個概念是比較專業,我會在未來的文章中試著寫明白,現在想要了解的小夥伴,可以參照ofollow,noindex">Peer-to-Peer綜述