关灯
请选择 进入手机版 | 继续访问电脑版

超级账本基础(一)超级账本介绍

1
回复
798
查看
[复制链接]

2

主题

4

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2018-7-10 12:44:45 | 显示全部楼层 |阅读模式
 
介绍
超级账本Fabric是一个基于模块化架构设计的分布式账本解决方案平台,具有高度的加密性、高便捷性、高灵活性、可扩展性等特征(分别从哪里能体现这些特性)。它的设计目标是支持不同组件的可拔插式实现,同时能适应高精度的复杂经济生态系统环境。

Fabric和其他区块链平台解决方案相比,Fabric的设计架构具有更好的可扩展性和灵活的部署架构,如果需要基于一个可信任的、开源架构构建一个企业级区块链,可以采用HyperLedger Fabric提供的解决方案。

建议初次接触HyperLedger Fabric可以从下文的介绍开始学习,以便熟悉区块链的基本工作原理和Fabric独有的特性及组件。如果您已经熟悉区块链和Fabric,可以直接参考 Getting Started 并开始通过学习Fabric的实例,熟悉技术规范和API等。

什么是区块链?
一个分布式账本
区块链网络的核心是一个分布式账本,记录所有在网络上发生的交易。
区块链账本之所以是“去中心化”,是因为网络中所有的参与节点都会讲账本复制到本地,每一个网络节点都协作参与账本的维护。去中心化和协作是反映现实世界中商业交换产品和服务方式的一种强有力属性。


除了去中心化化和协作,还使用了加密技术,一旦交易写入账本就不能修改,因此区块链上的信息只能追加,不可篡改。这种不可篡改的特性使得信息具备可追溯的能力,因为所有参与者都能保证信息后都无法改变,都会在区块中留存记录,这也是区块链有时被称作证明系统的原因。

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


智能合约除了为信息封装提供解决方案,简化网络的交易外,也可以让所有的参与者都可以按照智能合约中的约定自动执行相关事务处理操作。例如,一份智能合约可以规定货物运输的成本,成本根据货物到达的时间而变化。在双方同意的条件下,当收到货物时,根据智能合约中约定的资金会自动地转手。

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


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

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


现代科技已经将这一过程从石片、纸质文件升级到硬盘和云平台,但底层结构是一样的。并不存在统一的系统来管理网络参与者的身份,因此对参与者的交易信息建立可靠的来源是一件非常费力且痛苦的事情,就好比证券交易的清理就需要耗费数日的时间来操作(世界上的证券交易量高达数万亿美元)。合同必须手动签署和执行,系统中的每个数据库都包含唯一的信息,因此代表了会出现的一个单点故障。
在当今信息共享的过程中,构建一个跨越商业网络的记录系统是不可能的,尽管可见性和信任的需求是清晰的。
区块链的区别
如果由“现代”交易系统替代哪些的无效率的方式,那么商业网络就有了在网络上建立身份、执行事务和存储数据的标准方法吗?如果想要建立一个资产的来源,并且可以通过查看曾经写过的事务列表,还不允许更改,那么这个来源就是可以被信任的,那该怎么实现呢?
设想中的商业网络如下图所示:


这就是一个区块链网络。每一个参与者都有自己本地复制的账本。除了账本信息被共享之外,更新账本的过程也被共享。不同于今天的系统,一个参与者的私人程序被用来更新他们的私人账本,一个区块链系统已经共享程序来更新共享的账本。
由于能够通过共享的账本来协调业务网络,区块链网络可以减少与私人信息和处理相关的时间、成本和风险,同时还能提高信任度和可见度。
通过上文介绍,现在应该大致了解区块链是什么,以及它为什么有用。还有很多其它重要的细节,但是它们都与信息和过程共享的基本思想有关。
回复

使用道具 举报

 

2

主题

4

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2018-7-10 12:45:29 | 显示全部楼层
 
是什么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(简化的拜占庭式容错)。
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright   ©2017-2018   磨链技术社区 - 专注区块链技术交流