歡迎收聽「蝦說區塊鏈」。如今區塊鏈這個概念在互聯網上至關火熱,這裏簡單作一個普及,不涉及項目推廣投資,單純地對區塊鏈相關基礎知識概念做一個說明講解。本人區塊鏈技術愛好者,結合相關區塊鏈資料總結整理了「蝦說區塊鏈」,也是本身一個學習筆記,涉及相關內容如理解有誤,也請及時指正。html
P2P(peer to peer):這個peer中文翻譯就是對等、對等者、夥伴、對端的意思。因此P2P網絡通常叫作對等網絡,其確切定義:網絡中每一個參與節點共享節點所擁有的一部分計算能力、存儲能力、網絡鏈接能力,這些能力或者稱爲共享資源經過網絡提供的服務和內容,可被對等節點直接訪問,訪問過程當中不須要再通過中間實體,因此每一個節點既是資源和服務的使用者、又是整個資源和服務的提供者。P2P網絡中各個節點都是出於一個對等的地位,沒有主、從的區分,聯繫實際環境,你目前在操做的一臺電腦終端既能夠做爲服務器。又能夠做爲終端去獲取對等節點的資源。整個網絡中不存在中心節點,每一個節點均可對任意對等節點作出響應,提供資源,包括計算資源、存儲資源等。算法
P2P不是一個新的技術,早在2000年該模型就已出現,他於傳統的客戶端/服務器(Client/Server)結構(也就是WWW所採用的結構方式)的一個本質區別是,整個網絡結構中不存在中心節點(或中心服務器)。服務器
圖示P2P網路和傳統架構的區別網絡
P2P的理念,「我爲人人、人人爲我」讓全部加入互聯網的人,直接經過互聯網交互,不須要一箇中間商,這樣溝通,共享,交互更加自由和方便,最終把互聯網的權利交換給用戶,而不是一些集中網絡中心。架構
用過BT下載的同窗確定印象很深入,種子的多少很大程度上決定了你的下載速度,P2P網絡的一大特色區別於傳統網絡架構中,網絡中的資源和服務分散在全部節點上,信息的傳輸和服務的實現都直接在節點之間進行,能夠無需中間環節和服務器的介入,避免了可能的瓶頸。P2P的非中心化基本特色,帶來了其在可擴展性、健壯性等方面的優點。分佈式
在P2P網絡中,隨着用戶的加入,不只服務的需求增長了,系統總體的資源和服務能力也在同步地擴充,始終能比較容易地知足用戶的須要。理論上其可擴展性幾乎能夠認爲是無限的。例如:在傳統的經過FTP的文件下載方式中,當下載用戶增長以後,下載速度會變得愈來愈慢,然而P2P網絡正好相反,加入的用戶越多,P2P網絡中提供的資源就越多,下載的速度反而越快。函數
P2P架構天生具備耐攻擊、高容錯的優勢。因爲服務是分散在各個節點之間進行的,部分節點或網絡遭到破壞對其它部分的影響很小。P2P網絡通常在部分節點失效時可以自動調整總體拓撲,保持其它節點的連通性。P2P網絡一般都是以自組織的方式創建起來的,並容許節點自由地加入和離開。在P2P網絡中,因爲信息的傳輸分散在各節點之間進行而無需通過某個集中環節,用戶的隱私信息被竊聽和泄漏的可能性大大縮小。此外,目前解決Internet隱私問題主要採用中繼轉發的技術方法,從而將通訊的參與者隱藏在衆多的網絡實體之中。性能
在傳統的一些匿名通訊系統中,實現這一機制依賴於某些中繼服務器節點。而在P2P中,全部參與者均可以提供中繼轉發的功能,於是大大提升了匿名通信的靈活性和可靠性,可以爲用戶提供更好的隱私保護。學習
(這個網上不少資料,我基本參考轉載於:http://www.intsci.ac.cn/users/luojw/P2P/ch02.html)區塊鏈
中心化拓撲(Centralized Topology)
中心化拓撲中,網絡主體由一個處於中心地位的索引目錄服務器鏈接到目錄服務器和各網絡節點中。這種方式維護簡單,資源發現率高,可實現複雜查詢,但容易出現單點故障。
分佈式P2P網絡拓撲包括:
全分佈式非結構化拓撲(Decentralized Unstructured Topology);
全分佈式結構化拓撲(Decentralized Structured Topology,也稱做DHT網絡);
全分佈式非結構化拓撲的P2P網絡是在重疊網絡(Overlay Network)採用了隨機圖的組織方式,結點度數服從Power-law規律,從而可以較快發現目的結點,面對網絡的動態變化體現了較好的容錯能力,所以具備較好的可用性。同時能夠支持複雜查詢。
全分佈式結構化拓撲的P2P網絡主要是採用分佈式散列表(Distributed Hash Table, 簡寫成DHT)技術來組織網絡中的結點。DHT是一個由廣域範圍大量結點共同維護的巨大散列表。散列表被分割成不連續的塊,每一個結點被分配給一個屬於本身的散列塊,併成爲這個散列塊的管理者。經過加密散列函數,一個對象的名字或關鍵詞被映射爲128位或160位的散列值。
分佈式散列表起源於SDDS(Scalable Distribute Data Structures)研究,Gribble等實現了一個高度可擴展,容錯的SDDS集羣。DHT類結構可以自適應結點的動態加入/退出,有着良好的可擴展性、魯棒性、結點ID分配的均勻性和自組織能力。因爲重疊網絡採用了肯定性拓撲結構,DHT能夠提供精確的發現。只要目的結點存在於網絡中DHT總能發現它,發現的準確性獲得了保證。
半分佈式拓撲(Partially Decentralized Topology)
吸收了中心化結構和全分佈式非結構化拓撲的優勢,選擇性能較高(處理、存儲、帶寬等方面性能)的結點做爲超級結點(英文表達爲SuperNodes或者Hubs),在各個超級結點上存儲了系統中其餘部分結點的信息,發現算法僅在超級結點之間轉發,超級結點再將查詢請求轉發給適當的葉子結點。半分佈式結構也是一個層次式結構,超級結點之間構成一個高速轉發層,超級結點和所負責的普通結點構成若干層次。
實際應用中這4種P2P各有優缺點:
音頻內容做者:「投河自盡的魚」
如下是咱們的社區介紹,歡迎各類合做、交流、學習:)
點擊「閱讀原文」進入直播室聽專欄音頻。