在電腦科學領域,點對點網路由一組可以儲存,共享文件的設備組成。每一個參與者(節點)都相當於一個對等的個體。也就是說,所有的節點都擁有相同的權利並執行相同的任務。
在金融科技領域,P2P通常指涉的是透過分散式網路進行數位貨幣或數位資產交易。一個P2P平台允許買賣雙方在沒有中間商的情況下直接進行交易。有些網站也可以為借貸雙方提供P2P的交易環境。
P2P的架構適用於各種場景,但它真正盛行是在上世界九十年代,當第一個文件共享程序誕生時。現今,點對點網路已成為大多數數位貨幣的核心,佔區塊鏈產業的一大部分。然而,它也被用於其他各種分散式的電腦程式中,包括:網路搜尋引擎,串流平台,網路市場,以及星際檔案系統(IPFS)網路協定。
本質上,一個P2P系統是靠一個分佈式網路中的使用者所維持的。通常來說,他們沒有中央系統管理員或伺服器,因為每個節點都擁有一個檔案副本 -- 對於其他節點來說就相當於一個使用者和一個伺服器。因此,每一個節點都能從其他節點下載檔案或上傳檔案給他們。而傳統伺服器系統的客戶端設備需要從中央伺服器下載文件,這就是P2P網路與其他傳統服務系統的差別。
在P2P網路中,互聯設備共享的檔案儲存在他們的硬碟當中。並使用軟體運用程式傳遞共享的數據,使用者也可以在其他裝置當中找到並下載檔案。如果一個使用者下載了一個指定的文件,他就能充當該文件來源。
換言之,當一個節點充當了一個用戶,那他就要從其他節點下載檔案。但如果他是作為伺服器工作,那麼其他節點就可以在他那裡下載檔案。實際上,這兩種功能可以同時進行(例如,下載A檔案以及上傳B檔案)。
由於每個節點都能儲存,傳輸和接收文件,並且隨著P2P網路的用戶群逐漸壯大,它也變得更加快速以及高效。分散式的結構也讓P2P系統更能抵抗網路攻擊。與傳統模式不同的是,P2P網路沒有單一故障點。
根據其結構,我們可以將P2P系統歸類,其中主要的三種類型是:非結構對等網絡,結構化對等網絡以及混合對等網絡。
非結構對等網路並不會展現節點的具體架構。參與者之間可以隨意交流。這些系統都是耐高頻活動的,也就是說幾個節點頻繁地進出該網路也不會對系統造成任何影響。
雖然非結構對等網路比較容易建立,但它卻需要更強大的中央處理器和內存,因為搜尋查詢會發送給最多的對等點。特別是如果一小部分的節點能提供所需的內容,大量的搜尋便會湧入網路。
不同於非結構對等網絡,結構化對等網路展現了一個組織架構,它可以讓節點有效地搜尋文件,即使該文件的內容沒有被廣泛使用。大多數情況下,搜尋是透過使用雜湊函數來幫助資料庫查找。
相對來說,結構化對等網路會更有效率,因其更能展現高層次的中央集權,並且需要用到更多的啟動資金和維護費用。除此之外,結構化對等網路比較不耐受高頻活動。
混合對等網路結合了傳統的主從式架構以及點對點架構的某些特性。例如,它可能會建立一個中心伺服器來加速各點之間的結合。
不同於其他兩種模式,混合對等網路傾向於呈現改良後的整體效能。它結合了各個方式的優點,同時達到了高效和去中心化。
雖然點對點結構都是分散式的,但是其去中心化的程度卻是不相同的。因此,並不是所有的點對點網路都是去中心化的。
事實上,許多系統都需要一個中央部門來指導網路活動,或多或少使其中心化。例如,一些點對點文件分享系統可以讓使用者從其他使用者搜尋並下載文件,但是他們卻不能參與像是一些管理搜尋查詢的流程。
此外,某些被少量的用戶所管控的小型網路也可以說是高度中心化的,儘管它可能沒有中性化的基礎設施。
在比特幣誕生的初期,中本聰(Satoshi Nakamoto)將其定義為一個“點對點的電子現金系統”。比特幣以一種電子現金的形式出現在大眾視野中。透過點對點網絡,它能夠在兩個用戶之間相互轉移,而這需要用到分散式帳本,即:區塊鏈。
在區塊鏈中,點對點的架構可以讓比特幣以及其他數位貨幣在不需要中間商和任何中央伺服器的其況下,在全世界範圍內進行相互轉移。如果任意用戶想要參與驗證區塊的程序當中,都可以建立一個比特幣節點。
因此,在比特幣網路中沒有任何的銀行步驟或交易記錄。取而代之的是,區塊鏈作為一個電子帳本,公開地記錄了所有的交易活動。基本上,每個節點都擁有一個區塊鏈副本,並將其與其他節點進行對比,來確保資料的正確性。比特幣網路能快速清除各種錯誤和惡意的活動。
節點在區塊鏈中可以扮演各種不同的角色。例如,全節點透過共識規則來驗證交易,從而保障了網路的安全性。
每一個全節點維持了一個完整的,升級的區塊鏈副本 — 讓這些區塊鏈副本可以共同來驗證分散式帳本的真實狀況。要注意的是,不是所有的驗證節點都是礦工。
區塊鏈的點對點架構有許多優點。更重要的是,相較於傳統的主從式架構,點對點網路有較高的保密性。大部分節點幾乎都能抵抗損害了許多系統的“拒絕服務(DoS)”攻擊。
同樣地,由於資料被添加到區塊鏈中需要大部分節點的一致同意,所以攻擊者幾乎不可能改變資料。尤其是在比特幣這樣的大型網路中。然而相對較小的區塊鏈則容易受到攻擊,因為一個個人或組織往往會控制大量的節點(這也就是51%攻擊)。
因此,在多數節點一致同意的前提下,分散式點對點網路使區塊鏈更能抵抗惡意的網路攻擊。點對點模式是比特幣網路能夠實現拜“佔庭容錯”的主要原因。
除了安全性之外,點對點架構讓數位貨幣區塊鏈避免了中央機構的審查。不像一般的銀行帳號,數位貨幣錢包不能夠被政府凍結或消耗。個人的支付處理和內容平台也能避免相應的審查工作。一些網路上的商家為了避免他們的支付被第三方乾預,都採用了數位貨幣的支付方式。
儘管它有以上這些優點,但在區塊鏈中使用P2P網路也有一定的限制。
由於分散式帳本必須在每個節點上進行升級,因此在區塊鏈中增加交易便需要龐大的電腦算力。雖然這提高了安全性,但也大大降低了效率,也成為了區塊鏈網路擴展和推廣的主要障礙之一。但是,密碼學家和區塊鏈開發人員正在研究相關的替代方案,用於解決擴展性的相關問題。幾個明顯的案例包括“閃電網路”,“以太坊等離子體”和“Mimblewimble協議”。
另一個潛在的限制是關於硬分叉期間可能出現的攻擊。由於大多數區塊鏈是去中心化的和開源的,因此節點可以自由地複製和修改程式碼並從主鏈中分離出來,透過這種方式形成新的平行網路。硬分叉是完全正常的,並不會形成威脅。但是如果沒有適當地採用某些安全措施,這兩條鏈都可能會受到重播攻擊的影響。
此外,P2P網路的分散式特性使它們相對難以控制和監管。該問題不僅僅是在區塊鏈中,某些P2P應用程式和公司也同樣涉及侵權等非法活動。
點對點架構可以被開發運用到許多不同的方面,它在區塊鏈中的核心地位也促成了數位貨幣的誕生。透過在一個大的節點網路中分發交易帳本,點對點架構提供了安全性、去中心化和防範監管等優勢。
而除了在區塊鏈技術中的優勢之外,P2P系統還可以應用於其他分散式運算應用領域,範圍包括文件共享網路到能源交易平台等。