阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

区块链在金融风险数据共享中的应用实践(下篇)

  • 2020-03-22
  • 本文字数:2523 字

    阅读完需:约 8 分钟

区块链在金融风险数据共享中的应用实践(下篇)

非对称信息博弈的最优契约-事后记账与事后审计

如上篇所述,事后记账由被查询方来完成,那么记录的账目信息中都包含哪些内容呢?


  • 简单来说,可以描述成:谁查询了谁,查询了哪些数据,这些数据会导致通证积分余额产生什么样的变化。

  • 详细来说,账目信息会以键值对的方式记录到区块链节点中。


Key 值包括查询方与被查询方,以及查询方拟定的唯一序列号组成(由查询方拟定序列号,主要考虑到被查询方记录账目以及双方存在博弈关系)。此外,记账信息 Key 值中还包含了分期信息,后文将详述分期信息的必要性。


Value 值中主要包括查询请求和查询结果,还有根据查询请求和查询结果生成的通证积分结转信息。查询请求和查询结果信息并不能直接作为账目信息发往区块链的背书节点。本文上篇的部署架构中明确了背书节点分别从属于不同的参与机构,如果直接发送原始数据,会有数据安全的隐患存在。Fabric1.2 版本中添加了节点私有数据库 sideDB,用于处理此类隐私数据的安全隐患问题,但仍然存在一些交易效率的相关问题。所以实施方案中,会把原始数据的摘要信息以及对摘要信息的签名作为记录账目的组成部分。摘要信息证明了原始数据的存在,而签名则证明了原始数据的来源。这两项数据可以有效证明查询请求与查询结果的合法性,并且原始数据不会以任何形式暴露给背书节点。


记账信息通过交易的形式发往区块链背书节点,背书节点通过合约校验记账交易的合法性,包括签名是否正确,积分结转是否合理等等。唯一无法校验的环节在于,原始数据与摘要数据的一致性。对于查询方来说,对于被查询方的记账交易,唯一需要质疑的内容,也是原始数据与摘要数据的一致性问题。原始数据基于安全性考虑,无法传递到区块链背书节点,公布给所有参与机构见证。但是,查询方对于账目信息存在疑虑的时候,可以在链外向监管运营系统发起审计操作。


事后审计是监管运营系统自动执行的相关业务流程,不需要人工干预。系统会读取原始数据与链上数据,按照固定的处理流程进行对比,最终裁定该笔审计操作是否被认可。一旦查询方获取到监管运营系统给予的审计背书(包含监管运营系统的签名),就可以发起一笔冲正交易,将对应的记账信息置为无效。这个过程也就是记账交易完成之后的审计流程,简称事后审计。需要特别指出的是,并不是每笔记账交易都需要进行事后审计,只有那些查询方质疑的交易才会由查询方发起审计校验,而审计校验的成本是向监管运营系统公布原始数据。


基于区块链的通证积分清结算体系

探讨通证积分清结算体系之前,简要介绍一些预先设定,联盟链参与机构的初始积分都是零,使用透支的方式来花销积分,并设置积分透支的软上限。透支软上限的监测以及调控,都是通过监管运营系统来统一管理。所有参与机构的积分余额,在固定期限(比如一个月),由监管运营系统根据链上的快照数据来进行链外的资金结算。举例来说,链上的每家机构的积分余额,可能为正也可能为负,在链下进行资金兑付后,积分余额将被清零。深入探讨积分清结算体系内的几类交易:


  • 积分记账交易:由参与机构发起交易。由于区块链是异步确认交易的过程,每个区块中包含的交易会在区块生成后进行再次校验。同一个区块中的多笔交易可能改变了同样的读写集合,就会导致交易无效的发生。如下图,区块 0 中,A 查 B,B 查 C,如果两笔交易都读取了 B 的余额,至少会造成 B 查 C 交易无效。为了提高交易的有效性,所有的记账交易并不会读取并改变每家机构的积分余额,只是记录账目的发生(谁查询了谁,查询数据是什么,待清算积分是多少)。

  • 积分冲正交易:由参与机构发起交易。冲正交易来源于事后审计,但是需要考虑时限性问题。如果记账交易已经完成链下的资金结算,将无法回滚交易并执行冲正操作。所以,冲正交易发起时限为当期积分快照交易完成前。

  • 积分清算交易:由监管运营系统发起交易。主要有两个功能,首先是汇总记账交易产生的积分余额变更,其次是监管运营系统监测联盟参与机构的透支额度是否已经被突破。积分清算交易同样面临交易有效性问题,如果该交易不是某个区块的最后一笔交易,则一定会造成交易无效。因为积分清算交易依赖于积分记账交易,在积分清算交易提交后再次发生积分记账交易,一定会导致积分清算交易无效。为了解决这个问题,适时引入了积分改期交易。

  • 积分改期交易:由监管运营系统发起交易。将所有的记账交易,分为若干记账周期。例如,每日零点发起积分改期交易,开启一个新的记账周期。这样使得积分记账交易依赖于积分改期交易,而积分改期交易一定是有效交易。积分改期交易完成之后,积分清算交易无论何时进行,同样也变成有效交易了。

  • 积分快照交易:由监管运营系统发起交易。积分快照交易将汇总多个积分清算交易产生的积分余额变更,为链外资金结算提供链上积分快照数据参照。积分清算交易周期可以被监管运营系统灵活调整,但积分快照交易周期则需要与链外资金结算周期保持同步。


