掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的对账数据处理方法、装置、系统

文献发布时间:2023-06-19 10:54:12


基于区块链的对账数据处理方法、装置、系统

技术领域

本发明涉及区块链技术领域,具体涉及一种基于区块链的对账数据处理方法、装置、系统。

背景技术

由于审计运营要求,银行需要按季或固定期限实现与对公客户进行财务明细勾对,定期将有差错、或者疑问的清单反馈。目前,银企对账主要采用手工的、线下的对账模式。这种相互独立自我保护的机制在一定程度上给财务管理工作带来了不便:1)对账流程冗长,一般由公司财务到柜面打印纸质明细单后进行手工对账;2)对账准确度低,大公司财务明细众多,手工对账容易匹配错漏;3)银企隐私保护需求,直接线上化打通,存在泄漏对方商业秘密的隐患。

对此,第三方财务平台提出线上对账合作请求,由银行提供公司对账明细,发送到企业ERP(Enterprise Resource Planning,企业资源计划)平台,平台通过比对账务明细,输出结果反馈给银行系统,系统及数据连接参见图1所示。

但是,采用第三方财务平台提出的对账模式,会存在如下风险:如用友等财务ERP系统获取某公司的明细后,若泄露给其他公司,对于银行有泄露客户机密的风险。同时,如果第三方平台获取大量的企业客户的对公明细,可创造大量基于客户真实财务数据的建模产品,一定程度上会有损银行数据的资产价值。

发明内容

有鉴于此,本发明提供一种基于区块链的对账数据处理方法、装置、系统,以解决上述提及的至少一个问题。

根据本发明的第一方面,提供一种基于区块链的对账数据处理方法,所述方法包括:

接收来自多方计算平台的对账操作结果,所述对账操作结果为对账失败,所述对账操作结果包括:作业批次号码;

根据所述作业批次号码获取服务方作业数据,所述服务方作业数据包括:多笔明细数据;

将服务方作业数据中的每i笔明细数据进行压缩,并生成该笔明细数据的哈希,其中,1≦i≦n,i和n为大于等于1的正整数;

根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表;

将包含链表头哈希的对账请求报文发送至客户方,所述链表头哈希为第n笔明细数据的哈希。

根据本发明的第二方面,提供一种基于区块链的对账数据处理方法,所述方法包括:

接收来自服务方的对账请求报文,所述对账请求报文包括:链表头哈希;

根据所述链表头哈希获取存储在区块链上的对应的作业数据块,所述作业数据块包括:所属作业明细数据和前一作业数据块的哈希;

根据所述前一作业数据块的哈希获取对应数据块的所属作业明细数据,以此获取全部作业明细数据;

根据获取的全部作业明细数据和本地存储的客户方作业数据进行对账处理。

根据本发明的第三方面,提供基于区块链的对账数据处理装置,所述装置位于服务方,所述装置包括:

对账结果接收单元,用于接收来自多方计算平台的对账操作结果,所述对账操作结果为对账失败,所述对账操作结果包括:作业批次号码;

服务方作业数据获取单元,用于根据所述作业批次号码获取服务方作业数据,所述服务方作业数据包括:多笔明细数据;

压缩操作单元,用于将服务方作业数据中的每i笔明细数据进行压缩,并生成该笔明细数据的哈希,1≦i≦n,i和n为大于等于1的正整数;

哈希链表生成单元,用于根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表;

对账请求报文发送单元,用于将包含链表头哈希的对账请求报文发送至客户方,所述链表头哈希为第n笔明细数据的哈希。

根据本发明的第四方面,提供一种基于区块链的对账数据处理装置,所述装置位于客户方,所述装置包括:

对账请求报文接收单元,用于接收来自服务方的对账请求报文,所述对账请求报文包括:链表头哈希;

数据块获取单元,用于根据所述链表头哈希获取存储在区块链上的对应的作业数据块,所述作业数据块包括:所属作业明细数据和前一作业数据块的哈希;

