摘要:交易流程中的所有交易都是通过执行应用程序客户端通过调用证书服务服务,进行注册和登记,并获取身份证书。交易结果在被签名后与一个是否的背书结果一同返回,称之为预案回复。发出消息,使得客户端通过监听知道哪些交易是有效的或无效的。
本文首发于深入浅出区块链社区
原文链接:Fabric1.0 交易流程原文已更新,请读者前往原文阅读
这篇文章详细介绍fabric的交易流程,以图片加文字的形式呈现。
Fabric 1.0交易流程fabric中的所有交易都是通过chaincode执行
1.应用程序客户端通过SDK调用证书服务(CA)服务,进行注册和登记,并获取身份证书。
2.应用程序客户端通过SDK创建好交易提案(Proposal),交易提案把带有本次交易要调用的合约标识、合约方法和参数信息以及客户端签名等信息发送给背书(Endorser)节点。
3.背书(Endorser)节点收到交易提案(Proposal)后,开始进行验证,验证的内容如下:
交易预案是完好的
该预案以前没有提交过(防止重放攻击)
携带的签名是合法的
交易发起者是否满足区块链写策略, 即ACL 权限检查
满足以上要求后,背书节点把’交易预案’作为输入参数,调用chaincode中的函数,chaincode根据当前的账本状态计算出一个’交易结果’,该结果包括返回值,读写集。此时,区块链账本并不会被更新。’交易结果’在被签名后与一个是/否的背书结果一同返回,称之为’预案回复’。
4.应用程序客户端收到背书(Endorser)节点返回的信息后,判断提案结果是否一致,以及是否收到足够多的背书节点返回的结果(参照指定的背书策略执行),如果没有足够的背书,则中止处理,这个交易就会被舍弃。否则,将交易提案、模拟交易结果和背书信息打包组成一个交易并签名发给Orderer节点(一个排序服务)。
5.Orderer节点对来自客户端(SDK)的交易信息进行共识排序,分通道对’交易消息’按时间排序,并按通道将交易打包成块,发送给提交(Committer)节点。
6.提交(Committer)节点收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,验证背书策略是否满足,验证完成后将区块追加到本地的区块链,更新账本,并修改世界状态。具体过程如下:
运行验证逻辑(VSCC检查背书策略)
在区块中指明哪些交易是有效和无效的。
在内存或文件系统上把区块加入区块链
将区块内的有效交易写入状态数据库。
发出Event消息,使得客户端通过SDK监听知道哪些交易是有效的或无效的。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/24458.html
摘要:在中采用的共识算法是算法可以在信任程度较低的场景下避免拜占庭问题。但是由于算法本身特性限制,,才能容忍一个拜占庭节点,因此在版本下,节点数量至少是个。 作者: TopJohn原文连接:https://www.xuanzhangjiong.to... Fabric架构演变之路 Hyperledger Fabric是目前主流的开源联盟链产品之一,自2016年5月12日开辟代码仓库之日起,...
摘要:技术上需要哪些特性去达到数据可信任以上面提出的清算系统为例,可能有人提出,双方使用同一个分布式数据库不就可以达到实时的数据同步了嘛。 前言Hyperledger Project 由Linux基金会创办于2015年10月,是一个开源的区块链研发孵化项目,致力于提供可协同开发以区块链为底层的分布式账本。旗下的Fabric项目目标为打造一个提供分布式账本解决方案的平台。 业务上所期望解决的问...
摘要:技术上需要哪些特性去达到数据可信任以上面提出的清算系统为例,可能有人提出,双方使用同一个分布式数据库不就可以达到实时的数据同步了嘛。 前言Hyperledger Project 由Linux基金会创办于2015年10月,是一个开源的区块链研发孵化项目,致力于提供可协同开发以区块链为底层的分布式账本。旗下的Fabric项目目标为打造一个提供分布式账本解决方案的平台。 业务上所期望解决的问...
摘要:兄弟连区块链教程源代码分析服务端,年下半年,区块链行业正逐渐褪去发展之初的浮躁回归理性,表面上看相关人才需求与身价似乎正在回落。源代码笔记之服务端概述相关代码在目录下。,接口实现,即结构体及方法,以及服务端处理流程。 兄弟连区块链教程Fabric1.0源代码分析Peer(Endorser服务端),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与...
摘要:前言安装笔记中的是一站式的运行例子具体做了什么我们这里一步一步分开来看参考资料网络拓扑生成组织关系和身份证书设置环境变量检查环境变量的生成确保自己在目录下生成密钥文件查看生成的密钥目录生成服务启动区块设 前言 Fabric v1.0.5安装笔记 中的network_setup.sh up是一站式的运行,e 2e cli例子.具体做了什么,我们这里一步一步分开来看 参考资料: end-...
阅读 2066·2021-10-08 10:04
阅读 3097·2021-09-22 10:02
阅读 2250·2019-08-30 15:56
阅读 837·2019-08-30 15:54
阅读 933·2019-08-30 15:54
阅读 1289·2019-08-30 15:53
阅读 2518·2019-08-30 11:21
阅读 3567·2019-08-30 10:56