一。概述

背书节点模拟执行签名的结果会经过排序服务(Ording service)广播给所有的节点。

它提供的是一种原子广播服务(Atomic Broadcast),即在逻辑上所有节点接收到的消息顺序是相同的,相同序号都是相同的内容。

排序服务广播的信息包括:

【1】。更新的状态信息

【2】。账本信息。。。

这些信息需要广播给所有节点。

若排序服务的所有节点都保持直接连接,在节点较多,数据量较大情况下容易形成单节点故障或成为性能瓶颈。

由超级账本节点组成的区块链网络本身就是一种去中心化的网络,利用P2P实现数据广播是显而易见的做法。

最觉见的方法是--洪泛(Flooding)

【1】洪泛是节点在接收到数据包以后,直接转发给所有的邻居节点,直到所有的节点都接收到了数据包或数据包的跳数(Hop count)超过一定的限制。

【2】洪泛优点:

节点覆盖率高:若在一个源节点 & 目标节点间存在一条路径,洪泛就能通过广播以最快速度找到这条路径。

很好冗余度:在不稳定的网络中提高网络健壮性(Robustness)

【3】洪泛缺点:

低效 & 广播风暴

超级账本采用Gossip的协议实现P2P数据分发,与洪泛的广播策略不同:

【1】节点在接收到数据包后,不直接转发给邻居节点,而是会计算一下概率,根据计算结果判断是否需要进行转发。

【2】转发概率设置为:

A。固定值的纯Gossip(Pure Gossip)

B。盲Gossip(Blind Gossping)

C。固定概率Gossip(Fixed probablility Gossip)

转发概率还可根据其他一些信息动态计算,如:节点的度(Degree),全局拓扑结构等。

在超级账本实现中,采用的是随机的选择k(默认值为3)个节点进行转发,若邻居节点的数据还没有需要转发的节点数量多,就全部转发。

二。超级账本中的Gossip协议

三。成员认证及身份管理

四。节点启动及成员管理

五。主节点选举过程

六。基于反熵的状态同步

七。数据传播过程

八。多通道的支持

九。消息的验证策略

十。消息的多路分用及分区

十一。和Gossip相关的配置参数

本章小结:

深度探索区块链/基于Gossip的P2P数据分发(4)的更多相关文章

  1. [转帖]深度解析区块链POW和POS的区别

    深度解析区块链POW和POS的区别 Proof of Work 还有Proof of Stake 之前理解程了 state ... 股权的意思 还有 delegated proof of Stake ...

  2. 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾

    区块链.云计算.大数据.人工智能.FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾 | 作者 韩婷 发布于 2016年12月26日. 估计阅读时间: 不到一分钟 | 欲知区块链.VR.Te ...

  3. 区块链3.0:拥抱EOS

    EOS是当下最火的区块链技术,被社会广泛看好为下一代区块链3.0.不同于以太坊的学习,EOS的主语言是C++,本文作为EOS研究的首篇文章,重点介绍EOS的创新点,它的周边生态,各种概念原理的解释,以 ...

  4. 谈谈今年很火的区块链 CDN

    2017 年初,区块链被越来越多的人知道.区块链的概念其实很早就被提出来,曾经有人说过"区块链技术被认为是继蒸汽机.电力.互联网之后,下一代颠覆性的核心技术. 如果说蒸汽机释放了人们的生产力 ...

  5. 以太坊区块链Java(EthereumJ)学习笔记:概述

    本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要 ...

  6. 001/Go语言构建区块链(mooc)

    1.区块链发展与现状 视频地址:https://www.imooc.com/video/17452 注意: 比特币与以太坊最大的区别在于: 以太坊引入了对图灵完美智能合约的支持,人们可以将任何业务逻辑 ...

  7. NGK.IO网络安全大会暨区块链安全与应用创新论坛圆满落幕

    近日,NGK.IO网络安全大会暨区块链安全与应用创新论坛于美国McCormick Place国际会议中心圆满落幕. 论坛围绕"进化繁荣发展·安全链接未来"这一主题,由NGK.IO硅 ...

  8. Datahero Inc利用区块链溯源,造福各行各业

    近些年来,随着区块链技术的不断崛起以及快速发展,越多越多的人提出将区块链技术引入到溯源系统当中,溯源也成为了区块链技术的重要应用场景之一. 目前,Datahero inc已建设一整套的溯源平台系统,基 ...

  9. Rust 实现一个简单的区块链

    一.背景 近期用 Rust 实现了 Jeiwan/blockchain_go,与原项目相比没有加入新的功能,只是换了一个编程语言实现了一遍,源码放在 Github 上. 开发这个项目,花费了好几个周末 ...

随机推荐

  1. SPSS Statistics 26.0 下载安装和激活

    目录 1. 其他版本 2. IBM SPSS Statistics 26 新增功能 3. 安装步骤 4. 下载地址 1. 其他版本 参考:https://www.cnblogs.com/coco56/ ...

  2. ie10兼容问题 -- 将div定位absolute在图片img上面,导致div点击事件无效

    ie10兼容问题: 将div定位absolute在图片img上面,发现div若不加背景色,导致div点击事件(任何事件)无效. <div class="paper-box"& ...

  3. Django中间件拦截未登录url

    1.利用装饰器在视图中拦截未登录的url @login_required(login_url='/user/login/') def homepage(request): pass 这种方法适合于程序 ...

  4. Python---Tkinter---贪吃蛇(稳定的外部环境,稳定的内心)

    # 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food - 上面代码不太 ...

  5. sigmoid和softmax的应用意义区别

    转载自:https://baijiahao.baidu.com/s?id=1636737136973859154&wfr=spider&for=pc写的很清楚,并举例佐证,容易理解,推 ...

  6. Flink Forward Asia 2019 - 总结和展望(附PPT下载链接)

    11 月 28 - 30 日,北京迎来了入冬以来的第一场雪,2019 Flink Forward Asia(FFA)也在初雪的召唤下顺利拉开帷幕.尽管天气寒冷,FFA 实际到会人次超过 2000,同比 ...

  7. RMI实现方案

  8. 判断Java对象存活的算法、垃圾回收算法

    判断Java对象存活的算法 一.引用计数算法 给对象添加一个引用计数器,每当一个地方引用它的时候就将计数器加1,当引用失效的时候就将计数器减1,任何时刻计数器为0的对象都不可再被使用.这种算法虽然简单 ...

  9. 超大文件上传方案(ASP.NET)

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

  10. Oracle--SQL程序优化案例一

    下面是存储过程的一部分程序: PROCEDURE SAP_MAN_ROUTING_SO (CITEM_ID    VARCHAR2,                                 C ...