区块链的三大最佳实践:比特币,以太坊和超级帐本。比特币能够看出是区块链1.0,主要做为数字货币进行流通交易,是区块链在金融领域的一个最佳实践。以太坊做为区块链2.0 的表明,具备了可编程的智能合约特性,使得区块链在除金融领域以外的其余领域能够有用武之地,可是距离真正的商用还有不少须要考虑的因素。超级帐本平台fabric则能够当作是区块链3.0的雏形,让整个区块链技术在不一样领域例如自动化采购,物联网,供应链管理等真正进入了应用时代。下面是三种区块链技术特色的比较编程
当前fabric已经release 到了1.1.0版本。并且相对于fabric 1.0以前的版本,Fabric 1.x版本的架构和实现都有了很大的变化。这些变化主要是从如下几个点考虑:安全
更好的支持现有的信任机制微信
在参与者的数量和交易的吞吐量上尽可能作到可扩展性网络
消除不肯定的交易架构
实现可插拔的数据存储ide
可升级fabric和chaincode区块链
移除fabric ca中SPoF(Single Point ofFailure),支持多种成员管理服务(MemberShip Services).net
咱们本章节以及后续要介绍关于fabric的相关内容都是基于1.x或是更高版本。code
下面是fabric V1.x的架构图blog
该架构主要包括几个部分:
应用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
欢迎你们关注微信号:蜗牛讲技术。扫下面的二维码