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