600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 区块链Fabric 技术架构和交易流程

区块链Fabric 技术架构和交易流程

时间:2019-07-12 03:51:12

相关推荐

区块链Fabric 技术架构和交易流程

Fabric 架构

总体架构核心部分由成员管理(Membership services)、共识服务(Consensus services)和智能合约(Chain-code Services)三部分, 加上安全和加密服务(Security and Crypto Services)贯穿于其他各个组件,应用端通过接口(APIs、Events、SDKs)调用身份(IDENTITY)、账本(LEDGER)、交易(TRANSACTIONS)、智能合约等信息,架构图如下:

详细解释如下:

1)、成员管理(Membership services):提供成员服务功能,包括注册、登记、申请证书等功能;考虑到商业应用对安全、隐私、监管、审计和性能的要求,节点、成员只有获得证书才能加入到区块链网络中,在1.0版本以后单独由可插拔的Fabric CA组件来处理。

2)、共识服务(Consensus services):负责分布式账本的计算和存储(Distrbuted Ledger)、节点间的共识服务(Ordering Service)、背书验证管理(Endorsement Validation)以及节点间的网络传输协议(Network Protocol)功能的实现,是区块链的核心组成部分,为区块链的主体功能提供了底层支撑。

3)、智能合约(Chain-code Services):智能合约(SMART CONTRACT)称为链码(chaincode), 是基于标准的一段代码,实现具体业务逻辑。链码和底层账本是解偶的,链码的更新不影响到原有的数据。链码目前官方提供可以使用GO、Java、Node.js语言来编写,通过Docker容器来运行chaincode,安装和实例化后通过gRPC与同一通道内的Peer节点进行连接。

4)、安全和加密服务(Security and Crypto Services):节点或成员必须被许可才能进入网络,通过证书、加密和签名等手段保证安全,通过多通道隔离功能,保证只有参与交易的节点能访问到数据,其他的节点看不到,真正实现了逻辑与数据的分离。

5)、接口(APIs, Events, SDKs):提供API方式给第三方应用调用,方便二次开发,目前已提供Node.js和Java SDK两种语言接口;可以通过SDK或CLI方式进行安装、测试链码,还可以查询交易状态和数据等功能,同时通过Events监听区块链网络中发现的事件,方便第三应用系统调用和处理。

2.交易流程:

区块链最主要的特性之一是去中心化,没有了中心机构的集中处理,为了达成数据的一致性,就需要网络中全民参与管理,并以某种方法达成共识,所以区块链的交易流程也就是共识的过程。

Fabric交易流程图如下所示:

交易过程详细流程:

1) 应用程序客户端通过SDK调用证书服务(CA)服务,进行注册和登记,并获取身份证书;

2) 应用程序客户端通过SDK向区块链网络发起一个交易提案(Proposal),交易提案把带有本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等信息发送给背书(Endorser)节点。

3) 背书(Endorser)节点收到交易提案(Proposal)后,验证签名并确定提交者是否有权执行操作,同时根据背书策略模拟执行智能合约,并将结果及其各自的CA证书签名发还给应用程序客户端。

4) 应用程序客户端收到背书(Endorser)节点返回的信息后,判断提案结果是否一致,以及是否参照指定的背书策略执行,如果没有足够的背书,则中止处理;否则,应用程序客户端把数据打包到一起组成一个交易并签名,发送给Orderers(排序服务节点)。

5) Orderers对接收到的交易进行共识排序,然后按照区块生成策略,将一批交易打包到一起,生成新的区块,发送给提交(Committer)节点;

6) 提交(Committer)节点收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改世界状态。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。