文章目录

  • 什么是Hyperledger Fabric
  • 1. 成员准入
  • 2. 性能,可伸缩性和信任级别
  • 3 需要了解的数据
  • 4 通过不可变的分布式账本进行复杂查询
  • 5 支持插件组件的模块化架构
  • 6 保护数字钥匙和敏感数据

什么是Hyperledger Fabric

为了满足现代业务需求,IBM与其他公司合作,共同开发了一个开放源代码,可立即投入生产的业务区块链框架,称为Hyperledger Fabric™,这是由LinuxFoundation®托管的8个Hyperledger®项目之一。

Hyperledger Fabric是被广泛使用的,支持准入网络上的分布式账本解决方案。它的模块化架构最大程度地提高了区块链解决方案的机密性,弹性和灵活性。

1. 成员准入

Hyperledger Fabric是用于准入网络的框架,其中所有参与者都具有已知身份。在考虑准入的网络时,您应该考虑您的区块链用例是否需要遵守数据保护法规。许多用例(尤其是在金融部门和医疗保健行业)受数据保护法律的约束,这些法律要求了解网络的成员是谁以及谁在访问特定数据。

例如,考虑一家私募股权公司。根据定义,私募股权不在证券交易所公开交易,其投资者通常是风险投资公司,私募股权公司或天使投资者。该网络的参与者必须是已知的,并且在资金方面具有信誉,才能进行投资才能参与区块链。

2. 性能,可伸缩性和信任级别

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,他们可以以编程方式执行此操作。

3 需要了解的数据

由于竞争力,保护法和个人数据机密性的规定,企业需要对某些数据元素进行隐私保护,这可以通过在区块链上进行数据分区来实现。 Hyperledger Fabric支持的通道允许数据仅传递给需要了解的各方。

例如,许多金融实体对竞争对手甚至看到正在处理的交易数量表示担忧。一些金融机构认为加密“不足”来保护其数据。鉴于某些金融工具需要花费10年或更长的时间才能实现价值,随着时间的流逝,密码破解的风险可能会使私人信息公开。通道帮助提供了数据分区功能,只有那些需要了解数据的人员才能看到事务数和数据本身。

4 通过不可变的分布式账本进行复杂查询

分布式账本是区块链应用程序状态转换的顺序记录。每笔交易都会产生一组资产键值对,这些键值对在创建,更新或删除时将被提交到账本。 peer支持LevelDB和CouchDB两种格式存储。

默认情况下,LevelDB键值数据库支持键查询,复合键查询和键范围查询。如果您还需要复杂的丰富查询,则可以使用CouchDB,它支持LevelDB的基本功能,并添加完整的数据复杂查询。这种文档数据库(例如CouchDB)的内容是JSON格式的,同时支持复杂查询,其中数据模型与现有键/值编程模型兼容。

这种JSON格式有助于最大程度地减少生成简单报告和执行审核功能所需的工作。例如,在供应链场景中,您可以使用JSON文档样式来帮助概述商品和运输实体的特定数据。您可以轻松地生成用于资产到最终目的地的不同地点和运输实体的资产报告。

5 支持插件组件的模块化架构

Hyperledger Fabric体系结构的模块化使网络设计人员可以插入其首选组件实现,这是一个优势。最需要模块化的领域之一是“使用自己的身份认证系统”。很多公司已经具有自己的身份管理,并且想要重用而不是重建。

可插拔的体系结构的其他组件包括共识或加密,允许使用自己的加密标准。

6 保护数字钥匙和敏感数据

HSM(硬件安全模块)提供了对数字密钥的高级保护。对于涉及身份管理的方案,HSM可以更好的保护密钥和敏感数据。

更多精彩内容且看:

  • 区块链从入门到放弃系列教程-涵盖密码学,超级账本,以太坊,Libra,比特币等持续更新
  • Spring Boot 2.X系列教程:七天从无到有掌握Spring Boot-持续更新
  • Spring 5.X系列教程:满足你对Spring5的一切想象-持续更新
  • java程序员从小工到专家成神之路(2020版)-持续更新中,附详细文章教程

更多教程请参考 flydean的博客

