點對點系統(P2P)系統是分布式系統的分散變體。它們的受歡迎程度是由可擴展性、分散協調和低成本等P2P特征推動的。可擴展性意味著隨著對等體數量的增加,不需要對協議設計進行任何更改。雖然客戶端-服務器架構通常需要隨著(客戶端)請求數量的增加而增加后端(服務器)資源,但在P2P系統中并非如此,因為它們固有的分散架構。此外,分散的P2P系統設計促進了對單個對等故障或其他中斷的固有彈性。對等群體本身表示系統的服務供應基礎結構。因此,潛在的服務消費者需要參與資源配置,避免需要專用數據中心。在過去的二十年中,出現了許多P2P模式。無論它們的具體實現如何,它們通常都結合了以下五個原則:(1)接口作為對等方的對稱性可以作為服務器和客戶端承擔可互換的職責,(2)對擾動的彈性底層通信網絡基質和對等故障,(3)通過復制方案實現的數據和服務生存能力,(4)在網絡邊緣使用對等資源,施加潛在的低基礎設施成本并促進可擴展性和去中心化,以及(5)解決對等方之間資源配置的差異。

這五個原則使P2P成為各種應用的重要基礎。最初,P2P系統以其對eMule或KaZaA等文件共享應用程序的支持而聞名,盡管它們的使用現在在社交等應用程序中很常見。網絡、多媒體內容分發、在線游戲、互聯網電話服務、即時通訊、物聯網、車對車通信、監督控制和數據采集(SCADA))系統和廣域監控系統。正如后面幾節所討論的,分布式賬本還利用了P2P操作的某些方面。
P2P協議類別
兩個主要的P2P范式是非結構化和結構化系統。這些系統設計與上一節介紹的應用類別直接相關,即非結構化協議大多適用于(大規模和可擴展)數據傳播,而結構化通常用于數據發現的效率。新興的混合P2P協議設計在集成的P2P系統中結合了非結構化和結構化的各個方面。
此外,還存在分層P2P系統。這些部分與概念上的P2P原則相矛盾,該原則認為所有對等方在服務提供意義上是平等的。這些分層系統可以被視為分層系統,例如,由前端和后端對等方組成的多個覆蓋層的組合。
無論P2P系統的類型如何,重要的是要注意基本的P2P操作基于三個要素,即(a)對等節點的識別或命名,(b)跨對等方的路由架構,以及(c)發現對等方作為其標識符和路由的功能。
為了支持對P2P系統中安全性的討論,接下來的小節提供了有關P2P協議的介紹性技術概述。我們簡要概述了有關覆蓋拓撲、資源發現和消息傳遞的P2P協議類別。讀者可以參考,以全面討論P2P操作。