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

介绍

HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密、便捷扩展、部署灵活及可插拔等特性。它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性和高精度性。

HyperLedger Fabric与其它的区块链平台解决方案相比,提供了一种独特的扩展便捷和灵活部署的架构。它更多的适用于联盟链形式,即适合企业级之间的区块链联盟方向,建立在可信任的基础上。如果是企业级区块链部署的话,建议可以采用HyperLedger Fabric提供的方案。

首次接触HyperLedger Fabric的用户可以从下文的具体介绍开始,以了解区块链的工作原理和HyperLedger Fabric特定的特性及组件。

如果通过后续文章熟悉了区块链及HyperLedger Fabric的结构原理,那么就可以开始正式使用HyperLedger Fabric搭建属于你自己的平台,可以参考官网的Getting Started,并且从官网提供的示例中学习技术规范和api等。

什么是区块链?

一个分布式账本

区块链网络的核心是一个分布式账本,记录所有在网络上发生的交易。

区块链中账本会被所有网络中的参与者复制到本地,且每一个参与者都在对账本进行维护协作,因此它是完全去中心化的。

除了去中心化外,还使用了加密技术,每一个区块都有唯一的hash,即便是通过网络将账本复制到本地应用服务器中也无法篡改其中的内容。这种不可篡改的特性使得信息具备可追溯的能力,因为所有的参与者在提交信息后都无法改变,都会在区块中留存记录,这也是区块链有时被称作证明系统的原因。

智能合约

为了支持信息更新的一致性,并支持完整的账本功能(包括但不限于交易、查询等),区块链网络通过使用智能合约来约束和规范对账本的访问及变更。

在智能合约中封装了信息处理的完整方案,以此来尽量简化整个网络的信息交易。智能合约通过编写可以被升级,通过升级来丰富其功能并增强其对事务的处理能力。所有的参与者都可以按照智能合约中的约定自动执行相关事务处理操作。

例如,一份智能合约可以规定货物运输的成本,成本根据货物到达的时间而变化。在双方同意的条件下,当收到货物时,根据智能合约中约定的资金会自动地转手。

共识

保持账本中发生的交易在整个网络中同步的过程,并确保只有当交易得到拥有决策权力的参与者(背书方或符合背书条件)批准时才会更新,并且当所有网络账本进行更新时,它们以相同的顺序更新相同的事务,这称为共识。

通过对区块链的了解更加深入,以后会学到更多关于账本、智能合约和共识的知识。就目前而言,将区块链视为一个共享的、复制的交易系统就足够了,它通过智能合约进行更新,并通过一个叫做共识的协作过程保持一致。

区块链有什么用?

当前系统记录

当今的交易网络只是稍微更新的网络版本,即本地存储记录变更为由第三方中介的多账本记录方案(但各家账本内容仅与自身相关),该记录方式自从商业记录被保存以来就已经存在了。业务网络的成员彼此之间进行交易,但他们保持各自的交易记录。而他们所做的事情——无论是16世纪的佛兰德还是今天的证券——都必须在每次出售的时候确定他们的出处,以确保出售某件物品的企业拥有一串头衔(合法记录)来证明他们的所有权。

如下图所示,即当前系统记录方案:

现代科技已经将这一过程从石片、纸质文件升级到硬盘和云平台,但底层结构是一样的。并不存在统一的系统来管理网络参与者的身份,因此对参与者的交易信息建立可靠的来源是一件非常费力且痛苦的事情,就好比证券交易的清理就需要耗费数日的时间来操作(世界上的证券交易量高达数万亿美元)。合同必须手动签署和执行,系统中的每个数据库都包含唯一的信息,因此代表了会出现的一个单点故障。

在当今信息共享的过程中,构建一个跨越商业网络的记录系统是不可能的,尽管可见性和信任的需求是清晰的。

区块链的区别

如果由“现代”交易系统替代哪些的无效率的方式,那么商业网络就有了在网络上建立身份、执行事务和存储数据的标准方法吗?如果想要建立一个资产的来源,并且可以通过查看曾经写过的事务列表,还不允许更改,那么这个来源就是可以被信任的,那该怎么实现呢?

设想中的商业网络如下图所示:

这就是一个区块链网络。每一个参与者都有自己本地复制的账本。除了账本信息被共享之外,更新账本的过程也被共享。不同于今天的系统,一个参与者的私人程序被用来更新他们的私人账本,一个区块链系统已经共享程序来更新共享的账本。

