一、说明

本文主要通过一个例子分享以 Hyperledger Fabric 为代表的联盟链应用场景。

关于 Fabric 的相关概念请先参考文章 《Hyperledger Fabric 核心概念》

二、业务场景

我们看一个购物场景:

  1. 首先消费者在某个购物平台上购物例如淘宝。
  2. 然后使用第三方支付渠道进行支付例如支付宝。
  3. 最后在银行完成资金的扣款。

这样整个过程使用目前传统技术来实现的话,相互之间的数据是 不透明 的,每个平台所产生的数据都只是保存在 各自 的数据库里面;

例如淘宝保存的是订单数据,支付宝保存了支付记录,银行记录了扣款记录和余额;对于整条链路上的每个参与者来说数据是 不透明 的。

可能会产生两个问题

  1. 安全风险:由于数据都掌握在平台自己手里的,例如银行单方面把你的余额修改了,又或者淘宝被开发人员删库了导致你的订单信息全没了。

  2. 溯源困难:因为平台或者机构之间的数据是相互不透明的,所以数据溯源非常困难;例如如果交易链路很长,银行想要识别一些犯罪行为,追踪资金的来源是非常困难的。

三、区块链架构

上面的业务场景,我们代入到 Hyperledger Fabric 的网络中来实现的话,架构图如下:

  1. 组织:先定义3个组织,组织1购物平台 有一个应用淘宝,组织2支付平台 有一个应用支付宝,组织3银行

  2. 节点:为每个组织分别拥有两个节点,每个组织的应用都分别往自己的节点写入交易信息;

  3. 通道:通过一个通道,把所有的节点统一管理起来。

在整个区块链网络搭建完成之后,当每个个购物流程走完之后区块链的账本上会新增3条记录,分别是一条 订单信息 一条 支付信息 和一条 扣款信息

区块链的特性,每个节点都有一份全量数据的账本副本。

四、总结

对比传统技术中存在的问题有以下优势:

  • 安全性:区块链的不可篡改特性,数据不存在被某个组织进行恶意修改的问题,因为每个组织都拥有一份全量的账本,只要进行对账就会发现问题,所以任何的篡改都不会达成 共识 的;
  • 溯源:区块链的数据结构特性,账本会按链路的方式,循序地保存着所有的交易信息;所以例如银行需要最终资金的来源,识别犯罪行为就非常方便了。

扫码关注有惊喜!

联盟链 Hyperledger Fabric 应用场景的更多相关文章

  1. 区块链Hyperledger Fabric 学习记录(一)开发环境搭建(ubuntu16.04/ubuntu18.04)

    目录 Fabric开发环境搭建 更新说明 教程环境及软件版本 Docker 安装Docker 配置用户组 配置Aliyun Docker加速器 安装docker-compose Go 下载源码 安装源 ...

  2. 区块链 Hyperledger Fabric v1.0.0 环境搭建

    前言:最近项目涉及到超级账本,在有些理论知识的基础上,需要整一套环境来. 这是一个特别要注意的事情,笔者之前按照网络上推荐,大部分都是推荐ubuntu系统的,于是下载Ubuntu系统(16.04.5和 ...

  3. HyperLedger Fabric部署与链码解读

    1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...

  4. 联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum

    联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum JP Morgan’s Quorum https://www.coindesk.com/jpmor ...

  5. Hyperledger Fabric定制联盟链网络工程实践

    总体来看,网络上成体系的可用的 Fabric 教程极少--不是直接在 Fabric 官网复制内容大谈基础理论就是在描述一个几乎无法复现的项目实践,以至于学习 Fabric 的效率极低,印象最深刻的就是 ...

  6. 联盟链初识以及Fabric环境搭建流程

    这篇文章首先简单介绍了联盟链是什么,再详细的介绍了Fabric环境搭建的整个流程. 区块链分类: 以参与方式分类,区块链可以分为:公有链.联盟链和私有链. 定义: 我们知道区块链就是一个分布式的,去中 ...

  7. HyperLedger Fabric 1.4 区块链开发平台(4.1)

    目前区块链开发平台分“公有链平台”和“联盟链系统”两类,“公有链平台”主要以以太坊为主的平台,可以在该类平台上进行代币的发行和根据各种模块搭建应用:“联盟链系统”主要以超级账本为主的开源系统,该类开源 ...

  8. 区块链开源实现hyperledger fabric架构详解

    hyperledger fabric是区块链中联盟链的优秀实现,主要代码由IBM.Intel.各大银行等贡献,目前v1.1版的kafka共识方式可达到1000/s次的吞吐量.本文中我们依次讨论:区块链 ...

  9. HyperLedger Fabric Introduction——区块链超级账本介绍

    介绍 HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密.便捷扩展.部署灵活及可插拔等特性.它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态 ...

随机推荐

  1. 行内元素的padding和margin是否有效

    行内元素的纵向padding和margin都是不考虑的,这是css规范定义的.inline元素确实可以设置垂直方向的padding和margin值,但是inline元素的margin和padding的 ...

  2. 【二次元的CSS】—— 纯CSS3做的能换挡的电扇

    这次分享的电扇,和以往用css3画人物相比 多加了一点交互,就是电扇开关的地方,用到了一点点css3的 :checked +div 这个很少用到的选择器来实现的. GitHub传送门:https:// ...

  3. canvas 1px 出现模糊解决方法及原理

    关于canvas绘制1像素出现模糊的原因及解决方法 canvas是html5中非常强大的功能,但是在绘制的时候如果出现1像素,例如画一条1像素的线可能出现模糊情况. 一.解决方法 网上比较常见的解决方 ...

  4. python爬虫---表情包批量采集

    代码: import requests from pyquery import PyQuery as pq # 比xpath还要灵活的html解析工具 # 定义请求 headers = { " ...

  5. MySQL中 tinyint、bigint、bit、text、decimal、year、date、time、datetime、timestamp等对应Java中什么类型

    MySQL中字段名称对应的Java类型 MySQL字段名 Java数据类型 varchar String text String bigint Long(已经有长度了,在mysql建表中的length ...

  6. js 图片上传给后台的3种格式

    1. file格式 (创建formData来完成file上传) 我们的接口需求: 代码: <input type="file" id="imgfile" ...

  7. Struts2-向值栈中存放数据

    1.第一种 获取值栈对象,调用值栈对象里面的set方法(该方法添加的是一个Map集合) //第一种方式,使用值栈对象获取对象里面的set方法 //1.获取值栈对象 ActionContext cont ...

  8. kubectl scale sts

    使用scale 不单单是扩容还可以:1.动态扩展服务,增加承载能力2.如果出现pod异常,可以利用这种方式,增加pod,再删除原来的pod 比如:pod所在宿主机网络或者宿主机死掉注: 但是一旦有某个 ...

  9. 【FAQ】应用集成HMS Core部分服务出现“ 6003报错”情况的解决方法来啦

    背景 开发者在应用中集成HMS Core部分服务时,android sdk 以及flutter等跨平台sdk,会出现编译打包后,运行报6003错误码的情况.根据查询可以得知,错误代码 6003 表示证 ...

  10. Typora教程

    写Mrakdown费事?Typora让你像写Word一样行云流水,所见即所得. ###简介 Typora是一款轻便简洁的Markdown编辑器,支持即时渲染技术,这也是与其他Markdown编辑器最显 ...