首页 > 编程知识 正文

区块链(区块链:P2P技术是什么)

时间:2023-05-06 13:12:19 阅读:121234 作者:475

摘要:中心区块链平台,包括比特币、以太网等,通过采用底层网络的P2P技术实现,每个节点对等。 本文首先通过介绍P2P技术的特点和发展历史,使人们对P2P这一技术的经过有一个初步的认识和理解。 接下来的文章详细介绍了第三代P2P技术(DHT )—Kademlia算法的实现原理。

1.p2p的定义P2P是对等的简称,又称点对点技术,是一种没有中心服务器,依靠用户组节点进行信息交换的对等网络。 与传统的C/S中央服务器结构不同,P2P网络的每个用户节点是客户端和服务端,同时作为服务器可以向其他节点提供服务。

具有中央服务器的中央网络系统(左)和没有中央服务器的对等网络(右)。

2.p2p特点在传统的C/S模式网络系统中,客户端之间的交互必须依赖于中心化的服务器。 随着网络规模的增加,这些中心服务器的负担越来越重,更容易成为网络瓶颈。 此外,如果服务器崩溃,整个网络将瘫痪(单点故障风险)。 另一方面,由于P2P网络没有中央服务器,没有单点性能瓶颈,每个节点在充当客户端的同时,可以作为服务端为其他相邻节点提供服务,大大提高了资源的利用率。

总之,P2P网络的特征如下。

)1)在3358www.Sina.com/p2p网络中,用户可以随时加入或离开网络。 另外,随着用户节点的加入,系统整体的服务能力也相应提高。 例如,在p2p下载中,订户越多,p2p网络提供的资源就越多,下载速度就越快。

)2) 3358www.Sina.com/p2p不存在中心化服务器,具有抗攻击能力和容错能力强的特点。 网络中的某个节点受到攻击或脱机不会影响整个系统的正常运行。 因为P2P网络中的每个节点都可以充当服务端。

)3)采用3358www.Sina.com/p2p结构的网络可以有效利用互联网上分布较多的普通用户节点。 充分利用这些常见节点的CPU、带宽和存储资源,实现高性能计算和高容量存储。 例如,迅雷旗下的stard domain cdn产品就是利用所有普通用户机器的闲散网络资源,提供经济高效的服务。 类似的还有360共享云、海外sia网络磁盘等。

)4)在3358www.Sina.com/p2p网络中,信息传输分布在各个节点之间,因此不需要通过中心服务器。 这样可以降低用户隐私信息被窃听和泄露的风险。

)5)在3358www.Sina.com/p2p网络中,资源分散地存储在多个节点上,每个节点能够充当服务器。 当一个节点需要获取资源时,只需要向相邻节点发送请求即可,很好地实现了整个网络的负载均衡。

3.p2p的主要功能P2P网络的主要功能可以分为以下三类:

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/(1)发布和发送数据有三种方式,分别为一对一(如即时消息)、

)2)数据的存储和检索分为基于结构化的P2P网络方法和基于非结构化的P2P网络方法。 结构化P2P网络,即基于分布式哈希表(DHT )的P2P网络,这也是目前使用最广泛的网络拓扑结构,并且其网络拓扑结构是确定的。 非结构化P2P网络的资源存储通常与网络拓扑(如Gnutella )无关。

(3)目前许多分布式数据处理技术都采用master/slave的架构。 也可以基于P2P网络进行分布式数据处理。

4.p2p的发展历史P2P技术的发展可以分为以下三个阶段:

)第一阶段:集中式对等网络采用集中式拓扑结构,所有文件索引信息都存储在中央服务器上,因此每个子节点必须连接到中央服务器才能找到资源。 最大的优点是维护简单,索引速度快。 但是,由于整个网络高度依赖中央服务器,所以容易引起性能瓶颈和单点故障问题。

代表性的是napster。

)第二阶段)在非结构化分布式网络这样的网络中,采用了Flooding搜索算法,每次搜索时都会向网络上的所有节点广播要搜索的消息。 当节点下载文件时,节点会使用文件名或关键字生成查询,并将查询发送到所有连接的节点。 如果这些节点上存在文件,则建立与此节点的连接;如果不存在,则继续将查询转发到相邻节点,直到找到文件位置,如下图所示。

发现随着网络规模的增大,这种搜索方式会引起“广播风暴”,大大消耗网络带宽和节点的系统资源。 虽然避免了集中式对等网络中的“单点故障”问题,但效率很低。

典型代表: Gnutella的早期版本。

)第三阶段)结构化分布式网络目前被最广泛采用的是结构化分布式网络,即基于分布式散列表(DHT )的网络。 为了达到Napster的效率和准确性,以及Gnutella的分散性,DHT进行了比较结构化的

基于键值对的路由方法(如下图所示)。

        目前实现了DHT协议的有Kademlia和Chord算法,其中Kad算法由于简单易用而被广泛使用,其中比特币和以太坊网络中的P2P网络采用的就是Kad算法。这个也是我们下一篇文章要重点将的内容,这里我们就不展开讲解,留到下一篇文章。

5.p2p的应用 (1)文件内容共享和下载。

        利用P2P技术可以使计算机之间不通过服务器直接进行内容共享和数据分发,使得互联网上任意两台机器间共享数据成为可能。例如Napster、Gnutella、eDonkey、eMule、Maze、BT,以及现在PPS、腾讯视频客户端等采用的P2P流媒体技术,使得播放速度更加流畅。

(2)计算能力和存储共享。

        基于P2P网络的分布式结构构造出分布式的存储系统实现存储共享,提供高效率、高性价比、负载均衡的文件存取功能,例如国外的Sia、Storj等分布式云存储平台,不依赖第三方的大型集中存储空间,避免了数据泄露、保证了安全性。同时由于任何人的主机都可以提供存储服务,降低了门槛,大幅降低了存储的成本。如下,采用分布式存储的Storj价格是每个月$0.015而亚马逊提供的AWS价格是$0.023。

        同时也可以共享CPU处理能力。例如360的共享云计划和星域CDN等,充分利用每个人机器的闲散计算资源来提供计算服务。

(3)基于P2P的即时通讯。

        例如目前的Skype通话软件就是从连接建立和数据传输都采用P2P实现,保证了良好的通话质量。

(4)基于P2P方式的协同处理与服务共享平台。

        常见的协同处理有视频会议、共享白板、协同协作等,而基于P2P技术的同样也可以实现上述功能,不同的是,这种实现方式不需要中心服务器,参与协同工作的计算机之间可以直接建立点对点的连接。例如被微软收购的Groove协同软件平台。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。