用于财务系统的数据处理方法以及装置、设备、存储介质与流程

文档序号:22736423发布日期:2020-10-31 09:15阅读:117来源:国知局
用于财务系统的数据处理方法以及装置、设备、存储介质与流程

本申请涉及区块链领域,具体而言,涉及一种用于财务系统的数据处理方法以及装置、设备、存储介质。



背景技术:

财务系统,包括了工资发放,财务管理,投资管理等。

基于以太坊的区块链智能合约技术保证了财务系统执行全过程的透明及不可篡改性,但是同时所有合约变量的值也是对所有人公开可见的,这样容易造成用户隐私信息的泄露。

针对相关技术中,如何在保证账户基本操作的基础上实现对用户关键财产信息的隐私保护,目前尚未提出有效的解决方案。



技术实现要素:

本申请的主要目的在于提供一种用于财务系统的数据处理方法以及装置、设备、存储介质,以解决在保证账户基本操作的基础上实现对用户关键财产信息的隐私保护的问题。

为了实现上述目的,根据本申请的第一个方面,提供了一种用于财务系统的数据处理方法。

根据本申请的用于财务系统的数据处理方法包括:采用智能合约将财务系统中的用户资产信息上链,其中,所述用户资产信息至少包括如下之一:当前账户余额、收入;在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,其中,所述触发操作是指对用户资产进行的操作。

进一步地,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过收入发放操作产生变化的情况下,基于所述智能合约中的同态加密方法将所述当前账户余额密文和收入密文进行同态加密。

进一步地,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过余额实时查询操作产生变化的情况下,基于所述智能合约在链上获取所述当前余额,并链下通过用户持有的私钥解密所述当前余额。

进一步地,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过取款操作产生变化的情况下,基于用户持有的私钥生成零知识证明,并基于所述智能合约验证所述零知识证明的正确性;在所述判断所述零知识证明的正确性验证通过的情况下,执行转账操作。

为了实现上述目的,根据本申请的第二个方面,提供了一种用于财务系统的数据处理装置。

根据本申请的用于财务系统的数据处理装置包括:上链模块,用于采用智能合约将财务系统中的用户资产信息上链,其中,所述用户资产信息至少包括如下之一:当前账户余额、收入;加密模块,用于在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,其中,所述触发操作是指对用户资产进行的操作。

进一步地,所述加密模块,用于在所述用户资产信息通过收入发放操作产生变化的情况下,基于所述智能合约中的同态加密方法将所述当前账户余额密文和收入密文进行同态加密。

进一步地,所述加密模块,用于在所述用户资产信息通过余额实时查询操作产生变化的情况下,基于所述智能合约在链上获取所述当前余额,并链下通过用户持有的私钥解密所述当前余额。

进一步地,所述加密模块,用于在所述用户资产信息通过取款操作产生变化的情况下,基于用户持有的私钥生成零知识证明,并基于所述智能合约验证所述零知识证明的正确性;在所述判断所述零知识证明的正确性验证通过的情况下,执行转账操作。

为了实现上述目的,根据本申请的第三个方面,提供了一种电子设备。

根据本申请的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的用于衡量区块链账户地址价值的方法的步骤。

为了实现上述目的,根据本申请的第四个方面,提供了一种计算机可读存储介质。

根据本申请的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的用于衡量区块链账户地址价值的方法的步骤。

在本申请实施例中用于财务系统的数据处理方法以及装置、设备、存储介质,首先采用智能合约将财务系统中的用户资产信息上链,之后在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,从而在保证账户安全的基础上基于对用户资产信息的加密实现对用户关键财产信息的隐私保护的技术效果,进而解决了如何在保证账户基本操作的基础上实现对用户关键财产信息的隐私保护的技术问题。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的用于财务系统的数据处理方法流程示意图;

图2是根据本申请实施例的用于财务系统的数据处理装置结构示意图;

图3是根据本申请实施例的设备结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。

并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。

此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

在本申请中提供了一种用于财务系统的数据处理方法,在财务系统中采用同态加密技术能够只基于用户私钥实现获取原始数据的值或者生成零知识证明,可以随时进行各种操作而不需要追溯链上历史记录,保证了实时性。

如图1所示,该方法包括如下的步骤s101至步骤s103:

步骤s101,采用智能合约将财务系统中的用户资产信息上链,其中,所述用户资产信息至少包括如下之一:当前账户余额、收入。

通过区块链智能合约可以实现财务系统的公开透明化和不可篡改。

需要注意的是,述用户资产信息中主要包括当前账户余额和收入,但是在本申请中并不进行具体限定。

