头图

一、说明

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

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

 

二、业务场景

我们看一个购物场景:

file

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

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

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

 

可能会产生两个问题

  1. 安全风险:由于数据都掌握在平台自己手里的,例如银行单方面把你的余额修改了,又或者淘宝被开发人员删库了导致你的订单信息全没了。
  2. 溯源困难:因为平台或者机构之间的数据是相互不透明的,所以数据溯源非常困难;例如如果交易链路很长,银行想要识别一些犯罪行为,追踪资金的来源是非常困难的。

 

三、区块链架构

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

file

  1. 组织:先定义3个组织,组织1购物平台 有一个应用淘宝,组织2支付平台 有一个应用支付宝,组织3银行
  2. 节点:为每个组织分别拥有两个节点,每个组织的应用都分别往自己的节点写入交易信息;
  3. 通道:通过一个通道,把所有的节点统一管理起来。

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

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

 

四、总结

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

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

 

扫码关注有惊喜!

file


zlt2000
108 声望2.5k 粉丝

具备多年一线互联网分布式系统开发和设计经验,专注分享Java、SpringBoot、SpringCloud、分布式系统/微服务、中间件等领域。