区块链之P2P技术

区块链之P2P技术P2P网络:Intel:通过系统间的直接交换达成计算机资源与信息的共享IBM:由若干互联协作的计算机构成并具备如下特性之一:系统依存于边缘化设备的主动协作;每个成员同时扮演客户端和服务器的角色;系统应用的用户能意识到彼此的存在而构成一个虚拟或真实的群体节点彼此对等,既作为服务和资源的提供者,又作为服务和资源的获取者区块链依靠P2P网络可扩展性、健壮性:P2P网络中的所有对等节点都可以提供带宽、存储空间以及计算能力等资源,随着更多节点的加入,系统整体的资源和服务能力也在同步地得到扩充。负载均衡

大家好,又见面了,我是你们的朋友全栈君。

P2P网络:

Intel:通过系统间的直接交换达成计算机资源与信息的共享
IBM:由若干互联协作的计算机构成并具备如下特性之一:系统依存于边缘化设备的主动协作;每个成员同时扮演客户端和服务器的角色;系统应用的用户能意识到彼此的存在而构成一个虚拟或真实的群体

节点彼此对等,既作为服务和资源的提供者,又作为服务和资源的获取者

区块链依靠P2P网络
可扩展性、健壮性:P2P网络中的所有对等节点都可以提供带宽、存储空间以及计算能力等资源,随着更多节点的加入,系统整体的资源和服务能力也在同步地得到扩充。
负载均衡:P2P网络的资源分布在多个节点上,可以实现网络的负载均衡。
去中心化:在区块链系统的P2P网络中,节点是信息的发送方和接收方,它们共同维护区块链。

4种拓扑形式:

1.中心化拓扑
由一台中心索引服务器和多个客户端节点构成,并非纯粹的P2P网络
中心索引服务器用于保存接入节点的地址信息,向其他节点提供地址索引服务

特点 :
实现了文件查询和文件传输的分离,且维护简单
一旦中心索引服务器发生了故障,就会导致整个网络无法正常工作
在这里插入图片描述

当一个用户需要查找某个音乐文件时,首先需要通过中心索引服务器对音乐文件进行检索,得到拥有该音乐文件的其他用户的信息,接着可以依据检索结果直接连接到资源拥有者,实现文件传输和共享。

2.全分布式非结构化拓扑
没有使用中心索引服务器,其节点拥有真正的对等关系
洪泛(Flooding)数据广播,即节点会将接收到的消息向邻居节点转发,直到所有节点都接收到了这个消息或消息传播的深度到达一定的限制。

特点:
可能会出现广播风暴
实现快速的消息传播和资源查找
在这里插入图片描述

首先,节点会根据资源关键字向邻居发送查询请求,如果它的邻居拥有这种资源,则会与发起查询请求的节点建立连接,进行资源的传输;否则,这个邻居会继续向自己的邻居扩散这个查询请求,直到找到这种资源。

3.全分布式结构化拓扑
采用分布式散列表(Distributed Hash Tables,简称DHT)来实现整个网络的寻址和存储,从而结构化地址管理。
分布式散列表将存储着网络中所有资源信息的散列表划分成很多不连续的小块,分散地存储在多个节点上。

特点
维护机制较为复杂
良好的健壮性、可扩展性和动态适应性
在这里插入图片描述

当一个节点需要请求某种资源时,首先找到包含对应资源关键词的散列表所处的节点,从该节点中获取资源对应的地址信息,最后依据地址信息连接对应的节点实现资源的请求与传输。
4.半分布式拓扑
将网络中性能较高的机器作为超级节点,每个超级节点存储着系统中其他部分节点的文件信息,执行维护这些节点的地址、文件索引等工作。
超级节点之间形成一个高速的转发层,并与接入的普通节点形成一个自治的簇,簇内采用中心拓扑的P2P网络。

特点 消除了网络拥塞的隐患,并在性能和可扩展性上具有一定的优势 对超级节点的依赖性较大
在这里插入图片描述

对于半分布式拓扑上的资源查找,会先在普通节点所在的簇内进行,如果簇内的超级节点查询到该资源在与超级节点相邻的叶子节点上,超级节点会将查询请求转发给对应的节点;否则,超级节点间会进行有限的洪泛,经由其他超级节点继续对这个文件进行查询。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150723.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • AbstractQueuedSynchronizer_setcursel函数用法

    AbstractQueuedSynchronizer_setcursel函数用法executeScalar 用于查询    返回影响的行的第一行第一列ExecuteNonQuery 用于增、删、改? 返回受影响的行数

  • AD15中PCB设置NET CLASS规则

    AD15中PCB设置NET CLASS规则1,执行菜单命令设计-类或者快捷命令DC计入如下界面2,右键新建一个类类)X*O-K,M9}0C6v3,吧电源和GND网络都加载到右边,PWR类创建完毕 4,这时候在规则里面就可对这个类进行调用和约束…

  • navicatmysql连接不上_navicat找不到本地MySQL服务

    navicatmysql连接不上_navicat找不到本地MySQL服务最近遇到了一件非常棘手的问题,用Navicat远程连接数据库居然连接不到,真是头都大了。 网上查阅了一下原因,原来是没有开通远程权限,好吧,下面我就来回忆一下自己怎么处理这问题的!大家都知道,用Navicat连接数据库一般是这样连得:问题整理以及解决办法错误一:错误原因:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程…

  • 数据解读 | 川菜出圈只靠辣?你太小瞧川菜了[通俗易懂]

    数据解读 | 川菜出圈只靠辣?你太小瞧川菜了[通俗易懂]图片来自网络,侵删作者|钟黛编辑|陆泓设计|张梓豪来源|DT财经(ID:DTcaijing)聚餐不知道吃什么,结局通常是二选一…

  • css3中的width:100vh以及calc(100vh + 10px)

    css3中的width:100vh以及calc(100vh + 10px)vh/vwvh:相对于视窗的高度,视窗被均分为100单位的vh;vw:相对于视窗的宽度,视窗被均分为100单位的vw;vmax:相对于视窗的宽度或高度中较大的那个。其中最大的那个被均分为100单位的vmax;vmin:相对于视窗的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vmin;视区所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。calccalc是英

  • CDO盛行,CIO作何应对?

    CDO盛行,CIO作何应对?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号