由于能够通过共享的账本来协调业务网络,区块链网络可以减少与私人信息和处理相关的时间、成本和风险,同时还能提高信任度和可见度。

通过上文介绍,现在应该大致了解区块链是什么,以及它为什么有用。还有很多其它重要的细节,但是它们都与信息和过程共享的基本思想有关。

HyperLedger Fabric是什么?

Linux基金会在2015年创立了HyperLedger Fabric,以推进跨行业的区块链技术。它没有宣布单一的区块链标准,而是鼓励一种合作的方式,通过社区进程开发区块链技术,知识产权鼓励开放开发,并随着时间的推移采用关键标准。

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

与其它区块链系统最大的不同点在于HyperLedger Fabric是私有的,而且是被许可的。不是一个允许未知身份参与网络的开放的无许可的系统(要求协议验证事务并确保网络的安全),HyperLedger Fabric组织的成员可以通过一个Membership Service Provider(成员服务提供者即MSP)来注册。

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

HyperLedger Fabric也提供了创建通道(channel)的能力,允许一组参与者创建一个单独的共同维护的交易账本。对于有些参与者可能是竞争对手的网络来说,这是一个特别重要的选择,他们不希望自己的每笔交易都能获得——例如,他们向一些参与者提供了一个特别的价格,而不是其他参与者。如果两个参与者形成一个通道(channel),那么这些参与者——以及其他参与者——都有该渠道的分类账本。

共享账本

HyperLedger Fabric有一个分类子系统,包括两个组成部分:世界状态(world state)和事务日志(transaction log)。每个参与者都有一份账本的副本到他们所属的每一个HyperLedger Fabric的网络上。

在给定的时间点上,世界状态(world state)组件描述了总账的状态。它是账本的数据库。事务日志(transaction log)组件记录所有导致当前世界状态值的事务。这是世界状态(world state)的更新历史。那么,账本是世界状态(world state)数据库和事务日志(transaction log)历史的组合。

该账本为世界状态(world state)提供了可替换的数据存储方案。默认情况下,这是一个LevelDB键值存储数据库。事务日志(transaction log)不需要是可插拔的,它只是记录了区块链网络使用的账本数据库之前和之后的值。

智能合约

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

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

隐私

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

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

共识

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

这是一个经过彻底研究的计算机科学领域,有很多方法可以实现它,每一个都有不同的权衡。例如,PBFT(拜占庭式容错)可以为文件副本提供一种机制,使其能够相互通信,从而保持每个副本的一致性,即使是在出现腐化的情况下。或者,在比特币中,排序是通过一个名为“挖矿”的过程来实现的,在这个过程中,竞争的计算机竞相解决一个加密难题,该难题定义了所有流程随后构建的顺序。

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

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

如何学习HyperLedger Fabric

可以参考Hyperledger Fabric 1.0 从零开始,英文阅读能力好的可以直接通过官网的教程Getting Started

官网中提供了大量的教程,可以帮助了解一个区块链网络中的大多数关键组件,了解它们如何相互作用,还能在官网中得到代码等干货,并针对运行的区块链网络运行一些简单的事务。官网还为提供了一些教程,帮助可以考虑使用HyperLedger Fabric来操作一个区块链网络。

原文地址:https://www.cnblogs.com/aberic/p/8303843.html

时间: 2024-10-05 20:54:28

HyperLedger Fabric Introduction——区块链超级账本介绍的相关文章

学习Hyperledger Fabric 实战联盟链

第1章 区块链技术基础本章介绍了区块链技术的相关基础技术要点,纯技术理论角度阐释区块链底层相关概念及所用技术 第2章 Hyperledger Fabric入门本章简单介绍了Hyperledger组织相关的区块链框架及工具,以及Fabric相关的项目介绍,并搭建了第一个Fabric区块链网络,让大家能够快速体验区块链的魅力 第3章 Hyperledger Fabric系统架构本章概括了Fabric的体系架构,包括服务组件,网络拓扑以及Fabric的典型交易流程,让大家对Fabric先有一个整体的概

区块链分布式账本开发_区块链分布式账本金融系统开发

区块链分布式账本开发_区块链分布式账本金融系统开发分布式账本技术是应用在资本市场最重要的区块链技术,该技术可以移除当前市场基础设施中的效率极低和成本高昂的部分. 分布式账本的优势:分布式账本技术可以有效的改善当前基础设施中出现的效率极低成本高昂的问题,而导致当前市场基础设施成本高的原因可以分为三个:交易费用,维护资本的费用和投保风险费用.在某些情况下,特别是在有高水平的监管和成熟市场基础设施的地方,分布式账本技术更有可能会形成一个新的架构,而不是完全代替当前的机构. 金融创新在现实中经常遇到一些

