什麼是點對點 (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 系統還可以用於其他分佈式計算應用,從文件共享網絡到能源交易平臺。