一种基于区块链加密的多用户应收账款确权核对系统的制作方法

文档序号:36160715发布日期:2023-11-23 08:33阅读:40来源:国知局
一种基于区块链加密的多用户应收账款确权核对系统的制作方法

本技术涉及区块链,具体而言,涉及一种基于区块链加密的多用户应收账款确权核对系统。


背景技术:

1、应收账款确权,通常涉及多个参与方(如供应商,即债权方,买家,即债务方,甚至银行等)之间的应收账款确认和核对流程。在传统的商业环境中,供应商向买方提供货物或服务后,会生成相应的应收账款,即买方应向供应商支付的金额。然而,在账款确认和核对过程中存在潜在的错误、争议和不透明的情况,给商业交易和合作带来困扰。

2、区块链技术的发展和特点,保证了交易的可追溯性、透明性和安全性,因此,现在的交易过程也逐渐开始引入区块链技术。但现有的技术,交易双方的身份信息对于区块链上的验证节点来说,是难以隐藏的,不利于对交易双方的身份信息保护。


技术实现思路

1、本技术实施例的目的在于提供一种基于区块链加密的多用户应收账款确权核对系统,以在提高应收账款确权的安全性、可靠性的同时,实现对交易双方的身份信息保护。

2、为了实现上述目的,本技术的实施例通过如下方式实现:

3、第一方面,本技术实施例提供一种基于区块链加密的多用户应收账款确权核对系统,包括:同一项应收账款的债权方节点与应收账款的债务方节点建立通信,双方均获取对方公钥,其中,每一项应收账款对应一个唯一编号;债权方节点,用于将己方身份信息拆分为两部分,利用己方公钥对两部分的己方身份信息进行同态加密,得到密文a1和密文a2,以及,将两部分的己方身份信息进行指定运算,并利用己方公钥对运算结果进行同态加密,得到密文a,将密文a1利用己方私钥签名并利用对方公钥加密后的加密信息发送给债务方节点;债务方节点,用于将己方身份信息拆分为两部分,利用己方公钥对两部分的己方身份信息进行同态加密,得到密文b1和密文b2,以及,将两部分的己方身份信息进行指定运算,并利用己方公钥对运算结果进行同态加密,得到密文b,将密文b1利用己方私钥签名并利用对方公钥加密后的加密信息发送给债权方节点;债权方节点,还用于利用己方私钥对债务方节点发送的加密信息进行解密,得到密文b1,并利用对方公钥对密文b1进行签名验证,验证成功后,生成应收账款对应的交易内容信息c,将交易内容信息c利用己方私钥签名后,连同密文b1、密文a2、密文a、己方公钥和唯一编号,打包成区块上链并广播;债务方节点,还用于利用己方私钥对债权方节点发送的加密信息进行解密,得到密文a1,并利用对方公钥对密文a1进行签名验证,验证成功后,生成应收账款对应的交易内容信息d,将交易内容信息d利用己方私钥签名后,连同密文a1、密文b2、密文b、己方公钥和唯一编号,打包成区块上链并广播;每个验证节点,用于对同一唯一编号的两个区块进行验证,验证成功后将同一唯一编号的两个区块加入到验证节点的区块链上。

4、结合第一方面,在第一方面的第一种可能的实现方式中,指定运算为同态加密的加运算或乘运算。

5、结合第一方面,在第一方面的第二种可能的实现方式中,加密算法采用rsa同态加密算法。

6、结合第一方面,在第一方面的第三种可能的实现方式中,每个验证节点,具体用于:获取同一唯一编号对应的两个区块;对密文b1、密文a2、密文a、密文a1、密文b2、密文b进行验证,确认债权方节点与债务方节点的身份匹配结果;利用债权方节点的公钥,对交易内容信息c进行验证;利用债务方节点的公钥,对交易内容信息d进行验证。

7、结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,每个验证节点,具体用于:从债权方节点的区块中获取密文b1、密文a2、密文a,从债务方节点的区块中获取密文a1、密文b2、密文b;对密文a1和密文a2进行指定运算,得到运算结果a',对密文b1和密文b2进行指定运算,得到运算结果b';将运算结果a'与密文a进行比对,将运算结果b'与密文b进行比对,若运算结果a'与密文a比对一致,运算结果b'与密文b比对一致,确定债权方节点和债务方节点的身份验证成功;否则,确定债权方节点和债务方节点的身份验证失败。

8、结合第一方面的第三种可能的实现方式,在第一方面的第五种可能的实现方式中,每个验证节点,具体用于:利用债权方节点的公钥,对交易内容信息c的签名进行验证,以及,利用债务方节点的公钥,对交易内容信息d的签名进行验证;交易内容信息c和交易内容信息d的签名均验证成功后,对交易内容信息c和交易内容信息d进行核对;若核对无误,确定交易内容信息c和交易内容信息d验证成功。

