http://www.jiliann.com

区块链联盟链介绍HyperLedger Fabric是什么?

联盟链介绍– 以Hyperledger为例

Hyperledger  (超级帐本)是一个旨在推动区块链跨行业应用的开源项目,由Linux基金会在2015年12月主导发起该项目,成员包括金融,银行,物联网,供应链,制造和科技行业的领头羊。

基本上各领域世界知名的企业或区块链新创公司都是Hyperledger的成员之一:

· 区块链新创:  ConsenSys ,  Digital Asset ,  R3 , Onchain
· 知名科技公司:Cisco ,  Fujitsu ,  Hitachi ,  IBM ,  Intel ,  NEC ,  NTT DATA ,  Red Hat ,  VMware )
· 知名金融企业:ABN AMRO ,  ANZ Bank ,  BNY Mellon ,  CLS Group ,  CME Group , the  Depository Trust & Clearing Corporation  (DTCC)

Linux基金会的超级账本项目,希望创建一个软体开发人员和公司社区会面和协调的环境,以构建区块链框架。它是一个基础设施,通常采用Hyperledger进行联盟或私有链开发的相关项目,都是无币的、产业级的应用。

HyperLedger Fabric 是什么?

Linux基金会在2015年创立了HyperLedger Fabric是一个许可制(Permissioned)的区块链架构(blockchain infrastructure)。其由IBM和Digital Asset最初贡献给Hyperledger项目。

以推进跨行业的区块链技术为目标,Fabric并没有制定单一的区块链标准,而是鼓励一种合作的方式,通过社区开源的方式开发区块链技术,并随着时间的推移采用关键标准。

HyperLedger Fabric是HyperLedger上的区块链项目之一,就如同其它区块链技术一样,它有一个账本,使用智能合约,并且是一个由参与者管理他们的交易的系统。

HyperLedger Fabric组织的成员必须通过注册才能访问,因此是私有的许可制联盟链。可以通过一个Membership Service Provider(MSP, 即成员服务提供者)来注册。

HyperLedger Fabric还提供了几个可插拔的组件。账本数据可以以多种格式存储,一致的机制可以被转换和输出,并且支持不同的MSPs。

HyperLedger Fabric也提供了创建通道(channel)的能力,允许一组参与者创建一个单独的共同维护的交易账本。对于有些参与者可能是竞争对手的网络来说,这是一个特别重要的选择,他们不希望自己的每笔交易都能被透明。举个简单的例子,某间联盟链里的参与者只想向其中一间公司提供交易资讯,他们的价格不愿被其他成员看见。

共享帐本

HyperLedger Fabric底下有分出两大子系统,包括:世界状态(world state)和事务日志(transaction log)。

每个参与者都有一份帐本的副本到他们所属的每一个HyperLedger Fabric的网络上。

首先,世界状态(world state)组件描述了总帐的状态,它是总帐本的数据库。

世界状态使程序可以轻松获取目前帐本状态的当前值,而不必通过遍览整个事务日志来计算它们。默认情况下,Ledger状态表示为Key-Value对,Hyperledger Fabric在这方面提供了一定程度灵活性:世界状态可以经常变化,因为可以创建、更新和删除状态。

其次,有一个区块链,一个记录决定世界状态的所有变化的事务日志。事务在块附加到区块链中的块内收集,使您能够了解是什么事务(交易)导致当前世界状态的更改历史记录。区块链数据结构与世界状态非常不同,因为一旦编写,就无法修改。它是一个不可变的块序列,每个块都包含一组有序事务。

智能合约

HyperLedger Fabric的智能契约是用Chaincode编写的,并且当应用进程需要与帐本进行交互时,被应用进程外部的应用进程调用。在大多数情况下, Chaincode只与总帐的数据库组件交互,例如世界状态(查询它),而不会与事务日志互动。

Chaincode可以用几种编程语言实现,目前支持的chaincode编写的是GO语言,在今后的发行版中将会逐步添加Java和其它语言的支持。

隐私

根据网络的需要,企业对企业(B2B)网络的参与者可能对他们所共享的信息非常敏感。对其他网络来说,隐私不会成为首要关注的问题。

HyperLedger Fabric支持需要将隐私(使用信道)作为关键操作需求的网络,同时也是相对开放的网络。

共识

事务必须按照它们发生的顺序写在帐本上,即使它们可能是网络中不同的参与者生成的。要做到这一点,必须创建事务的顺序,并且必须在帐本中创建一种拒绝错误事务(或恶意的)的方法。

共识机制是一个经过彻底研究的计算机科学领域,目前有很多方法可以实现它,每一个都有不同的权衡。例如,PBFT(拜占庭式容错)可以为文档副本提供一种机制,使其能够相互通讯,进而保持每个副本的一致性,即使是在出现「节点腐败」的情况下。

或者,在比特币中,PoW(Proof-of-work)是通过一个名为「挖矿」的过程来实现的,在这个过程中,竞争的计算机竞争解决一个加密难题,该难题定义了所有流程随后构建的顺序。

HyperLedger Fabric的设计使得网络启动者可以自行选择一种最能代表参与者之间关系的共识机制。就像隐私一样,需要有一系列的需求;从人际关系高度结构化的网络到更加对等的网络。

关于HyperLedger Fabric共识机制,它目前包括SOLO和Kafka,并将很快扩展到SBFT(简化的拜占庭式容错)。

介于公、私链之间,为因应企业合盟的需求定义出了联盟链。目前有四种常见的建构链的方式,下图以信任是否建立、依赖与参与网络的节点本身的公信力为横轴,纵轴则是结点能否保持匿名的程度来定量。例如:左上的示例为比特币的区块链、右上则可能是未来的以太坊(非许可制)、左下则为Hyperledger Fabric、右下可能是未来会出现符合企业需求客制出的私有链(如:JP Morgans的Quorom),企业可以以自己的需求去选择自己该往以下四种中的那一种方向去开发、导入:

郑重声明:即联区块链作为开放的资讯分享平台,所提供的资讯版权归原作者所有,且不构成任何投资理财建议,如有侵权请联系删除!