作业明细数据获取单元,用于根据所述前一作业数据块的哈希获取对应数据块的所属作业明细数据,以此获取全部作业明细数据;

对账单元,用于根据获取的全部作业明细数据和本地存储的客户方作业数据进行对账处理。

根据本发明的第五方面,提供一种基于区块链的对账数据处理系统,所述系统包括:上述的位于服务方的基于区块链的对账数据处理装置、上述的位于客户方的基于区块链的对账数据处理装置以及多方计算平台,所述多方计算平台包括至少一个计算节点,所述计算节点包括:

数据接收单元,用于接收来自服务方的服务方对账数据,以及接收来自客户方的客户方对账数据,所述服务方对账数据和所述客户方对账数据均包含:相同的作业批次号码,所述服务方对账数据和所述客户方对账数据均采用相同的加密算法加密;

比较单元,用于根据预定比较算法比较所述服务方对账数据和所述客户方对账数据是否一致,以此执行对账操作;

对账结果发送单元,用于将对账操作结果分别发送至所述服务方和所述客户方。

根据本发明的第六方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

根据本发明的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。

由上述技术方案可知,通过根据接收的对账操作结果中的作业批次号码获取服务方作业数据,将服务方作业数据中的每笔明细数据进行压缩,并生成该笔明细数据的哈希,随后根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表,之后将包含链表头哈希的对账请求报文发送至客户方,以便于客户方获取服务方作业数据,与本地存储的作业数据进行对账处理,如此,可以实现基于多方计算平台的对账操作失败时的后续对账处理,相比于现有技术,本发明实施例可以提高对账的安全性和准确率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是相关技术的对账系统示意图;

图2是根据本发明实施例的基于区块链的对账数据处理系统的结构框图;

图3是根据本发明实施例的计算节点101的结构框图;

图4是根据本发明实施例的服务方对账数据处理装置20的结构框图;

图5是根据本发明实施例的客户方对账数据处理装置30的结构框图;

图6是根据本发明实施例的对账数据处理系统的示例结构图;

图7是根据本发明实施例的交易记账流程图;

图8是根据本发明实施例的银行侧和企业侧继续对账的流程图;

图9是根据本发明实施例的对账交易链表示意图;

图10是根据本发明实施例的本地明细数据的处理示意图;

图11是根据本发明实施例的对账数据处理方法的流程图;

图12是根据本发明实施例的对账数据处理方法的另一流程图;

图13为本发明实施例的电子设备600的系统构成的示意框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

鉴于现有的对账模式存在安全性和准确率都较低的问题,本发明实施例提供一种基于区块链的对账数据处理方案,该方案借助区块链技术和隐私计算技术,实现了加密状态下的对账操作,克服了现有的对账模式存在的安全性和准确率都较低的问题。

在本发明实施例中,隐私计算技术,如同态加密等算法,能够在基于密文态下确保计算的准确性,银行和企业节点各自保存自己的作业(即,交易)数据,使得原始作业数据能够在不出库的状态下进行比对,同时区块链技术能够确保对账结果多节点一致、难篡改、易溯源等技术特性,能够保证当任一方对账结果存疑时,追责容易。

以下结合附图来详细描述本发明实施例。

图2是根据本发明实施例的基于区块链的对账数据处理系统的结构框图,如图2所示,该系统包括:多方计算平台10、位于服务方的服务方对账数据处理装置20和位于客户方的客户方对账数据处理装置30,多方计算平台10分别接收服务方对账数据处理装置20的加密对账数据和客户方对账数据处理装置30的加密对账数据,基于预定比较算法比较两个加密对账数据,当比较结果为两个数据一致时,可以判定对账数据一致,对账成功,否则,判定对账失败,之后,将对账结果数据分别发送至服务方对账数据处理装置20和客户方对账数据处理装置30,当对账失败时,服务方对账数据处理装置20和客户方对账数据处理装置30继续执行对账操作。