9、结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,每个验证节点,具体用于:将交易内容信息c和交易内容信息d的约定交易时间、约定货物数量、约定金额进行逐一核对;若约定交易时间、约定货物数量、约定金额均核对一致,确定交易内容信息c和交易内容信息d核对无误。

10、结合第一方面,在第一方面的第七种可能的实现方式中,系统还包括银行节点,所述银行节点用于:获取债权方节点发送的应收账款集合,其中,每一项应收账款对应一个唯一编号;针对每项应收账款:获取唯一编号对应的两个区块;向唯一编号对应的债务方节点发送身份信息验证请求;接收债务方节点返回的身份信息验证结果;基于应收账款对应的身份信息验证结果,确定应收账款的真实性核验结论。

11、结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述银行节点,具体用于:获取同一唯一编号对应的两个区块中提供的密文b1、密文b2和密文b;对密文b1和密文b2进行指定运算,得到运算结果b”;将运算结果b”与密文b进行比对;比对一致后,利用银行节点的私钥对运算结果b”签名,并采用债务方节点的公钥对运算结果b”进行加密后,基于银行节点的公钥和加密后的运算结果b”生成身份信息验证请求并发送给债务方节点。

12、结合第一方面的第八种可能的实现方式,在第一方面的第九种可能的实现方式中,所述债务方节点还用于:接收银行节点发送的身份信息验证请求;利用己方的私钥对身份信息验证请求进行解密,得到银行节点的公钥和银行节点签名的运算结果b”;利用银行节点的公钥对银行节点签名的运算结果b”进行签名验证;签名验证成功后,将己方的密文b与运算结果b”进行比对;基于比对结果,生成身份信息验证结果,并利用己方私钥对身份信息验证结果签名,采用银行节点的公钥对签名后的身份信息验证结果进行加密,返回给银行节点。

13、有益效果:

14、1.债权方节点将己方身份信息拆分为两部分,利用己方公钥对两部分的己方身份信息进行同态加密(例如rsa同态加密算法),得到密文a1和密文a2,以及,将两部分的己方身份信息(债权方的身份信息)进行指定运算(例如加运算或乘运算),并利用己方公钥(债权方的公钥)对运算结果进行同态加密,得到密文a,将密文a1利用己方私钥签名并利用对方公钥加密后的加密信息发送给债务方节点;债务方节点将己方身份信息(债务方的身份信息)拆分为两部分,利用己方公钥(债务方的公钥)对两部分的己方身份信息进行同态加密,得到密文b1和密文b2,以及,将两部分的己方身份信息进行指定运算,并利用己方公钥对运算结果进行同态加密,得到密文b,将密文b1利用己方私钥签名并利用对方公钥加密后的加密信息发送给债权方节点;债权方节点利用己方私钥对债务方节点发送的加密信息进行解密,得到密文b1,并利用对方公钥(债务方的公钥)对密文b1进行签名验证,验证成功后,生成应收账款对应的交易内容信息c,将交易内容信息c利用己方私钥签名后,连同密文b1、密文a2、密文a、己方公钥和唯一编号,打包成区块上链并广播;债务方节点利用己方私钥对债权方节点发送的加密信息进行解密,得到密文a1,并利用对方公钥(债权方的公钥)对密文a1进行签名验证,验证成功后,生成应收账款对应的交易内容信息d,将交易内容信息d利用己方私钥签名后,连同密文a1、密文b2、密文b、己方公钥和唯一编号,打包成区块上链并广播;每个验证节点对同一唯一编号的两个区块进行验证,验证成功后将同一唯一编号的两个区块加入到验证节点的区块链上。这样即可利用同态加密的技术,将交易双方(债权方和债务方)的身份信息加密,验证节点不仅可以在身份信息加密的状态下对交易双方(债权方和债务方)的身份信息进行验证,还可以验证确保交易双方的匹配性(由于双方打包的区块中,包含一部分己方身份信息的密文和对方身份信息的密文,因此可以验证交易双方的匹配性),大大提升隐藏交易双方身份信息后的身份验证的可靠性,还能保证交易的真实性和可追溯性,完美实现对交易双方的身份信息隐藏,实现对交易双方的身份信息保护。

15、2.在银行需要对债权方的应收账款的确权核验时(例如债权方需要向银行贷款时,银行为控制自身风险需要审核债权方的各种信息和应收账款),通过债权方提供应收账款的唯一编号,银行节点可以从区块链上获取相应的交易信息的区块(区块链上交易的可追溯性),通过唯一编号获取相应区块,同样可以在隐藏交易双方的身份信息的条件下实现对债务方的身份信息进行验证,从而可以在传统信息审核的基础上,增加此类审核,大大提升应收账款核验的可靠性,避免账款确认和核对过程中潜在的错误、争议和不透明的情况。由于整个过程在区块链上无需使用交易双方的明文身份信息,从而大大提升对交易双方的身份信息保护的安全性,无需担心泄露风险。

16、为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

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