原文地址:www.xuanzhangjiong.top/2019/04/11/…html
做者:TopJohnnode
随着近期Fabric v1.4.1 LTS的发布,Fabric项目目前工做的重点正在向1.4.1和2.0的正式版推动。v2.0.0是2019年的主要目标,重点集中在更多的新特性上,包括加强的链码生命周期管理,raft共识机制,以此来按部就班地迁移至拜占庭容错算法,以及更强大的token支持。近期发布的2.0版本建议你们仅做为尝鲜之用,生产环境暂时不要考虑。git
Fabric 2.0 Alpha介绍了分布式治理链码的特性,包括在你的节点上安装链码以及在一个通道中启动链码的新流程。新的Fabric生命周期容许多组织对链码的参数达成共识,例如链码在开始和帐本进行交互前的背书策略。新的模型在以前的生命周期上进行了改进:github
多个组织必须赞成链码的参数:在Fabric 1.x版本中,一个组织可以为全部其余通道成员设置链码参数(例如背书策略)。新的Fabric链码生命周期将变得更灵活,提供了中心化的信任模型(例如以前版本的生命周期模型)以及去中心化的要求足够多的组织赞成才能生效的模型。算法
更安全的链码升级过程:在以前的链码生命周期中,升级链码能够由单个组织进行发布,从而还没有安装新链码的通道成员将可能产生风险。新的模型要求只有足够数量的组织批准后才能容许升级链码。安全
更轻松的背书策略升级:Fabric生命周期容许你在没有从新打包或者安装链码的状况下,变动背书策略。用户能够体验到默认的要求通道内大多数成员赞成的策略的好处。这个策略会在通道添加或者移除组织的时候自动更新。网络
可检查的链码包:Fabric生命周期将链码以易于阅读的tar文件的形式打包。这样能够更加轻松地检查链码代码包并协调跨多个组织安装。分布式
使用同一个安装包启动多个链码:在以前的生命周期管理中一个通道上的链码可使用名字和版原本指定一个安装的链码。在如今的版本中你可使用一个链码安装包在同一个通道或者不一样的通道使用不一样的名字进行屡次部署。ui
可使用下列教程来开始使用新的链码生命周期:操作系统
Chaindoce for Operators:提供了安装和定义链码所需步骤的详细概述,以及新模型可用的功能。
Building Your First Network:若是你想当即开始使用新的生命周期,BYFN教程已经更新为使用新的链码生命周期来安装和定义链码了。
Using Private Data in Fabric:已经更新演示如何经过新的链码生命周期来使用隐私数据集合。
Endorsement policies:了解使用新的链码生命周期如何使用通道配置中的策略做为背书策略。
Fabric v2.0 Alpha版本中链码生命周期还没有完成。具体来讲,请注意Alpha版本中的如下限制:
这些限制在后期将被解决。
Fabric 2.0 Alpha还为用户提供了在Fabric通道上轻松将资产转化为token的功能。FabToken是一种token管理系统,它使用Unspent Transaction Output(UTXO)模型,利用Hyperledger Fabric提供的身份和成员服务基础设施来发布传输和兑换token。
从v2.0开始,Hyperledger Fabric Docker镜像将会使用Alpine Linux操做系统,一种面向安全的轻量级的Linux发行版。这意味着Docker镜像如今将会小不少,提供更快的下载和启动时间,以及在主机系统上占用更少的磁盘空间。Alpine Linux的设计初衷是考虑到安全性,而Alpine的发行版的极简主义特性大大下降了安全漏洞的风险。
Raft是v1.4.1中引入的,它是一种基于etcd的崩溃容错(CFT)排序服务。Raft遵循“领导者和追随者”模型,其中每一个通道都会选举一个leader,并且它的决策会复制给追随者。和基于Kafka的排序服务相比,基于Raft的排序服务将变得更容易设置和管理,而且它的设计容许遍及全球的组织成为分散的排序服务贡献节点。