当前位置:首页 » 区块链精品文章 » 正文

4.1 概述

1652 人参与  2018年10月15日 10:57  分类 : 区块链精品文章  评论

第4章 基于Gossip的P2P数据分发

4.1 概述

背书节点模拟执行签名的结果会经过排序服务(Ordering Service)广播给所有的节点,它提供的是一种原子广播服务(Atomic Broadcast),即在逻辑上所有节点接收到消息的顺序是相同的,相同序号都是相同的内容,排序服务的详细原理和实现请参考第6章。排序服务广播的信 息包括更新的状态信息和账本信息等,这些信息需要广播给所有节点。如果排序服务和所有节点都保持直接连接,在节点较多、数据量较大的情况下,容易形成单点 故障或成为性能瓶颈。加 入 会 员 微 信 dedao555

由超级账本节点组成的区块链网络本身就是一种去中心化的网络,利用P2P实现数据广播是显而易见的做法,最常见的 实现方法是洪泛(Flooding)。洪泛是节点在接收到数据包以后直接转发给所有的邻居节点,直到所有的节点都接收到了数据包或者数据包的跳数(Hop Count)超过一定的限制。洪泛有很多优点,比如节点覆盖度高。如果在一个源节点和目标节点之间存在一条路径,洪泛就能通过广播找到这条路径,并且能以 最快的速度找到这条路径。洪泛还有很好的冗余度,这在不稳定的网络中能提高网络的健壮性(Robustness)。

洪泛的一个缺点是非常低效,可能会出现广播风暴。超级账本采用基于Gossip的协议实现P2P的数据分发,与洪 泛(Flooding)的广播策略不同,节点在接收到数据包以后,不是直接转发给邻居节点,而是会计算一下概率,根据计算结果来判断是否需要进行转发。转 发概率设置为固定值的纯Gossip(Pure Gossip)、盲Gossip(Blind Gossiping)或者固定概率Gossip(Fixed Probability Gossip)。转发概率还可以根据其他一些信息动态计算,比如节点的度(Degree)、全局的拓扑结构等。在超级账本的实现中,采用的是随机的选择 k(默认值是3)个节点进行转发,如果邻居节点的数量还没有需要转发的节点数量多,就全部转发。

采用基于Gossip的广播策略,除了能提高转发效率外,还有以下一些好处。

1)扩展性(Scalability):在网络节点数增加的情况下,整个系统的性能不会快速恶化。每个节点选择转发给邻居节点的数量和网络中的总节点数量是没有直接关系的。转发概率是基于本地信息进行计算的,这些信息的变化若较小,整个系统的性能就会比较稳定,系统就是可扩展的。

2)适应性(Adaptability):在超级账本 中,节点定期会跟其他节点交换信息。如果在这个过程中有节点发生故障,则会从存活节点中删除这个节点的信息。对于故障节点,还会定时检查是否已经恢复,恢 复存活的节点会更新到存活节点列表中。如果有新加入的节点,也能通过节点信息的交换获取到,添加到存活节点列表中,广播给其他节点。这些都能通过 Gossip协议学习到,自动调整网络的拓扑结构,适应网络节点的变化,保证整个网络的正常运行。

3)优雅降级(Graceful Degradation):在可靠的广播协议中,存在一个值f,如果错误数量没有超过这个值,则整个协议能正常运行;如果超过这个值,就会出现一些异常, 或者完全不能工作。协议的可靠性就等于不超过f个错误的概率。若想计算这个概率可能是非常困难的,计算概率所需要的数据也可能非常难以测量。优雅降级 (Graceful Degradation)就是指协议能正确工作的概率不会因为错误数超过f时就快速地降低。


来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=1081

区块链是什么  

微信号:qq444848023    QQ号:444848023

加入【我是码农】QQ群:864689844(加群验证:我是码农)

<< 上一篇 下一篇 >>

网站分类

标签列表

最近发表

全站首页 | 数据结构 | 区块链| 大数据 | 机器学习 | 物联网和云计算 | 面试笔试

本站资源大部分来自互联网,版权归原作者所有!