什么是点对点 (P2P)?
在计算机科学领域,点对点网络由一组可以储存,共享文档的设备组成。每一个参与者(节点)都相当于一个对等的个体。也就是说,所有的节点都拥有同样的权利并执行相同的任务。
在金融科技领域,P2P通常指代的是通过分布式网络进行数字货币或数字资产交易。一个P2P平台允许买卖双方在没有中间商的情况下直接进行交易。有些网站也可以为借贷双方提供P2P的交易环境。
P2P的架构适用于各种场景,但它真正盛行是在上世界九十年代,当第一个文件共享程序诞生时。现今,点对点网络已经成为大多数数字货币的核心,占区块链行业的一大部分。然而,它也被用于其他各种分布式的计算机程序中,包括:网络搜索引擎,流媒体平台,网上市场,以及星际文件系统(IPFS)网络协议。
P2P的工作原理
本质上,一个P2P系统是靠一个分布式网络中的用户所维持的。通常来说,他们没有中央系统管理员或服务器,因为每一个节点都拥有一个文件副本 -- 对于其他节点来说就相当于一个用户和一个服务器。因此,每一个节点都能从其他节点那里下载文件或者给他们上传文件。而传统服务器系统的客户端设备需要从中央服务器中下载文件,这就是P2P网络与其他传统服务系统的区别。
在P2P网络中,互联设备共享的文件储存在他们的硬盘当中。并使用软件运用程序来传递共享的数据,用户也可以在其他设备当中找到并下载文件。如果一个用户下载了一个指定的文件,他就能充当该文件源。
换言之,当一个节点充当了一个用户,那他就要从其他节点那里下载文件。但如果他是作为服务器工作,那其他节点就可以在他那里下载文件。实际上,这两种功能可以同时进行(例如,下载A文件以及上传B文件)。
由于每一个节点都能储存,传输和接收文件,并且随着P2P网络的用户群逐渐壮大,它也变得更加快速以及高效。分布式的结构也让P2P系统更能抵抗网络攻击。与传统模式不同的是,P2P网络没有单个故障点。
根据其结构,我们可以将P2P系统归类,其中主要的三种类型是:非结构对等网络,结构化对等网络以及混合对等网络。
非结构化P2P网络
非结构对等网络并不会展现节点的具体架构。参与者之间可以随意交流。这些系统都是耐高频活动的,也就是说几个节点频繁地进出该网络也不会对系统造成任何影响。
虽然非结构对等网络比较容易建立,但它却需要更强大的中央处理器和内存,因为搜索查询会发送给最多的对等点。特别是如果一小部分的节点能提供所需要的内容,大量的搜索便会涌入到网络中。
结构化对等网络
不同于非结构对等网络,结构化对等网络展现了一个组织架构,它可以让节点有效地搜索文件,即使该文件的内容没有被广泛使用。大多数情况下,搜索是通过使用哈希函数来帮助数据库查找。
相对来说,结构化对等网络会更加高效,因其更能展现高层次的中央集权,并且需要用到更多的启动资金和维护费用。除此之外,结构化对等网络比较不耐受高频活动。
混合对等网络
混合对等网络结合了传统的主从式架构以及点对点架构的某些特征。例如,它可能会建立一个中心服务器来加速各点之间的结合。
不同于其他两种模式,混合对等网络倾向于呈现改良后的总体性能。它结合了各个方式的优点,同时达到了高效性和去中心化。
分布式 VS 去中心化
虽然点对点结构都是分布式的,但是其去中心化的程度却是不相同的。因此,并不是所有的点对点网络都是去中心化的。
事实上,很多系统都需要一个中央部门来指导网络活动,或多或少地使其中心化。例如,一些点对点文件分享系统可以让用户从其他用户那里搜索并下载文件,但是他们却不能参与像是一些管理搜索查询的流程。
此外,某些被少量的用户所管控的小型网络也可以说是高度中心化的,尽管它可能没有中性化的基础设施。
点对点在区块链中的作用
在比特币诞生的初期,中本聪(Satoshi Nakamoto)将其定义为一个“点对点的电子现金系统”。比特币以一种电子现金的形式出现在大众视野。通过点对点网络,它能够在两个用户之间相互转移,而这需要用到分布式账本,即:区块链。
在区块链中,点对点的架构可以让比特币以及其他数字货币在不需要中间商和任何中央服务器的其况下,在全世界范围内进行相互转移。如果任意用户想要参与到验证区块的程序当中,都可以建立一个比特币节点。
因此,在比特币网络中没有任何的银行步骤或者交易记录。取而代之的是,区块链作为一个电子账本,公开地记录了所有的交易活动。基本上,每一个节点都拥有一个区块链副本,并将其与其他节点进行对比,来保证数据的正确性。比特币网络能快速地清除各种错误和恶意的活动。
节点在区块链中可以扮演各种不同的角色。例如,全节点通过共识规则来验证交易,从而保障了网络的安全性。
每一个全节点维持了一个完整的,升级的区块链副本 — 让这些区块链副本可以共同来验证分布式账本的真实状况。需要注意的是,不是所有的验证节点都是矿工。
优势
区块链的点对点架构有许多优点。更重要的是,相较于传统的主从式架构,点对点网络有更高的保密性。大部分节点几乎都能抵抗损害了许多系统的“拒绝服务(DoS)”攻击。
同样地,由于数据被添加到区块链中需要大部分节点的一致同意,所以攻击者几乎不可能改变数据。尤其是在比特币这样的大型网络中。然而相对较小的区块链则容易受到攻击,因为一个个人或组织往往会控制大量的节点(这也就是51%攻击)。
因此,在多数节点一致同意的前提下,分布式点对点网络使区块链更能抵抗恶意的网络攻击。点对点模式是比特币网络能够实现拜“占庭容错”的主要原因。
除了安全性之外,点对点架构让数字货币区块链避免了中央机构的审查。不像一般的银行账号,数字货币钱包不能够被政府冻结或消耗。个人的支付处理和内容平台也能避免相应的审查工作。一些网上的商家为了避免他们的支付被第三方干预,都采用了数字货币的支付方式。
局限性
尽管它有以上这些优点,但在区块链中使用P2P网络也有一定的局限性。
由于分布式账本必须在每一个节点上进行升级,因此在区块链中增加交易便需要庞大的计算机算力。虽然这提高了安全性,但也大大降低了效率,并且也成为了区块链网络扩展和推广的主要障碍之一。但是,密码学家和区块链开发人员正在研究相关的替代方案,用于解决扩展性的相关问题。几个明显的案例包括“闪电网络”,“以太坊等离子体”和“Mimblewimble协议”。
另一个潜在的限制是关于硬分叉期间可能出现的攻击。由于大多数区块链是去中心化的和开源的,因此节点可以自由地复制和修改代码并从主链中分离出来,通过这种方式形成新的并行网络。硬分叉是完全正常的,并不会形成威胁。但是如果没有适当地采用某些安全措施,这两条链都可能会受到重放攻击的影响。
此外,P2P网络的分布式特性使它们相对难以控制和监管。该问题不仅仅是在区块链中,某些P2P应用程序和公司也同样涉及到侵权等非法活动。
总结
点对点架构可以被开发运用到许多不同的方面,它在区块链中的核心地位也促成了数字货币的诞生。通过在一个大的节点网络中分发交易账本,点对点架构提供了安全性、去中心化和防范监管等优势。
而除了在区块链技术中的优势之外,P2P系统还可以应用于其他分布式计算应用领域,范围包括文件共享网络到能源交易平台等。