步骤s102,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,其中,所述触发操作是指对用户资产进行的操作。

对所述用户资产信息中的隐私进行加密,主要包括:对隐私数据用离散对数进行同态加密的方法和通过用户私钥实时生成范围证明的方法。比如,在财务系统中用户的当前账户余额以及收入为隐私数据,均是以加密的方式存于区块链上。

从以上的描述中,可以看出,本申请实现了如下技术效果:

通过上述方法,首先采用智能合约将财务系统中的用户资产信息上链,之后在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,从而在保证账户安全的基础上基于对用户资产信息的加密实现对用户关键财产信息的隐私保护的技术效果,进而解决了如何在保证账户基本操作的基础上实现对用户关键财产信息的隐私保护的技术问题。

本申请中采用基于是离散对数加密方案,模p离散对数群的生成元g,且以下运算均在模p意义下进行。其中,用户私钥x,用户公钥h=g^x。

基本的群运算函数,包含二分求幂运算,逆运算等,在本申请中并不进行具体限定。

具体实施时,在algorithm1中实现了对资产m的加密,在algorithm2中实现了对密文(c,d)进行解密的过程。

需要注意的是,为了实现明文加法同态性,相比于直接对m进行加密,在本申请的实施例中对gm进行传统离散对数加密,之后在m不大的情况下可以用特定算法通过gm还原出m。

根据本申请实施例,作为本实施例中的优选,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过收入发放操作产生变化的情况下,基于所述智能合约中的同态加密方法将所述当前账户余额密文和收入密文进行同态加密。

当执行收入发放操作时,通过同态加密技术将当前账户余额密文以及收入密文进行同态运算。

需要注意的是,同态加密技术是本领域公知的技术,在本申请中并不进行具体限定。

具体实施时,在algorithm3,4分别设定初始余额b以及收入s,以直接将密文传到链上的方式。

根据本申请实施例,作为本实施例中的优选,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过余额实时查询操作产生变化的情况下,基于所述智能合约在链上获取所述当前余额,并链下通过用户持有的私钥解密所述当前余额。

当执行余额实时查询操作,用户链上获取当前余额,并链下通过私钥解密当前余额。同时,未拥有私钥的人无法解密获取该信息。

具体实施时,在algorithm5中实现了链上发放资金的过程,通过同态加密操作完成,在algorithm6中实现了用户链下查看余额的过程,通过用户私钥解密余额密文实现。

根据本申请实施例,作为本实施例中的优选,在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,包括:在所述用户资产信息通过取款操作产生变化的情况下,基于用户持有的私钥生成零知识证明,并基于所述智能合约验证所述零知识证明的正确性;在所述判断所述零知识证明的正确性验证通过的情况下,执行转账操作。

智能合约能够支持用户实时进行包括取款在内的各种操作而不需要追溯历史数据,当执行取款操作时,用户输入取款金额,同时根据自己的私钥生成一个零知识证明,证明当前账户余额不小于欲取的金额,同时不暴露余额的明文以及用户的私钥。

需要注意的是,还需要在智能合约链上判断零知识证明的正确性,若验证通过则执行转账操作。

具体实施时,在algorithm7中为取款的主函数,包含对生成证明,验证证明这两个函数的调用,以及实现扣款及转账过程。

在algorithm8中给出上述零知识证明的生成过程:为了证明(c,d)加密的明文s属于0至2的32次方。注意到s属于0至2的32次方当且仅当s的二进制拆分是32位以内,将原密文同态拆分为32组新的密文,每个新密文是对s二进制拆分的某一位的加密。同时,调用对每个新密文生成特定集证明的函数,即,证明(ci,di)的加密内容要么是0,要么是2的i次方。零知识证明包含上述所有特定集证明,其长度为常数级别。

此外,还需要对algorithm8中的零知识证明的验证。还需要通过私钥生成特定集证明、同时验证特定集证明,在本申请的实施例中不再进行赘述。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本申请实施例,还提供了一种用于实施上述方法的用于财务系统的数据处理装置,所述装置包括:

上链模块10,用于采用智能合约将财务系统中的用户资产信息上链,其中,所述用户资产信息至少包括如下之一:当前账户余额、收入;

加密模块11,用于在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,其中,所述触发操作是指对用户资产进行的操作。

本申请实施例的上链模块10中通过区块链智能合约可以实现财务系统的公开透明化和不可篡改。

需要注意的是,述用户资产信息中主要包括当前账户余额和收入,但是在本申请中并不进行具体限定。

