区块链技术与Hyperledger Fabric1.0架构

一项技术能否最终存活下来,由很多决定因素,其中十分关键的便是是否能找到合适的应用场景。区块链最近几年炒得很热,有些企业已经结合已有业务摸索出了自己的应用场景。但是要找到合适的应用场景,还是要从区块链自身的特性出发进行分析。区块链技术自身尚处于快速发展的初级阶段,现有区块链系统在设计和实现中利用了分布式系统、密码学、博弈论、网络协议等诸多学科的知识。

在区块链技术不断的演变过程中,HyperLedger的设计正运用了这项技术架构。在相同网络的企业竞争中,它作为商对商(B2B)、商对客(B2C)的一种交易协议,既符合规章制度,又能够支持各类要求的实现。其设计的核心元素是智能合约(又称链上代码)、数字资产、记录储存库、中心化共识网络、加密安全。此外,区块链主要产品还涉及行业性能要求、身份识别、私下机密交易、以及便携式共识模型等。Hyperledger项目是一个成员共同协作的企业级、开源分布式账本框架和代码库。 它的目的是推动区块链技术发展,实现分布式账本技术的跨行业开放标准,改变未来全球交易的方式。

HyperLedger 子项目

•BlockChainExplorer:展示和查询区块链块、事务和相关数据的 Web应用

•Fabric:区块链技术的一个实现

•STL-SawtoothLake:高度模块化的分布式账本平台

•Iroha:轻量级的分布式账本, 侧重于移动

•Cello:BaaS的工具集,帮助创建、管理、终止区块链

接下来就HyperLedger Fabric1.0进行探讨:

Fabric是一个分布式账本平台方案,旨在为商业化应用所使用,它是开源的,基于工业标准运行用户定义的智能合约,支持强大的安全性身份特征,主要用于运行智能合约,利用可靠的技术以及可插拔方式实现各种商业应用场景的模块化架构。 Fabric的分布式账本协议由Peer节点运行,Fabric包含两类节点类型:(1)验证节点,他是网络上负责运行共识的一组节点,负责验证交易以及维护分布式账本。(2)非验证节点,作为将客户端(发出事务)连接到验证节点的代理。非验证节点不执行事务,但它可以验证事务。目前该架构正在发展,并在Hyperledger项目的治理下得到积极开发。

Hyperledger Fabric 1.0 逻辑架构

•区块服务(BlockChain):负责节点间的共识管理、账本分布式计算、账本的存储节点间的P2P协议功能实现,是区块链的核心组成部分,为区块链的主体功能提供了底层支撑。

•ChainCode:Chaincode是一个接口的实现代码,部署在Fabric区块链网络结点上,是与Fabric区块链交互的唯一渠道,也是生成TransacGon的唯一来源,是智能合约在Fabric上的实现方式。ChainCode的集成平台,为ChainCode提供部署、运行的环境。

•Event:贯穿于其他各个组件中间,为各个组件间的异步通信提供了技术实现。

•成员管理(Membership):会员注册、身份保护、 内容保密、交易审计功能,以保证平台访问的安全性

HyperLedger Fabric 1.0 运行时架构

HyperLedger Fabric1.0主要有如下几个要点:第一,分拆Peer的功能,将Blockchain的数据维护和共识服务进行分离,共识服务从Peer节点中完全分离出来,独立为Orderer节点提供共识服务;第二,基于新的架构,实现多通道(channel)的结构,实现了更为灵活的业务适应性(业务隔离、安全性等方面);第三,支持更强的配置功能和策略管理功能,进一步增强系统的灵活性和适应性。

Fabric 1.0 的重要特征是支持多链和多通道,所谓的chain(链)实际上是包含Peer节点、账本、ordering通道的逻辑结构,chaincode部署在Peer节点上,它对账本进行读写操作。一个Peer节点可以充当多种角色,一个区块链网络中会有多个Peer节点。Orderer节点是对交易进行排序,批量打包,生成区块,发给Peer节点。一个区块链网络中会有多个Orderer节点,它们共同提供排序服务。Fabric 1.0将参与者与数据(包含chaincode在)进行隔离,满足了不同业务场景下的”不同的人访问不同数据“的基本要求。同时,一个peer节点也可以参与到多个链中(通过接入多个channel),如下图所示:

面向区块链网络的 Hyperledger Fabric 有很多 技术优势:一是,所有参与者都有自己的身份,获得访问权的人可以访问特定的数据;二是,性能、可伸缩性和信任水平得到了优化;三是,由于企业竞争力和数据的隐蔽性,需要确保某些数据元素的隐私,这可以通过区块链上的数据分区来实现;四是,保护数字密钥和敏感数据,比如需要更多保护的身份管理;五是,在不可更改的分布式账本中提供了丰富的查询功能。

—END—

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180714A0HHXO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券