通过该系统,可以实现明文数据不出库,密文数据基于多方计算平台进行比较对账,获取对账结果,实现了数据的可用不可见;当对账失败时,还可以继续基于区块链进行对账,提高了对账操作的安全性和准确率。

为了更好地理解本发明,以下分别描述各部分。

(1)多方计算平台10

该多方计算平台10包括至少一个计算节点101,如图3所示,该计算节点101包括:数据接收单元1011、比较单元1012和对账结果发送单元1013,其中:

数据接收单元1011,用于接收来自服务方的服务方对账数据,以及接收来自客户方的客户方对账数据,所述服务方对账数据和所述客户方对账数据均包含:相同的作业批次号码,所述服务方对账数据和所述客户方对账数据均采用相同的加密算法加密;

比较单元1012,用于根据预定比较算法比较所述服务方对账数据和所述客户方对账数据是否一致,以此执行对账操作;

对账结果发送单元1013,用于将对账操作结果分别发送至所述服务方和所述客户方。

通过接收两方的加密数据,并基于预定比较算法进行两方加密数据的比较,当原数据相同(即,服务方的对账数据和客户方的相同)时,基于相同的加密算法后,两方加密数据应仍相同,则两方加密数据的比较结果应为相同,或者两方加密数据执行减操作,可以得到0,否则,两方加密数据执行减操作的结果为非0。如此,可以实现明文数据不出库,密文数据基于比较算法进行比较对账,得到对账结果,实现了数据的可用不可见,提高了对账的安全性。

在一个实施例中,当计算节点为多个时,服务方对账数据处理装置20可以基于预定切分算法将服务方对账数据切分为与计算节点相同数量的多个服务方对账数据分段。例如,计算节点为4个,则将服务方对账数据切分为4个服务方对账数据分段。

在一个实施例中,为了对账的高效,服务方对账数据可以包括:作业批次号码、服务方作业数据的汇总金额和明细数据笔数,即,仅基于汇总金额和明细笔数进行对账。

相应地,客户方对账数据也包括:作业批次号码、客户方作业数据的汇总金额和明细数据笔数。客户方对账数据处理装置30也基于相同的切分算法将客户方对账数据切分为与计算节点相同数量的多个客户方对账数据分段。

之后,服务方对账数据处理装置20将各服务方对账数据分段分别发送给各节点,客户方对账数据处理装置30将各客户方对账数据分段分别发送给各节点。

各计算节点的数据接收单元1011接收服务方对账数据分段和客户方对账数据分段,各比较单元1012根据预定比较算法比较接收的服务方对账数据分段和客户方对账数据分段,生成比较结果。

相应地,多方计算平台还包括:比较结果汇总单元,用于将各计算节点比较单元的比较结果汇总,生成上述的对账操作结果。之后,对账结果发送单元1013发送给服务方和客户方。

(2)服务方对账数据处理装置20

图4是该服务方对账数据处理装置20的结构框图,如图4所示,该装置20包括:对账结果接收单元201、服务方作业数据获取单元202、压缩操作单元203、哈希链表生成单元204和对账请求报文发送单元205,其中:

对账结果接收单元201,用于接收来自多方计算平台的对账操作结果,所述对账操作结果包括:作业批次号码,当对账操作结果为对账失败时,执行服务方作业数据获取单元202、压缩操作单元203、哈希链表生成单元204和对账请求报文发送单元205。

服务方作业数据获取单元202,用于根据所述作业批次号码获取服务方作业数据,所述服务方作业数据包括:多笔明细数据。

压缩操作单元203,用于将服务方作业数据中的每i笔明细数据进行压缩,并生成该笔明细数据的哈希,1≦i≦n,i和n为大于等于1的正整数。

哈希链表生成单元204,用于根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表。

