fabric 共识机制 由于fabric是分布式的系统,因此需要共识机制来保障各个节点以相同的顺序状态保存账本,达成一致性. 在当前fabric1.4版本中,存在三种共识机制,分别是solo,kafka,etcdraft.交易的共识包括3个阶段的处理:提议阶段.打包阶段和验证阶段. 1.Solo 共识模式 Solo共识模式指网络环境中只有一个排序节点,从Peer节点发送来的消息由一个排序节点进行排序和产生区块:由于排序服务只有一个排序节点为所有Peer节点服务,没有高可用性和可扩展性,不适合用于…
Fabric 1.4源码分析 kafka共识机制 本文档主要介绍kafka共识机制流程.在查看文档之前可以先阅览raft共识流程以及orderer服务启动流程. 1. kafka 简介 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统,一种高吞吐量的分布式发布订阅消息系统.kafka详细介绍可以参考这一篇博客.kafka介绍 2. kafka共识 kafka共识当中,每个orderer节点即是生产者Producer也…
Fabric 1.4 orderer 服务启动流程 1.提要 orderer提供broadcast和deliver两个服务接口.orderer节点与各个peer节点通过grpc连接,orderer将所有peer节点通过broadcast发来的交易(Envelope格式,比如peer部署后的数据)按照配置的大小依次封装到一个个block中并写入orderer自己的账本中,然后供各个peer节点的gossip服务通过deliver来消费这个账本中的数据进行自身结点账本的同步. 2.初始化过程 先看看…
Fabric 基本概念 1.区块链介绍 区块链之所以引来关注是因为比特币开源项目,尤其是比特币价值的飙升,让大家开始关注数字货币以及相关技术.那么区块链究竟是什么? 1.1 区块链定义 狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验. 广义上,区块链指代这些基于区块链结构实现的分布式记账技术. 1.2 具体特征 去中心化.由于使用分布式核算和存储,体系不存在中心化的硬件或管理机构. 开放性.系统是开放的,除了交易各方的私有信息被加密外,区块链的数据…
Fabric 的网络节点本质上是互相复制的状态机,节点之间需要保持相同的账本状态.为了实现这个目的,各个节点需要通过共识( consensus )过程,对账本状态的变化达成一致性的认同. Fabric 的共识过程包括 3 个阶段:背书.排序和校验. 背书 在背书( endorsement )阶段中,背书节点对客户端发来的交易预案进行合法性检验,然后模拟执行链码得到交易结果,最后根据设定的背书逻辑判断是否支持该交易预案.如果背书逻辑决定支持交易预案,它将把预案签名后发回给客户端. 客户端通常需要根…
Hyperledger Consensus 共识过程 Hyperlydger中建立共识的过程由以下两个独立的过程构成: Ordering of transactions (交易排序) Validating Transactions(交易验证) 逻辑上将这个两个过程分离可以保证Hyperledger快讲可以应用任何的共识模块. 建立共识的第一步是从client端接收交易,然后由Ordering Service进行交易排序.Ordering Service 可以用多种方法实现,在开发测试阶段可以用中…
区块链作为去中心化的技术机制拥有广泛的应用场景与市场潜能.自2017年爆发式增长后,区块链虽然已经进入平稳期,但仍然存在概念混淆.技术性能制约.智能合约制约.共识机制.网络建设等痛点.为了打破行业壁垒,更快地将区块链投入实际业务场景,打造基于去中心化理念的业务实践,百度云和百度区块链实验室基于百度自研XuperChain技术内核,突破共识机制.单机计算和串行处理三大技术瓶颈,并融合ABC与IoT等能力,打造覆盖技术框架.产品体系.生态建设和行业落地实践的区块链商业化解决方案. \\ \\ 自研X…
老k,柏链道捷CTO.清华阿尔山区块链研究中心高级工程师,超过17年的系统软件开发经验,在操作系统.编译器.虚拟机和符号执行方面都有实战经验.主持开发多个开眼项目,目前主要从事区块链底层系统开发工作. 这个系列的文章主要谈一下我对区块链中的共识机制的理解,欢迎跟大家一起交流.探讨. 前言 当今区块链的概念和产业已经遍布神州大地,创业言必区块链,在各种咖啡厅中你都可以听到周围的人谈论区块链,大部分从业者对区块链技术的一个认识是它是一个分布式账本技术,更有些人说区块链是各种计算机技术的组合,如P2P…
作者:林冠宏 / 指尖下的幽灵 掘金:https://juejin.im/user/587f0dfe128fe100570ce2d8 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 腾讯云专栏: https://cloud.tencent.com/developer/user/1148436/activities 虫洞区块链专栏:https://www.chongdongshequ.com/…
近期,随着区块链技术在社区中的声音越来越大,业界已经开始从技术角度对区块链进行全方位的解读.作为第一批区块链技术的实现,传统比特币与以太坊在共识机制.存储机制.智能合约机制.跨链通讯机制等领域并没有非常严密的设计,从而引发了一些在数据库与存储领域比较常见的问题,导致其数据规模无法无限增加(当前仅几百GB就产生了严重的性能瓶颈,几乎不可能到达上百TB规模),吞吐量极为有限,使其不可能适应通用分布式数据存储或通用结算体系的要求. 作为数据库内核行业十几年的老兵,笔者将会从共识.存储.智能合约.多链.…