由于用户隐私、可扩展性、智能合约的不变性、存储和缺乏治理等问题,企业无法使用公共区块链,而且企业对区块链网络有特定要求。
比如,企业需要一个可以控制谁加入网络,且能够使用其组织身份管理系统来验证新用户身份的区块链,企业需要可扩展性和快速的交易执行,必须能够为其敏感信息设置访问控制规则,以及网络具有较高的弹性和故障排除应尽可能自动化等要求。
而企业对区块链网络的这些要求,以及区块链的发展,使得Hyperledger Fabric应运而生。
什么是Hyperledger Fabric?
Hyperledger Fabric是一个平台,企业可以用来构建其企业区块链,以解决这些问题并满足其业务需求。这是用于构建企业区块链的平台,是Hyperledger联盟开发的最重要的项目之一。
Linux Foundation领导了这个基金会,该基金会于2016年成立,成员中包括多家知名公司。其中一些成员是IBM、英特尔、CISCO、SAP、戴姆勒和美国运通。
Hyperledger联盟的目标如下:
创建具有代码库的开源企业级区块链框架;
推动一个开放的,社区驱动的基础架构,并采用技术和业务治理模型进行监督;
组织技术社区进行试验和使用案例;
教育社区有关企业区块链的知识;
促进企业区块链生态系统。
Hyperledger Fabric,也称为“ Fabric”,是用于实现许可的区块链的开源框架。Digital Asset和IBM是构建Fabric初始版本的两家公司。
使用Fabric构建企业区块链,可以享用以下功能:
即插即用功能,可以集成共识算法和会员服务等组件;
使用容器技术托管的称为“链码”的智能合约;
机密交易的通道技术;
将交易传送到“对等”的订购服务,即负责在分类账中提交交易的一组节点;
交易验证的认可政策;
数据库服务,例如CouchDB。
Hyperledger Fabric的优势
(1)模块化架构
建立企业区块链可能具有挑战性。由于该技术仍相对较新,因此开发人员需要花费大量时间来构建所需的组件。现成的插件等可用的方式并不多。
开发人员投入大量精力在协议级别上自动化。因为没有一个管理员,所以这并不容易。
Fabric提供了模块化架构,开发人员可以在其中创建插件组件,这对开发人员很有帮助。由于有了此功能,它们可以轻松包含自定义身份管理等组件。
包括自定义身份管理系统的需求是特别常见的要求。许多公司希望构建一个许可的区块链,但希望重用其现有的身份管理系统,模块化架构允许这样做。
(2)使用Fabric构建许可的区块链
如果您正在为业务构建区块链,则可能正在构建需许可的区块链,诸如银行等在严格的监管要求下运作的企业无法让未知用户查看交易数据。此外,信息是这些企业的资产,因此未经授权的观看将对未来的财务利润构成风险。
Fabric是需要事先获得允许的框架,所有参与者都有已知的身份,并根据组织的身份管理系统进行验证,没有匿名或假名用户。
使用Fabric的组织通常会使用“会员服务提供商”(MSP)。这是用于颁发和验证证书,以及用于用户身份验证。在结构方面,MSP也称为证书颁发机构(CA)。该平台提供了用于生成MSP证书的工具,例如‘cryptogen’。
(3)性能和可扩展性
Fabric中没有POW算法和加密挖矿,它提供了高可伸缩性和快速交易。交易验证反映了交易工作流在普通企业中的工作方式,其工作方式如下:
交易处理分为三个独立的阶段:
涉及链码的分布式逻辑处理和协议;
交易排序;
事务验证和提交。
这样可以确保只有数个跨不同类型节点的信任和验证级别,从而减少成本。其交易生命周期如下:
请求者向背书人提交交易建议;
背书政策指定了此交易所需背书的数量和组合;
背书人执行链码,以通过“读/写集”向同行模拟提案;
背书者将已签名的提案回复发送回去,也称为“背书”;
客户使用数字签名向订购者提交交易;
排序者创建一个交易块并将其发送给对等方;
对等方检查是否符合背书策略,并检查是否存在冲突的交易。
两项检查均成功后,对等方将在分类账中提交该块。只有签名读/写集跨越网络,从而优化可伸缩性和性能。实际上,只有进行交易的背书者和对等方才能看到这些交易,因此可以最佳地维护数据的机密性。
(4)“通道”用于分区数据
以金融服务业为例,其中一些投资工具可能需要10年或更长时间才能产生理想的回报。这意味着有关此类工具的数据必须保密十年或更长时间。
银行和金融机构不相信区块链中使用的数据加密技术或任何其他技术可以长期保护其敏感数据。他们意识到黑客正在不断升级其功能。例如,从现在开始的十年内,量子计算(一种有望多次提高计算能力的技术)理论上将能够打破当今的数据加密技术。
金融服务公司热衷于物理隔离敏感数据以保护它们。Fabric中的“通道”提供了数据分区功能,可以实现物理隔离敏感数据。
(5)丰富的查询功能
每次更新分布式分类账时,一组资产键值对也将提交到分类账。Fabric的文件系统包含LevelDB,非常适合查询功能。
LevelDB具有一个键值数据库并启用键查询,也可以有组合键查询和键范围查询。您还可以选择添加CouchDB,它具有一个文档数据库,其中的内容以JSON的形式存储。这使得数据库非常容易查询。
使用JSON无需为了方便查询而频繁更改应用程序,CouchDB还支持数据丰富的查询。
(6)基于硬件的数字密钥保护
Fabric具有“硬件安全模型”(HSM),可帮助保护和管理用于身份验证的数字密钥。对于身份管理等用例,HSM增强了密钥和敏感数据的保护。
(7)是丰富的社区支持
参与Hyperledger财团的成员众多,包括甲骨文、德勤、华为、摩根大通、ABN-AMRO,ANZ和Aetna等知名企业。因此,这是最富有的发展社区之一。
来自如此众多的组织,每个组织在区块链技术及其主要的“业务线”(LOB)方面都拥有丰富的专业知识。预计社区的共同力量将为Fabrics的未来发展路线图带来丰厚的回报。
Hyperledger Fabric的劣势和争议
Fabric的两个明显劣势都与该框架相当新有关,即缺乏经过验证的用例和数量不足的熟练程序员无法使用它。
考虑到Fabrics 1.0仅在2017年7月发布,因此预计会有上述缺点。项目团队意识到应对这些挑战需要时间。
在加密社区中,有些人认为Fabric具有根本性的劣势。但是,这是有争议的。这些加密社区成员坚持完全去中心化和完全开放的区块链,其它东西都不符合他们的标准。
批评者认为,Fabric是要获得允许的,因此不是公共区块链,这不允许完全透明。Fabric的支持者表示,它将仅在需要信任参与者的企业对企业(B2B)和企业对消费者(B2C)背景下使用。这消除了使用未经许可的区块链的可能性。
批评家称,Fabric中的共识算法不像工作量证明机制一样安全。但是,Fabric的支持者认为,在已经使用内部身份管理系统验证了所有参与者的网络中,不需要像工作量证明机制这样的昂贵算法。
批评者认为,如果没有加密通证,节点将无法像矿工在比特币网络中那样保持网络的安全。支持者指出,网络中不会有匿名交易,因此,工作量证明机制和昂贵的挖掘过程都是不必要的。
批评者认为,没有工作量证明机制,就不会有真正的不变性。支持者一致认为,由于Fabric不采用POW,因此不可能完全保持不变。
但是他们也指出,在一个由已知参与者组成的网络中,所有这些受企业组织的治理和行为准则的约束,需要一个“篡改非常明显”系统,而不是一个“防篡改”系统。
如果有人篡改数据,则加密哈希将有所不同。在Fabric中,如果哈希遭到篡改,这将使组织开始必要的纠正过程。