为了知足现代业务需求,IBM与其余公司合做,共同开发了一个开放源代码,可当即投入生产的业务区块链框架,称为Hyperledger Fabric™,这是由LinuxFoundation®托管的8个Hyperledger®项目之一。数据库
Hyperledger Fabric是被普遍使用的,支持准入网络上的分布式帐本解决方案。它的模块化架构最大程度地提升了区块链解决方案的机密性,弹性和灵活性。编程
Hyperledger Fabric是用于准入网络的框架,其中全部参与者都具备已知身份。在考虑准入的网络时,您应该考虑您的区块链用例是否须要遵照数据保护法规。许多用例(尤为是在金融部门和医疗保健行业)受数据保护法律的约束,这些法律要求了解网络的成员是谁以及谁在访问特定数据。安全
例如,考虑一家私募股权公司。根据定义,私募股权不在证券交易所公开交易,其投资者一般是风险投资公司,私募股权公司或天使投资者。该网络的参与者必须是已知的,而且在资金方面具备信誉,才能进行投资才能参与区块链。网络
Hyperledger Fabric创建在模块化架构之上,该架构将事务处理分为三个阶段:分布式逻辑处理和协议(“链码”),事务排序以及事务验证和承诺。这种分离具备多个优势:跨节点类型所需的信任和验证级别更少,而且网络可伸缩性和性能获得了优化。架构
为了说明这一点,让咱们看一下Hyperledger Fabric v1.0中的事务流,以下图所示。框架
从图的左侧开始:
1)交易建议由应用程序提交给背书的peer节点。 分布式
2)背书政策概述了签署提案须要多少个背书人和/或哪些背书人组合。背书者执行链码以模拟网络对等方中的提议,从而建立一个读/写集。模块化
3)而后背书的peer节点将签名的提案响应(背书)发送回应用程序。工具
4)应用程序将交易和签名提交给Order服务性能
5)建立一批或一组交易,并将其交付给提交peer节点。
6)当提交peer节点收到一批事务时
7)验证是否符合背书策略,并检查读/写集以检测冲突的事务。若是两项检查均经过,则该块将提交到帐本,而且每一个事务的状态更新都将反映在状态数据库中。
因为使用新的v1.X架构,只有签名和读/写集是经过网络发送的,所以可伸缩性和性能获得了优化。此外,因为只有背书人和提交人才能真正看到交易,所以在区块链系统的不一样部分中须要较少的信任级别,从而提供了更高的安全性。
例如,在资本市场中,随着股权支持证券或债券的买卖,交易量因为参与者的增长而增长。增长的事务须要改进的可伸缩性和性能,Hyperledger Fabric v1.X提供了此功能,部分缘由是拆分了链代码执行。
拆分链码执行还可使网络动态增加。在Hyperledger Fabric v1.X中,能够动态和以编程方式添加peer,而不是像v0.6中那样以静态方式添加。例如,假设一家管理外汇汇率的公司有一家新银行要添加到网络中。使用Hyperledger Fabric v1.X,他们能够以编程方式执行此操做。
因为竞争力,保护法和我的数据机密性的规定,企业须要对某些数据元素进行隐私保护,这能够经过在区块链上进行数据分区来实现。 Hyperledger Fabric支持的通道容许数据仅传递给须要了解的各方。
例如,许多金融实体对竞争对手甚至看到正在处理的交易数量表示担心。一些金融机构认为加密“不足”来保护其数据。鉴于某些金融工具须要花费10年或更长的时间才能实现价值,随着时间的流逝,密码破解的风险可能会使私人信息公开。通道帮助提供了数据分区功能,只有那些须要了解数据的人员才能看到事务数和数据自己。
分布式帐本是区块链应用程序状态转换的顺序记录。每笔交易都会产生一组资产键值对,这些键值对在建立,更新或删除时将被提交到帐本。 peer支持LevelDB和CouchDB两种格式存储。
默认状况下,LevelDB键值数据库支持键查询,复合键查询和键范围查询。若是您还须要复杂的丰富查询,则可使用CouchDB,它支持LevelDB的基本功能,并添加完整的数据复杂查询。这种文档数据库(例如CouchDB)的内容是JSON格式的,同时支持复杂查询,其中数据模型与现有键/值编程模型兼容。
这种JSON格式有助于最大程度地减小生成简单报告和执行审核功能所需的工做。例如,在供应链场景中,您可使用JSON文档样式来帮助概述商品和运输实体的特定数据。您能够轻松地生成用于资产到最终目的地的不一样地点和运输实体的资产报告。
Hyperledger Fabric体系结构的模块化使网络设计人员能够插入其首选组件实现,这是一个优点。最须要模块化的领域之一是“使用本身的身份认证系统”。不少公司已经具备本身的身份管理,而且想要重用而不是重建。
可插拔的体系结构的其余组件包括共识或加密,容许使用本身的加密标准。
HSM(硬件安全模块)提供了对数字密钥的高级保护。对于涉及身份管理的方案,HSM能够更好的保护密钥和敏感数据。
更多教程请参考 flydean的博客