蜗牛讲-Fabric入门之架构
区块链的三大最佳实践:比特币,以太坊和超级账本。比特币可以看出是区块链1.0,主要作为数字货币进行流通交易,是区块链在金融领域的一个最佳实践。以太坊作为区块链2.0 的代表,具有了可编程的智能合约特性,使得区块链在除金融领域之外的其他领域可以有用武之地,但是距离真正的商用还有很多需要考虑的因素。超级账本平台fabric则可以看成是区块链3.0的雏形,让整个区块链技术在不同领域例如自动化采购,物联网,供应链管理等真正进入了应用时代。下面是三种区块链技术特点的比较
当前fabric已经release 到了1.1.0版本。而且相对于fabric 1.0之前的版本,Fabric 1.x版本的架构和实现都有了很大的变化。这些变化主要是从以下几个点考虑:
-
更好的支持现有的信任机制
-
在参与者的数量和交易的吞吐量上尽量做到可扩展性
-
消除不确定的交易
-
实现可插拔的数据存储
-
可升级fabric和chaincode
-
移除fabric ca中SPoF(Single Point ofFailure),支持多种成员管理服务(MemberShip Services)
我们本章节以及后续要介绍关于fabric的相关内容都是基于1.x或是更高版本。
下面是fabric V1.x的架构图
该架构主要包括几个部分:
-
应用sdk:用于和区块链网络进行通信,提供了包括安全认证,交易申请等功能
-
节点:负责背书,验证,提交交易等功能,每个节点都维护了一个或是多个账本,同时通过gossip网络对其他节点保持通信。Fabric里每个节点都是无状态的,
-
order服务,负责打包,排序和分发交易
上图也简要概括了fabric一个交易的完整周期。
-
客户端首先通过进行身份认证等安全操作,进入区块链网络
-
客户端之后创建一个交易申请,发送给背书节点进行背书操作。
-
背书节点执行对应的链码,基于应用的key操作生成读写操作集,并把背书结果返回给客户端
-
客户端收到背书返回后,把交易发送给节点,由节点转发到order服务
-
order服务排序交易,把交易封装到区块里,并广播给每个节点(或是说每个提交节点)
-
节点对交易进行背书策略验证,身份认证,区块中所有交易的有效性认证。之后写入账本,并返回交易结果
参考:
https://blog.csdn.net/jamenew/article/details/55050986
http://baijiahao.baidu.com/s?id=1585939473857151270&wfr=spider&for=pc
欢迎大家关注微信号:蜗牛讲技术。扫下面的二维码
作者: shaotine(蜗牛)
公众号:蜗牛讲技术
出处: http://www.cnblogs.com/StephenWu/
关注公众号:蜗牛讲技术。 满满的都是干货
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.