一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的对账方法、装置、设备和存储介质与流程

2022-03-01 22:16:47 来源:中国专利 TAG:


1.本技术涉及计算机技术,具体涉及基于一种基于区块链的对账方法、装置、设备和存储介质。


背景技术:

2.汇款,是付款方通过付款机构,使用一定的结算工具(例如,汇款票据),将款项交收款方的结算方式。
3.在传统的汇款方式中,经过付款方的汇款操作,即可在汇款机构之间完成汇款。这样的汇款方式安全性不高,汇款记录不方便保存,到账时间长而且也无法确认汇款交易状态。
4.此外,参与汇款业务的参与方(例如,收款机构和付款机构)之间需要定期(例如,每日)根据汇款金额进行对账。在对账时,所述参与方需要查询发生汇款的金额,然后再进行对账,这样的对账方式对参与方并不友好。


技术实现要素:

5.有鉴于此,本技术公开一种基于区块链的对账方法。所述区块链部署了用于管理汇款业务的第一智能合约;以及与所述第一智能合约关联的,用于进行对账的第二智能合约;所述区块链存证了与所述汇款业务对应的汇款信息;以及,所述第一智能合约维护了与所述汇款业务对应的交易状态。所述方法可以包括:接收与所述汇款业务相关的多个汇款参与方中的任一目标汇款参与方,针对所述第一智能合约发起的合约调用交易;其中,所述合约调用交易包括所述目标汇款参与方针对所述汇款信息的确认信息;响应于所述合约调用交易,调用所述第一智能合约包括的状态更新逻辑,在所述区块链中存证所述确认信息,并在所述确认信息存证完成后,确定所述区块链中是否存证了所述多个汇款参与方针对所述汇款信息的确认信息;如果是,将所述交易状态更新为交易完成状态;以及,响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账。
6.在一些实施例中,所述方法还包括:接收所述多个汇款参与方中的任意参与方发起的对账账单查询请求;响应于所述对账账单查询请求,将所述对账合约维护的与所述参与方对应的对账账单发送至所述参与方,以使所述参与方基于所述对账账单进行对账。
7.在一些实施例中,所述方法还包括:接收所述多个汇款参与方中的任意参与方发起的区块获取请求;所述获取请求包括时间段信息;响应于所述区块获取请求,向所述参与方发送所述时间段内生成的区块,以使所述参与方确定所述区块内包括的汇款业务的交易状态是否为交易完成状态,并在所述交易状态为交易完成状态时,根据所述汇款业务对应的汇款金额更新自身维护的对账账单。
8.在一些实施例中,所述方法还包括:响应于与所述汇款业务的汇款方对应的第一
交易子系统针对所述汇款业务发起的状态查询请求,将所述汇款业务的当前交易状态发送至所述第一交易子系统,以使所述第一交易子系统确定所述当前交易状态是否为交易完成状态,并在所述当前交易状态为交易完成状态时向收款方对应的第二交易子系统进行汇款操作。
9.在一些实施例中,所述方法还包括:响应于所述第一交易子系统确定所述当前交易状态为交易完成状态,将所述汇款方对应的汇款方账户中的与汇款金额对应的资金进行冻结;所述向收款方对应的第二交易子系统进行汇款操作之前,包括:对所述汇款方账户中的与所述汇款金额对应的资金进行解冻。
10.在一些实施例中,所述方法还包括:接收汇款方针对汇款业务发起的创建请求交易;响应于所述创建请求交易,调用所述汇款交易合约的初始化逻辑,创建与所述汇款方对应的汇款业务,并将与所述汇款业务对应的交易状态更新为初始化状态;和/或,接收所述汇款方针对所述汇款业务发起的汇款信息填写交易;所述汇款信息包括参与所述汇款业务的各参与方信息;响应于所述汇款信息填写交易,调用所述汇款交易合约的填写逻辑,将所述汇款信息存证至该汇款交易合约中与所述汇款业务对应的存储空间,并将所述交易状态更新为参与方信息填充完毕状态。
11.在一些实施例中,所述方法还包括:接收与收款方对应的第二交易子系统针对所述汇款业务发起的第一查询请求;响应于所述第一查询请求,将与所述汇款业务对应的汇款信息发送至所述第二交易子系统,以使所述第二交易子系统响应于对所述汇款信息验证通过,生成汇款确认信息并存证至所述存储空间以完成针对所述汇款业务的初步验证。
12.在一些实施例中,在将与所述汇款业务对应的汇款信息发送至所述第二交易子系统之前,还包括:确定发起所述第一查询请求对应的第二交易子系统是否为所述汇款信息中指示的第二交易子系统;如果是,将与所述汇款业务对应的汇款信息发送至所述第二交易子系统。
13.在一些实施例中,所述方法还包括:响应于完成针对所述汇款业务的初步验证,将所述交易状态更新为汇款信息填写完毕状态。
14.在一些实施例中,所述方法还包括:接收所述汇款方针对所述汇款业务发起的第二查询请求;响应于所述第二查询请求,将与所述汇款业务对应的汇款确认信息发送至所述汇款方,以使所述汇款方响应于针对所述汇款确认信息验证通过,生成扣费请求并将所述扣费请求存证至所述存储空间。
15.在一些实施例中,所述方法还包括:接收与所述汇款方对应的第一交易子系统针对所述汇款业务发起的第三查询请求;响应于所述第三查询请求,将与所述汇款业务对应的扣费请求发送至所述第一交易子系统,以使所述第一交易子系统响应于对所述扣费请求验证通过,生成扣费请求确认信息以及资金汇入请求并存证至所述存储空间以完成针对所述汇款业务的验证。
16.在一些实施例中,所述第一交易子系统对所述扣费请求进行验证,包括:所述第一交易子系统获取与所述汇款业务关联的汇款信息和汇款确认信息;基于所述汇款确认信息对所述汇款方进行汇款校验,以及基于所述汇款信息和所述汇款确认信息对所述扣费请求进行真实性校验。
17.在一些实施例中,所述汇款确认信息包括所述汇款方在所述第一交易子系统开通
的汇款方账户和汇款金额;所述基于所述汇款确认信息对所述汇款方进行汇款校验,包括:校验所述汇款确认信息中的汇款方账户的账户余额是否达到所述汇款金额;如果是,确定对所述汇款方的汇款校验通过;所述基于所述汇款信息和所述汇款确认信息对所述扣费请求进行真实性校验,包括:对所述汇款信息包括的第一数字签名和所述汇款确认信息包括的第二数字签名进行身份验证;如果所述第一数字签名对应的身份为所述汇款方并且所述第二数字签名对应的身份为所述第二交易子系统,则确定对所述扣费请求的真实性验证通过。
18.在一些实施例中,所述方法还包括:接收与所述第二交易子系统针对所述汇款业务发起的第四查询请求;响应于所述第四查询请求,将与所述汇款业务对应的资金汇入请求发送至所述第二交易子系统,以使所述第二交易子系统响应于对所述资金汇入请求验证通过,生成资金汇入确认信息并存证至所述存储空间以完成针对所述汇款业务的二次验证。
19.在一些实施例中,所述方法还包括:响应于所述第四查询请求,将与所述汇款业务对应的当前交易状态发送至所述第二交易子系统,以使所述第二交易子系统对所述当前交易状态进行验证。
20.在一些实施例中,所述第二交易子系统对所述当前交易状态进行验证,包括:所述第二交易子系统确定所述当前交易状态是否为汇款信息填写完毕状态,并在所述当前交易状态为汇款信息填写完毕状态是确定通过对交易状态的验证;所述第二交易子系统对所述资金汇入请求验证,包括:所述第二交易子系统获取与所述汇款业务关联的汇款信息,汇款确认信息以及扣费请求;对所述汇款信息包括的第一数字签名,所述汇款确认信息包括的第二数字签名,所述扣费请求包括的第三数字签名、所述扣费请求包括的第四数字签名以及所述资金汇入请求包括的第五数字签名进行身份验证;如果所述第一数字签名和所述第三数字签名对应的身份为所述汇款方,所述第二数字签名对应的身份为所述第二交易子系统并且所述第四数字签名和第五数字签名对应的身份为所述第一交易子系统,确定对所述资金汇入请求的验证通过。
21.在一些实施例中,所述向收款方对应的第二交易子系统进行汇款操作,包括:从所述汇款方在所述第二交易子系统开设的汇款方账户余额中扣除与所述汇款金额对应的资金,并在扣款成功后在区块链存证对应的扣款凭证;向所述第二交易子系统提交转账请求,其中,所述转账请求包括所述扣款凭证对应的存证标识,以使所述第二交易子系统根据所述存证标识,获取所述区块链存证的所述扣款凭证,并对所述扣款凭证包括的第六数字签名进行身份验证,如果所述六数字签名的身份为所述第一交易子系统,接收从所述汇款方账户扣除的资金。
22.在一些实施例中,所述汇款业务包括跨境汇款业务;和/或,所述汇款业务包括同币种的跨境汇款业务。
23.在一些实施例中,所述多个汇款参与方包括:与所述汇款业务对应的汇款方;与所述汇款方对应的第一交易子系统;与所述汇款方指定的收款方对应的第二交易子系统。
24.本技术还公开一种基于区块链的对账装置,所述区块链部署了用于管理汇款业务的第一智能合约;以及与所述第一智能合约关联的,用于进行对账的第二智能合约;所述区块链存证了与所述汇款业务对应的汇款信息;以及,所述第一智能合约维护了与所述汇款
业务对应的交易状态;所述装置包括:接收模块,接收与所述汇款业务相关的多个汇款参与方中的任一目标汇款参与方,针对所述第一智能合约发起的合约调用交易;其中,所述合约调用交易包括所述目标汇款参与方针对所述汇款信息的确认信息;调用模块,响应于所述合约调用交易,调用所述第一智能合约包括的状态更新逻辑,在所述区块链中存证所述确认信息,并在所述确认信息存证完成后,确定所述区块链中是否存证了所述多个汇款参与方针对所述汇款信息的确认信息;如果是,将所述交易状态更新为交易完成状态;以及,响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账。
25.本技术还公开一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如前述任一实施例示出的对账方法。
26.本技术还公开一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于使处理器执行如前述任一实施例示出的对账方法。
27.在前述实施例公开的方案中,第一,可以响应于任一汇款参与方发起的第一智能合约调用交易,调用所述第一智能合约包括的状态更新逻辑,进行确认信息的存证,由此可以利用区块链透明化、不可篡改的特性,使得汇款信息确认过程有迹可循,保证了汇款业务的可溯源性与可靠性。
28.第二,可以在所述确认信息存证完成后,在确定所述区块链中存证了所述多个汇款参与方针对所述汇款信息的确认信息的情况下,将所述交易状态更新为交易完成状态,从而可以利用第一智能合约维护汇款业务交易状态,使汇款参与方便于确认当前交易状态。
29.第三,可以响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账,从而可以利用第一智能合约与第二智能合约之间的嵌套,无需参与方专门进行对账账单维护,实现对账账单的自动维护。
30.应当理解的是,以所述的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
31.为了更清楚地说明本技术一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1为本技术示出的一种创建智能合约的示意图;
33.图2为本技术提出的一种基于区块链的对账方法的方法流程图;
34.图3为本技术示出的一种跨境汇款场景图;
35.图4为本技术示出的一种汇款信息验证的交互流程图;
36.图5为本技术示出的一种交易状态变更示意图;
37.图6为本技术示出的一种扣费请求验证的交互示意图;
38.图7为本技术示出的一种资金汇入请求验证的交互示意图;
39.图8为本技术示出的一种汇款操作方法的流程示意图;
40.图9为本技术示出的一种基于区块链的对账装置的结构示意图;
41.图10为本技术示出的一种电子设备的硬件结构示意图。
具体实施方式
42.下面将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的设备和方法的例子。
43.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在可以包括多数形式,除非所述下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,本文中所使用的词语“如果”,取决于语境,可以被解释成为“在......时”或“当......时”或“响应于确定”。
44.区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
45.区块链一般被划分为三种类型:公有链(public blockchain),私有链(private blockchain)和联盟链(consortium blockchain)。此外,还有多种类型的结合,比如私有链 联盟链、联盟链 公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。
46.而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。
47.联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
48.不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
49.以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑,这是以太坊区别于比特币区块链技术的最大挑战。以太坊作为一个可编程区块链的核心是以太坊虚拟机(evm),每个以太坊节点都可以运行evm。evm是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在evm上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上
的智能合约可以是字节码的形式。
50.例如图1所示,bob将一个包含创建智能合约信息的交易(transaction)发送到以太坊网络后,节点1的evm可以执行这个交易并生成对应的合约实例。图1中的“0x68e12cf284...”代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为一个空的账户。节点间通过共识机制达成一致后,这个合约成功创建,后续用户可以调用这个合约。
51.合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码和账户存储将保存在该合约账户中。智能合约的行为由合约代码控制,而智能合约的账户存储(storage)则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
52.前述提到,包含创建智能合约的交易的data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,采用诸如solidity、serpent、lll语言等高级语言。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
53.以solidity语言为例,用其编写的合约与面向对象编程语言中的类(class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储中的值,用于保存合约的状态。
54.本技术旨在提出一种基于区块链的对账方法。该方法一方面交易通过智能合约进行汇款业务的监管推进和交易状态维护,使得汇款过程和交易状态可追溯;另一方面可以通过第一智能合约与第二智能合约的嵌套,实现对账账单的自动维护。
55.在一些实施例中,所述对账方法可以应用于基于区块链构建的汇款业务系统。
56.所述汇款业务系统(以下简称业务系统)可以是由提供汇款服务的运营方根据需求开发的系统。所述区块链可以包括若干节点设备,用于进行共识运算。该系统可以包括与汇款方对应的第一交易子系统(以下称为第一系统),以及与收款方对应的第二交易子系统(以下称为第二系统)。所述汇款业务系统可以为所述第一系统、所述第二系统以及汇款方(比如汇款方客户端)提供服务,以完成汇款。
57.在一些实施例中,所述汇款业务可以是跨境汇款业务。所述第一系统和所述第二系统可以为跨境交易系统。所述汇款可以包括同币种的跨境汇款,即不涉及币种转换。
58.所述第一系统可以是与汇款方对应的汇款机构开发的系统。
59.所述汇款方可以是具有汇款需求的用户。所述汇款方可以通过自身对应的客户端与第一系统、第二系统或所述业务系统进行交互。所述汇款方可以预先在所述区块链中进行注册。在完成注册后,所述汇款方可以接收所述区块链为其分配的公私钥对。所述汇款方可以在所述区块链中广播其持有的公钥,也可以利用其持有的私钥进行数字签名。
60.所述第一系统可以是银行等进行资金交易业务的机构系统。可以理解的是,所述汇款方可以在所述第一系统中开设汇款方账户,用于存储所述汇款方持有的资产。所述第一系统可以预先在所述区块链中完成注册。在完成注册后,所述第一系统可以接收所述区块链为其分配的公私钥对。所述第一系统可以在所述区块链中广播其持有的公钥,也可以利用其持有的私钥进行数字签名。
61.所述第二系统可以是与收款方对应的收款机构开发的系统。
62.所述第二系统可以是银行等进行收款业务的机构系统。可以理解的是,所述收款方可以在所述第二系统中开设收款方账户,用于存储所述收款方持有的资产。所述第二系统可以预先在所述区块链中完成注册。在完成注册后,所述第二系统可以接收所述区块链为其分配的公私钥对。所述第二系统可以在所述区块链中广播其持有的公钥,也可以利用其持有的私钥进行数字签名。
63.可以理解的是,所述第一系统与所述第二系统之间的角色可以相互转换。例如,当收款方进行汇款业务时,所述第二系统可以是进行汇款业务的系统;而所述第一系统可以是进行收款业务的系统。
64.在本技术中参与汇款业务的参与方可以包括所述汇款方,所述第一系统(汇款机构),所述第二系统(收款机构)。在一些实施例中,所述参与方还可以包括诸如交易监管机构,收款方等。
65.所述区块链可以部署了用于管理汇款业务的第一智能合约;以及与所述第一智能合约关联的,用于进行对账的第二智能合约;所述区块链存证了与所述汇款业务对应的汇款信息;以及,所述第一智能合约维护了与所述汇款业务对应的交易状态。
66.所述第一智能合约(以下称为汇款合约),可以是由汇款服务运营方根据业务需求预先部署在所述区块链的智能合约。该合约可以包括汇款逻辑,用于响应汇款方发起的汇款请求,使参与所述汇款业务的各参与方对所述汇款业务进行验证,并响应于各参与方验证通过执行汇款操作,以及进一步调用所述第二智能合约的对账逻辑,根据所述汇款业务表征的金额更新各参与方之间的对账账单。
67.所述汇款逻辑中可以包括初始化逻辑,存证逻辑以及调用逻辑。
68.其中,所述初始化逻辑,可以用于响应于汇款方发起的汇款业务创建请求,为所述汇款方创建一笔汇款业务,并在所述智能合约的合约账户中为该汇款业务分配关联存储空间来存证与该汇款业务有关联的业务信息。例如,所述业务信息可以包括汇款业务参与方账户信息,汇款金额,各参与方针对汇款业务发起的汇款请求信息和验证信息等。
69.所述存证逻辑,可以用于存证与汇款业务相关的业务信息,以推进汇款业务。例如,当汇款方将汇款信息存证至所述智能合约后,可以进一步通知第二系统进行汇款信息验证,从而推动汇款业务。再例如,当汇款方将扣费请求存证至所述智能合约后,可以通知第一系统对扣费请求进行验证,从而推动汇款业务。可以理解的是,在推动汇款业务时,在示出的一种方式中可以是由智能合约在检测到需要推动汇款业务时,将通知消息发布至区块链,以由接收通知消息的一方通过监听等方式获取该通知消息。在示出的另一种方式中可以由所述汇款合约将汇款业务对应的id以及合约账户地址等信息返回至调用合约的参与方,然后由该参与方通过诸如消息推送等方式将合约账户地址信息以及汇款业务id信息推送至下一参与方完成汇款业务推动。
70.所述调用逻辑,可以用于响应于完成汇款,进一步调用第二智能合约完成参与方之间对账账单的更新,进而实现自动对账。
71.在一些实施例中,所述汇款合约可以维护与所述汇款业务对应的交易状态。该交易状态可以包括表征汇款业务当前交易状态的状态标识。此时所述汇款合约还可以包括状态更新逻辑,用于响应于满足预设条件,将所述状态标识切换为于满足的预设条件对应的
状态标识。例如,所述切换逻辑中可以包括若干预设条件于状态标识的对应关系。其中一个预设条件可以为汇款方调用初始化逻辑,响应于满足该条件可以将状态标识切换为表征初始化状态的标识(比如,数字0标识初始化状态)。在本例中,各参与方可以通过查询汇款业务的状态标识,可以确定当前汇款业务对应的交易状态,从而便于参与方了解汇款业务交易状态。
72.在一些实施例中,所述汇款合约还可以包括查询逻辑,用于响应于参与方发起的查询请求,查询合约账户中与所述汇款业务对应的业务信息或交易状态并通过区块链节点设备将查询到的信息发送至参与方。
73.所述第二智能合约(以下称为对账合约),可以由所述运营方开发并预先部署在所述区块链中,所述对账合约可以包括对账逻辑,用于实现根据所述汇款业务表征的金额更新各参与方之间的对账账单。在一些实施例中,所述对账合约可以以子程序的形式嵌套在所述汇款合约中,当所述汇款合约检测到各参与方均完成验证后,可以通过call指令等方式进一步调用该对账合约完成对账。
74.请参见图2,图2为本技术提出的一种基于区块链的对账方法的方法流程图。
75.如图2所示,所述对账方法可以包括:
76.s202,接收与所述汇款业务相关的多个汇款参与方中的任一目标汇款参与方,针对所述第一智能合约发起的合约调用交易;其中,所述合约调用交易包括所述目标汇款参与方针对所述汇款信息的确认信息。
77.所述目标汇款参与方可以为多个汇款参与方中的任一方。例如,所述目标汇款参与方可以是汇款方,第一系统和第二系统中的任一。
78.参与汇款业务的任意汇款参与方均需要对区块链中存证的汇款信息进行确认,只有各参与方均对汇款信息完成确认才允许进行汇款。任一参与方在对汇款信息完成确认后,可以通过自身对应的汇款客户端向业务系统发送所述合约调用交易。其中,该交易中可以包括针对汇款信息的确认信息。
79.s204,响应于所述合约调用交易,调用所述第一智能合约包括的状态更新逻辑,在所述区块链中存证所述确认信息,并在所述确认信息存证完成后,确定所述区块链中是否存证了所述多个汇款参与方针对所述汇款信息的确认信息;如果是,将所述交易状态更新为交易完成状态;以及,
80.响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账。
81.在一些实施例中,所述业务系统可以响应于所述合约调用交易,先调用存证逻辑,在所述区块链中存证所述确认信息。然后可以进一步调用状态更新逻辑,确定区块链是否存证了包括所述多个汇款参与方中各参与方对应的签名信息的确认信息。如果区块链中存证了前述确认信息。则可以确定各参与方已经完成汇款信息的确认,可以执行汇款业务。其中,所述汇款业务可以在区块链上执行,或者在区块链外执行。不论汇款业务在链下或链上执行,所述系统均可以通过所述状态更新逻辑,将当前交易状态更新为交易完成状态。
82.在一些实施例中,所述状态更新逻辑可以内嵌调用逻辑。所述业务系统可以通过所述状态更新逻辑判断当前交易状态是否为交易完成状态,如果是,则可以通过调用逻辑,
调用对账合约中包括的对账逻辑。
83.所述业务系统可以通过所述对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账。
84.在一些实施例中,所述对账合约的合约账户中维护了不同参与方之间的对账账单。例如,可以维护两个参与汇款业务的银行机构之间的对账账单,当所述两个银行机构之间完成一笔汇款业务后,所述对账合约可以根据所述汇款业务表征的汇款金额(即汇款信息表征的汇款金额)更新所述对账账单,由此无需所述两个银行机构参与账单维护,解放了银行机构,为银行对账提供了便捷。
85.在一些实施例中,当任意参与方有对账账单查询需求时,可以向业务系统发起对账账单查询请求。所述业务系统可以接收任意参与方发起的对账账单查询请求;并响应于所述对账账单查询请求,将所述第二智能合约维护的与所述参与方对应的对账账单发送至所述参与方,以使所述参与方基于所述对账账单进行对账。
86.在示出的一些方式中,所述对账账单查询请求可以包括发起该请求的参与方标识(例如,身份id)。所述业务系统可以根据所述参与方标识,通过区块链节点设备查阅所述对账合约的合约账户为维护的与所述参与方对应的对账账单。然后,所述业务系统可以将查询到的对账账单发送至所述参与方,以由所述参与方基于该账单进行对账。由此可以使参与方便捷的获取到对账账单,从而完成对账。
87.在示出的一些方式中,所述业务系统可以响应于所述对账账单查询请求,构建对账合约调用交易,以调用所述对账合约的查询逻辑,从该对账合约的合约账户中查阅与所述参与方标识对应的对账账单,并将该账单发布至区块链,以由所述参与方通过诸如监听等方式获取所述对账账单,从而完成对账。
88.在所述方案中,第一,可以响应于任一汇款参与方发起的第一智能合约调用交易,调用所述第一智能合约包括的状态更新逻辑,进行确认信息的存证,由此可以利用区块链透明化、不可篡改的特性,使得汇款信息确认过程有迹可循,保证了汇款业务的可溯源性与可靠性。
89.第二,可以在所述确认信息存证完成后,在确定所述区块链中存证了所述多个汇款参与方针对所述汇款信息的确认信息的情况下,将所述交易状态更新为交易完成状态,从而可以利用第一智能合约维护汇款业务交易状态,使汇款参与方便于确认当前交易状态。
90.第三,可以响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于所述汇款业务的清分对账,从而可以利用第一智能合约与第二智能合约之间的嵌套,无需参与方专门进行对账账单维护,实现对账账单的自动维护。
91.在一些实施例中,汇款合约中可以预先配置状态标识与交易状态的对应关系,从而可以根据不同交易状态置为不同的状态标识。
92.在一些实施例中,当第一系统需要向第二系统划拨汇款时,可以向业务系统发送汇款业务的交易状态查询请求。所述业务系统可以响应于所述状态查询请求,将所述汇款业务的当前交易状态发送至所述第一系统,以使所述第一系统确定所述当前交易状态是否为交易完成状态,并在所述当前交易状态为交易完成状态时向收款方对应的第二系统进行
汇款操作。
93.在一些实施例中,所述业务系统可以根据待汇款的汇款业务id查阅该id对应的交易状态,然后可以将交易状态发送给第一系统以完成后续汇款操作。
94.在一些实施例中,所述业务系统可以构建状态查询交易,调用所述汇款合约包括的查询逻辑,以从该合约的合约账户中获取待汇款的汇款业务的交易状态。然后所述业务系统可以将该交易状态发送至第一系统以完成后续汇款操作。
95.由此可以使交易系统通过与汇款业务对应的交易状态来确定是否进行汇款操作,从而简化了第一系统进行汇款业务确认的流程,进而提升了汇款效率。
96.在一些实施例中,各参与方还可以通过拉区块的方式维护对帐账单。所述业务系统可以接收任意参与方发起的区块获取请求。所述获取请求包括时间段信息。然后,所述业务系统可以响应于所述区块获取请求,向所述参与方发送所述时间段内生成的区块,以使所述参与方确定所述区块内包括的汇款业务的交易状态是否为交易完成状态,并在所述交易状态为交易完成状态时,根据所述汇款业务对应的汇款金额更新自身维护的对账账单。
97.所述时间段信息,可以是由开始时刻和结束时刻构成的时间区间。在一些实施例中,所述开始时刻可以是上一次发送区块获取请求的时刻,所述结束时刻可以是当前发送区块获取请求的时刻。
98.在一些实施例中各参与方可以通过在本地部署sdk(software development kit,软件开发包)或消息订阅等方式从区块链链中获取存证的区块。举例来说,与汇款方对应的第一系统可以通过sdk定期向业务系统发送区块获取请求,以获取两次区块获取请求之间新生成的区块。然后所述第一系统可以对区块进行初步筛选,获取所述对汇款约发布的区块。之后再通过判断获取的区块中的汇款业务的交易状态是否为交易完成状态,并根据交易完成状态的汇款业务表征的汇款金额更新自身维护的对账账单。
99.在一些实施例中,参与方可以针对不同的其它参与方分别维护对账账单,在更新对账账单时,可以根据汇款业务表征的其它参与方,更新对应的对账账单。
100.由此各参与方不仅可以通过查询对账合约获取对账账单,各参与方还可以根据交易完成状态的汇款业务各自维护对账账单,从而可以将合约维护的账单与自身维护的账单进行核对,确保对账过程的可靠性。
101.以下结合具体的跨境汇款场景进行实施例描述。
102.在跨境汇款领域中,通常通过swift(society worldwide interbank financial telecommunication,环球同业银行金融电讯协会)系统进行跨境汇款。但是利用swift系统进行跨境汇款存在到账时间长,手续费高等问题。
103.目前也会通过速汇公司提供小时级别的跨境汇款解决方案,但是需要依托与速汇公司研发的系统,风险较高。汇款机构普遍不信任速汇公司提供的跨境汇款服务。
104.请参见图3,图3为本技术示出的一种跨境汇款场景图。
105.图3示出的汇款业务系统为基于区块链构建的跨境业务系统(以下简称业务系统)。所述业务系统可以包括区块链网络(以下简称区块链)、汇款方a对应的客户端(以下简称汇款方a)、第一系统b以及第二系统c。
106.所述区块链可以包括汇款方a、第一系统b以及第二系统c对应的节点设备。
107.所述区块链可以包括业务服务端(例如,baas(backend as a service,后端即服
务)平台)。该业务服务端可以作为区块链对外交互的平台,与汇款方a、第一系统b以及第二系统c进行数据交互。例如,所述业务服务端可以接收汇款方a发起的汇款业务创建请求,向区块链发起汇款合约调用交易,以完成汇款业务的创建和初始化。再例如,所述业务服务端可以从区块链中获取区块链向汇款方a返回的存证收据,并将该收据发送至汇款方a。
108.汇款方a为有汇款需求的用户。该汇款方在所述区块链进行注册,获取区块链为其分配对公私钥对。
109.第一系统b可以是汇款方a对应的第一系统。汇款方a可以在所述第一系统中开设汇款方账户。
110.第二系统c可以是收款方对应的第二系统。收款方可以在所述第一系统中开设收款方账户。
111.所述汇款方a、所述第一系统b(以下简称系统b)、所述第二系统c(以下简称系统c)可以在所述区块链中进行了注册,并获取了区块链为其分配的公私钥对。其中,公钥可以广播至所述业务系统包括的各节点;私钥可以用于签名。
112.在一些实施例中,跨境汇款可以包括4个验证过程,具体包括:汇款方与系统c之间进行汇款信息验证;汇款方与系统b之间进行扣费请求验证;系统b与系统c之间进行资金汇入请求验证;以及,完成系统b与系统c之间的汇款操作。
113.在一些实施例中,所述汇款方a可以与所述系统c针对汇款信息进行验证。请参见图4,图4为本技术示出的一种汇款信息验证的交互流程图。图4未示出系统b。
114.如图4所示,当汇款方a有一笔汇款业务需求时,可以执行s41,针对该笔汇款业务向所述区块链发送汇款业务创建交易。所述区块链可以执行s42,接收汇款方针对汇款业务发起的创建请求交易。然后,响应于所述创建请求交易,调用所述第一智能合约的初始化逻辑,创建与所述汇款方对应的汇款业务,并将与所述汇款业务对应的交易状态更新为初始化状态。
115.在一些实施例中,在初始化过程中,所述汇款合约可以为所述汇款业务分配唯一id,以及为所述汇款业务分配一段存储空间,用于存储与汇款业务相关的信息,例如状态标识(此时为初始化状态标识),汇款信息等。
116.请参见图5,图5为本技术示出的一种交易状态变更示意图。
117.如图5所示,当汇款方触发汇款合约初始化逻辑后,所述汇款合约可以通过状态更新逻辑,将汇款业务交易状态切换为初始化状态。
118.之后,所述汇款方可以根据汇款需求生成(填写)汇款信息。所述汇款信息可以表征汇款金额。
119.所述收款方a可以执行s43,向所述区块链发送汇款信息填写交易。其中。所述汇款信息除了包括汇款金额外,还可以包括参与所述汇款业务的各参与方信息。其中,所述参与方信息可以包括参与该笔汇款业务的第一系统和第二系统的系统id、公钥信息,以及收款方和汇款方开设的账户信息,可以理解的是,所述收款方a可以利用其持有的私钥对所述汇款信息进行签名,得到包括第一数字签名的汇款信息。
120.所述区块链可以执行s44,接收所述汇款信息填写交易,并响应于所述汇款信息填写交易,调用所述第一智能合约的填写逻辑,将所述汇款信息存证至该第一智能合约中与所述汇款业务对应的存储空间,并将所述交易状态更新为参与方信息填充完毕状态。
121.如图5所示,示例性的,当汇款方完成汇款信息填写后,可以将汇款业务状态切换为参与方信息填写完毕状态。
122.之后,所述汇款方可以将所述汇款业务的id以及该汇款合约的账户地址发送至所述系统c。所述系统c可以根据接收的id以及合约账户地址信息执行s45,向所述区块链发起第一查询请求。
123.所述区块链可以执行s46,响应于所述第一查询请求,将与所述汇款业务对应的汇款信息发送至所述第二系统,以使所述第二系统响应于对所述汇款信息验证通过,生成汇款确认信息并存证至所述存储空间以完成针对所述汇款业务的初步验证。
124.在一些实施例中,所述系统c在获取所述汇款信息后,可以利用所述汇款方a对应对公钥对所述汇款信息包括的数字签名进行身份验证,如果验证通过,则说明所述数字签名为所述汇款方a,即可以说明所述汇款信息的真实性。然后,所述系统c可以根据诸如扣除手续费等其它业务规则对所述汇款信息进行修改生成汇款确认信息。可以理解的是,所述汇款确认信息可以表征需要扣除的手续费,以及在扣除诸如手续费等必要费用后,收款方实际收到的金额。
125.在生成汇款确认信息后,所述系统c可以执行s47,通过调用所述汇款合约的存证逻辑,将所述汇款确认信息存证至所述区块链。可以理解的是,所述系统c可以根据持有的私钥对所述汇款确认信息进行数字签名,得到包括第二数字签名的汇款确认信息。
126.在一些实施例中,为了提升汇款流程可信性,在将与所述汇款业务对应的汇款信息发送至所述第二系统之前,还可以确定发起所述第一查询请求对应的第二系统是否为所述汇款信息中指示的第二系统;如果是,将与所述汇款业务对应的汇款信息发送至所述第二系统。
127.在一些实施例中,可以通过所述汇款方a存证的汇款信息指示的系统c的公钥对第一查询请求进行身份验证,如果验证通过,则可以确定发起所述第一查询请求对应的第二系统为所述汇款信息中指示的第二系统。
128.在一些实施例中,如图5所示,当系统c通过汇款信息初步验证后,可以调用所述汇款合约的状态更新逻辑,将所述交易状态更新为汇款信息填写完毕状态。
129.在一些实施例中,当系统c完成汇款确认信息存证后,可以通知汇款方a。
130.所述汇款方a可以执行s48,向所述区块链发送针对该笔汇款业务的第二查询请求。
131.所述区块链可以执行s49,接收所述第二查询请求,并响应于所述第二查询请求,将与所述汇款业务对应的汇款确认信息发送至所述汇款方,以使所述汇款方响应于针对所述汇款确认信息验证通过,生成扣费请求并将所述扣费请求存证至所述存储空间。
132.在一些实施例中,所述汇款方a可以对所述汇款确认信息表征的需要扣除的手续费和收款方实际收到的金额进行确认。如果确认无误,则完成针对汇款信息的验证过程。
133.在所述验证过程中,可以通过汇款合约将汇款方a与系统c之间的汇款交互信息(包括汇款信息以及汇款确认消息)存证在区块链中,利用区块链的不可篡改特性可以保证汇款流程的可信性。
134.在一些实施例中,在完成汇款信息验证后,所述汇款方a与所述系统b可以针对扣费请求进行验证。
135.请参见图6,图6为本技术示出的一种扣费请求验证的交互示意图。图6中未示意出系统c。
136.在一些实施例中,所述汇款方a可以执行s61,根据所述汇款确认信息生成扣费请求,然后通过调用所述汇款合约的存证逻辑,将所述扣费请求存证在为该笔汇款业务分配的存储空间。可以理解的是,所述汇款方a可以利用汇款方a对应的私钥对所述扣费请求进行数字签名,得到包括第三数字签名的扣费请求。
137.之后,所述汇款方a可以将该笔汇款业务的id以及所述汇款合约的账户地址发送至所述系统b。所述系统b可以根据所述id以及所述账户地址执行s62,针对该笔汇款业务,向所述区块链发送第三查询请求。
138.所述区块链可以执行s63,接收与所述汇款方对应的第一系统针对所述汇款业务发起的第三查询请求,并响应于所述第三查询请求,将与所述汇款业务对应的扣费请求发送至所述第一系统,以使所述第一系统响应于对所述扣费请求验证通过,生成资金汇入请求并存证至所述存储空间以完成针对所述汇款业务的验证。
139.在一些实施例中,所述第三查询请求可以查询汇款方存证的汇款信息以及系统c存证的汇款确认信息。所述系统b在获取所述信息后,可以执行s64,基于所述汇款确认信息对所述汇款方进行汇款校验,以及基于所述汇款信息和所述汇款确认信息对所述扣费请求进行真实性校验。
140.在一些实施例中,所述汇款确认信息包括所述汇款方a在所述系统b开通的汇款方a账户和汇款金额。在基于所述汇款确认信息对所述汇款方a进行汇款校验时,可以校验所述汇款信息中的汇款方a账户的账户余额是否达到所述汇款金额;如果是,确定对所述汇款方a的汇款校验通过。
141.在一些实施例中,可以对所述汇款信息包括的第一数字签名和所述汇款确认信息包括的第二数字签名进行身份验证。例如,可以使用所述汇款方a对应的公钥对所述第一数字签名进行验证,如果验证通过,则确定所述第一数字签名的身份为所述汇款方a。同理可以使用系统c的公钥对所述第二数字签名进行验证。
142.如果所述第一数字签名对应的身份为所述汇款方a并且所述第二数字签名对应的身份为所述系统c,则确定对所述扣费请求的验证通过。
143.如果两方面的验证均通过时,可以确认对所述扣费请求的验证通过。需要说明的是,在本技术中不限定所述两方面验证的先后顺序。
144.之后,所述系统b可以执行s65,响应于所述验证通过,基于所述扣费请求生成扣费请求确认信息,并通过调用汇款合约的存证逻辑,将所述扣费请求确认信息存证至所述存储空间,从而完成针对扣费请求的确认过程。可以理解的是,所述系统b可以利用持有的私钥对所述扣费请求进行数字签名,得到包括第四数字签名的扣费请求确认信息。
145.在扣费请求验证过程中,通过汇款合约将汇款方a与系统b之间的汇款交互信息(包括扣费请求和扣费请求确认信息)存证至区块链,利用区块链的不可篡改特性可以保证汇款流程的可信性。
146.在一些实施例中,在完成扣费请求验证后,系统b与系统c之间可以进行资金汇入请求验证。
147.请参见图7,图7为本技术示出的一种资金汇入请求验证的交互示意图。图7未示出
汇款方a。
148.在完成扣费请求验证后,所述系统b可以执行s71,根据扣费请求生成资金汇入请求,并将所述资金汇入请求存证在所述存储空间。可以理解的是,所述系统b可以利用持有的私钥对所述资金汇入请求进行数字签名,得到包括第五数字签名的资金汇入请求。
149.在一些实施例中,响应于所述系统b对所述汇款业务验证通过,可以将所述汇款方对应的汇款方账户中的与汇款金额对应的资金进行冻结。进而确保汇款方账户中有足够的金额完成汇款。
150.在一些实施例中,完成资金汇入请求存证后,所述系统b可以通知所述系统c。所述系统c可以执行s72,针对该笔汇款业务向所述区块链发起第四查询请求。
151.所述区块链可以执行s73,接收所述第四查询请求,并响应于所述第四查询请求,将与所述汇款业务对应的资金汇入请求发送至所述第二系统,以使所述第二系统响应于对所述资金汇入请求验证通过,生成资金汇入确认信息并存证至所述存储空间以完成针对所述汇款业务的二次验证。
152.在一些实施例中,所述第四查询请求可以包括查询该笔汇款业务的当前交易状态,汇款方存证的汇款信息和扣费请求,系统b存证的扣费请求确认信息以及系统c存证的汇款确认信息。
153.所述系统c在获取所述信息后,可以执行s74,一方面对所述当前交易状态进行验证。在一些实施例中,所述第二系统确定所述当前交易状态是否为汇款信息填写完毕状态,并在所述当前交易状态为汇款信息填写完毕状态是确定通过对交易状态的验证。
154.另一方面,可以对资金汇入请求进行验证。在一些实施例中,所述系统c
155.可以对所述汇款信息包括的第一数字签名,所述汇款确认信息包括的第二数字签名,所述扣费请求包括的第三数字签名、所述扣费请求包括的第四数字签名以及所述资金汇入请求包括的第五数字签名进行身份验证。如果所述第一数字签名和所述第三数字签名对应的身份为所述汇款方,所述第二数字签名对应的身份为所述第二系统并且所述第四数字签名和第五数字签名对应的身份为所述第一系统,确定对所述资金汇入请求的验证通过。
156.在一些实施例中,如果针对所述两方面的验证均通过,则所述系统c可以执行s75,生成资金汇入确认信息并存证至所述存储空间以完成针对该笔汇款业务的二次验证。可以逻辑的是,所述系统c可以利用持有的私钥对所述资金汇入确认信息进行数字签名,得到包括第六数字签名的资金汇入确认信息。
157.在一些实施例中,如图5所示,当前参与该笔汇款业务的全部参与方均已对该笔汇款业务完成验证,所述存储空间也存储了全部验证信息,此时所述汇款合约可以将该笔汇款业务切换为交易完成状态。
158.在所述验证过程中,通过汇款合约可以存证系统b与系统c之间的资金汇入请求的验证信息,保证汇款流程的可信性。
159.在一些实施例中,在完成针对资金汇入请求的验证后,可以进行系统b与系统c之间的汇款操作。
160.请参见图8,图8为本技术示出的一种汇款操作方法的流程示意图。图8未示出汇款方a。
161.在一些实施例中,所述系统c可以通知系统b已完成验证。所述系统b可以执行s81,向所述区块发起针对该笔汇款业务的状态查询请求。
162.所述区块链可以执行s82,响应于与所述汇款方对应的第一系统针对所述汇款业务发起的状态查询请求,将所述汇款业务的当前交易状态发送至所述第一系统,以使所述第一系统确定所述当前交易状态是否为交易完成状态,并在所述当前交易状态为交易完成状态时向收款方对应的第二系统进行汇款操作。
163.在一些实施例中,所述系统b可以对所述汇款方账户中的与所述汇款金额对应的资金进行解冻,并继续完成汇款操作。
164.在一些实施例中,在基于所述资金汇入请求确认信息指示的汇款金额向所述系统c进行汇款操作时,可以从所述汇款方a在所述系统b开设的汇款方a账户余额中扣除与所述汇款金额对应的资金,并在扣款成功后在区块链存证对应的扣款凭证。
165.然后,向所述系统c提交转账请求,其中,所述转账请求包括所述扣款凭证对应的存证标识。
166.所述系统c在接收到所述转账请求后,可以根据所述存证标识,获取所述区块链存证的所述扣款凭证。然后,对所述扣款凭证包括的第六数字签名进行身份验证,如果所述第六数字签名的身份为所述系统b,则接收从所述汇款方a账户扣除的资金。
167.在本例中,第一,可以通过区块链记录转账过程,从而可以利用区块链透明化、不可篡改的特性,使得汇款过程有迹可循,保证了汇款业务的可溯源性与可靠性。第二,可以维护汇款业务交易状态。
168.在一些实施例中,所述汇款合约在检测到该笔交易状态为交易完成状态时,可以进一步调用对账合约的对账逻辑,以基于该笔汇款业务完成的汇款金额更新维护的所述系统b与系统c的对账账单。
169.所述系统b或系统c可以通过调用对账合约的查询逻辑,获取所述对账账单以完成系统b与系统c之间的对账,从而通过汇款合约与对账合约的嵌套,实现自动对账。
170.与所述任一实施例相对应的,本技术还提出一种基于区块链的对账装置90。所述区块链部署了用于管理汇款业务的第一智能合约;以及与所述第一智能合约关联的,用于进行对账的第二智能合约;所述区块链存证了与所述汇款业务对应的汇款信息;以及,所述第一智能合约维护了与所述汇款业务对应的交易状态。
171.请参见图9,图9为本技术示出的一种基于区块链的对账装置的结构示意图。
172.如图9所示,所述装置90可以包括:
173.接收模块91,接收与所述汇款业务相关的多个汇款参与方中的任一目标汇款参与方,针对所述第一智能合约发起的合约调用交易;其中,所述合约调用交易包括所述目标汇款参与方针对所述汇款信息的确认信息;
174.调用模块92,响应于所述合约调用交易,调用所述第一智能合约包括的状态更新逻辑,在所述区块链中存证所述确认信息,并在所述确认信息存证完成后,确定所述区块链中是否存证了所述多个汇款参与方针对所述汇款信息的确认信息;如果是,将所述交易状态更新为交易完成状态;以及,
175.响应于所述汇款业务的交易状态为交易完成状态,进一步调用所述第二智能合约包括的对账逻辑,基于所述汇款信息中的汇款金额,针对所述多个汇款参与方执行对应于
所述汇款业务的清分对账。
176.在一些实施例中,所述装置90还包括:
177.第一发送模块93,接收所述多个汇款参与方中的任意参与方发起的对账账单查询请求;
178.响应于所述对账账单查询请求,将所述对账合约维护的与所述参与方对应的对账账单发送至所述参与方,以使所述参与方基于所述对账账单进行对账。
179.在一些实施例中,所述装置90还包括:
180.第二发送模块,接收所述多个汇款参与方中的任意参与方发起的区块获取请求;所述获取请求包括时间段信息;
181.响应于所述区块获取请求,向所述参与方发送所述时间段内生成的区块,以使所述参与方确定所述区块内包括的汇款业务的交易状态是否为交易完成状态,并在所述交易状态为交易完成状态时,根据所述汇款业务对应的汇款金额更新自身维护的对账账单。
182.在一些实施例中,所述装置90还包括:
183.第三发送模块,响应于与所述汇款业务的汇款方对应的第一交易子系统针对所述汇款业务发起的状态查询请求,将所述汇款业务的当前交易状态发送至所述第一交易子系统,以使所述第一交易子系统确定所述当前交易状态是否为交易完成状态,并在所述当前交易状态为交易完成状态时向收款方对应的第二交易子系统进行汇款操作。
184.在一些实施例中,所述装置90还包括:
185.冻结模块,响应于所述第一交易子系统确定所述当前交易状态为交易完成状态,将所述汇款方对应的汇款方账户中的与汇款金额对应的资金进行冻结;
186.解冻模块,在所述向收款方对应的第二交易子系统进行汇款操作之前对所述汇款方账户中的与所述汇款金额对应的资金进行解冻。
187.在一些实施例中,所述装置90还包括:
188.创建模块,接收汇款方针对汇款业务发起的创建请求交易;
189.响应于所述创建请求交易,调用所述汇款交易合约的初始化逻辑,创建与所述汇款方对应的汇款业务,并将与所述汇款业务对应的交易状态更新为初始化状态;和/或,
190.存证模块,接收所述汇款方针对所述汇款业务发起的汇款信息填写交易;所述汇款信息包括参与所述汇款业务的各参与方信息;
191.响应于所述汇款信息填写交易,调用所述汇款交易合约的填写逻辑,将所述汇款信息存证至该汇款交易合约中与所述汇款业务对应的存储空间,并将所述交易状态更新为参与方信息填充完毕状态。
192.在一些实施例中,所述装置90还包括:
193.第四发送模块,接收与收款方对应的第二交易子系统针对所述汇款业务发起的第一查询请求;
194.响应于所述第一查询请求,将与所述汇款业务对应的汇款信息发送至所述第二交易子系统,以使所述第二交易子系统响应于对所述汇款信息验证通过,生成汇款确认信息并存证至所述存储空间以完成针对所述汇款业务的初步验证。
195.在一些实施例中,所述装置90还包括:
196.确定模块,在将与所述汇款业务对应的汇款信息发送至所述第二交易子系统之
前,确定发起所述第一查询请求对应的第二交易子系统是否为所述汇款信息中指示的第二交易子系统;
197.如果是,将与所述汇款业务对应的汇款信息发送至所述第二交易子系统。
198.在一些实施例中,所述装置90还包括:
199.更新模块,响应于完成针对所述汇款业务的初步验证,将所述交易状态更新为汇款信息填写完毕状态。
200.在一些实施例中,所述装置90还包括:
201.第五发送模块,接收所述汇款方针对所述汇款业务发起的第二查询请求;
202.响应于所述第二查询请求,将与所述汇款业务对应的汇款确认信息发送至所述汇款方,以使所述汇款方响应于针对所述汇款确认信息验证通过,生成扣费请求并将所述扣费请求存证至所述存储空间。
203.在一些实施例中,所述装置90还包括:
204.第六发送模块,接收与所述汇款方对应的第一交易子系统针对所述汇款业务发起的第三查询请求;
205.响应于所述第三查询请求,将与所述汇款业务对应的扣费请求发送至所述第一交易子系统,以使所述第一交易子系统响应于对所述扣费请求验证通过,生成扣费请求确认信息以及资金汇入请求并存证至所述存储空间以完成针对所述汇款业务的验证。
206.在一些实施例中,所述第一交易子系统对所述扣费请求进行验证,包括:
207.所述第一交易子系统获取与所述汇款业务关联的汇款信息和汇款确认信息;
208.基于所述汇款确认信息对所述汇款方进行汇款校验,以及基于所述汇款信息和所述汇款确认信息对所述扣费请求进行真实性校验。
209.在一些实施例中,所述汇款确认信息包括所述汇款方在所述第一交易子系统开通的汇款方账户和汇款金额;
210.所述基于所述汇款确认信息对所述汇款方进行汇款校验,包括:
211.校验所述汇款确认信息中的汇款方账户的账户余额是否达到所述汇款金额;如果是,确定对所述汇款方的汇款校验通过;
212.所述基于所述汇款信息和所述汇款确认信息对所述扣费请求进行真实性校验,包括:
213.对所述汇款信息包括的第一数字签名和所述汇款确认信息包括的第二数字签名进行身份验证;
214.如果所述第一数字签名对应的身份为所述汇款方并且所述第二数字签名对应的身份为所述第二交易子系统,则确定对所述扣费请求的真实性验证通过。
215.在一些实施例中,所述装置90还包括:
216.第七发送模块,接收与所述第二交易子系统针对所述汇款业务发起的第四查询请求;
217.响应于所述第四查询请求,将与所述汇款业务对应的资金汇入请求发送至所述第二交易子系统,以使所述第二交易子系统响应于对所述资金汇入请求验证通过,生成资金汇入确认信息并存证至所述存储空间以完成针对所述汇款业务的二次验证。
218.在一些实施例中,所述装置90还包括:
219.第八发送模块,响应于所述第四查询请求,将与所述汇款业务对应的当前交易状态发送至所述第二交易子系统,以使所述第二交易子系统对所述当前交易状态进行验证。
220.在一些实施例中,所述第二交易子系统对所述当前交易状态进行验证,包括:
221.所述第二交易子系统确定所述当前交易状态是否为汇款信息填写完毕状态,并在所述当前交易状态为汇款信息填写完毕状态是确定通过对交易状态的验证;
222.所述第二交易子系统对所述资金汇入请求验证,包括:
223.所述第二交易子系统获取与所述汇款业务关联的汇款信息,汇款确认信息以及扣费请求;
224.对所述汇款信息包括的第一数字签名,所述汇款确认信息包括的第二数字签名,所述扣费请求包括的第三数字签名、所述扣费请求包括的第四数字签名以及所述资金汇入请求包括的第五数字签名进行身份验证;
225.如果所述第一数字签名和所述第三数字签名对应的身份为所述汇款方,所述第二数字签名对应的身份为所述第二交易子系统并且所述第四数字签名和第五数字签名对应的身份为所述第一交易子系统,确定对所述资金汇入请求的验证通过。
226.在一些实施例中,所述向收款方对应的第二交易子系统进行汇款操作,包括:
227.从所述汇款方在所述第二交易子系统开设的汇款方账户余额中扣除与所述汇款金额对应的资金,并在扣款成功后在区块链存证对应的扣款凭证;
228.向所述第二交易子系统提交转账请求,其中,所述转账请求包括所述扣款凭证对应的存证标识,以使所述第二交易子系统根据所述存证标识,获取所述区块链存证的所述扣款凭证,并对所述扣款凭证包括的第六数字签名进行身份验证,如果所述六数字签名的身份为所述第一交易子系统,接收从所述汇款方账户扣除的资金。
229.在一些实施例中,所述汇款业务包括跨境汇款业务;和/或,所述汇款业务包括同币种的跨境汇款业务。
230.在一些实施例中,所述多个汇款参与方包括:
231.与所述汇款业务对应的汇款方;
232.与所述汇款方对应的第一交易子系统;
233.与所述汇款方指定的收款方对应的第二交易子系统。
234.本技术示出的对账装置的实施例可以应用于电子设备上。相应地,本技术公开了一种电子设备,该设备可以包括:处理器。
235.用于存储处理器可执行指令的存储器。
236.其中,所述处理器被配置为调用所述存储器中存储的可执行指令,实现前述任一实施例示出的对账方法。
237.请参见图10,图10为本技术示出的一种电子设备的硬件结构示意图。
238.如图10所示,该电子设备可以包括用于执行指令的处理器,用于进行网络连接的网络接口,用于为处理器存储运行数据的内存,以及用于存储对账装置对应指令的非易失性存储器。
239.其中,所述装置的实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,
除了图10所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
240.可以理解的是,为了提升处理速度,对账装置对应指令也可以直接存储于内存中,在此不作限定。
241.本技术提出一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可以用于使处理器执行如前述任一实施例示出的对账方法。
242.本领域技术人员应明白,本技术一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本技术一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)所述实施的计算机程序产品的形式。
243.本技术中的“和/或”表示至少具有两者中的其中一个,例如,“a和/或b”可以包括三种方案:a、b、以及“a和b”。
244.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
245.所述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
246.本技术中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、可以包括本技术中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本技术中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体所述以被数据处理装置执行或控制参数处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号所述,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
247.本技术中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路-例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
248.适合用于执行计算机程序的计算机可以包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件可以包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将可以包括用于存储数据的一
个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏操纵台、全球定位系统(gps)接收机、或例如通用串行总线(usb)闪存驱动器的便携式存储设备,仅举几例。
249.适合于存储计算机程序指令和数据的计算机可读介质可以包括所有形式的非易失性存储器、媒介和存储器设备,例如可以包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cd rom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
250.虽然本技术包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本技术内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
251.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,所述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
252.由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
253.以上仅为本技术一个或多个实施例的较佳实施例而已,并不用以限制本技术一个或多个实施例,凡在本技术一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术一个或多个实施例保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献