Hyperledger Fabric(关键概念介绍)

介绍

Hyperledger Fabric是分布式分类帐解决方案的平台,采用模块化架构,提供高度机密性,弹性,灵活性和可扩展性,它旨在支持不一样组件的可插拔实现,并适应整个经济生态系统中存在的错综复杂的事物和复杂性。数据库

咱们建议首次使用的用户首先阅读下面的介绍,以便熟悉区块链的工做方式以及Hyperledger Fabric的特定功能和组件。编程

一旦熟悉 - 或者若是你已经熟悉区块链和Hyperledger Fabric - 请转到“入门”,而后从那里探索演示,技术规范,API等。segmentfault

什么是区块链?

分布式分类帐

区块链网络的核心是一个分布式分类帐,记录网络上发生的全部交易。网络

区块链分类帐一般被描述为分散的,由于它被许多网络参与者复制,每一个参与者都在维护中进行协做,咱们将看到分散化和协做是反映现实世界中企业交换商品和服务方式的强大属性。架构

basic_network.png

除了分散和协做以外,记录到区块链的信息是仅附加的,使用加密技术保证一旦将交易添加到分类帐,就没法修改,这种“不变性”属性使得肯定信息的出处变得简单,由于参与者能够肯定信息在过后没有改变,这就是为何区块链有时被描述为证实系统的缘由。编程语言

智能合约

为了支持信息的一致更新 - 并启用整个分类帐功能(交易,查询等) - 区块链网络使用智能合约来提供对分类帐的访问控制。分布式

Smart_Contract.png

智能合约不只是封装信息并在整个网络中保持简单的关键机制,还能够编写它们以容许参与者自动执行交易的某些方面。模块化

例如,能够编写智能合约来规定运输物品的成本,其中运费根据物品到达的速度而变化,根据双方赞成的条款并写入分类帐,当收到物品时适当的资金会自动转手。学习

共识

保持分类帐交易在网络中同步的过程 - 确保分类帐仅在交易被相应参与者批准时更新,而且当分类帐更新时,它们以相同的顺序更新相同的交易 - 称为共识区块链

consensus.png

稍后你将学习更多关于分类帐,智能合约和共识的知识,就目前而言,将区块链视为共享的复制交易系统就足够了,该系统经过智能合约进行更新,并经过称为共识的协做流程保持一致。

为何区块链有用?

现今的记录系统

现今的交易网络只不过是自商业记录保存以来一直存在的略微更新的网络版本,业务网络的成员彼此进行交易,但他们维护他们交易的单独记录,而且他们所交易的东西 - 不管是16世纪的Flemish挂毯仍是今天的证券 - 必须在每次出售时肯定其出处,以确保出售物品的企业拥有一个产权链,以验证其全部权。

你剩下的是一个以下所示的商业网络:

current_network.png

现代技术已经从石碑和纸质文件夹到硬盘驱动器和云平台,但底层结构是同样的。用于管理网络参与者身份的统一系统不存在,创建出处是如此费力,须要数天来清理证券交易(其世界交易量达到数万亿美圆),合约必须手动签署和执行,而且系统中的每一个数据库都包含惟一信息,所以表明单点故障。

利用当今分散的信息和流程共享方法来构建跨越业务网络的记录系统是不可能的,即便可见性和信任的需求是明确的。

区块链差别

若是业务网络不是由“现代”交易系统表明效率低下的老鼠窝,而是在网络上创建身份,执行交易和存储数据的标准方法,那该怎么办?若是肯定资产的出处能够经过查看一旦写入、没法更改、而且所以可被信任的交易列表来肯定,那该怎么办?

该业务网络看起来更像是这样的:

future_net.png

这是一个区块链网络,其中每一个参与者都有本身的分类帐副本。除了共享分类帐信息以外,更新分类账的过程也是共享的。与现今的系统不一样,在参与者的私人程序用于更新其私人分类账的状况下,区块链系统具备共享程序来更新共享分类账。

经过共享分类帐协调其业务网络的能力,区块链网络能够减小与私有信息和处理相关的时间,成本和风险,同时提升信任和可见性。

你如今知道了区块链是什么以及为何它有用,还有许多重要的其余细节,但它们都与信息和流程共享的这些基本思想有关。

什么是Hyperledger Fabric?

Linux基金会于2015年建立了Hyperledger项目,以推动跨行业的区块链技术,而不是声明单个区块链标准,它鼓励经过社区流程采用协做方式开发区块链技术,鼓励开放式发展的知识产权,而且随着时间的推移采用关键标准。

