fabric2.0 Beta新特性

fabric 2.0Beta版本是目的让用户了解和使用测试2.0版本的功能,此版包含了所有2.0版本中的新特性

1 去中心化的链码生命周期

fabric2.0版本引入了非中心化的链码管理方式,包括链码的安装和链码在通道上的运行。新的链码生命周期管理允许多个组织在链码的参数上达成一致,例如链码的背书策略在生效之前要先达成一致。
新的模型相比之前的声明周期有以下几个提升:

1.1 多个组织必须对链码的参数达成一致

在1.X版本中,单个组织可以为通道内的其他的组织设置链码的参数(例如背书策略),其他的组织仅有能力拒绝安装链码从而不参与交易。新的链码生命周期更加灵活,它同时支持中心式信任和非中心式的。

1.2 更加完善的链码升级步骤

在之前的链码声明周期中,单个组织可以发起升级链码的交易,这对那些还没有安装新的链码的组织造成了风险。新的升级模型要求升级请求只有在得到了足够数量组织的认可后,链码才能升级。

1.3 更加简单的背书策略和私有数据集更新

新的生命周期允许用户不用重新打包或者重装链码就可以改变背书策略货私有数据集合配置。用户可以使用新的默认策略,此策略要求来自通道上大多数组织的背书。这个策略会在有新的组织加入通道或者有组织离开通道时候会自动更新。

1.4 可检查的链码包

现在将链码打包在更易读的tar包中,这使检查链码包和多个组织安装链码更加方便

1.5 在一个通道上使用同一个包安装多个链码

之前的生命周期链码安装的时候,指定了链码的名称和版本号,不同的链码要有不同的名称或者版本号才可以安装。现在允许将一个链码包以不同的名字在相同的或者不同的通道上部署多次。

1.6 链码包在通道内不同成员中不一定是完全相同的

组织可以根据自己的场景定制化链码,例如出于自己组织的需求执行不同的验证逻辑。只要交易收集到要求数量的背书,并且背书结果一致,那么交易就是有效的并会被提交到账本。

2 启动外部链码

之前的版本要求peer具有访问docker守护进程的权限,以便构建和启动链码。2.0版本链码不再强制要求必须运行在docker容器中,操作员可以通过设置相应的环境变量来决定运行在容器中还是外部服务中。

3 私有数据优化

fabric2.0增加了处理和分享私有数据的新方式,这种方式使通道内成员隐私交易不再必须创建私有数据集合。在更多场景下,用户可能希望与特定的通道内成员在交易级别分享隐私数据,而不是在一个多乘员的集合内分享数据。每个私有数据集合可以只包含一个单独的组织,也可以包含一个组织与一个管理员或审计员。

4 使用数据库缓存提升couchdb性能

在之前版本中,如果使用了couchdb,背书和验证中数据库的读操作一直是性能瓶颈。在2.0中,读取操作优先查找缓存,通过本缓存技术来解决这个问题。缓存大小需要通过core.yaml进行配置。

5 基于alpine的docker镜像

从2.0版本开始,fabric的docker镜像将会使用Alpine,一个面向安全的、轻量级的linux版本。这意味着docker镜像将会更小,下载速度更快,占用磁盘空间更小。

你可能感兴趣的:(fabric2.0 Beta新特性)