Fabric的6大特性相关推荐

  1. ES6的十大特性和认知

    ---恢复内容开始--- ES6(ECMAScript2015)的出现,无疑给前端开发人员带来了新的惊喜,它包含了一些很棒的新特性,可以更加方便的实现很多复杂的操作,提高开发人员的效率. 本文主要针对 ...

  2. Windows 8最值得期待的8大特性

    Windows 8刚刚进入开发阶段,你对Windows 8有什么期待呢?Windows 8有望在2013年初发布,在未来两年内技术领域会发生什么样的变化呢?移动技术和云计算服务的飞速发展对Window ...

  3. 无服务器架构 - 从使用场景分析其6大特性

    2019独角兽企业重金招聘Python工程师标准>>> 无服务器架构 - 从使用场景分析其6大特性 博客分类: 架构 首先我应该提到,"无服务器"技术肯定有服务器 ...

  4. 软件质量模型的6大特性27个子特性

    软件质量模型的6大特性27个子特性 软件质量模型的六大特性27个子特性     一.功能性:     1.适合性:软件是否提供了相应的功能     2.准确性:软件提供的功能是否正确(用户需要的)   ...

  5. python两大特性与四大语法_Day 1:Python 两大特性和四大基本语法

    这是买的课程,我的笔记(copy),若有侵权请联系,谢谢 Python 语言两大特性 Python 是一门动态的.强类型语言. 什么是动态语言? 要了解什么是动态语言,要首先了解"类型检查& ...

  6. 《微服务》九大特性重读笔记

    今天重读了Martin Fowler的<Microservices>,在此记录一下对九大特性的理解. 服务组件化 组件,是一个可以独立更换和升级的单元.就像PC中的CPU.内存.显卡.硬盘 ...

  7. 话里话外:从信息系统两大特性理解信息化的实施难度

    博主推荐延展咨询资深顾问 梁云 文章 面对客户的个性化需求,对产品质量和交货期要求高,生产准备难度大,生产过程不确定因素多,组织管理活动复杂,以致按单制造(MTO II)型企业对信息技术的支持需求较其 ...

  8. 深入理解Spring两大特性:IoC和AOP

    Spring Boot 专栏:https://blog.csdn.net/dkbnull/category_9278145.html Spring Cloud 专栏:https://blog.csdn ...

  9. 华为的鸿蒙os,鸿蒙OS明天正式发布,十大特性,能拯救暴跌80%的华为手机吗?...

    上周二,华为正式对外宣布,研发两年多的鸿蒙 OS 将于 6 月 2 号,也就是明晚八点正式发布. 华为表示,发布会上不仅会推出「华为WATCH 3.华为 MatePad Pro」等多款搭载鸿蒙 OS ...

最新文章

  1. 报告:AI岗年薪下降8.9%,收入不及2018年
  2. 解决 android 高低版本 webView 里内容 自适应屏幕的终极方法
  3. 双非高校浙工大,一年2项研究上Nature,校友纷纷打Call:欠一个211名头
  4. Django REST framework (DRF) 不能用property或method排序
  5. struts2 简单登录校验示例
  6. 购物车完善版,客户余额及所购商品保存在文件
  7. .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
  8. 基于Apache POI 从xlsx读出数据
  9. 【引用】如何结束线程运行(转)
  10. paip.c++ lua 调用attilax总结.
  11. 关于投资收益和风险的例题(线性规划)
  12. 高效能人士的七个习惯读后感与总结概括-(第二章)
  13. 使用scrapy爬取阳光热线问政平台
  14. 前端性能优化(三)——浏览器九大缓存方法
  15. 【串讲总结】涵盖ML/DL/NLP/推荐/风控/数学等知识点汇总列表
  16. A1008 Elevator (20 分)
  17. 如何有效的关闭Win10/ win 11 自动更新? 方法最全
  18. 一维卷积处理时间序列
  19. utsc的计算机科学,天啊撸:中国留学生淘汰率竟比加拿大学生高出一倍
  20. 如何深入学习JAVA

热门文章

  1. oracle 的遍历语法,oracle pl/sql之pl/sql语法
  2. 通讯故障_伦茨lenze全数字直流调速器通讯故障维修经验很丰富
  3. 矩阵乘法递推的优化艺术
  4. Github霸榜月余,原来是阿里技术官的千亿级并发系统设计手册上线了
  5. 再见了微服务!全面拥抱 DDD 真正的价值
  6. 美团--最小唯一前缀
  7. 浏览器预连接性能测试
  8. 第二章 Spark RDD以及编程接口
  9. Spring/SpingMVC常见问题总结
  10. JVM之盘点家底查看初始默认值和更改值