区块链的分布式网络结构有哪些特点?

news/2024/7/7 22:09:14
想知道更多区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!!

区块链建立的物理网络基础是点对点的分布式网络,这与中心化的“客户端/服务器”网络架构有很大不同,它是一种去中心化的网络,提高了数据传输的效率,相比中心化的网络结构而言具有更高的安全性。
作为区块链的底层公有链,这种分布式对等网络即P2P,其最主要的特点是:每一个网络节点之间都是平等的,没有哪一个节点处于中心地位或者对其他节点具有控制、管理权限。

对分布式网络的专业化定义表述是:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其他节点直接访问而无须经过中间实体,在此网络中的参与者既是资源又是获取者,也就是说每一个节点的角色都是相同的,所以又称为“对等网络”。

在P2P网络环境中,彼此连接的多台计算机之间都处于对等地位,网络中的每一台计算机既能充当网络服务的请求者,又能对其他计算机的请求作出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和互换、计算机资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。

P2P网络技术的特点目前主要体现在以下几个方面:

非中心化:网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无须中间环节和服务器的介入,避免了可能出现的瓶颈。P2P非中心化的特点,带来了其可扩展性、健壮性等方面的优势。

可扩展性:在P2P网络中,随着用户的加入不仅服务的需求增加了,系统整体的资源和服务能力也在同步扩充,从而满足用户的需求。理论上其可扩展性几乎可以认为是无限的。例如,在通过FTP的文件下载方式中,当下载用户增加之后,下载速度会变得越来越慢,而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。

健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间的,部分节点或网络遭到破坏对其他部分的影响很小。P2P网络一般在部分节点失效时能够自动调整,保持其他节点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许节点自由的加入和离开。

高性价比:性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽性能依照摩尔定律高速增长。采用P2P架构可以有效的利用互联网中大量的普通节点,将计算机任务或存储资料分布到所有节点上。充分利用闲置的计算能力或存储空间,达到高性能计算和海量存储的目的。

隐私保护:在P2P网络中,由于信息的传输分散在各节点之间进行而无须经过某个集中环节,用户的隐私信息被窃听和泄露的可能性大大减少。此外,目前解决互联网隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体中。在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点,而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通信的灵活性和可靠性,能够为用户提供更好的隐私保护。

负载均衡:P2P网络环境下因为每个节点既是服务器又是客户端,降低了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。


http://lihuaxi.xjx100.cn/news/238346.html

相关文章

SpringBoot+Docker+Git+Jenkins实现简易的持续集成和持续部署

前言 本篇文章引导你使用Jenkins部署[SpringBoot项目],同时使用Docker和Git实现简单的持续集成和持续部署。(项目地址:sso-merryyou) 流程图如下: push代码到Github触发WebHook。(因网络原因,本篇使用gitee…

Spark的基础应用

目的要求 搭建Spark集群环境;Spark集群的启动、浏览与关闭;使用Eclipse编写Spark应用程序包;如何运行Spark任务; 实验环境 Java jdk 1.7;apache-maven-3.6.0;Eclipse;Apache_Hadoop集群&#…

以太坊中的安全代币案例

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】 链客 ,有问必答!我在关于安全令代币(第一部分,第二部分)有争议的文章中,我提到过,以太坊可能不是长期执行安全代币…

mysql查看正在执行的sql语句

有2个方法: 1、使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到。好处是不用设置,不会保存。 -- use information_schema; -- show processlist; 或者: -- …

在Unity中创建3D直升机游戏

In this lecture from Colton Ogden, you can learn game development principles by coding a Helicopter Game 3D using Unity and C#. The principles you learn can apply to any programming language and any game.在Colton Ogden的本次演讲中,您可以通过使用…

最新Java面试题答案

JAVA基础 JAVA中的几种基本类型,各占用多少字节? 下图单位是bit,非字节 1B8bit String能被继承吗?为什么? 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改…

简化区块链中的数字签名

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】 链客,有问必答!现在我们经常在区块链中看到数字签名这一术语是非常常见的。在发送交易时,无论是比特币、Ethereum、Hyperledger Fabric还是任何其他平台&#xff…

Java基础-泛型

Java基础-泛型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.泛型的引入 由于集合可以存储任意类型的元素,导致取出时,如果出现强转就会引发运行时异常(ClassCastException…