必威体育Betway必威体育官网
当前位置:首页 > 运营推广

从4个方面分析:节点与节点之间是如何建立连接的?

时间:2019-05-10 17:41:01来源:运营推广作者:seo实验室小编阅读:55次「手机版」
 

网络节点

在分布式系统中每个终端节点都是平等的,不存在任何中心化节点帮助它们互相连接,那当一个新的节点要加入网络中来时,它该如何找到自己的小伙伴的呢?

我们知道比特币网络采用了基于互联网的点对点(P2P:peer-to-peer)分布式网络,但是你知道节点与节点之间是如何建立连接的吗?

本期将会对区块链的分布式网络中,节点与节点之间如何建立连接进行介绍,希望对你有帮助。

一、分布式网络基本概念

在介绍分布式网络之前我们先明确它的基本概念,分布式网络是什么?

分布式网络也叫网状网络,它和中心化网络(中央控制式网络)相对应,是一套全新的网络结构。分布式网络是由分布在不同地点的多个终端节点互相连接而成,形成纵横交错的网状结构,在这种网状结构中无中心节点。

上面是中心化网络和分布式网络对比图,中心化网络中终端与终端之间连接通讯,需要经过中央处理器统一处理,分布式网络中终端节点之间可以直接建立连接。

分布式网络相较于中心化网络的优点在于:它没有中心化控制中心,不会因为中心服务器遭到破坏而造成整体崩溃。当分布式网络中的某个节点损坏时,通信信息可通过其他的节点进行传输,具有较高的可靠性和传输速度。

二、一个终端如何加入区块链网络?

在分布式系统中每个终端节点都是平等的,不存在任何中心化节点帮助它们互相连接,那当一个新的节点要加入网络中来时,它该如何找到自己的小伙伴的呢?

以比特币网络为例:安装了比特币客户端的终端,可认为是一个网络节点

举个例子:来看一个新节点A是如何加入比特币网络的,这个节点在启动之后会做如下的几件事。

1. 告诉伙伴它在哪?

如果节点A是第一次连入比特币网络,那它首先会通过一种算法找到距离它最近的一个网络节点。

节点将一条包含自身IP地址的消息发送给相邻节点,相邻的节点再将这条消息向与自己连接的节点进行分发广播,以此类推,最终导致新节点的IP地址在全网进行分发,每个网络节点都知道节点A的地址,可以与之建立直接连接。

2. 找到伙伴在哪

节点A在找到相邻最近的节点之后,还会向与它相邻的节点索要它们已知节点的IP地址列表,拿到这些节点的IP地址列表之后,节点A便可以主动与这些节点建立直接的连接。

3. 更快的找到伙伴

当节点A加入到网络中之后,一般会与正活跃的节点连接。如果难以找到这样的节点,节点A会根据自己得到的IP地址列表,来找到那些长期稳定运行的节点,这种节点就是种子节点,通过种子节点能够帮助节点A更快速的发现网络中的其他节点。

三、比特币网络中不同节点的数据如何同步

比特币网络中的节点在连接到相邻的节点之后,首先会和相邻的节点同步数据,然后再去和更多的节点进行数据交换和同步。

在节点与节点之间进行数据同步的过程中会根据一个哈希值(可以暂时理解为一种独一无二的数据标记,后面期刊中会详细介绍)来判断谁的数据为最新的数据。

如果节点发现本身的数据不是最新的,就会寻找拥有最新数据的节点进行下载。如果发现自己的数据为最新数据,则会告诉其他节点需要从它这里补充数据。其他的节点下载数据并验证通过之后,将会更新到自己的本地数据中。

通过这种方式能保证网络中的所有节点都能及时得到最新数据。

四、总结

分布式是区块链的核心,我们通过了解节点之间如何建立连接,应该体会到分布式它不仅仅是一种网路架构,更是一种先进的思想!

点对点之间的影响通过网络形成了非线性的因果关系,整个网络形成了去中心,自组织的形态,这是事物发展的必然过程。更加高效、更加平等、更加低成本是新制度进化的必然方向。

分布式思想可能给我们带来的不仅仅是科技上的革命,更可能会带来整个人类社会结构的改变。

让我们拭目以待!

相关阅读

部署ESXI(Vclient 连接虚拟化服务器)

EXSI5.5只能在64位X86CPU的服务器上安装和运行。 ESXI5.5要求主机至少具有两个内核的CPU。 ESXI5.5至少需要4GB的物理内存。 ESXI

ORA-12154: TNS: 无法解析指定的连接标识符

前几天我在笔记本电脑上用plsql连接oracle数据库时提示ORA-12154: TNS: 无法解析指定的连接标识符,遇到这种问题我就用常规解决方

动力节点Java项目实战

动力节点课程体系全部围绕企业真实项目设计,结合独有的PDT教学法,以企业真实项目驱动教学贯穿整个学习过程,做到理论与实践完美融合,

微信开发者工具首次登录,显示网络连接失败

微信开发者工具首次登录,显示网络连接失败首次打开是下面这样电脑是64位的操作系统,所以一直下的是64位的版本,查看网上的解决办法:删

如何免费建立一个网站?

以我的个人经历来说,我是不太建议用免费的空间和域名来建立网店或网站。 我之前也建立了一个免费网站,开端的时分觉得真的挺不错的

分享到:

栏目导航

推荐阅读

热门阅读