具体地,该哈希链表生成单元204包括:数据块生成模块和哈希链表生成模块,其中:

数据块生成模块,用于根据压缩后的每i笔明细数据和第i-1笔明细数据的哈希生成第i个作业数据块;

哈希链表生成模块,用于根据生成的多个作业数据块生成所述作业哈希链表。

对账请求报文发送单元205,用于将包含链表头哈希的对账请求报文发送至客户方,所述链表头哈希为第n笔明细数据的哈希。

通过服务方作业数据获取单元202根据对账结果接收单元201接收的对账操作结果中的作业批次号码获取服务方作业数据,压缩操作单元203将服务方作业数据中的每笔明细数据进行压缩,并生成该笔明细数据的哈希,随后哈希链表生成单元204根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表,之后对账请求报文发送单元205将包含链表头哈希的对账请求报文发送至客户方,以便于客户方获取服务方作业数据,与本地存储的作业数据进行对账处理,如此,可以实现基于多方计算平台的对账操作失败时的后续对账处理,相比于现有技术中,本发明实施例可以提高对账的安全性和准确率。

在实际操作中,上述服务方对账数据处理装置20还包括:第一切分单元、第一加密单元和第一加密数据发送单元,其中:

第一切分单元,用于基于预定切分算法将服务方对账数据切分为多个服务方对账数据分段,所述服务方对账数据包括:所述服务方作业数据的汇总金额和明细数据笔数;

第一加密单元,用于基于预定加密算法对所述多个服务方对账数据分段分别进行加密;

第一加密数据发送单元,用于将加密后的多个服务方对账数据分段发送至所述多方计算平台。

通过第一切分单元、第一加密单元和第一加密数据发送单元,可以实现基于多方计算平台的对账操作,实现明文数据不出库,密文数据基于比较算法进行比较对账,得到对账结果,实现了数据的可用不可见。

(3)客户方对账数据处理装置30

图5是该客户方对账数据处理装置30的结构框图,如图5所示,该装置30包括:对账请求报文接收单元301、数据块获取单元302、作业明细数据获取单元303和对账单元304,其中:

对账请求报文接收单元301,用于接收来自服务方的对账请求报文,所述对账请求报文包括:链表头哈希;

数据块获取单元302,用于根据所述链表头哈希获取存储在区块链上的对应的作业数据块,所述作业数据块包括:所属作业明细数据和前一作业数据块的哈希;

作业明细数据获取单元303,用于根据所述前一作业数据块的哈希获取对应数据块的所属作业明细数据,以此获取全部作业明细数据;

对账单元304,用于根据获取的全部作业明细数据和本地存储的客户方作业数据进行对账处理。

通过对账请求报文接收单元301、数据块获取单元302、作业明细数据获取单元303和对账单元304,可以实现基于多方计算平台的对账操作失败时的后续对账处理。

在实际操作中,上述客户方对账数据处理装置还包括:对账操作结果接收单元,用于接收来自多方计算平台的对账操作结果。当对账操作结果为对账失败时,执行上述的对账请求报文接收单元301、数据块获取单元302、作业明细数据获取单元303和对账单元304。

在具体实施过程中,上述客户方对账数据处理装置还包括:第二切分单元、第二加密单元和第二加密数据发送单元,其中:

第二切分单元,用于基于预定切分算法将所述客户方对账数据切分为多个客户方对账数据分段,所述客户方对账数据包括:所述客户方作业数据的汇总金额和明细数据笔数;

第二加密单元,用于基于预定加密算法对所述多个客户方对账数据分段分别进行加密;

第二加密数据发送单元,用于将加密后的多个客户方对账数据分段发送至多方计算平台。

通过第二切分单元、第二加密单元和第二加密数据发送单元,可以实现基于多方计算平台的对账操作,实现明文数据不出库,密文数据基于比较算法进行比较对账,得到对账结果,实现了数据的可用不可见,提高了对账的安全性。

