查看原文
其他

区块链实战 | 记账过程与清结算体系的具体设计

张大晴 京东技术 2019-04-21

来这里找志同道合的小伙伴!

——金融科技区块链小组出品

「摘要」金融机构或者企业在开展各类风控相关业务的过程中,需要收集风控数据,构建风控体系,并最终服务于相关业务场景。以信贷业务为例,基于风控数据的黑名单机制,是比较常见的一类风控措施。在开展此类业务的过程中,各家金融机构或者企业往往会产生数据共享的需求,用以提高相应的风控能力。目前金融风险数据共享的主要方式,一般通过接口查询的方式实施,被查询方根据查询流量进行计价收费。

本文将讨论基于区块链技术,搭建金融风险数据共享联盟,为联盟中各个金融机构或者企业提供一个公正平等的数据互查平台,并且推动联盟中数据整体质量得到提高,使得联盟成员去伪存真,优胜劣汰。最终目标是结合区块链技术对通证的生成和验证等特性,为金融风险数据共享提供公平有效的计价和评价体系,并促进整体联盟不断迭代增值。文章内容将分为上下两篇:

  • 上篇简要描述业务场景与业务痛点,分析和对比两个版本的区块链技术设计方案。

  • 下篇偏重于讲述方案落地实施过程中,区块链记账过程与清结算体系的具体设计。



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


如上篇《区块链在京东金融风险数据共享中的应用实践 | 业务场景与痛点解析》所述,事后记账由被查询方来完成,那么记录的账目信息中都包含哪些内容呢? 

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

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

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

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

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

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


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


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

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

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

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

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

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


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


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

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


总结与展望


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

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

------------------END------------------

下面的内容同样精彩

点击图片即可阅读

京东技术

---关注技术的公众号

长按识别二维码关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存