项目可扩展性-机构接入成本

联盟链项目的机构接入成本主要体现在组网配置中,本文暂不讨论此类问题。从业务开展角度来看,新机构加入联盟链,需要首先进行接口改造,主要包括数据查询与数据提供两个接口;然后部署区块链服务系统,服务系统将由联盟提供统一定制蓝本;最后部署从属于该机构的区块链背书节点,承载智能合约,校验各类交易的有效性。


根据联盟整体运行性能要求,服务系统的部署环境会有最低配置要求,而参与机构的业务系统接口也需要达到一定的最低并发要求。此外,为了提高节点运行性能,参与机构背书节点可以采用读写分离的部署策略等等,不再逐一详述。新机构接入流程,首先在测试环境进行演练,之后将移植到生产环境。


总结与展望

综合前文所述,基于联盟链的架构,设计实施了金融风险数据共享的解决方案。目前该方案仅提供了数据的计价能力,仍然欠缺数据的评价能力。完善数据的评价能力可以通过使用权益积分来实现,仍处于探索阶段。


区块链从问世之初,就不仅仅是一种分布式数据库,不应仅仅用来完成上链记账操作。或者说,区块链不仅仅是一项技术,而是结合了经济学,社会学,密码学,博弈论等等内容的综合体。在一个熵增(不确定性逐步增长)的环境下达成共识,形成制度博弈,最终优胜劣汰,良币驱逐劣币,达到某个细分领域内的行业自治才是区块链能够带来的最终改变。



2020-03-22 21:04631

评论

发布
暂无评论
发现更多内容

xxl-job客户端架构流程

IT巅峰技术

湖仓一体电商项目(十五):实时统计商品及一级种类、二级种类访问排行业务需求和分层设计及流程图

Lansonli

湖仓一体电商项目 11月月更

【React技术】JSX在企业级项目的运用and一个元素渲染demo

恒山其若陋兮

前端 11月月更

投入上百人、经历多次双 11,Flink 已经足够强大了吗?

Apache Flink

大数据 flink 实时计算

Flink CDC 2.3 发布,持续优化性能,更多连接器支持增量快照,新增 Db2 支持

Apache Flink

大数据 flink 实时计算

【React技术】开发过程中遇到State和生命周期方法在类里面的运用

恒山其若陋兮

前端 11月月更

【web 开发基础】PHP中使用array()语言结构新建数组(43)

迷彩

数据结构 array 11月月更 array() 新建数组

python小知识-内置方法和属性应用:反射和单例

AIWeker

Python python小知识 11月月更

React源码分析6-hooks源码

goClient1992

React

React源码分析5-commit

goClient1992

React

Python 操作Excel(xlrd和XlsxWrite)

度假的小鱼

11月月更 Python xlrd读取Excel Python xlrd

《2022开源大数据热力报告》发布,Flink 摘得「流处理」领域热力值 TOP1

Apache Flink

大数据 flink 实时计算

湖仓一体电商项目(十六):业务实现之编写写入ODS层业务代码

Lansonli

湖仓一体电商项目 11月月更

【web 开发基础】PHP中数组的遍历(45)

迷彩

数据结构 数组 foreach 11月月更 数组遍历

react源码中的hooks

flyzz177

React

基于 Apache Flink Table Store 的全增量一体实时入湖

Apache Flink

大数据 flink 实时计算

AI简报-重参数化RepVGG

AIWeker

深度学习 AI简报 11月月更

Discourse 的左侧边栏可以修改吗

HoneyMoose

React源码分析4-深度理解diff算法

goClient1992

React

react源码中的fiber架构

flyzz177

React

制造业要用龙头带动整条产业链发展,阿里云智能制造加速器首次集结

B Impact

Python 操作Mysql

度假的小鱼

pymysql 11月月更 Python操作Mysql

【web 开发基础】PHP中的预定义数组(46)

迷彩

php web开发基础 11月月更 预定义 超全局数组变量

【web 开发基础】PHP中的数组 (41)

迷彩

php 数据结构 11月月更 关联数组 索引数组

一文了解 Go 标准库 strings 常用函数和方法

陈明勇

Go golang 字符串 11月月更 strings

react hook 源码完全解读

flyzz177

React

【web 开发基础】PHP 中数组的定义 (42)

迷彩

数据结构 数组 11月月更 数组的定义

“后 Hadoop 时代”,大数据从业者如何应对新技术趋势带来的挑战?

Apache Flink

大数据 flink 实时计算

【web 开发基础】PHP中多维数组的声明 (44)

迷彩

数据结构 一维数组 二维数组 11月月更 多维数组

Python 操作mongodb库

度假的小鱼

mongodb 11月月更 Python 操作mongodb库

Flink Forward Asia 2022 主论坛概览

Apache Flink

大数据 flink 实时计算

区块链在金融风险数据共享中的应用实践(下篇)_文化 & 方法_京东数字科技产业AI中心_InfoQ精选文章