需要说明的是,本发明实施例中所涉及到的切分算法、加密算法、比较算法可以参考现有技术,本发明对此不作限制。在本发明实施例中,对于同一批次的作业数据进行对账操作时,服务方和客户方只需采用相同的切分算法、相同的切分方式对对账数据进行切分,采用相同的加密算法对切分后的对账数据进行加密即可。如果两方本地的对账数据一致,则可以保证在多方计算平台的比较操作结果为两方对账数据一致。而当两方本地的对账数据不一致时,则进行数据切分和加密后,数据也是不一致的,在多方计算平台的比较操作结果也应为两方对账数据不一致。

在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。

为了更好地理解本发明实施例,以下以服务方为银行、客户方为企业为例,给出一示例系统。

图6是根据本发明实施例的对账数据处理系统的示例结构图,如图6所示,该系统包括:银行11、企业ERP 12、银行MPC(Secure Multi-Party Computation,多方安全计算)节点13、企业MPC节点14和区块链网络15,其中:

银行:具体指银行记账系统,包含本地数据库服务,本地数据库存储交易的原始数据。银行侧计算节点存储经过加密处理的银行对公账户明细。

企业ERP:指企业ERP系统,指第三方的财务系统。企业通过接入企业ERP系统可以对本企业的财务明细进行管理。该系统包含了企业本地数据库服务,本地数据库存储了企业各自的公司财务明细,在对账过程中,企业ERP充当数据源,提供企业侧原始财务明细。企业侧计算节点存储经过加密处理的公司财务明细。

银行MPC节点:部署了可信计算引擎,支持各类密文计算如四则运算、最值、比较、均值、统计等。银行MPC节点保存了银行侧加密后的交易明细。且在对账执行过程中,通过调用比较算子,能够比对同一交易批次下银行端和企业端的交易汇总金额及明细的密文是否一致。

企业MPC节点:部署了可信计算引擎,支持各类密文计算如四则运算、最值、比较、均值、统计等。企业MPC节点保存了企业侧加密后的交易明细。且在对账执行过程中,通过调用比较算子,能够比对同一交易批次下银行端和企业端的交易汇总金额及明细的密文是否一致。

需要说明的是,该实例中的银行MPC节点和企业MPC节点对应于上述的多方计算平台10。

区块链网络:银企组成的联盟链,用于对账合约的执行,对账任务的广播及调度、对账结果的存证溯源。具体流程如下:

首先,企业侧作为对账发起方,需要定义对账合约,合约内容包括:

1)交易批次

2)交易时间

3)对账逻辑

4)对账结果指定接收方

合约定义完毕,提交该合约至联盟链中参与方节点进行审核,节点审核通过后,部署合约,并启动区块链网络。通过区块链广播对账任务至各节点,MPC(负责执行隐私计算)节点接收到对账任务后,执行计算引擎。此前,各方已通过系统配置本地数据库地址,计算引擎会读取各方经过加密后的交易数据,并进行对应元数据的对比,如各方明细密文数据汇总后总值一致,则对账结果正确,最后的对账报文包含对账双方的公钥地址、交易批次号、交易哈希、对账时间、对账结果。对账成功后,对账报文返回至对账双方,并将其哈希存储至区块链中。若汇总对账结果不一致,则企业方通过对账报文中的交易哈希调用区块链对账查询接口拉取明细报文,进行逐条比对。

在实际操作中,银行侧的交易记账流程如图7所示:

银行系统收到企业交易报文后,生成记账报文,并调用多方安全对账系统加密接口加密报文,服务端通过解析企业公钥证书中的密钥充当加密密钥。加密后的交易报文联同交易批次号(即,作业批次号码)、企业编号等信息一同存入消息队列。通过区块链上链服务构造上链交易,银行端节点接收到上链交易后,生成此批次交易的交易哈希值,报文批次号、企业账户、交易HASH三者的关联关系存储至区块链数据库中。

