蜗牛讲-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一个交易的完整周期。

  1. 客户端首先通过进行身份认证等安全操作,进入区块链网络

  2. 客户端之后创建一个交易申请,发送给背书节点进行背书操作。

  3. 背书节点执行对应的链码,基于应用的key操作生成读写操作集,并把背书结果返回给客户端

  4. 客户端收到背书返回后,把交易发送给节点,由节点转发到order服务

  5. order服务排序交易,把交易封装到区块里,并广播给每个节点(或是说每个提交节点)

  6. 节点对交易进行背书策略验证,身份认证,区块中所有交易的有效性认证。之后写入账本,并返回交易结果

     

     

    参考:

    https://blog.csdn.net/jamenew/article/details/55050986

    http://baijiahao.baidu.com/s?id=1585939473857151270&wfr=spider&for=pc

     

     


 欢迎大家关注微信号:蜗牛讲技术。扫下面的二维码

posted @ 2018-04-12 22:25  shaotine  阅读(2218)  评论(0编辑  收藏  举报