什么是对等(P2P)?
在计算机科学中,对等(P2P)网络由一组共同存储和共享文件的设备组成。每个参与者(节点)充当独立对等体。通常情况下,所有节点具有相同的算力并执行相同的任务。
在金融行业中,对等一词通常是指通过分布式网络交换加密货币或数字资产。 P2P平台允许买方和卖方在不需要中介的情况下执行交易。在某些情况下,P2P网站还能提供连接借贷双方的P2P环境。
P2P模式可以适用于各种案例,在20世纪90年代,首个文件共享程序被创建以来,P2P就变得非常流行。如今,P2P网络是大多数加密货币的核心,占区块链行业的很大一部分比例。同样,它们也可被用于其他分布式计算的应用程序,包括Web搜索引擎、流媒体平台、在线市场和InterPlanetary文件系统(IPFS)Web协议。
P2P运行原理
本质上,P2P系统由分布式用户网络维护。通常情况下,他们不需要中央管理员或中心化服务器,网络中的每个节点都拥有文件副本,对于节点彼此来说,每个节点既是客户端又是服务器。因此,每个节点可以从其他节点上下载文件或将文件上载到其他节点。这就是P2P网络与传统的客户端/服务器模式的区别,在传统模式中,客户端设备中仅能从中央服务器中下载文件。
在P2P网络上,由设备共享的文件存储在其硬盘驱动器上。通过用于数据共享的软件应用程序,用户可以在网络上的其他设备来查找和下载文件。用户下载了相关文件后,他们又可以充当该文件下载源,支持其他设备从中下载文件。
换句话说,当节点仅作为客户端时,他们从其他网络节点下载文件。但是当它们作为服务器工作时,其他节点可以通过它们下载文件。但实际上,这两个功能也可以同时执行(例如,下载文件A,上传文件B)。
由于每个节点都能够存储、传输和接收文件,因此随着用户群的不断增大,P2P网络将变得更为便捷和高效。此外,分布式架构使P2P系统对网络攻击具有很强大的抵抗力。与传统模型不同,P2P网络不会发生单点故障。
我们可以根据架构模型对对等系统进行分类。三种主要类型称为非结构化、结构化和混合P2P网络。
非结构化P2P网络
非结构化P2P网络节点不具备任何特定组织的特征。参与节点随机与其他节点进行通讯。相比于剧烈流动性活动(例如,某些节点频繁的加入或离开网络),非结构化P2P网络被认为是具备鲁棒性。
虽然易于构建,但在执行搜索和查询功能时,需要尽可能多的节点共同参与,因此非结构化P2P网络需要更高的CPU和内存空间。这也让网络容易发生堵塞,尤其是在仅有少量节点参与计算的情况下。
结构化P2P网络
相比之下,结构化P2P网络节点则呈现特定组织的架构,节点支持高效地搜索文件,甚至所搜索的内容并不是所广泛使用的。在大多数情况下,这得益于哈希函数功能,其便于进行数据库搜索。
虽然结构化网络的效率更高,但这也使结构化网络更为中心化,并且通常需要更高的设置和维护成本。除此之外,结构化网络在面对高流失率的节点时,就显得没有那么强大了。
混合P2P网络
混合P2P网络将传统的客户端-服务器模式和对等体系结构相结合。例如,它可以设计一个便于对等体之间连接的中央服务器。
与其他两种模型相比,混合模型倾向于提高整体性能。混合网络模型结合两种模式的主要优点,同时实现了高效与分布式两个特征。
分布式与去中心化
虽然P2P架构本质上是分布式的,需要注意的是,这种架构也具备不同程度的去中心化。因此,并非所有P2P网络都是去中心化的。
实际上,许多系统依靠中心化的机构来规范网络活动,使得它们在某种程度上是集中的。例如,一些P2P文件共享系统支持用户从其他用户的设备上搜索和下载文件,但是他们无法执行其他操作,例如管理搜索查询。
此外,尽管缺乏中心化的网络基础设施,某些由少量用户群所控制的小型网络也具备高度的中心化。
P2P在区块链中所扮演的作用
在比特币问世的早期阶段,Satoshi Nakamoto将其定义为“对等电子现金系统”。比特币是一种数字形式的货币。它可以通过P2P网络将比特币从一个用户转移到另一个用户,通过P2P网络管理的分布式账本即称为区块链。
在本文中,区块链技术所应用的P2P架构,能够在无需中介或任何中央服务器的情况下,支持比特币和其他加密货币在全球范围内传输。此外,任何人都可以成为比特币节点,共同参与验证和确认出块过程。
因此,比特币网络中没有银行处理或记录交易。取而代之,区块链账本能够公开记录所有交易的数据。基本上,每个节点都保存区块链的副本,并将其与其他节点进行校验,确保数据的准确性。区块链网络可以快速剔除恶意活动或不准确的数据。
本文中所描述的加密货币区块链,节点可以承担各种不同的角色。例如,完整节点是根据系统的共识规则验证事务,为网络提供安全性的节点。
每个完整节点都维护一个完整的、实时更新的区块链副本,该副本支持它们共同参与并验证分布式账本的真实性。需要注意的是,并非所有完整的验证节点都是矿工。
优势
区块链的对等架构具有诸多优势。其中最重要的是P2P网络能够提供比传统客户端-服务器模式更高的安全性。区块链上的大量分布式节点,使它们几乎不会受到拒绝服务(DoS)攻击的影响。
同样,大多数节点需要在数据被添加到区块链前建立共识,因此攻击者几乎不可能更改数据。对于像比特币这样的大型区块链网络尤其如此。相反,较小的区块链更容易受到攻击,因为某些具有大规模算力的用户甚至可以控制大多数节点(这被称为51%的攻击)。
因此,分布式对等网络与多数节点的共识机制相结合,能够使区块链对恶意活动具有相对较高的抵抗力。P2P模型是比特币(和其他区块链)能够实现所谓的拜占庭容错的关键因素之一。
除了安全性之外,在加密货币区块链中使用P2P架构也使得它们不受中央机构的审查。与标准银行账户相比,加密货币钱包不能被政府冻结或控制。这种限值还被延伸到个人支付的处理和内容平台的审查中。一些内容创建者和在线商家采用加密货币支付,以避免第三方对其支付的限制。
局限性
尽管有许多优点,但在区块链上使用P2P网络也有一定的局限性。
因为区块链网络不是在中央服务器上更新分布式账本而必须在每个节点上进行更新,因此在区块链中添加交易,需要大量的算力。虽然这提高了安全性,但也大大降低了效率,并且也成为了区块链网络扩展和推广的主要障碍之一。尽管如此,密码学家和区块链开发人员正在研究相关的替代方案,用于解决扩展性的相关问题。几个明显的案例包括Lightning Network,Ethereum Plasma和Mimblewimble协议。
另一个潜在的限制是关于硬分叉期间可能出现的攻击。由于大多数区块链是去中心化的和开源的,因此节点可以自由地复制和修改代码并从主链中分离出来,通过这种方式形成新的并行网络。硬分叉是完全正常的,并不会形成威胁。但是如果没有正确采用某些安全措施,这两条链都可能受到重放攻击的影响。
此外,P2P网络的分布式特性使它们相对难以控制和监管,该问题不仅仅是在区块链中。某些P2P应用程序和公司也同样涉及版权侵权等非法活动。
总结
对等架构可以通过多种不同的方式进行开发和使用,作为区块链的核心,它使加密货币成为可能。通过在在大型网络中的节点中分发事务账本,P2P架构提供了安全性、去中心化和防范监管等优势。
而除了在区块链技术中的优势之外,P2P系统还可以应用于其他分布式计算应用领域,范围包括文件共享网络到能源交易平台等各个领域。