图8是基于银行MPC节点13和企业MPC节点14对账失败后,银行侧和企业侧继续对账的流程图,如图8所示,该流程包括:

在继续对账流程中,银行系统首先获取交易的批次号,读取当前交易对应的链上交易,并对交易进行压缩处理后构造上链交易,将当前批次每i笔明细数据进行压缩,生成一笔交易HASH,并构造对账HASH链表,每笔交易包含交易明细列表外,还链接上一笔交易的HASH,一直链接至该批次最后一笔交易数据,对账交易链表如图9所示,并将链表头HASH(即,HASHn)存储至发起企业对账报文中,企业在接收到该笔对账报文后,提取链表头HASH值作为查询入参,调用对账查询接口拉取该批次交易明细(交易明细存储在链上,通过对账查询接口读取链上的交易明细至本地),进行逐一对账。

图9说明了区块链交易之间的串联关系。在对账过程中,企业某批次对账交易数据在区块链上以链表的形式组织,当企业收到对账报文时,根据链表的表头哈希地址,找到图中HASHn表示的数据块(n表示数据块的总数),该数据块的结构为:

{“transactions”:[

“交易处理时间,交易类型,报文标识号,交易发起方,付款机构,交易接收方,金额,交易状态”,

“交易处理时间,交易类型,报文标识号,交易发起方,付款机构,交易接收方,金额,交易状态”,

....

]

“preHash”:存储上一笔对账交易的区块链交易哈希

}

上述transactions字段包含了本批次部分对账明细数据。preHash字段指向前一个具有相同结构的数据块,图中指向HASHn-1数据块。

以此类推,可以通过不断解析preHash追溯到链表中的第一个数据块HASH1。数据块HASH1到HASHn中所有transactions的内容组成了企业本批次所有对账数据。因此,企业可以通过按顺序串行调用区块链SDK(软件开发工具包)提供的getblockTxByHash(应用于区块链的函数)方法,直到返回值TxByHashResp中的preHash值为空为止,最终获得某批次的所有对账所需数据。

如图10所示,银行系统一批次的交易中有n笔明细数据,记为tx1,tx2,...txn。对进行对账之前,需要进行汇总运算,得出该批次交易的汇总金额及笔数,之后将该批次交易的汇总金额和总笔数分别分片为4个数据段,对这4个数据段分别进行加密后,发送至4个MPC计算节点。同理,对于企业账务ERP系统,其也对该批次交易进行了汇总记账,汇总报文通常包含如下表1所示的信息:

表1

将汇总金额A及笔数N分别切分后进行加密,并将加密后的分片数据存储至4个MPC计算节点。通过执行MPC节点的隐私计算引擎,调用比较算子(在后续详细描述),即可对两方的汇总数据在密文状态下进行相等性检验,检验无误后,最终的检验结果随记账双方的公钥地址、交易批次号、交易哈希、对账时间一齐发送至对账双方。若检验有误,则执行图8中的对账流程,提取报文中的交易哈希,作为入参调用区块链SDK提供的getblockTxByHash方法,进行明细报文的查询及逐一比对。

下面详细描述比较算子的比较过程。

假设银行方的对账数据为a(包括汇总金额及笔数),首先将a分片成四个数据,保证a1+a2+a3+a4=a,这4个分片后的数据处理成密文发送给4个计算节点。

加密算法后的数据为:

x1=a1.t+r1.e

x2=a2.t+r2.e

x3=a3.t+r3.e

x4=a4.t+r4.e

x1+x2+x3+x4=(a1+a2+a3+a4)t+(r1+r2+r3+r4)e

其中,t、e为两个公开的随机数,a1、a2、a3、a4是自己的秘密数,r1、r2、r3、r4是盲化因子。

同理,对于企业方的对账数据b(包括汇总金额及笔数),将对账数据分成4片,保证b1+b2+b3+b4=b,分片数据处理成密文发送至4个计算节点,使用与上述相同的加密算法,加密算法后的数据为:

