zoukankan      html  css  js  c++  java
  • 蜗牛讲-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


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

  • 相关阅读:
    前端之CSS
    mysql数据库 -- Navicat、pycharm连接数据库
    mysql数据库之表查询
    mysql 数据库之表操作
    前端 HTML
    数据库设计(第一范式,第二范式,第三范式
    MySQL之锁、事务、优化、OLAP、OLTP
    MySQL之创建用户和授权
    MySQL之索引原理与慢查询优化
    MySQL之视图、触发器、事务、存储过程、函数
  • 原文地址:https://www.cnblogs.com/StephenWu/p/8810863.html
Copyright © 2011-2022 走看看