一、说明

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

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

二、业务场景

我们看一个购物场景:

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

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

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

可能会产生两个问题

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

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

三、区块链架构

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

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

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

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

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

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

四、总结

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

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

扫码关注有惊喜!

最新文章

  1. 转载文章----十步完全理解SQL
  2. 【CityHunter】Unity3D设计AR探索模式
  3. 《 spring mvc 》学习计划
  4. 关于Action快捷键和小键盘的问题
  5. 截获控制台程序关闭事件(SetConsoleCtrlHandler)
  6. 结束指定Activity实例代码
  7. JavaScript的68个技巧一
  8. JS清除dropdownlist绑定的项,并添加新项
  9. Android SystemProperties设置/取得系统属性的用法总结
  10. VMWare安装Centos 6.9
  11. 1.Linux下libevent和memcached安装
  12. VS2008中 VB 报错 检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。
  13. GenericServlet
  14. 解决Fiddler查看Post参数中文乱码的问题
  15. linux部分常见指令
  16. 将mssql数据库高版本迁移到低版本
  17. io 流概念
  18. Spring Boot 2 (八):Spring Boot 集成 Memcached
  19. stylus--css 框架使用方法
  20. 蛮力法解决0_1背包问题新思路-——利用C语言位域类型

热门文章

  1. React+dva+webpack+antd-mobile 实战分享(二)
  2. canvas小游戏——flappy bird
  3. AcWing 1047. 糖果
  4. MySQL---增删改查数据库、表、记录
  5. 深度理解springboot集成cache缓存之源码解析
  6. C++五子棋(二)——游戏界面与棋子渲染
  7. 论文解读(MLGCL)《Multi-Level Graph Contrastive Learning》
  8. JavaScript学习总结8-DOM
  9. vue3 - 事件处理之事件修饰符
  10. 关于 display: inline-block; 中间有间隙的问题