y1=b1.t+r1.e

...

每一个计算节点执行xi-yi;

最终每个计算结果结果进行汇总:(x1-y1)+(x2-y2)+(x3-y3)+(x4-y4);

经过变形后可得:(x1+x2+x3+x4)-(y1+y2+y3+y4)=(a.t+r.e)-(b.t+r.e)。

假使:

(x1+x2+x3+x4)-(y1+y2+y3+y4)=x-y=(a-b).t=0

即密文x=y时,则必有a=b。

即,密文相等,可以证明其对应的明文相等,否则对应的明文不相等。

通过上述的比较算子,对于企业和银行方来说,都没有拿到对方的全量明文数据,就可以进行对账操作,实现了数据的可用不可见。

需要说明的是,4个计算节点部署的计算引擎一致,其处理规则都是相同的。

在实际操作中,也可以先对对账数据进行加密,之后再进行切分,切分数量可以根据节点数量来确定,每个节点处理银行方的一个分段数据和企业方的一个分段数据。

本发明实施例提出了一种多方安全的区块链银企对账系统,通过借助区块链技术及隐私计算技术,解决现有银企手工对账模式下对账频率低、手工对账工作量大、准确率低,对账问题追责难等问题,该实例的优点主要在于:

1、优化客户对账流程,为客户提供简单的安全区块链对账方案接口;

2、保护隐私数据,各方账本数据本地存储,明文数据不出库,密文数据基于多方安全计算平台进行计算对账,获取对账结果,实现数据的可用不可见;

3、提高了对账的频率和时效性,能够保证准实时对账(可以实现1小时之内),大大缩短了对账的时效,提高了对账的频率,减少了手工对账误差率等问题。

基于相似的发明构思,本发明实施例还提供一种基于区块链的对账数据处理方法,该方法优选地,可以应用于上述的位于服务方的服务方对账数据处理装置20。

图11是该对账数据处理方法的流程图,如图11所示,所述方法包括:

步骤1101,接收来自多方计算平台的对账操作结果,所述对账操作结果为对账失败,所述对账操作结果包括:作业批次号码。

步骤1102,根据所述作业批次号码获取服务方作业数据,所述服务方作业数据包括:多笔明细数据。

步骤1103,将服务方作业数据中的每i笔明细数据进行压缩,并生成该笔明细数据的哈希,其中,1≦i≦n,i和n为大于等于1的正整数。

步骤1104,根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表。

具体地,根据压缩后的每i笔明细数据和第i-1笔明细数据的哈希生成第i个作业数据块;之后根据生成的多个作业数据块生成所述作业哈希链表。

步骤1105,将包含链表头哈希的对账请求报文发送至客户方,所述链表头哈希为第n笔明细数据的哈希。

通过根据接收的对账操作结果中的作业批次号码获取服务方作业数据,将服务方作业数据中的每笔明细数据进行压缩,并生成该笔明细数据的哈希,随后根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表,之后将包含链表头哈希的对账请求报文发送至客户方,以便于客户方获取服务方作业数据,与本地存储的作业数据进行对账处理,如此,可以实现基于多方计算平台的对账操作失败时的后续对账处理,相比于现有技术,本发明实施例可以提高对账的安全性和准确率。

在实际操作中,在执行基于多方计算平台的对账流程时,可以执行如下操作:基于预定切分算法将服务方对账数据切分为多个服务方对账数据分段,所述服务方对账数据包括:所述服务方作业数据的汇总金额和明细数据笔数;随后,基于预定加密算法对所述多个服务方对账数据分段分别进行加密;之后将加密后的多个服务方对账数据分段发送至所述多方计算平台,以便于多方计算平台进行对账流程。

本发明实施例还提供一种基于区块链的对账数据处理方法,该方法优选地,可以应用于上述的位于客户方的客户方对账数据处理装置30。

