Hyperledger Fabric 2.0.0-alpha发布

由Linux基金会牵头的Hyperledger项目是目前应用范围最广的面向企业应用场景的开源分布式账本之一。作为Hyperledger项目中的顶级项目,Fabric项目在2019年4月10日发布了2.0.0-alpha版本,此版本实现了Fabric的几大重要特性,包括智能合约生命周期优化、原生Token支持、Raft共识算法支持等。

Fabric

1. 智能合约生命周期优化

在Fabric中,智能合约被称为链码(Chaincode),智能合约生命周期优化是本次发布的版本的最重要的特性。在此版本之前,Fabric上的链码必须由中心化的组织进行实例化、升级等操作,而2.0.0-alpha版本通过新的方式将链码安装到peer并在channel上实例化,从而支持了链码的去中心化管理。另外,新的链码生命周期也支持多个组织在链码与账本进行交互之前,对链码参数上达成一致,其中就包括最重要的参数之一——背书策略(Endorsement Policy)。

2. 原生Token的支持——FabToken

作为一个定位与联盟链平台,Fabric开始是不支持原生Token的。但随着企业对联盟链Token的需求越来越强烈,Fabri在之前版本实现了UTXO,为用户自定义Token提供了条件,而本次发布的版本直接支持了原生Token。用户可以很容易的在Channel中用token表示资产。FabToken是利用UTXO模型对Token的发行、转移、赎回等操作进行管理的系统。Token权限管理利用了Fabric底层的身份和成员管理基础设施,关于Token的交易必须经过Channel中所有peer的验证以保证交易有效性以及防止双花。

3. Raft共识算法支持

与Fabric0.6相比,将交易共识逻辑和交易背书逻辑进行了分离,分为对交易进行排序和出块的Orderer节点以及对交易进行签名、背书和记账的Peer节点。在1.4.1版本之前的版本,Fabric Orderer集群只支持solo模式和kafka模式,这两种模式都是一种中心化的模式,而且由于依赖于kafka集群,增加了系统复杂度和运维难度。而1.4.1版本支持了Raft共识协议,其实现使用了raft的开源实现——etcd。而2.0.0-alpha版本延续了1.4.1版本,支持了Raft协议。由于Raft是一种CFT协议(Crash Fault Tolerant),并不能解决拜占庭将军问题,但对Raft的支持了为后续版本实现BFT协议(Byzantine Fault Tolerant)奠定了基础。

另外,从Hyperleger项目官方获悉,备受关注的Fabric 2.0正式版将在本年年中发布。

猜你喜欢

转载自blog.csdn.net/xuyuzhuang1991/article/details/89203895