一、说明
本文主要通过一个例子分享以 Hyperledger Fabric
为代表的联盟链应用场景。
关于 Fabric 的相关概念请先参考文章 《Hyperledger Fabric 核心概念》
二、业务场景
我们看一个购物场景:
- 首先消费者在某个购物平台上购物例如淘宝。
- 然后使用第三方支付渠道进行支付例如支付宝。
- 最后在银行完成资金的扣款。
这样整个过程使用目前传统技术来实现的话,相互之间的数据是 不透明 的,每个平台所产生的数据都只是保存在 各自 的数据库里面;
例如淘宝保存的是订单数据,支付宝保存了支付记录,银行记录了扣款记录和余额;对于整条链路上的每个参与者来说数据是 不透明 的。
可能会产生两个问题:
- 安全风险:由于数据都掌握在平台自己手里的,例如银行单方面把你的余额修改了,又或者淘宝被开发人员删库了导致你的订单信息全没了。
- 溯源困难:因为平台或者机构之间的数据是相互不透明的,所以数据溯源非常困难;例如如果交易链路很长,银行想要识别一些犯罪行为,追踪资金的来源是非常困难的。
三、区块链架构
上面的业务场景,我们代入到 Hyperledger Fabric
的网络中来实现的话,架构图如下:
- 组织:先定义3个组织,
组织1
是购物平台
有一个应用淘宝,组织2
是支付平台
有一个应用支付宝,组织3
是银行
; - 节点:为每个组织分别拥有两个节点,每个组织的应用都分别往自己的节点写入交易信息;
- 通道:通过一个通道,把所有的节点统一管理起来。
在整个区块链网络搭建完成之后,当每个个购物流程走完之后区块链的账本上会新增3条记录,分别是一条 订单信息
一条 支付信息
和一条 扣款信息
;
区块链的特性,每个节点都有一份全量数据的账本副本。
四、总结
对比传统技术中存在的问题有以下优势:
- 安全性:区块链的不可篡改特性,数据不存在被某个组织进行恶意修改的问题,因为每个组织都拥有一份全量的账本,只要进行对账就会发现问题,所以任何的篡改都不会达成
共识
的; - 溯源:区块链的数据结构特性,账本会按链路的方式,循序地保存着所有的交易信息;所以例如银行需要最终资金的来源,识别犯罪行为就非常方便了。