《区块链原理设计与应用》 – 基于超级账本 Fabric 2.x(学习分享2.2-Fabric V1.x 与V2.0)

Posted 30+不焦虑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《区块链原理设计与应用》 – 基于超级账本 Fabric 2.x(学习分享2.2-Fabric V1.x 与V2.0)相关的知识,希望对你有一定的参考价值。

        废话不多说,直接进入学习分享内容。Fabric 从IBM第一个内部通用版本V0.6 到 V1.x 再到V2.0的发布,经历很多场景、框架的完善,逐步将联盟链的概念完善起来。其实从外文的原文,公有链(Permissionless Blockchain)、联盟链(Permissioned Blockchain),就可以看出对于联盟链的定义。

        对比公有链来说,自激励、参与方式无限制、网络规模普遍偏大、吞吐量较低;而联盟链,主要通过外部激励、参与方式是通过授权、网络规模偏小、吞吐量较高。

        对于笔者而言之前有幸与IBM共事一个项目,基于Fabric V0.6版本,从而打开了笔者对于区块链项目的新世界。由于0.6的版本对于CA认证、账本隔离、隐私等方面都没有完善,因此本次的分享主要是针对V1.x 和 V2.0进行大致的介绍。

        Fabric的基本模块概念:

        Organiztion(membership service provider):组织,是Fabric网络中的基本成员。

        Identify:身份标志,一般是通过Fabric-CA下发证书,通过证书和密钥来管理认证组织成员身份。

        Consortium、Channel:联盟、通道。整个Fabric网络通过通道配置树来管理组织、联盟的范围。

        Smart Contract:智能合约,直接与账本结构打交道,并支持上层业务逻辑。应用程序通过调用智能合约提供的方法来实现业务逻辑。

        ChainCode:链码延伸自智能合约的概念,负责对应用程序发送的请求作出相应,执行代码逻辑,实现与账本的交互。

        Endorsement:背书,可以通过Signature Policy方式,指定特定身份签名组合来进行背书,如指定多个组织内任意成员身份进行背书,或指定必须要有一个监管单位组织进行背书;也可以通过Channel Config Policy方式,引用通道内已有的策略进行背书。如果不显示的指定背书策略,则会使用通道配置中的Channel、Application、Endorsement策略,其默认为通道内的大多数成员。

        Private Data:分布式账本可以帮助多个成员进行数据共享和协作,隐私保护就成了关键性问题。Fabric目前通过通道机制,使各个通道之间数据进行彼此隔离;通过私密数据库,在同一通道内,实现对私密交易内容的保护;通过数据加密保护,在数据上链之前进行客户端加密,实现对链上数据的保护。

        Fabric V1.x更新的特征主要有:

        Private Data Collections(私有数据集合)

        Endorsement(背书)

        Commit(提交)

        Reconciliation(和解)

        Fabric V2.0的更新:

        Private Data Enhancements(私有数据增强)

        Decentralized Application Patterns(去中心化的应用模式)

        私有数据集合:在同一通道上有多个组织之间共享数据,但是对通道上的其他组织保持数据私密。私有数据集合会在chaincode实例化、升级时定义,会定义组织中的哪些peer节点被授权存储集合数据。

        背书:背书节点分发私有数据到被授权的组织节点,私有数据先存储在临时存储中,交易提交时再存到StateDB。临时数据不会被包含在提交到排序服务的交易中,只有私有数据的HASH值会被包含在交易区块中。

        私有数据提交:交易验证后私有数据和HASH值会被存储至StateDB中,未被授权的节点只存储私有数据的HASH值。如果授权节点没有私有数据,那么它会尝试从其他被授权节点获取私有数据。

        私有数据和解:如果授权节点在提交时刻,还是获取不到私有数据,它会在提交后继续尝试获取私有数据。

        在V1.x的版本中,必须为所有可能交易的私有数据进行私有数据集合的定义,即使它是一个单组织的网络。

        私有数据增强:支持集合级别的背书策略,每个组织隐式的私有数据集合,能够跨集合共享、验证私有数据。这样隐式的背书所匹配的组织,只有组织内的peers可以读写私有数据,不需要定义集合。非集合成员通过存储在账本中的HASH值来验证私有数据,组织之间在需要知道的基础上进行私有数据的共享。

        本次分享就到这里,主要讲Fabric的基本概念,V1.x V2.0的更新进行了简介。这里不做太深入的探讨,在后期具体模块解读时,再进行解析。目前大家有个概念就行,下一次分享会继续讲框架、基本概念进行描述。

以上是关于《区块链原理设计与应用》 – 基于超级账本 Fabric 2.x(学习分享2.2-Fabric V1.x 与V2.0)的主要内容,如果未能解决你的问题,请参考以下文章

区块链之旅以太坊超级账本公链联盟链

区块链之超级账本Fabric 基于SDK应用开发

HyperLedger Fabric Introduction——区块链超级账本介绍

Fabric基础架构原理 | 赠书活动

基于区块链技术的超级账本(Hyperledger) - 从理论到实战

基于共识算法和区块链模拟实现超级账本