什麼是點對點 (P2P)?
在電腦科學中,點對點(P2P)網路由一組共同儲存和共享檔案的設備組成。每個參與者(節點)充當單獨的對等點。通常,所有節點都具有相同的權力並執行相同的任務。
在金融科技中,點對點一詞通常指透過分散式網路進行加密貨幣或數位資產的交換。 P2P 平台允許買家和賣家無需中間商即可執行交易。在某些情況下,網站還可能提供連接貸款人和借款人的 P2P 環境。
P2P 架構可以適用於各種用例,但它在 20 世紀 90 年代第一個檔案共享程式創建時變得特別流行。如今,P2P 網路是大多數加密貨幣的核心,構成了區塊鏈產業的很大一部分。然而,它們也被用於其他分散式運算應用程序,包括網路搜尋引擎、串流平台、線上市場和星際檔案系統(IPFS)網路協定。
P2P如何運作?
本質上,P2P 系統是由分散式用戶網路維護的。通常,它們沒有中央管理員或伺服器,因為每個節點都保存檔案的副本 - 既充當其他節點的客戶端又充當伺服器。因此,每個節點都可以從其他節點下載檔案或向其他節點上傳檔案。這就是 P2P 網路與更傳統的客戶端伺服器系統的區別,在傳統的客戶端伺服器系統中,客戶端設備從集中式伺服器下載檔案。
在 P2P 網路上,連接的裝置共用儲存在其硬碟上的檔案。使用旨在協調資料共享的軟體應用程序,使用者可以查詢網路上的其他裝置以查找和下載檔案。一旦用戶下載了給定文件,他們就可以充當該文件的來源。
換句話說,當一個節點充當客戶端時,它們從其他網路節點下載檔案。但是當它們作為伺服器工作時,它們是其他節點可以下載檔案的來源。但實際上,這兩個功能可以同時執行(例如,下載檔案 A 和上傳檔案 B)。
由於每個節點都儲存、傳輸和接收文件,因此隨著用戶群的擴大,P2P 網路往往會變得更快、更有效率。此外,它們的分散式架構使得 P2P 系統非常能抵抗網路攻擊。與傳統模型不同,P2P 網路不存在單點故障。
我們可以根據點對點系統的架構對其進行分類。這三種主要類型分別稱為非結構化、結構化和混合 P2P 網路。
非結構化P2P網絡
非結構化 P2P 網路不會呈現任何特定的節點組織。參與者隨機地相互交流。這些系統被認為對高流失活動(即多個節點頻繁加入和離開網路)具有穩健性。
儘管更容易構建,但非結構化 P2P 網路可能需要更高的 CPU 和記憶體使用量,因為搜尋查詢會發送到盡可能多的對等點。這往往會使網路充滿查詢,特別是在少數節點提供所需內容的情況下。
結構化P2P網絡
相較之下,結構化 P2P 網路呈現出一種有組織的架構,允許節點有效地搜尋文件,即使內容並不廣泛可用。在大多數情況下,這是透過使用便於資料庫查找的雜湊函數來實現的。
雖然結構化網路可能更有效率,但它們往往呈現更高程度的集中化,並且通常需要更高的設置和維護成本。除此之外,當面臨高流失率時,結構化網路的穩健性較差。
混合P2P網絡
混合 P2P 網路將傳統的客戶端-伺服器模型與對等架構的某些方面結合。例如,它的設計可能包含一個中央伺服器,以促進對等點之間的連接。
與其他兩種類型相比,混合動力車型往往會呈現出更高的整體性能。它們通常結合每種方法的一些主要優點,同時實現顯著程度的效率和去中心化。
分散式與去中心化
儘管 P2P 架構本質上是分散式的,但值得注意的是,存在不同程度的去中心化。因此,並非所有 P2P 網路都是去中心化的。
事實上,許多系統依賴中央機構來指導網路活動,這使得它們有些中心化。例如,某些 P2P 文件共享系統允許用戶搜尋和下載其他用戶的文件,但他們無法參與其他進程,例如管理搜尋查詢。
此外,儘管缺乏集中式網路基礎設施,但由具有共同目標的有限用戶群控制的小型網路也可以說具有較高的中心化程度。
P2P在區塊鏈中的作用
在比特幣的早期階段,中本聰將其定義為「點對點電子現金系統」。比特幣是作為一種數位形式的貨幣而創建的。它可以透過 P2P 網路從一個用戶轉移到另一個用戶,該網路管理一個稱為區塊鏈的分散式帳本。
在這種情況下,區塊鏈技術固有的 P2P 架構允許比特幣和其他加密貨幣在全球範圍內轉移,而無需中介機構或任何中央伺服器。此外,如果任何人希望參與驗證和確認區塊的過程,他們都可以設定比特幣節點。
因此,比特幣網路中沒有銀行處理或記錄交易。相反,區塊鏈充當公開記錄所有活動的數位分類帳。基本上,每個節點都保存區塊鏈的副本,並將其與其他節點進行比較,以確保資料的準確性。網路會快速拒絕任何惡意活動或不準確的行為。
在加密貨幣區塊鏈的背景下,節點可以扮演各種不同的角色。例如,完整節點是透過根據系統的共識規則驗證交易來為網路提供安全性的節點。
每個完整節點都維護一個完整的、更新的區塊鏈副本——允許它們參與驗證分散式帳本真實狀態的集體工作。但值得注意的是,並非所有完整驗證節點都是礦工。
優點
區塊鏈的點對點架構提供了許多好處。其中最重要的是,P2P 網路比傳統的客戶端-伺服器安排提供更高的安全性。區塊鏈分佈在大量節點上,使其幾乎免受困擾眾多系統的拒絕服務 (DoS) 攻擊。
同樣,由於大多數節點在將資料添加到區塊鏈之前必須達成共識,因此攻擊者幾乎不可能更改資料。對於像比特幣這樣的大型網路來說尤其如此。較小的區塊鏈更容易受到攻擊,因為一個人或一個團體最終可以控制大多數節點(這稱為 51% 攻擊)。
因此,分散式點對點網路與多數共識要求相結合,使區塊鏈對惡意活動具有相對較高的抵抗力。 P2P模式是比特幣(以及其他區塊鏈)能夠實現所謂拜占庭容錯的原因之一。
除了安全性之外,加密貨幣區塊鏈中 P2P 架構的使用也使其能夠抵抗中央當局的審查。與標準銀行帳戶不同,加密貨幣錢包不能被政府凍結或耗盡。這種阻力也延伸到私人支付處理和內容平台的審查工作。一些內容創作者和線上商家採用加密貨幣支付來避免其付款被第三方阻止。
限制
儘管有許多優點,但在區塊鏈上使用 P2P 網路也有一定的限制。
由於分散式帳本必須在每個節點而不是中央伺服器上更新,因此向區塊鏈添加交易需要大量的運算能力。雖然這提供了更高的安全性,但它大大降低了效率,並且是可擴展性和廣泛採用的主要障礙之一。儘管如此,密碼學家和區塊鏈開發人員正在研究可用作擴展解決方案的替代方案。突出的例子包括閃電網路、以太坊 Plasma 和 Mimblewimble 協定。
另一個潛在的限制與硬分叉事件期間可能出現的攻擊有關。由於大多數區塊鏈都是去中心化和開源的,節點組可以自由複製和修改程式碼,並從主鏈中分離出來,形成一個新的平行網路。硬分叉是完全正常的,本身並不構成威脅。但如果某些安全方法沒有正確採用,兩條鏈都可能容易受到重播攻擊。
此外,P2P 網路的分散式性質使其相對難以控制和監管,不僅在區塊鏈領域如此。一些 P2P 應用程式和公司參與了非法活動和侵犯版權。
結束語
點對點架構可以透過多種不同的方式進行開發和使用,它是區塊鏈的核心,使加密貨幣成為可能。透過將交易帳本分佈在大型節點網路上,P2P 架構提供了安全性、去中心化和抗審查性。
除了在區塊鏈技術中的用途之外,P2P 系統還可以服務其他分散式運算應用程序,從文件共享網路到能源交易平台。