什么是点对点 (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 系统还可以服务其他分散式运算应用程序,从文件共享网路到能源交易平台。