文丨福建省农村信用社联合社科技部 黄能
近年来,随着金融科技的迅速发展,区块链技术凭借分布式多方记账、数据不可篡改、数据可追溯等独有特性,被广泛应用于金融创新场景,尤其是涉及需要跨机构协同的金融业务场景。为探索创新路径,本文以一个涉及政府、银行及其他参与方的扶贫贷款管理系统为例,尝试提出一种基于区块链技术构建的跨域异构应用间可信数据交换及逻辑执行体系,以期能助力各同业机构在最小化改造系统的基础上,实现多机构业务协同。
对于金融机构而言,当前需要多机构协同的业务场景(如扶贫贷款管理、银行间清算、供应链金融等)均具有明显特点,即一般都需要由多个机构协同完成,且大多是基于各机构自建的系统、流程、文件体系来进行处理,并不互联互通。针对上述现状,本文以扶贫贷款业务为例,借助区块链技术在多个跨域异构系统(下称“跨域应用”)间实现四大目标:
一是基于区块链用户体系与跨域应用用户间的映射,实现用户权限控制、用户准入管理、共识机制共同执行等。
二是基于区块链数据不可篡改等特性,构建跨域应用之间的可信数据交换体系。
三是基于区块链的智能合约、共识算法及远程调用协议数据传输等功能,构建可信的跨域逻辑执行机制,协同多方流程流转,智能执行多方协议。
四是在以上三点的基础上,实现跨域应用间数据流、审批流、资金流的存证及数字资产交易。
一、面向扶贫贷款业务的区块链架构设计
扶贫贷款管理系统是一种典型的多机构、多用户、多流程的跨域应用体系,鉴于此类业务贷款环节众多、流程复杂等特点,相关系统不仅需要提供更多也更为复杂的数据模型支撑,而且通常需要对接银行内外多个跨域异构系统,并充分考虑各方流程及操作习惯,以减少重复建设。换言之,跨域应用场景是一种多机构、多用户、多流程的复杂体系,需要解决跨域系统通信、多用户联动、跨域数据共享、跨域业务协同、安全及权限等多个问题。对此,本文提出的跨域应用间可信数据交换及逻辑执行体系重点涵盖了应用系统、区块链网络(上述两部分以下统称“系统”)及跨域应用三个部分,体系整体架构如图1所示。
图1 跨域应用间可信数据交换及逻辑执行体系整体架构
系统主要由客户端、服务端、文件共享库及区块链网络等四个部分组成。其中,客户端负责为用户提供界面展示及操作界面,服务端主要提供用户权限控制、业务逻辑处理、与区块链网络间的数据交互及智能合约调用、数据存储等功能;文件共享库主要用于在各参与方之间进行受控的文件共享;区块链网络主要对信息流、审批流、资金流等进行存证管理,并受控开放给有资质、有权限的政府监管机构,实现实时监管,以及基于区块链进行跨域应用的数据交换,用智能合约进行跨域应用间可信的逻辑执行,完成多个跨域应用间的数据流转、流程流转,同时通过整合各参与方数据,结合大数据、数据挖掘等技术,提供业务经营的数据支撑,实现链上数据及接口的访问权限控制。此外,跨域网络解决方案主要是通过将放置于局域网内的区块链节点IP映射到互联网IP(NAT方案,即网络地址转换),或者在跨域区块链节点之间建立虚拟专用网络通道(VPN方案,即虚拟专用网络),以打通不同局域网间的数据共享与逻辑执行通道。
二、账户体系与权限控制
在权限控制方面,笔者团队专门设计了适应跨域用户管理、跨域数据交互、跨域逻辑执行的五级账户体系,包括用户账户、跨域账户、链账户(区块链账户)、共识账户、CA管理账户等(如图2所示)。
图2 账户体系示意
其中,用户账户是指系统用户的账户,每个账户都会与链账户一一对应。跨域账户是指跨域应用用户的账户,区块链网络将根据跨域参与方的需求,创建链账户与跨域账户一一对应。链账户是指区块链网络的账户,主要负责为每一个参与方提供一个区块链网络组织,且每一个组织会按需分配多个区块链节点及一个CA(用于链账户,并发放公私钥对及证书)。此外,链账户还根据需求配置了不同的数据、接口及智能合约的调用权限,并与单个用户账户、跨域账户对应,以实现对用户权限的限制及对行为、数据的有效存证,链账户的权限将进行全网广播并写入每一个节点中。值得注意的是,尽管共识账户也属于链账户的一种,但它不能被任何应用用户调用,只能由共识节点在共识时调用,用于共识机制的运行。CA管理账户主要用于对区块链网络组织CA进行管理,以控制人员的准入、链账户的申请、证书及公私钥对的生成和发放等。
三、链上信息受控共享与监管
对于链上信息的受控共享与监管而言,笔者团队主要采用了链账户数据访问权限控制、多通道技术及DH密钥交换算法相结合的解决方案:
一是用户访问数据、接口、智能合约受到系统权限控制模块的控制,同时其还受到链账户访问权限的控制,且跨域应用账户的权限与链账户一一对应。
二是基于多通道技术将区块链网络中的用户分成多个通道,每一个通道用户可以共享各自通道的数据,但无法访问其他通道数据,实现了不同通道用户间的数据隔离(主要适用于多个业务共同组网的情况)。
三是如果有更高的保密需求,在各参与方都达成协议的情况下,信息参与方可以通过DH密钥交换算法交换密钥,并将信息加密后写入区块以保证信息的私密性。
四是文件共享库支持进行可控的数据共享,即只将数据的HASH值上链,数据通过文件共享库以受控方式提供给参与方,以控制数据共享的范围。此外,系统还会将用户数据、合同合约数据、涉及审批数据、资金发放数据及监管数据等全部上链。
四、智能合约、共识机制与跨域逻辑执行
在逻辑执行方面,系统主要通过区块链智能合约实现跨域的逻辑可信执行,首先会将每一份智能合约在整个区块链中进行发布,并且对发布人、时间、版本、HASH等上链存证,之后再由智能合约通过系统服务端进行调用,其中一种是由用户操作触发的智能合约调用,另一种则是在达到某种约定条件时自动触发的智能合约调用(如贷款自动结息的跨域审批调度)。在跨域执行阶段,智能合约会将跨域调用协议数据写入区块链中,再由跨域应用从区块链中获取跨域调用协议数据后,按照协议发起程序完成整个跨域执行,并按照跨域调用协议将执行情况写入区块链。最终,系统服务端将根据从区块链中获取的执行结果进一步调用智能合约,直至本次智能合约执行完成。其间,系统将提供接口,以便于各参与方直接调用智能合约。智能合约运行流程如图3所示。
图3 智能合约运行流程
系统在进行智能合约设计时,会将各参与方的流程流转逻辑、业务逻辑或合同基本条款逻辑抽象并编程为智能合约的代码部分,其中影响流程、业务或合同等运行状态的属性可被抽象为参数,每一轮发起新流程或者签订新合同都将新生成一段参数值,并根据协议、合同执行情况或者事先的协定修改参数值,之后再通过参数值变化发起或结束智能合约执行。
此外,系统还选择实用拜占庭容错算法(PBFT)设计了共识账户,共识节点可通过该账户核对区块信息执行智能合约并比对结果,直至确认交易为最新、确认签名信息等都一致才通过,且系统选择了所有参与方共同背书的策略,以进一步保证逻辑执行可信。
五、跨站协议及智能合约试运行机制
跨站协议是跨域应用之间进行可信数据交换、逻辑执行的基础,是一种需要系统各参与方之间进行沟通协调方可达成的跨站通信协议,当将每一次操作数据按照跨站协议数据结构格式化放入区块时,数据会采用JSON数据交换格式,且每一个区块可以放入一个或多个操作数据。此外,为了保障智能合约创建、修改、投产均符合各参与方协议结果,还需要各方共同建设智能合约试运行环境,并约定智能合约试运行机制,具体上线部署流程如下:
第一步,由各参与方共同协商智能合约,共同协定智能合约的不同执行条件(输入),并约定不同条件下合约执行的预期结果,制定调用的协议及接口;
第二步,根据协议,由某一家参与方实现智能合约,部署到试运行环境;
第三步,各参与方通过试运行环境测试验证,确认智能合约执行结果是否符合制定的预期结果,以及在不符合此前协定的情况下是否能正确地发出警报;
第四步,如果智能合约符合预期结果,则正式发布智能合约并上线运行。
六、架构效益总结
为测试业务承载能力,笔者团队对系统进行了功能及性能测试,并总结梳理出如下变化:
一是在网络安全方面,各参与方通过区块链节点进行数据交换、业务协同,对外只需暴露区块链节点接口,而不是各方业务系统接口,链上数据加密传输,可以最大程度保障接口、数据安全。
二是在数据存证方面,区块链可实现对链上业务、审批、资金等数据的存证,为监管及解决业务纠纷提供可信的、具有法律效应的数据支撑。
三是在数据共享方面,数据可以通过区块链实时共享,采用一事一议的方式,针对某一次需要的具体数据做一次性对接与供应,而不需要共享全部数据,且会对数据交换过程进行存证,数据供需双方无法抵赖。
四是在数据应用方面,各参与方可以对链上数据自主进行挖掘利用,也可以根据协定方式委托数据供应方或第三方进行数据处理,并只获取处理后的数据结果,实现原始数据的可用不可见。
五是在多方协同方面,利用区块链智能合约功能,各参与方可在对原应用系统及流程改动最少的情况下,实现多参与方之间业务、流程的自动化协同。
六是在业务监管方面,监管部门通过分析区块链存证的各类数据,可实时监管业务执行。
七是在资金监控方面,通过将资金交易各节点及具体账务数据上链,可实时监控资金流向,且利用区块链Token及智能合约功能,还能够指定资金用途,确保只有满足资金用途的交易才可执行。
本文刊于《中国金融电脑》2022年第6期
声明:本文来自FCC30+,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。