区块链概念详解系列二:什么是“联盟链”

区块链概念眼花缭乱。比如,在区块链文章里,常看到这样几个“链”:公有链、联盟链、私有链、侧链……你分得清吗?今天我们就来聊聊“联盟链”。


联盟链只针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的API进行限定查询。为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高,避免由参次不齐的参与者产生的一些问题。


联盟链的产生

联盟区块链产生,可以从联盟链使用的群体了解,他们的主要群体是银行、保险、证券、商业协会、集团企业及上下游企业。区块链诞生于移动互联网时代,这些企业普遍己经IT化和互联网化,区块链对于进一步提升他们圈子的产业链条中的公证、结算清算业务和价值交换网络的效率很有帮助,但是在尝试使用现有区块链技术(如比特币代码家族和以太坊)发现,现有区块链的处理性能、隐私保护、合规性等都不能满足他们的业务需求;另一方面,他们意识到如果全面采用比特币的那一套完全公链的设计理念,会颠覆他们现有的商业模式和固有利益,且要负上很大的风险。于是他们开始改造适合他们的区块链体系,联盟链形态,更多是分布式账本(DSL)为主,区块链的分布式账本和分布式共识为他们解决了主要核心问题,即联盟中多个参与方交互的信任问题。


联盟链的优点

相比于公共区块链,联盟区块链和私有区块链在效率和灵活性上更有优势,主要体现为以下几点:

  • 交易成本更便宜。交易只需被几个受信的高算力节点验证就可以了,而无需全网确认。

  • 节点可以很好地连接,故障可以迅速通过人工干预来修复,并允许使用共识算法减少区块时间,从而更快完成交易。

  • 如果读取权限受到限制,可以提供更好的隐私保护。

  • 更灵活,如果需要的话,运行私有区块链的共同体或公司可以很容易地修改该区块链的规则,还原交易,修改余额等。

Hyperledger Fabric介绍

超级账本(Hyperledger)是 Linux 基金会于 2015 年发起的推进区块链数字技术和交易验证的开源项目,该项目的目标是推进区块链及分布式记账系统的跨行业发展与协作。目前该项目最著名的子项目是 Fabric,由 IBM 主导开发。按官方网站描述,Hyperledger Fabric 是分布式记账解决方案的平台,以模块化体系结构为基础,提供高度的弹性、灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性。

Hyperl

Hyperledger Fabric 提供了一种独特的弹性和可扩展的体系结构,使其不同于其他区块链解决方案。我们必须在经过充分审查的开源架构之上对区块链企业的未来进行规划。超级账本是企业级应用快速构建的起点。


Hyperledger Fabric 的分层架构设计如图下所示:

Hyperledger Fabric 可以分为7层,分别是:存储层、数据层、通道层、网络层、共识层、合约层、应用层。其中存储层主要对账本和交易状态进行存储。账本状态存储在数据库中,存储的内容是所有交易过程中出现的键值对信息。比如,在交易处理过程中,调用链码执行交易可以改变状态数据。状态存储的数据库可以使用 LevelDB 或者 CouchDB。LevelDB 是系统默认的内置的数据库,CouchDB 是可选的第三方数据库。区块链的账本则在文件系统中保存。

  1. 数据层主要由交易(Transaction)、状态(State)和账本(Ledger)三部分组成。

  2.  通道层指的是通道 (Channel),通道是一种 Hyperledger Fabric 数据隔离机制,用于保证交易信息只有交易参与方可见。每个通道都是一个独立的区块链,因此多个用户可以共用同一个区块链系统,而不用担心信息泄漏问题。

  3. 网络层用于给区块链网络中各个通信节点提供 P2P 网络支持,是保障区块链账本一致性的基础服务之一。


在 Hyperledger Fabric 中,Node是区块链的通信实体。Node 仅仅是一个逻辑上的功能,多个不同类型的 Node 可以运行在同一个物理服务器中。Node 有三种类型,分别是客户端、peers 节点和 Ordering Service。

其中,客户端用于把用户的交易请求发送到区块链网络中。

peers 节点负责维护区块链账本,peers 节点可以分为 endoring peers 和 committing peers 两种。endoring peers 为交易作认证,认证的逻辑包含验证交易的有效性,并对交易进行签名;committing peers 接收打包好的区块,并写入区块链中。与 Node 类似,peers节点也是逻辑概念,endoring peers 和 committing peers 可以同时部署在一台物理机上。

Ordering Service 会接收交易信息,并将其排序后打包成区块,然后,写入区块链中,最后将结果返回给 committing peers。


  • 共识层基于 Kafka、SBTF 等共识算法实现。Hyperledger Fabric 利用 Kafka 对交易信息进行排序处理,提供高吞吐、低延时的处理能力,并且在集群内部支持节点故障容错。相比于 Kafka,SBFT(简单拜占庭算法)能提供更加可靠的排序算法,包括容忍节点故障以及一定数量的恶意节点。

  • 合约层是 Hyperledger Fabric 的智能合约层 Blockchain,Blockchain 默认由 Go 语言实现。Blockchain 运行的程序叫作链码,持有状态和账本数据,并负责执行交易。在Hyperledger Fabric 中,只有被认可的交易才能被提交。而交易是对链码上的操作的调用,因此链码是核心内容。同时还有一类称之为系统链码的特殊链码,用于管理函数和参数。

  • 应用层是 Hyperledger Fabric 的各个应用程序。


此外,既然是联盟链,在 Hyperledger Fabric中 还有一个模块专门用于对联盟内的成员进行管理,即 Membership Service Provider(MSP),MSP 用于管理成员认证信息,为客户端和 peers 节点提供成员授权服务。

以超级账本Hyperledger Fabric为代表的联盟链平台开源社区生态体系。其目标是完全面向企业级应用场景的许可区块链(Permissioned Chain),用以解决多个弱信任企业主体之间的信任问题,以降低企业间复杂繁琐业务流程带来的信任成本,实现在可控主体范围内共享敏感数据,从而有效提升企业主体之间大规模协作活动的效率。


Hyperledger Fabric开源社区提供带有身份权限认证的商用区块链平台,采用模块化插件的灵活设计架构,避免了比特币类公链平台与以太坊类公链平台交易效率低下、缺乏完善的身份认证模块等问题,能够广泛应用于金融资产存管、供应链、共享经济等领域。自2015年底开源以来发展迅速,已经成为主流的联盟链开源平台。另外,值得注意的是,企业以太坊联盟(Enterprise Ethereum Alliance,EEA)、蚂蚁金服、腾讯、百度、BCOS(由微众银行、万向、矩阵元共同发布的开源联盟链平台)、众安、趣链、CITA(秘猿科技)等都是其潜在的竞争对手或产品。企业级BaaS(Blockchain as a Service)平台作为基础设施服务亦是未来国际企业市场的竞争焦点,国际巨头IBM、微软等已经在此领域深耕发力多年,以实现高效动态的部署跨域区块链网络的能力,从而提供高质量的商用企业级服务。



2021年9月22日 10:09