其他分享
首页 > 其他分享> > 区块链 Gossip Protocol是什么

区块链 Gossip Protocol是什么

作者:互联网

 

一、 由来

在分布式网络中,网络节点是否具有高扩展性,节点的可用性,数据如何进行传播,且在一个不稳定的分布式网络环境中,如何保证数据的实时同步,是所有开发人员都需要关注并解决的问题。

Gossip 协议取自人类的"八卦"概念,两个人只要愿意,可以随时互相交换信息。

Gossip 协议最初是在 1987 年由 Alan Demers 发明的,他当时是 Xerox 的 Palo Alto 研究中心的研究员,专门研究在不可信网络环境中路由信息的方式。

 

二、Gossip作用

Gossip是一种去中心化的分布式协议,用于实现节点或者进程之间的信息交换,通常被用在大型的无中心化网络环境中,并且假设网络环境不太稳定,是分布式系统中被广泛使用的一种最终一致性协议。

 

Gossip协议是在网络中的某个节点将指定的数据发送到网络内的一组其他节点。

数据通过节点像病毒一样逐个传播。

最终,数据传播到系统中的每个节点。从而实现在大型分布式系统中可靠地进行数据的传播。

 

简单的理解,Gossip是一种网络通信协议, 这种协议类似于人类中的谣言传播。一个人A第一次听到谣言,然后打电话给某人B以分享谣言。一旦他们挂了电话,B打电话给第三个人C,A与B分享谣言的同时,也在联系D分享谣言。这个过程一直持续到每个人都知道这个谣言。这种方式可方便地在一个网络中的所有节点之间快速传播数据。

 

 

三、Gossip协议的特征

 

四、Gossip协议类型

        通过网络中的泛洪代理来工作,节点收到广播的数据后直接转发给所有的邻居节点;此方式可以提高网络的健壮性,但是容易造成广播风暴。

 

五、Gossip数据传输(Gossip Messaging)

Gossip 协议最终的目的是将数据分发到网络中的每一个节点,那么在不同的具体应用场景中如何保证网络中的每一个节点都能够接收到对应的数据且在不稳定的网络环境中保持数据的实时同步。

Gossip数据分发协议实现了两种数据传输方式:

1.推送方式(Push-based):

1.1 网络中的某个节点随机选择N个节点作为数据接收对象

1.2 该节点向其选中的N个节点传输相应的信息

1.3 接收到信息的节点处理它接收到的数据

1.4 接收到数据的节点再从第一步开始重复执行

技术指南:认识Gossip

 

2.拉取方式(Pull-based):

2.1 某个节点周期性地选择随机N个节点询问有没有最新的信息

2.2 收到请求的节点回复请求节点其最近未收到的信息

技术指南:认识Gossip

 

 

 

 

内容来自http://www.ymcall.com/artinfo/780867682346446665.html

标签:协议,接收,Protocol,网络,Gossip,区块,数据,节点
来源: https://blog.51cto.com/u_15077160/2914394