区块链虚拟货币钱包介绍及系统开发

区块链钱包系统开发定制找颜宇,区块链技术开发数字资产钱包,区块链数字资产交易平台搭建,区块链+行业应用开发. 区块链的诞生,不仅仅是通过代码和智能合约来将生产组织进一步扁平化,从而达到优化中间过程.精简中介的作用,更是产生了一个新的经济模式,创建了一种新的生产关系,这种理念上的变革远远大于技术本身带来的影响,它最让人着迷的地方莫过于利用人性的特点,建立的一套自治的经济激励机制,并诞生了一个新型的价值载体cryptocurrency. Cryptocurrency显然不同于传统的货币,它是通过一定

低碳生活区块链软件制作介绍

总而言之,真正的位置稀缺业务需要时间来发展,尤其是在零售或消费环境尚未完全稳定之前,难以起步的忠诚度业务.但我有这样的想法:随着移动互联网.电子商务和零售转型的继续推进,我认为在“日常互联网消费”中,建立忠诚业务的机会是巨大的,比如:使用Uber,订购任何由Shopify提供动力的东西,诸如此类.Uber本身当然也在尝试建立,它通过品牌信用卡和其他方式来建立忠诚计划——我不确定他们做得如何,但现在还为时尚早.无论你在哪里遇到这样一种情况,都会让你觉得:“一切富足使得脱颖而出变得稀缺”,这里肯定有

超级账本HyperLedger旗下项目介绍

说明 超级账本HyperLedger视频教程汇总:HyperLedger Fabric的视频讲解--"主页"中可领优惠券 超级账本HyperLedger旗下有很多的项目,对这些项目进行了简单的了解. As an open consortium, Hyperledger incubates a range of business blockchain technologies, including distributed ledger frameworks, smart contract

1.4 [区块链] 共识算法之争(PBFT,Raft,PoW,PoS,DPoS,Ripple)

近几天对区块链中几种常见的共识机制(PBFT,Raft,PoW,PoS,DPoS,Ripple)进行了总结.尽量使用简单易懂语言,篇幅较大,想了解的可以只读每个算法介绍中前边的原理.本篇文章主要参考<区块链技术指南>,首先表示感谢! ---Begin--- 区块链架构是一种分布式的架构.其部署模式有公共链.联盟链.私有链三种,对应的是去中心化分布式系统.部分去中心化分布式系统和弱中心分布式系统. 在分布式系统中,多个主机通过异步通信方式组成网络集群.在这样的一个异步系统中,需要主机之间进行状态

HyperLedger Fabric 学习思路分享

HyperLedger Fabric 学习思路分享 HyperLedger Fabric最初是由Digital Asset和IBM公司贡献的.由Linux基金会主办的一个超级账本项目,它是一个目前非常流行并广为人知的区块链网络框架的实现方案.作为一种基于模块化架构开发应用程序或解决方案的基础,HyperLedger Fabric支持如共识和会员服务等即插即用的组件,它的设计初衷是支持不同组件的可插拔实现,并适应整个经济生态系统的复杂性和高精度性.HyperLedger Fabric利用容器技术运

Hyperledger Fabric架构详解

区块链开源实现HYPERLEDGER FABRIC架构详解 区块链开源实现HYPERLEDGER FABRIC架构详解 2018年5月26日 陶辉 Comments 10 Comments hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链的共通特性.fabric核心概念.fabric的交易执行流程.本文来源于笔者欲对公司部分业务上链而进行培训的P

黑客专家深度分析区块链技术主要用途

区块链的缺陷及其面临的技术挑战,黑客教父郭盛华试图警示大家:该技术还处于非常早期的阶段,企业应做足信息安全措施,以防泄露信息. 区块链技术可以集成到多个领域.目前,区块链的主要用途是作为加密货币的分布式账本,最值得注意的是比特币.虽然在印度,中国,美国,瑞典,新加坡,南非和英国等国家的几个中央银行正在研究发行中央银行颁布的加密货币(CICC),但迄今为止没有这样做. 一般潜力 区块链技术在长期转变商业运营模式方面具有巨大潜力.区块链分布式分类账技术更像是一种基础技术 - 具有为全球经济和社会系统