简述fabric网络架构 fabric网络安装


摘要:本文聚焦Fabric核心业务,构建一个测试模型,对社区原生的Fabric和华为云区块链(基于Fabric)进行实测,识别社区原生Fabric的性能瓶颈,并尝试通过华为区块链提供的动态伸缩、快速PBFT算法进行调优,提升几个关键的评测指标 。
1、Fabric 性能测试现状 通俗的来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本 。比特币(Bitcoin)、以太坊(Ethereum)、超级账本(Hyperledger)都是典型的区块链系统 。其中Hyperledger Fabric是最受欢迎的企业级区块链框架,Fabric采用了松耦合的设计,将共识机制、身份验证等组件模块化,使之在应用过程中可以方便地根据应用场景来选择相应的模块 。
Fabric的性能是用户最为关注的问题之一,然而,目前没有一个权威中立的机构,根据公认的规则,对Fabric进行性能测试并给出测试报告,大概有下面几个原因:
(1)Fabric还处在快速发展中,尚未给出详细中立并且公认的测试规则;
(2)Fabric网络结构(网络带宽、磁盘IO、计算资源等),配置参数(如区块大小、背书策略、通道数量、状态数据库等),共识算法(solo,kafka,pbft等)都会影响评测结果,很难构建反映fabric 全貌的测试模型;
(3)Fabric 交易过程复杂,和传统的数据库有很多区别,也不适用于传统的测试方案和工具;
本文聚焦Fabric核心业务,构建一个测试模型,对社区原生的Fabric和华为云区块链(基于Fabric)进行实测,识别社区原生Fabric的性能瓶颈,并尝试通过华为区块链提供的动态伸缩、快速PBFT算法进行调优,提升几个关键的评测指标 。
2、Fabric 交易过程分析 在Fabric交易过程中,涉及不同的角色,每个角色承担不同的功能,节点(Peer)可细分为背书节点(Endorser peer)和提交节点(Committer peer),共识由排序(Orderer)角色完成 。交易流程如下:
图1:fabric交易流程简图
(1):应用程序客户端通过SDK向区块链网络发起一个交易提案(Proposal),交易提案把带有本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等信息发送给背书节点(Endorser) 。
(2):背书节点(Endorser)收到交易提案(Proposal)后,验证签名并确定提交者是否有权执行操作,验证通过后执行智能合约,并将结果进行签名后发还给应用程序客户端 。
(3):应用程序客户端收到背书节点(Endorser)返回的信息后,判断提案结果是否一致,以及是否参照指定的背书策略执行,如果没有足够的背书,则中止处理;否则,应用程序客户端把数据打包到一起组成一个交易并签名,发送给Orderers 。

猜你喜欢