【虾说区块链】搞懂P2P网络,再谈区块链!P2P网络概念扫盲帖

image

欢迎收听「虾说区块链」。如今区块链这个概念在互联网上至关火热,这里简单作一个普及,不涉及项目推广投资,单纯地对区块链相关基础知识概念做一个说明讲解。本人区块链技术爱好者,结合相关区块链资料总结整理了「虾说区块链」,也是本身一个学习笔记,涉及相关内容如理解有误,也请及时指正。html

1

P2P网络

P2P(peer to peer):这个peer中文翻译就是对等、对等者、伙伴、对端的意思。因此P2P网络通常叫作对等网络,其确切定义:网络中每一个参与节点共享节点所拥有的一部分计算能力、存储能力、网络链接能力,这些能力或者称为共享资源经过网络提供的服务和内容,可被对等节点直接访问,访问过程当中不须要再通过中间实体,因此每一个节点既是资源和服务的使用者、又是整个资源和服务的提供者。P2P网络中各个节点都是出于一个对等的地位,没有主、从的区分,联系实际环境,你目前在操做的一台电脑终端既能够做为服务器。又能够做为终端去获取对等节点的资源。整个网络中不存在中心节点,每一个节点均可对任意对等节点作出响应,提供资源,包括计算资源、存储资源等。算法

P2P不是一个新的技术,早在2000年该模型就已出现,他于传统的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。服务器

image

图示P2P网路和传统架构的区别网络

P2P的理念,“我为人人、人人为我”让全部加入互联网的人,直接经过互联网交互,不须要一个中间商,这样沟通,共享,交互更加自由和方便,最终把互联网的权利交换给用户,而不是一些集中网络中心。架构

用过BT下载的同窗确定印象很深入,种子的多少很大程度上决定了你的下载速度,P2P网络的一大特色区别于传统网络架构中,网络中的资源和服务分散在全部节点上,信息的传输和服务的实现都直接在节点之间进行,能够无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特色,带来了其在可扩展性、健壮性等方面的优点。分布式

在P2P网络中,随着用户的加入,不只服务的需求增长了,系统总体的资源和服务能力也在同步地扩充,始终能比较容易地知足用户的须要。理论上其可扩展性几乎能够认为是无限的。例如:在传统的经过FTP的文件下载方式中,当下载用户增长以后,下载速度会变得愈来愈慢,然而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。函数

P2P架构天生具备耐攻击、高容错的优势。因为服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。P2P网络通常在部分节点失效时可以自动调整总体拓扑,保持其它节点的连通性。P2P网络一般都是以自组织的方式创建起来的,并容许节点自由地加入和离开。在P2P网络中,因为信息的传输分散在各节点之间进行而无需通过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通讯的参与者隐藏在众多的网络实体之中。性能

在传统的一些匿名通讯系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,全部参与者均可以提供中继转发的功能,于是大大提升了匿名通信的灵活性和可靠性,可以为用户提供更好的隐私保护。学习

2

P2P的网络拓扑结构

(这个网上不少资料,我基本参考转载于:http://www.intsci.ac.cn/users/luojw/P2P/ch02.html)区块链

中心化拓扑(Centralized Topology)

image

中心化拓扑中,网络主体由一个处于中心地位的索引目录服务器链接到目录服务器和各网络节点中。这种方式维护简单,资源发现率高,可实现复杂查询,但容易出现单点故障。

分布式P2P网络拓扑包括:

  • 全分布式非结构化拓扑(Decentralized Unstructured Topology);

  • 全分布式结构化拓扑(Decentralized Structured Topology,也称做DHT网络);

image

全分布式非结构化拓扑的P2P网络是在重叠网络(Overlay Network)采用了随机图的组织方式,结点度数服从Power-law规律,从而可以较快发现目的结点,面对网络的动态变化体现了较好的容错能力,所以具备较好的可用性。同时能够支持复杂查询。

全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash Table, 简写成DHT)技术来组织网络中的结点。DHT是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每一个结点被分配给一个属于本身的散列块,并成为这个散列块的管理者。经过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。

分布式散列表起源于SDDS(Scalable Distribute Data Structures)研究,Gribble等实现了一个高度可扩展,容错的SDDS集群。DHT类结构可以自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。因为重叠网络采用了肯定性拓扑结构,DHT能够提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性获得了保证。

半分布式拓扑(Partially Decentralized Topology)

image

吸收了中心化结构和全分布式非结构化拓扑的优势,选择性能较高(处理、存储、带宽等方面性能)的结点做为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其余部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。

实际应用中这4种P2P各有优缺点:

image

音频内容做者:“投河自尽的鱼”

如下是咱们的社区介绍,欢迎各类合做、交流、学习:)

image

点击“阅读原文”进入直播室听专栏音频。

相关文章
相关标签/搜索