一、说明

本文主要通过一个例子分享以 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. python-正整数的因子展开式

    [题目描述]编写程序,输出一个给定正整数x(x>1)的质因子展开式. [输入格式]请在一行中输入整数x的值. [输出格式]对每一组输入的x,按以下格式输出x的质因子展开式(假如x的质因子分别为a ...

  2. 【Weex笔记】-- Animate.css的使用

    animate.css是一个使用CSS3的animation制作的动画效果的CSS集合,里面预设了很多种常用的动画,且使用非常简单.本文将详细介绍animate.css的使用. 一,安装辅助依赖 np ...

  3. 多条命令同时执行的包concurrently

    npm i concurrently use "script":{ "client:build": "webpack --config build/w ...

  4. Qt QTableView 表格内添加控件

    目录 Qt QTableView 表格内添加控件 1. QItemDelegate 2. setIndexWidget 3. setIndexWidget + setLayout Qt QTableV ...

  5. numpy教程01---ndarray的创建

    欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变 ...

  6. python---导入模块和包

    导入模块和包 导入模块 import的过程中发生了哪些事情? 寻找模块 如果找到,开辟一块空间,执行这个模块 把这个模块中用到的名字都收录到开辟的空间中 创建一个变量来引用这个模块的空间 注意: 模块 ...

  7. springboot+springsecurity+mybatis plus注解实现对方法的权限处理

    文章目录 接上文 [springboot+springsecurity+mybatis plus之用户授权](https://blog.csdn.net/Kevinnsm/article/detail ...

  8. 有关JavaScript事件循环的若干疑问探究

    起因 即使我完全没有系统学习过JavaScript的事件循环机制,在经过一定时间的经验积累后,也听过一些诸如宏任务和微任务.JavaScript是单线程的.Ajax和Promise是一种异步操作.se ...

  9. Python生成短uuid的方法

    python的uuid都是32位的,比较长,处理起来效率比较低, 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62 ...

  10. IDEA小技巧:Debug时如何优雅地制造异常?

    抛异常相信大家都会吧?只需要这样就可以了: throw new RuntimeException("didispace.com"); 但是,在开发过程中有一些情况,我们需要测试程序 ...