Hyperledger Fabric 中的基本概念(持续更新中)

一、简介

​ Hyperledger Fabric是一个分布式帐本解决方案的平台,采用模块化架构,提供高度的机密性、弹性、灵活性和可伸缩性。它被设计为支持不一样组件的可插拔实现,并适应存在于整个经济生态系统中的复杂性和复杂性。数据库

1.一、什么是区块链

1.1.一、一种分布式帐本

​ 区块链网络的核心是一个分布式帐本,它记录在网络上发生的全部交易。编程

​ 区块链帐本一般被描述为分散的,由于它在许多网络参与者之间复制,每一个参与者都在维护它。去中心化和协做化是现实世界中企业进行商品交换和服务的两个重要的属性。网络

​ 除了去中心化和协做化,记录到区块链的信息只用于追加,使用加密技术保证一旦一个交易被添加到分类账中,它就不能被修改。这种“不变性”的属性使得肯定信息的来源变得简单,由于参与者能够肯定信息在过后没有被改变。这也是区块链被描述为证实系统的缘由架构

1.1.二、智能合约

​ 为了支持信息的持续更新——并使一整套帐本功能(交易、查询等)得以实现——区块链网络使用智能合约来提供对帐本的受控访问。编程语言

​ 智能契约不只是封装信息并使其在网络中保持简单的关键机制,还能够编写为容许参与者自动执行某些方面的交易。分布式

​ 例如,智能合同能够规订货物的运输成本,运输费用取决于货物到达的速度。根据双方赞成的条款并写入总账,当收到款项时,相应的资金就会自动转手。模块化

1.1.三、共识机制

​ 共识机制是用来使网络上的分类账交易保持同步的过程。共识机制确保只有当交易被适当的参与者批准时,总帐才会更新,而且当总帐更新时,它们会以相同的顺序更新相同的交易。区块链

​ 之后你会学到更多关于帐本、智能合同和共识的知识。目前,把区块链看做一个共享的、复制的交易系统就足够了,它经过智能契约进行更新,并经过一个称为共识的协做过程保持一致的同步。加密

1.二、为何区块链有用

1.2.一、传统的记录系统

​ 传统的商业网络中成员相互进行交易,可是他们都各自维护各自的帐本。基本结构以下设计

​ 现代技术已经把这个过程从石碑和纸质文件夹带到硬盘驱动器和云平台,但其底层结构是相同的。管理网络参与者身份的系统是不存在的,溯源是一件很困难的事情,可能须要耗费几天甚至更多时间。合同必须手动签署,而且系统中的每一个数据库都包含惟一的信息,所以存在单点故障。

1.2.二、区块链

​ 若是商业网络再也不像“现代”交易系统那样,钻着无效率的老鼠窝,而是拥有在网络上创建身份、执行交易和存储数据的标准方法,那会怎么样呢?若是能够经过查看交易列表来肯定资产的来源,而这些交易一旦写好,就不能更改,所以能够信任,那该怎么办呢?

​ 区块链中的商业网络以下图所示:

​ 这是一个区块链网络,其中每一个参与者都有本身复制的帐本。除了共享分类账信息外,更新分类账的过程也是共享的。不像今天的系统,参与者的私人程序被用来更新他们的私人帐本,区块链系统有共享的程序来更新共享的帐本。

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

​ 区块链还有不少其余重要的细节,但它们都与信息共享和过程的基本理念有关。

1.三、什么是超级帐本 (Hyperledger Fabric)

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

​ 与其余区块链不一样的是, Hyperledger Fabric 是私有的,而且只有被容许的成员才能够加入到这个网络中( Permissioned )。Hyperledger Fabric网络的成员经过可信的成员服务提供商(MSP)注册。

​ Hyperledger Fabric还提供了建立通道的能力,容许一组参与者建立单独的交易帐本。对于网络来讲,这是一个特别重要的选择,由于有些参与者多是竞争对手,而不但愿他们所作的每一笔交易——例如,他们提供给某些参与者而不是其余参与者的特殊价格——让每一个参与者都知道。若是两个参与者组成了一个通道,那么这些参与者——没有其余参与者——拥有该通道的帐本的副本

1.3.一、共享帐本

​ Hyperledger Fabric有一个由两个组件组成的ledger子系统:世界状态和事务日志。每一个参与者都有一份属于他们所属的每一个超级帐本网络的帐本副本。

​ 世界状态组件描述了在给定时间点的帐本的状态。这是总帐的数据库。事务日志组件记录致使当前世界状态值的全部事务;这是世界状态的更新历史。所以,帐本是世界状态数据库和交易日志历史的组合。

​ 帐本有一个世界状态的可替换数据存储。默认状况下,这是一个Level DB 键-值存储数据库。事务日志不须要是可插入的。它只是简单地记录区块链网络使用的帐本数据库的先后值。

1.3.二、智能合约

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

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

1.3.三、隐私

​ 根据网络的须要,企业对企业(B2B)网络的参与者可能对共享多少信息很是敏感。Hyperledger Fabric支持隐私(使用通道)是关键运营需求的网络,以及相对开放的网络。

1.3.四、共识

​ 事务必须按照它们发生的顺序写入帐本,即便它们可能在网络内的不一样参与者之间。要作到这一点,必须创建交易的顺序,并对错误(或恶意)插入帐本的非法交易进行拒绝。

相关文章
相关标签/搜索