图12是该对账数据处理方法的流程图,如图12所示,该方法包括:

步骤1201,接收来自服务方的对账请求报文,所述对账请求报文包括:链表头哈希;

步骤1202,根据所述链表头哈希获取存储在区块链上的对应的作业数据块,所述作业数据块包括:所属作业明细数据和前一作业数据块的哈希;

步骤1203,根据所述前一作业数据块的哈希获取对应数据块的所属作业明细数据,以此获取全部作业明细数据;

步骤1204,根据获取的全部作业明细数据和本地存储的客户方作业数据进行对账处理。

通过上述步骤,可以实现基于多方计算平台的对账操作失败时的后续对账处理。

在执行步骤1201之前,会接收到来自多方计算平台的对账操作结果,当对账操作结果为对账失败时,执行上述步骤1201-1204。

在实际操作中,在执行基于多方计算平台的对账流程时,可以执行如下操作:基于预定切分算法将所述客户方对账数据切分为多个客户方对账数据分段,所述客户方对账数据包括:所述客户方作业数据的汇总金额和明细数据笔数;基于预定加密算法对所述多个客户方对账数据分段分别进行加密;将加密后的多个客户方对账数据分段发送至所述多方计算平台,以便于多方计算平台进行对账流程。

上述各步骤的具体流程可以参见上述系统实施例中的描述,此处不再赘述。

本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及基于区块链的对账数据处理装置/系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。

图13为本发明实施例的电子设备600的系统构成的示意框图。如图13所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。

一实施例中,基于区块链的对账数据处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:

接收来自多方计算平台的对账操作结果,所述对账操作结果为对账失败,所述对账操作结果包括:作业批次号码;

根据所述作业批次号码获取服务方作业数据,所述服务方作业数据包括:多笔明细数据;

将服务方作业数据中的每i笔明细数据进行压缩,并生成该笔明细数据的哈希,其中,1≦i≦n,i和n为大于等于1的正整数;

根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表;

将包含链表头哈希的对账请求报文发送至客户方,所述链表头哈希为第n笔明细数据的哈希。

从上述描述可知,本申请实施例提供的电子设备,通过根据接收的对账操作结果中的作业批次号码获取服务方作业数据,将服务方作业数据中的每笔明细数据进行压缩,并生成该笔明细数据的哈希,随后根据压缩后的每笔明细数据和每笔明细数据的哈希生成作业哈希链表,之后将包含链表头哈希的对账请求报文发送至客户方,以便于客户方获取服务方作业数据,与本地存储的作业数据进行对账处理,如此,可以实现基于多方计算平台的对账操作失败时的后续对账处理,相比于现有技术,本发明实施例可以提高对账的安全性和准确率。

在另一个实施方式中,基于区块链的对账数据处理装置/系统可以与中央处理器100分开配置,例如可以将基于区块链的对账数据处理装置/系统配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现基于区块链的对账数据处理功能。

如图13所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图13中所示的所有部件;此外,电子设备600还可以包括图13中没有示出的部件,可以参考现有技术。

如图13所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述基于区块链的对账数据处理方法的步骤。

综上所述,为了解决银企线上对账的安全性、准确性问题,本发明实施例结合区块链不可篡改、数据共享的特性和多方安全计算的数据保护机制,提出了一种多方安全的区块链银企对账系统,该系统主要从以下三个方面提升银企对账的便捷性:1、优化客户对账流程,为客户提供简单的安全区块链对账方案接口;2、保护隐私数据,各方账本数据本地存储,明文数据不出库,密文数据基于多方安全计算平台进行计算对账,获取对账结果,实现数据的可用不可见;3、可扩展性,建设多企业ERP系统与银行的联盟,实现简单接入、实时对账。

以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 基于区块链的对账数据处理方法、装置、系统
  • 基于区块链的对账系统、方法、装置及电子设备
技术分类

06120112720798