Hyperledger Fabric是Hyperledger中的区块链项目之一,与其余区块链技术同样,它有一个分类帐,使用智能合约,是参与者管理他们交易的系统。

Hyperledger Fabric与其余区块链系统不一样的地方是私有许可的,而不是容许未知身份参与网络的开放式无权限系统(须要诸如“proof of work”之类的协议来验证交易并保护网络),Hyperledger Fabric网络的成员经过可信赖的成员资格服务提供商(MSP)登记。

Hyperledger Fabric还提供多种可插拔选项,分类帐数据能够以多种格式存储,共识机制能够互换,而且支持不一样的MSP。

Hyperledger Fabric还提供建立通道的功能,容许一组参与者建立单独的交易分类帐。对于网络来讲,这是一个特别重要的选择,其中一些参与者多是竞争对手而不想要他们作的每笔交易 - 他们向一些参与者而不是其余参与者提供的特殊价格,例如 - 每一个参与者都知道。若是两个参与者组成一个通道,那么这些参与者 - 而不是其余参与者 - 拥有该通道的分类帐副本。

共享分类帐

Hyperledger Fabric有一个包含两个组件的分类帐子系统:世界状态交易日志,每一个参与者都拥有他们所属的每一个Hyperledger Fabric网络的分类帐副本。

世界状态组件描述了在给定时间点的分类帐的状态,它是分类帐的数据库。交易日志组件记录致使世界状态的当前值的全部交易;这是世界状态的更新历史,而后,分类帐是世界状态数据库和交易日志历史记录的组合。

分类账具备可替换的世界状态数据存储,默认状况下,这是LevelDB键值存储数据库,交易日志不须要是可插拔的,它只记录区块链网络使用的分类账数据库的先后值。

智能合约

Hyperledger Fabric智能合约以链码编写,当该应用程序须要与分类账交互时,由区块链外部的应用程序调用。在大多数状况下,链码只与分类账的数据库组件,世界状态(例如,查询它)交互,而不与交易日志交互。

链码能够用几种编程语言实现,目前,支持Go和Node。

隐私

取决于网络的需求,企业对企业(B2B)网络的参与者可能对他们共享的信息量很是敏感,对于其余网络,隐私不是最受关注的问题。

Hyperledger Fabric支持隐私(使用通道)是关键操做要求的网络以及相对开放的网络。

共识

交易必须按照发生的顺序写入分类帐,即便它们可能位于网络中不一样的参与者组之间。为此,必须创建交易的顺序,而且必须采用一种方法来拒绝错误(或恶意)插入到分类账中的不良交易。

这是一个深刻研究的计算机科学领域,有不少方法能够实现它,每种方法都有不一样的权衡。例如,PBFT(Practical Byzantine Fault Tolerance)能够为文件副本提供一种机制,使其可以相互通讯以保持每一个副本的一致性,即便在发生损坏的状况下也是如此。或者,在比特币中,经过称为挖掘的过程进行排序,竞争计算机竞相解决加密难题,定义随后构建的全部进程的顺序。

Hyperledger Fabric旨在容许网络启动者选择最能表明参与者之间存在的关系的共识机制,与隐私同样,存在一系列需求;从在他们的关系中高度结构化的网络到更加点对点的网络。

咱们将了解有关Hyperledger Fabric共识机制的更多信息,目前包括SOLO和Kafka。

我在哪里能够了解更多?

一份概念文档将引导你了解Fabric网络中的关键角色身份(使用已创建的PKI结构和x.509证书)。

讨论成员资格服务提供商(MSP)的角色,该服务提供商将身份转换为Fabric网络中的角色。

  • 对等点(概念文档)

由组织拥有的对等点 - 托管分类账和智能合约,构成Fabric网络的物理结构。

了解如何使用示例脚本下载Fabric二进制文件并引导你本身的示例网络,而后分解网络,了解它是如何一步一步构建的。

部署一个很是简单的网络 - 甚至比构建您的第一个网络更简单 - 与简单的智能合约和应用程序一块儿使用。

  • 交易流

从高层次看一看示例交易流

  • Hyperledger Fabric 模型

高级别介绍本简介中介绍的一些组件和概念以及其余一些组件和概念,并介绍它们如何在示例交易流中一块儿工做。


上一篇:Hyperledger Fabric 介绍

下一篇:Hyperledger Fabric 功能

相关文章
相关标签/搜索