区块链之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网络。

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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决docker端口映射无法访问问题的方法_为什么有的网页无法访问

    解决docker端口映射无法访问问题的方法_为什么有的网页无法访问https://cloud.tencent.com/developer/article/1768097https://blog.csdn.net/li_101357/article/details/78415461

    2022年10月17日
    3
  • 信息学奥赛一本通(C++版) 网站补充题目

    信息学奥赛一本通(C++版) 网站补充题目总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716信息学奥赛一本通(C++版)网站补充题目http://ybt.ssoier.cn:8088//1414【2017NOIP普及组】成绩//样例通过,提交AC2017-12-3121:45#include<stdio.h>intmain(){…

    2025年7月13日
    2
  • mysql做pisa_群晖nas修改MariaDB配置文件

    mysql做pisa_群晖nas修改MariaDB配置文件家里的Nas使用率越来越高,平均每周手工重启一次,系统运行还算稳定。最近安装了WebStation,MariaDB等套件,用来作为家里的开发测试环境,使用下来还不错。理论上解析个动态域名到nas就能实现对外提供web服务了。100M电信光纤,上行2M,做个个人网站访问速度凑合着应该还是能用的。在导入数据时,因数据库包比较庞大(>100M),需要修改max_allowed_packet字段。…

    2022年5月4日
    253
  • 计算机错误代码0X000000be,Win7系统出现蓝屏代码0x000000BE的解决方法「建议收藏」

    计算机错误代码0X000000be,Win7系统出现蓝屏代码0x000000BE的解决方法「建议收藏」蓝屏是我们日常使用电脑的时候经常会碰到的故障,这不就有很多win732位系统用户反映说电脑出现蓝屏错误代码0x000000BE,该怎么解决这样的问题呢,接下来给大家讲解一下Win7系统出现蓝屏代码0x000000BE的解决方法吧。原因分析:0x000000BE错误表示硬件设备的驱动程序试图向只读内存错误地写入数据。这个错误一般是因为硬件设备驱动程序存在BUG或安装不正确引起的。解决方法:按开机按…

    2022年10月8日
    3
  • java jasypt_jasypt命令行工具的使用说明

    java jasypt_jasypt命令行工具的使用说明jasypt能够以很简单的方式为Java项目提供加密功能,这种简单的方式体现着它的命令行工具,与Spring,Hibernate,Springsecurity,wicket等第三方框架的集成。本文参加jasypt官方网站:http://www.jasypt.org/下载jasypt包,解压缩到本地目录。如下图:根目录:命令行工具目录:说明:在lib目录下是jasypt的核心jar和与第三方组件…

    2022年9月26日
    4
  • 从开发者角度玩Windows 11

    从开发者角度玩Windows 11今天Windows11正式发布,有新的界面,有新的WindowsStore,也有新的交互,相信不少小伙伴都已经安装了Windows11或从各大媒体了解到相关的信息。作为开发者,或者你和我一样更关注Windows11给开发者带来了什么新的体验和提升。一.安装Windows11依赖于TPM2.0,什么是TPM呢?TPM技术旨在提供基于硬件的与安全性相关的功能。TPM芯片是一个安全的加密处理器,有助于执行生成、存储和限制加密密钥的使用等操作。TPM芯片包含多重物理安…

    2022年5月6日
    122

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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