目标
- 了解超级账本的由来及特点
- 清楚超级账本的类别划分
- 了解Fabric的特点
任务实现
年青人,我看你聪慧绝伦,且拥有非常人所具备的耐性及韧性,现将这个世界上由几大顶级门派的一些绝世妖孽人物共同创出的一门神功传授于你。当你将这门神功练至炉火纯青之日,便是你在IT界称霸之时。少年,如何......
下面我们开始进入正题,内容不多且有点琐碎,但是请注意我们所描述的重点。
1.1.1 超级账本的由来
当你拿起这本书开始阅读的时候,说明你对区块链技术已经有了相关的了解,而且想通过自己的努力或团队合作的方式能够开发出一款真正的基于区块链技术的落地应用。那么,恭喜你,你的选择是正确且明智的(^_^)。
超级账本(Hyperledger)项目是区块链技术中第一个面向企业应用场景的开源分布式账本平台。
2015年12月由 Linux基金会主导并牵头, IBM、Intel、Cisco等金融,银行,物联网,供应链,制造和科技等行业的巨头共同宣布了Hyperledger联合项目成立。
超级账本将区块链技术引入到联盟链的应用场景中,为未来基于区块链技术打造高效率的商业网络打下基础。
超级账本项目为透明、公开、去中心化的企业级分布式账本技术提供开源参考实现。目前已加入的成员超过260家知名企业或机构。
国外如:IBM、Intel、Cisco、ORACLE、RedHat、SAMSUNG、FUJITSU、AIRBUS等知名IT、制造、服务企业
国内如:Baidu、小米、腾讯、Lenovo、华为、浪潮、京东、迅雷、房掌柜、中国民生银行、招商银行、保全网等IT、金融、房地产等各行业的相关企业及机构成为Hyperledger企业会员。
Hyperledger官网地址: https://www.hyperledger.org
1.1.2 超级账本分类
在Hyperledger这个大家庭中,超级账本项目可以分为两大类别:
框架项目:区块链应用开发平台,提供企业级应用程序开发环境及相关的SDK。
实用工具:区块链应用测试、部署、管理等工作的相关工具。
1.1.2.1 框架项目
Fabric: 用模块化架构作为开发区块链程序或解决方案的基础,允许一些部件例如共识算法和成员服务都可实现即插即用。
Iroha: 由Soramitsu,Hitachi,NTT Data和Colu提供,使用C++编写,采用拜占庭容错一致性算法实现共识,是为了将分布式账本技术简单容易地与基础架构型项目集成而设计的一个区块链框架项目。应用程序可以使用用Python,Java,JavaScript和C ++以及Android和iOS移动平台编写
Sawtooth: 是一个创建、部署和运行分布式账本的模块化平台。它包含一个新奇的共识算法,叫做经历时间证明 (Proof of Elapsed Time,简写PoET), 面向大型分布式验证器群,消耗最少的资源。
Burrow: 由Monax提供,由英特尔共同赞助;是一个支持许可的智能合约机,该系列的第一个版本发表于2014年12月。Burrow提供了一个模块化的区块链客户端,内置一个经许可的智能合约解释器,它部分是为以太坊虚拟机(EVM)规范而开发的。
Indy: 是特别为去中心化的身份而建立的一种分布式账本。它提供了基于区块链或者其它分布式账本互操作来创建和使用独立数字身份的工具、代码库和可以重用的组件。
1.1.2.2 实用工具
Explorer: 由IBM、Intel和DTCC提供; 可以查看、调用、部署或查询区块、交易和相关数据、网络信息、链码和交易序列,以及账本中的其他相关信息。
Composer: 是一个构建区块链商业网络的协作工具,用来加速智能合约的开发以及在分布式账本的部署; 使用JavaScript构建。
Cello:由IBM提供,赞助商来自Soramitsu、华为和英特尔; 旨在给区块链生态系统带来按需部署服务的模式,减少创建、管理、终止区块链的难度。
Caliper: 由华为、Hyperchain、Oracle、Bitwise、Soramitsu、IBM和布达佩斯技术与经济大学的开发人员提供; 是一个区块链基准工具,内置一套预定义的测试用例,让使用者可以测试特定区块链执行的性能。
1.1.3 认识Hyperledger Fabric
Hyperledger Fabric是一个区块链的实现,由Digital Asset和IBM提供;是Linux基金会托管的Hyperledger项目之一。Fabric从诞生之初就立志要成为超级账本中最优秀的项目(现实也确实如此)。
作为开发具有模块化架构的应用程序或解决方案的基础,Hyperledger Fabric实现了组件(例如共识、成员服务)的即插即用。
Hyperledger Fabric利用容器技术来托管称为“链码”的智能合约,其中包含系统的应用程序逻辑。
与其他区块链技术类似,Hyperledger Fabric使用智能合约操作账本,并且是一个通过所有参与者管理交易的系统。
Hyperledger Fabric与其他公有区块链系统最大的不同主要体现在以下两个方面:
- 私有
- 许可
私有:Hyperledger Fabric提供了建立channel的功能,允许参与者为交易新建一个单独的账本。参与者并不希望所有的交易信息(比如提供给部分客户的特定价格信息)都对网络中所有参与者公开。只有在同一个channel中的参与者,才会拥有该channel中的账本,而其他不在此channel中的参与者则无权查看到这个账本的相关信息。
许可:与开放无需许可的网络系统允许未知身份的参与者加入不同网络(需要通过工作量证明协议来保证交易有效并维护网络的安全),Hyperledger Fabric通过Membership Service Provider(MSP)来登记所有的成员。
Hyperledger Fabric项目Github地址: https://github.com/hyperledger/fabric