本申请实施例的加密模块11中对所述用户资产信息中的隐私进行加密,主要包括:对隐私数据用离散对数进行同态加密的方法和通过用户私钥实时生成范围证明的方法。比如,在财务系统中用户的当前账户余额以及收入为隐私数据,均是以加密的方式存于区块链上。

通过上述模块,首先采用智能合约将财务系统中的用户资产信息上链,之后在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,从而在保证账户安全的基础上基于对用户资产信息的加密实现对用户关键财产信息的隐私保护的技术效果,进而解决了如何在保证账户基本操作的基础上实现对用户关键财产信息的隐私保护的技术问题。

根据本申请实施例,作为本实施例中的优选,所述加密模块11,用于在所述用户资产信息通过收入发放操作产生变化的情况下,基于所述智能合约中的同态加密方法将所述当前账户余额密文和收入密文进行同态加密。

当执行收入发放操作时,通过同态加密技术将当前账户余额密文以及收入密文进行同态运算。

需要注意的是,同态加密技术是本领域公知的技术,在本申请中并不进行具体限定。

具体实施时,在algorithm3,4分别设定初始余额b以及收入s,以直接将密文传到链上的方式。

根据本申请实施例,作为本实施例中的优选,所述加密模块11,用于在所述用户资产信息通过余额实时查询操作产生变化的情况下,基于所述智能合约在链上获取所述当前余额,并链下通过用户持有的私钥解密所述当前余额。

当执行余额实时查询操作,用户链上获取当前余额,并链下通过私钥解密当前余额。同时,未拥有私钥的人无法解密获取该信息。

具体实施时,在algorithm5中实现了链上发放资金的过程,通过同态加密操作完成,在algorithm6中实现了用户链下查看余额的过程,通过用户私钥解密余额密文实现。

根据本申请实施例,作为本实施例中的优选,所述加密模块11,用于在所述用户资产信息通过取款操作产生变化的情况下,基于用户持有的私钥生成零知识证明,并基于所述智能合约验证所述零知识证明的正确性;在所述判断所述零知识证明的正确性验证通过的情况下,执行转账操作。

当执行取款操作时,用户输入取款金额,同时根据自己的私钥生成一个零知识证明,证明当前账户余额不小于欲取的金额,同时不暴露余额的明文以及用户的私钥。

需要注意的是,还需要在智能合约链上判断零知识证明的正确性,若验证通过则执行转账操作。

具体实施时,在algorithm7中为取款的主函数,包含对生成证明,验证证明这两个函数的调用,以及实现扣款及转账过程。

在algorithm8中给出上述零知识证明的生成过程:为了证明(c,d)加密的明文s属于0至2的32次方。注意到s属于0至2的32次方当且仅当s的二进制拆分是32位以内,将原密文同态拆分为32组新的密文,每个新密文是对s二进制拆分的某一位的加密。同时,调用对每个新密文生成特定集证明的函数,即,证明(ci,di)的加密内容要么是0,要么是2的i次方。零知识证明包含上述所有特定集证明,其长度为常数级别。

此外,还需要对algorithm8中的零知识证明的验证。还需要通过私钥生成特定集证明、同时验证特定集证明,在本申请的实施例中不再进行赘述。

显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。

本申请实施例还提供了一种计算机设备。如图3所示,计算机设备20可以包括:至少一个处理器201,例如cpu,至少一个网络接口204,用户接口203,存储器205,至少一个通信总线202,可选地,还可以包括显示屏206。其中,通信总线202用于实现这些组件之间的连接通信。其中,用户接口203可以包括触摸屏、键盘或鼠标等等。网络接口204可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通过网络接口204可以与服务器建立通信连接。存储器205可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器,存储器205包括本发明实施例中的flash。存储器205可选的还可以是至少一个位于远离前述处理器201的存储系统。如图3所示,作为一种计算机存储介质的存储器205中可以包括操作系统、网络通信模块、用户接口模块以及程序指令。

需要说明的是,网络接口204可以连接接收器、发射器或其他通信模块,其他通信模块可以包括但不限于wifi模块、蓝牙模块等,可以理解,本发明实施例中计算机设备也可以包括接收器、发射器和其他通信模块等。

处理器201可以用于调用存储器205中存储的程序指令,并使计算机设备20执行以下操作:

采用智能合约将财务系统中的用户资产信息上链,其中,所述用户资产信息至少包括如下之一:当前账户余额、收入;

在所述用户资产信息通过触发操作产生变化的情况下,基于所述智能合约对所述用户资产信息进行加密,其中,所述触发操作是指对用户资产进行的操作。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1