首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 区块链账本 / 一种基于可监管区块链的隐私安全转账支付方法、装置、系统及存储介质

一种基于可监管链的隐私安全转账支付方法、装置、系统及存储介质

阅读:937发布:2020-05-14

专利汇可以提供一种基于可监管链的隐私安全转账支付方法、装置、系统及存储介质专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种基于可监管 区 块 链 的隐私安全转账支付方法、装置、系统及存储介质,该隐私安全转账支付方法包括:交易金额的隐私保护步骤:对交易中的交易金额进行隐私保护;交易地址保护步骤:对交易双方的地址进行保护;以及交易监管步骤。本发明的有益效果是:本发明解决了传统转账支付方案中过度依赖第三方机构的问题;明确了交易中需要保护的隐私信息,针对交易块中的交易金额、交易双方的交易余额、交易发起方的地址信息和交易接收方的地址信息,设计了相对应的隐私保护方案;建立对区块链用户监管体系,监管者可以保留追究在区块链上进行买卖双方的责任。,下面是一种基于可监管链的隐私安全转账支付方法、装置、系统及存储介质专利的具体信息内容。

1.一种基于可监管链的隐私安全转账支付方法,其特征在于,包括:
交易金额的隐私保护步骤:对交易中的交易金额进行隐私保护;
交易地址保护步骤:对交易双方的地址进行保护;
交易监管步骤:包括中心行、mintette和用户三种色,mintette被中心银行授权来记录交易,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表,每个mintette都维护一个低层账本,mintettes之间会有直接或间接的交流,在规定的时候,mintettes会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
2.根据权利要求1所述的隐私安全转账支付方法,其特征在于,在交易金额的隐私保护步骤中,采用基于同态加密的隐私保护算法:假设x1,y1,x2,y2分别代表P1的交易前余额、P2的交易前余额、P1的交易后余额和P2的交易后余额),P1和P2分别表示参加转账交易的两家机构,当前有两对密文(Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等;
Epk(x1)表示用密钥pk加密x1所得到的密文,Epk(y1)表示用密钥pk加密y1所得到的密文,Epk(x2)表示用密钥pk加密x2所得到的密文,Epk(y1)表示用密钥pk加密y1所得到的密文。
3.根据权利要求1所述的隐私安全转账支付方法,其特征在于,所述交易地址保护步骤采用基于一次性隐匿地址的混币算法,P1发起一笔交易,需要向P2付款,P1通过分析P2的钱包地址得到P2的公钥(A,B),其中A=aG,B=bG,(a,b)表示P2的私钥;P1产生一个随机数r∈[1,l-1],并计算一次性公钥P=Hs(rA)G+B,rA表示随机数r与A在椭圆曲线上的乘积;P1使用P作为输出的目的地址公钥,同时将R=rG写入交易块,R为公共参数,针对同一个地址,P1可以通过选取不同的随机数r产生不同的一次性公钥地址,P1将 和 结果写入交易块, 和 表示使用BCP公钥加密得到的密文;P1全网广播这笔交易;P2使用他的私钥(a,b)计算P′=Hs(aR)G+B,P′表示交易的接收者通过计算得到的一次性公钥,用来验证交易发送者发送的信息是否正确,当检测到P1发给他的这笔交易,由于aR=arG=rA,所以P′=P;P2根据私钥(a,b)计算出一次性公钥P=xG对应的一次性私钥x=Hs(aR)+b;
P2使用自己的一次性公钥收到了P1的付款;对于系统中的其他用户来说,该笔交易的一次性公钥地址与用户的真实身份是不关联的; 和 用于第三方监管机构的监
管,当需要对当前交易进行审计时,监管方使用skBCP可解密得到r及rA,结合P=Hs(rA)G+B进而得到(A,B),即接收方的真实地址,skBCP表示BCP私钥;G表示椭圆曲线的一个基点,l表示基点的一个素数阶,Hs表示一个加密的哈希函数{0,1}*→Fq,E表示一个椭圆曲线表达式。
4.根据权利要求1所述的隐私安全转账支付方法,其特征在于,所述交易地址保护步骤采用基于可撤销匿名性环签名的混币算法,包括:(x,P)←Gen(1k),Gen是一个多项式时间算法,k是安全参数,输出一对密钥(x,P),x为私钥,P为公钥,根据(x,P)计算得到密钥镜像I;
σ←Sig(1k,x,L,m),Sig是一个多项式时间算法,k是安全参数,x为私钥,L为参与环签名的n个用户公钥集合,用户公钥集合包含x对应的公钥,m为签名的消息,输出为签名σ;
1/0←Ver(1k,L,m,σ),Ver是一个多项式时间算法,k是安全参数,L为参与环签名的n个用户公钥集合,m为签名的消息,σ为签名,输出1表示验证通过,输出0表示验证不通过;
1/0←Lnk(1k,K,σ),Lnk是一个多项式时间算法,k是安全参数,K为历史产生的所有I的集合,σ为签名,输出1表示签名被链接,输出0表示签名未被链接;
1/0←Rev(1k,σ,sk),Rev是一个多项式时间算法,k是安全参数,σ为签名,sk是监管者手中的私钥,输出1表示签名有效且签名者的身份被确认,输出0表示签名无效。
5.根据权利要求1至4任一项所述的隐私安全转账支付方法,其特征在于,在所述交易监管步骤中,首先将mintettes分成多个小组,每个小组的mintettes只维护自己管辖区域内的账本内容;当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理;最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录;中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限;在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成,mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行;不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
6.一种基于可监管区块链的隐私安全转账支付系统,其特征在于,包括:交易金额的隐私保护模块:用于对交易中的交易金额进行隐私保护;
交易地址保护模块:用于对交易双方的地址进行保护;
交易监管模块:包括中心银行、mintette和用户三种角色,mintette被中心银行授权来记录交易,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表,每个mintette都维护一个低层账本,mintettes之间会有直接或间接的交流,在规定的时候,mintettes会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
7.根据权利要求6所述的隐私安全转账支付系统,其特征在于,在交易金额的隐私保护模块中,采用基于同态加密的隐私保护算法:假设x1,y1,x2,y2分别代表P1的交易前余额、P2的交易前余额、P1的交易后余额和P2的交易后余额),P1和P2分别表示参加转账交易的两家机构,当前有两对密文(Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等;
Epk(x1)表示用密钥pk加密x1所得到的密文,Epk(y1)表示用密钥pk加密y1所得到的密文,Epk(x2)表示用密钥pk加密x2所得到的密文,Epk(y1)表示用密钥pk加密y1所得到的密文。
8.根据权利要求6至7任一项所述的隐私安全转账支付系统,其特征在于,在所述交易监管模块中,首先将mintettes分成多个小组,每个小组的mintettes只维护自己管辖区域内的账本内容;当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理;最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录;中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限;在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成,mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行;不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
9.一种基于可监管区块链的隐私安全转账支付装置,其特征在于:包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现权利要求1-5中任一项所述的隐私安全转账支付方法的步骤。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现权利要求1-5中任一项所述的隐私安全转账支付方法的步骤。

说明书全文

一种基于可监管链的隐私安全转账支付方法、装置、系统

及存储介质

技术领域

背景技术

[0002] 缩略语和关键术语定义:
[0003] UTXO:Unspent Transaction Output,未被使用的交易输出。
[0004] 环签名:环签名是一种数字签名方案,最初由Rivest等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。
[0005] 同态加密:同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
[0006] 下面对背景技术进行详细介绍:
[0007] 1.相关技术背景(背景技术)
[0008] 随着互联网的发展,对人们的生活方式产生了巨大的影响,绝大多数的商品交易都是通过网络转账支付的方式进行。在传统的转账支付交易系统中,当我们进行交易时,是由第三方机构进行交易确认,资产也是存储在第三方机构的数据库。这种存储和交易方式对第三方机构的稳定性和安全性有着很高的要求。一方面,由于系统是完全中心化的,只有一个中心机构,它需要对系统中所以的交易进行确认,一旦出现故障,整个系统都将瘫痪无法正常运行。另一方面,攻击者和管理人员可以对数据库数据进行修改,数据库的数据恢复难度和成本都比较高。因此,传统的转账支付系统比较依赖第三方的信任和安全,存在着一定的安全隐患。
[0009] 2008年,NakamotoS发表了一篇关于电子现金系统的论文,文章提出了比特币网络。随着比特币等密码货币的出现和发展,区块链技术慢慢地被人们所熟知,越来越多的专家学者开始研究探索区块链相关技术及应用。区块链技术是由数据库技术和多种密码学技术结合而产生的,包括椭圆曲线加密、非对称密钥加密机制、哈希散列算法、共识算法等。区块链可以看作是是一种分布式的共享账本(Distributed Shared Ledger),交易信息的记录和存储由区块链网络中的所有节点共同完成。也就是说,区块链网络中的任何节点都可以将交易信息记录在交易块并在通过验证后写入区块链,而不是由一个完全中心化的第三方机构来完成交易信息的确认和记录;区块链网络中的任何节点都可以存储自创世区块后的所有交易信息,而不是由一个完全中心化的第三方集中存储。区块链的交易数据按照时间顺序保存,邻近的交易块通过密码学技术相互联系在一起,保证了形成的区块链是可信的和不可篡改的。
[0010] 区块链从根本上解决了转账支付交易中依赖第三方的问题,使用了经理论和实践证明安全的现代密码术。具有较高的安全性,还能在一定程度上对用户交易的身份进行保护隐私。分布式的账本降低了传统数据库存储资产交易信息的压,多节点联合维护保证了区块链系统的稳定性。
[0011] 在区块链中,区块链的账本由所有网络中的节点共同维护,任何节点都可以参与区块的产生并将其连接到区块链上,即使互相不信任的节点也可以对区块中的交易数据进行验证,通过共识机制达成一致。用户的账户余额在区块链上都可以查到,而且都是明文信息没有经过加密的,区块链上的所有节点都可以获取这些公开信息。同时,用户在进行转账支付交易时,交易的验证需要由链上的其他节点参与,因此区块主体中的交易金额等信息也是明文的。这样就导致用户的交易隐私数据在区块链上被暴露出来,很明显,没有人希望自己的隐私信息泄漏出去。例如,从比特币系统创世区块的产生至今为止,系统中所有的交易数据大概190G。如果攻击者对这些历史交易数据进行分析整合,就可以获取任何一个指定账户的所有交易信息。即便同一个用户拥有多个账户地址,敌手通过基于聚类的行为分析等技术也可以很大概率地分析出哪些地址属于同一用户。并且由于在区块链中可以查到对应账户地址进行的所有交易,所以如果交易与真实身份相关联,交易中的交易者身份信息和相关的交易记录都将被泄露。
[0012] 因此,以区块链技术为基础,研究如何保留区块链的匿名性、去信任、不可篡改等特性,同时通过技术手段对交易数据进行隐私保护,才能使得区块链技术能够在转账支付交易方面更合理的应用。由于区块链的完全去中心化特性,这导致链上的非法交易无法得到有效监管,所以还需要从技术层面研究区块链技术的监管。
[0013] 2.与本发明相关的现有技术
[0014] 2.1)现有技术的技术方案
[0015] 支付是资金流通的基础环节。在跨境转账和清算领域,交易存在着高成本、耗时、安全等问题。随着区块链技术的发展,底层技术开发者和传统金融机构都在关注,区块链能否在降低结算险、提高支付效率和节省行资源等方面发挥优势,从而改善现有的转账支付模式。区块链的去中心化、去信任、集体维护、数据透明等特性能很好地与金融领域相结合,特别是在转账支付交易方面。资金转账的数据完全记录在数字分类账本上,每一笔交易都可以追踪溯源,保证了交易的安全性和可靠性;利用区块链、分布式账本技术,中间机构没了,需要银行职员手动处理的步骤没了,转账支付变成了点对点,直接减少了处理时间;取消中间机构,使得支付和收款这些交易流程、交易信息,对于交易双方都是透明的;没有中间机构的参与,降低了成本,提高了系统的运行效率。
[0016] 2.2)评价现有技术的缺点
[0017] 现有区块链技术不能很好地为用户提供隐私保护。Androulaki E等人通过模拟比特币的交易,评估传统区块链技术对用户隐私保护的能力,实验结果表明,40%用户的真实身份可以通过基于行为的聚类方法暴露出来。用户隐私泄露有两个主要原因。一个是开放的交易金额、交易元数据和全网账本,允许攻击者获取大量的有关用户的身份信息,另一个是与交易中交易发起者的账户与交易接收者的账户有着明显的关联特征,使攻击者能够追查对应的历史交易。
[0018] 现有技术没有有效的监管机制。我们在关注区块链技术的发展和应用之外,也要考虑到由于区块链的完全去中心化特性,导致链上的非法交易无法得到有效监管,无法对敏感的交易进行检查。

发明内容

[0019] 本发明提供了一种基于可监管区块链的隐私安全转账支付方法,包括:
[0020] 交易金额的隐私保护步骤:对交易中的交易金额进行隐私保护;
[0021] 交易地址保护步骤:对交易双方的地址进行保护;
[0022] 交易监管步骤:包括中心银行、mintette和用户三种色,mintette被中心银行授权来记录交易,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表,每个mintette都维护一个低层账本, mintettes之间会有直接或间接的交流,在规定的时候,mintettes会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
[0023] 作为本发明的进一步改进,在交易金额的隐私保护步骤中,采用基于同态加密的隐私保护算法:假设x1,y1,x2,y2分别代表P1的交易前余额、P2的交易前余额、P1的交易后余额和P2的交易后余额),P1和P2分别表示参加转账交易的两家机构,当前有两对密文(Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等。
[0024] 作为本发明的进一步改进,所述交易地址保护步骤采用基于一次性隐匿地址的混币算法,P1发起一笔交易,需要向P2付款,P1通过分析P2的钱包地址得到P2的公钥(A,B),其中A=aG,B=bG;P1产生一个随机数 r∈[1,l-1],并计算一次性公钥P=Hs(rA)G+B;P1使用P作为输出的目的地址公钥,同时将R=rG写入交易块,针对同一个地址,P1可以通过选取不同的随机数r产生不同的一次性公钥地址,P1将 和 结果写入交易块;P1全网广播这笔交易;P2使用他的私钥(a,b)计算P′=Hs(aR)G+B,当检测到P1发给他的这笔交易,由于aR=arG=rA,所以P′=P;P2根据私钥(a,b)计算出一次性公钥P=xG对应的一次性私钥x=Hs(aR)+b;P2使用自己的一次性公钥收到了P1的付款;对于系统中的其他用户来说,该笔交易的一次性公钥地址与用户的真实身份是不关联的; 和 用于第三方
监管机构的监管,当需要对当前交易进行审计时,监管方使用skBCP可解密得到r及rA,结合P=Hs(rA)G+B进而得到(A,B),即接收方的真实地址;
[0025] G表示椭圆曲线的一个基点,l表示基点的一个素数阶,Hs表示一个加密的哈希函数{0,1}*→Fq,E表示一个椭圆曲线表达式。
[0026] 作为本发明的进一步改进,所述交易地址保护步骤采用基于可撤销匿名性环签名的混币算法,包括:(x,P)←Gen(1k),Gen是一个多项式时间算法,k是安全参数,输出一对密钥(x,P),x为私钥,P为公钥,根据(x,P)计算得到密钥镜像I;
[0027] σ←Sig(1k,x,L,m),Sig是一个多项式时间算法,k是安全参数,x为私钥,L为参与环签名的n个用户公钥集合,用户公钥集合包含x对应的公钥, m为签名的消息,输出为签名σ;
[0028] 1/0←Ver(1k,L,m,σ),Ver是一个多项式时间算法,k是安全参数,L为参与环签名的n个用户公钥集合,m为签名的消息,σ为签名,输出1表示验证通过,输出0表示验证不通过;
[0029] 1/0←Lnk(1k,K,σ),Lnk是一个多项式时间算法,k是安全参数,K为历史产生的所有I的集合,σ为签名,输出1表示签名被链接,输出0表示签名未被链接;
[0030] 1/0←Rev(1k,σ,sk),Rev是一个多项式时间算法,k是安全参数,σ为签名,sk是监管者手中的私钥,输出1表示签名有效且签名者的身份被确认,输出0表示签名无效。
[0031] 作为本发明的进一步改进,在所述交易监管步骤中,首先将mintettes分成多个小组,每个小组的mintettes只维护自己管辖区域内的账本内容;当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理;最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录;中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限;在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成, mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行;不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
[0032] 本发明还提供了一种基于可监管区块链的隐私安全转账支付系统,包括:
[0033] 交易金额的隐私保护模块:用于对交易中的交易金额进行隐私保护;
[0034] 交易地址保护模块:用于对交易双方的地址进行保护;
[0035] 交易监管模块:包括中心银行、mintette和用户三种角色,mintette被中心银行授权来记录交易,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表,每个mintette都维护一个低层账本, mintettes之间会有直接或间接的交流,在规定的时候,mintettes会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
[0036] 作为本发明的进一步改进,在交易金额的隐私保护模块中,采用基于同态加密的隐私保护算法:假设x1,y1,x2,y2分别代表P1的交易前余额、P2的交易前余额、P1的交易后余额和P2的交易后余额),P1和P2分别表示参加转账交易的两家机构,当前有两对密文(Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等。
[0037] 作为本发明的进一步改进,在所述交易监管模块中,首先将mintettes分成多个小组,每个小组的mintettes只维护自己管辖区域内的账本内容;当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理;最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录;中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限;在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成, mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行;不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
[0038] 本发明还提供了一种基于可监管区块链的隐私安全转账支付装置,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明中所述的隐私安全转账支付方法的步骤。
[0039] 本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明中所述的隐私安全转账支付方法的步骤。
[0040] 本发明的有益效果是:本发明解决了传统转账支付方案中过度依赖第三方机构的问题;明确了交易中需要保护的隐私信息,针对交易块中的交易金额、交易双方的交易余额、交易发起方的地址信息和交易接收方的地址信息,设计了相对应的隐私保护方案;建立对区块链用户监管体系,监管者可以保留追究在区块链上进行买卖双方的责任。附图说明
[0041] 图1是金融区块链模型图。
[0042] 图2是标准交易结构示意图。
[0043] 图3是两级监管架构示意图。
[0044] 图4是系统架构图。
[0045] 图5是方法流程图
[0046] 图6是初始化阶段示意图。
[0047] 图7是环签名示意图。
[0048] 图8是验证阶段示意图。

具体实施方式

[0049] 本发明公开了一种基于可监管区块链的隐私安全转账支付方法,下面进行具体说明:
[0050] 技术原理简要说明:
[0051] 在转账支付交易场景中,假设参与者有P1,P2,P3三家机构和监管方S,如图1所示。当P1向P2进行一笔转账金额为x的交易,那么这笔账 T=(P1,P2,x)将会在网络中广播,P1,P2,P3都会收到T这笔交易。然而这笔交易只是P1,P2之间的交易,与P3没有关系,因此P3不应该知道这笔交易的真实内容。但是P3要仍需记录这笔交易,确保账本记录与P1,P2账本一致。
[0052] (1)在不知道P1,P2的地址信息和交易内容情况下,P3可以确认转账的合法性。此处的合法性有两层含义:P1可以证明自己拥有一笔资产,抽象为对应某一个特定且全局唯一的ID的资产标识,资产标识对他人依旧是不可见的、隐藏的;P1可以证明这笔资产在网络里是合法的,即具有唯一性,未使用过,P1需要提供证明。
[0053] (2)在不知道P1,P2间交易金额情况下,P3可以进行账本的资金交易结算,确认会计平衡。根据会计规则,P1和P2在交易后,手里的资产(如存款)余额总额是相等的。即下式成立:
[0054] P1(交易前余额)+P2(交易前余额)=P1(交易后余额)+P2(交易后余额)[0055] (3)存在监管方S,可以解密所有加密的交易数据,对每一笔交易进行监管审计。
[0056] 1.本发明针对交易金额公开的问题,提出了基于同态加密的隐私保护算法,利用算法的同态特性,可以在保护交易数据的情况下对交易的有效性进行验证。具体来说,假设x1,y1,x2,y2分别代表P1(交易前余额)、P2(交易前余额)、P1(交易后余额)和P2(交易后余额)。当前有两对密文 (Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等。
[0057] 2.本发明针对交易双方地址公开的问题,在CryptoNote协议基础上,提出了基于一次性隐匿地址的混币算法和基于可撤销匿名性环签名的混币算法,利用环签名的特性,可以有效地对交易发起方的地址进行保护,同时签名者需将私钥加密参与签名的构造,保证了在特殊情况下对其匿名性的撤销。
[0058] 基于一次性隐匿地址的混币算法,产生一次性公钥的过程中我们选择 EdDSA作为本方案的数字签名算法,它的相关参数含义如表1所示。
[0059] 表1 EdDSA相关参数及含义
[0060]
[0061] 1)P1发起一笔交易,需要向P2付款。P1通过分析P2的钱包地址得到P2的公钥(A,B),其中A=aG,B=bG;
[0062] 2)P1产生一个随机数r∈[1,l-1],并计算一次性公钥P=Hs(rA)G+B;
[0063] 3)P1使用P作为输出的目的地址公钥,同时将R=rG写入交易块。在这里,针对同一个地址,P1可以通过选取不同的随机数r产生不同的一次性公钥地址。此外,为保证交易的有效监管,P1需要将 和 结果写入交易块;
[0064] 4)P1全网广播这笔交易;
[0065] 5)P2使用他的私钥(a,b)计算P′=Hs(aR)G+B,当检测到P1发给他的这笔交易,由于aR=arG=rA,所以P′=P;
[0066] 6)P2可以根据私钥(a,b)计算出一次性公钥P=xG对应的一次性私钥 x=Hs(aR)+b,这也代表着他有了这笔钱的拥有和使用权。
[0067] 图2是标准交易结构图,至此,P2使用自己的一次性公钥收到了P1的付款。对于系统中的其他用户来说,该笔交易的一次性公钥地址与用户的真实身份是不关联的。 和用于第三方监管机构的监管,当需要对当前交易进行审计时,监管方使用skBCP可解密得到r及rA,结合 P=Hs(rA)G+B进而得到(A,B),即接收方的真实地址。
[0068] 环签名的使用是为了隐藏用户输入与输出地址之间的联系(不可追踪性)。利用环签名,用户能够匿名地对消息进行签名,其他人可验证签名却不知道签名是由环中的哪一个成员所签。虽然环签名保证了用户的匿名性,但是却带来了另外一个问题,如何防止“双花”,防止发送方将同一笔钱发送给不同的接收方。我们可以将传统的环签名加以改进,使其具有可链接性,也就是说,如果用户使用自己的同一个私钥创建了多个环签名(环签名中的其他用户公钥可任意选择),这些签名将链接在一起,这表示用户对一笔资产进行了双重花费。
[0069] 为了使环签名具有可链接性,我们引入了密钥镜像的概念,它是用户在创建环签名时产生的特殊标签。用户的私钥和公钥经过一定规则单向哈希运算得到的值,便是这个密钥镜像。这里的单向性指的是攻击者仅通过密钥镜像和其他公开信息无法逆推得到用户的私钥。密钥镜像可以看作是签名者私钥的一个匿名标记,所有用户保留系统中所有历史交易中产生的密钥镜像,在验证环签名的有效性时,如果密钥镜像已经出现在历史密钥镜像库中,不管新的环签名是否通过验证都将被拒绝。
[0070] 下面将利用环签名的特性设计一种混币方案,通过隐藏用户的交易地址,加强区块链的匿名性。该方案的安全模型包含如下五个算法:
[0071] 1)(x,P)←Gen(1k).Gen是一个多项式时间算法,k是安全参数;输出一对密钥(x,P),x为私钥,P为公钥,根据(x,P)计算得到I。
[0072] 2)σ←Sig(1k,x,L,m).Sig是一个多项式时间算法,k是安全参数,x为私钥,L为参与环签名的n个用户公钥集合(包含x对应的公钥),m为签名的消息;输出为签名σ。
[0073] 3)1/0←Ver(1k,L,m,σ).Ver是一个多项式时间算法,k是安全参数,L 为参与环签名的n个用户公钥集合,m为签名的消息,σ为签名;输出1 表示验证通过,输出0表示验证不通过。
[0074] 4)1/0←Lnk(1k,K,σ).Lnk是一个多项式时间算法,k是安全参数,K 为历史产生的所有I的集合,σ为签名;输出1表示签名被链接,输出0 表示签名未被链接。
[0075] 5)1/0←Rev(1k,σ,sk).Rev是一个多项式时间算法,k是安全参数,σ为签名,sk是监管者手中的私钥;输出1表示签名有效且签名者的身份被确认,输出0表示签名无效。
[0076] 3.本发明针对区块链上的交易监管问题,提出了一种两级监管架构的方案,监管者可以保留追究在区块链上进行买卖双方的责任。
[0077] 系统包含三种角色,分别是中心银行、mintette和用户。初看上去mintette 和矿工有一点像,它们都是来确认交易的发生然后记账。但是,最关键的一点不同,mintette并不是去解决计算困难问题,而是被中心银行授权来记录交易。这种授权是由PK公钥加密完成的,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表。每个mintette都维护一个低层账本,mintettes之间会有直接或间接的交流。在特定的时候,mintettes 会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
[0078] 图3是两级监管架构示意图,系统利用了多线程的设计思路来提高系统的处理能力。首先将mintettes分成多个小组,每个小组的mintettes只维护自己管辖区域内的账本内容。当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理,这样便可以极大地提高系统的运行效率。最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录。中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限。
[0079] 在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成, mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行。不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
[0080] 对于本发明的交易金额的隐私保护步骤,对于交易中的交易金额的隐私保护,还可以使用隐私保护效果更好的零知识证明方案,但可能会降低系统的性能。
[0081] 对于本发明的交易地址保护步骤,对于交易双方地址的保护也可以采用其他混币方案,例如Mixcoin协议、CoinShuffle协议、Coinparty协议等。
[0082] 本发明还公开了一种基于可监管区块链的隐私安全转账支付系统,包括:
[0083] 交易金额的隐私保护模块:用于对交易中的交易金额进行隐私保护;
[0084] 交易地址保护模块:用于对交易双方的地址进行保护;
[0085] 交易监管模块:包括中心银行、mintette和用户三种角色,mintette被中心银行授权来记录交易,中心银行会对每一个mintette生成公钥,并定期向整个系统发布授权的mintettes列表,每个mintette都维护一个低层账本, mintettes之间会有直接或间接的交流,在规定的时候,mintettes会把这些低层账本发给中心银行,从而生成全局账本,全局账本才对外界具有可见性。
[0086] 在交易金额的隐私保护模块中,采用基于同态加密的隐私保护算法:假设x1,y1,x2,y2分别代表P1的交易前余额、P2的交易前余额、P1的交易后余额和P2的交易后余额),P1和P2分别表示参加转账交易的两家机构,当前有两对密文(Epk(x1),Epk(y1)),(Epk(x2),Epk(y2)),目标是在保证x1,y1,x2,y2隐私性的同时,得到Epk(x1+y1),Epk(x2+y2)并判断两者是否相等。
[0087] 所述交易地址保护模块采用基于一次性隐匿地址的混币算法,P1发起一笔交易,需要向P2付款,P1通过分析P2的钱包地址得到P2的公钥(A,B),其中A=aG,B=bG;P1产生一个随机数r∈[1,l-1],并计算一次性公钥 P=Hs(rA)G+B;P1使用P作为输出的目的地址公钥,同时将R=rG写入交易块,针对同一个地址,P1可以通过选取不同的随机数r产生不同的一次性公钥地址,P1将 和 结果写入交易块;P1全网广播这笔交易;P2使用他的私钥(a,b)计算P′=Hs(aR)G+B,当检测到P1发给他的这笔交易,由于aR=arG=rA,所以P′=P;P2根据私钥(a,b)计算出一次性公钥 P=xG对应的一次性私钥x=Hs(aR)+b;P2使用自己的一次性公钥收到了P1的付款;对于系统中的其他用户来说,该笔交易的一次性公钥地址与用户的真实身份是不关联的; 和 用于第三方监管机构的监管,当需要
对当前交易进行审计时,监管方使用skBCP可解密得到r及rA,结合 P=Hs(rA)G+B进而得到(A,B),即接收方的真实地址;
[0088] G表示椭圆曲线的一个基点,l表示基点的一个素数阶,Hs表示一个加密的哈希函数{0,1}*→Fq,E表示一个椭圆曲线表达式。
[0089] 所述交易地址保护模块采用基于可撤销匿名性环签名的混币算法,包括:(x,P)←Gen(1k),Gen是一个多项式时间算法,k是安全参数,输出一对密钥(x,P),x为私钥,P为公钥,根据(x,P)计算得到密钥镜像I;
[0090] σ←Sig(1k,x,L,m),Sig是一个多项式时间算法,k是安全参数,x为私钥,L为参与环签名的n个用户公钥集合,用户公钥集合包含x对应的公钥, m为签名的消息,输出为签名σ;
[0091] 1/0←Ver(1k,L,m,σ),Ver是一个多项式时间算法,k是安全参数,L为参与环签名的n个用户公钥集合,m为签名的消息,σ为签名,输出1表示验证通过,输出0表示验证不通过;
[0092] 1/0←Lnk(1k,K,σ),Lnk是一个多项式时间算法,k是安全参数,K为历史产生的所有I的集合,σ为签名,输出1表示签名被链接,输出0表示签名未被链接;
[0093] 1/0←Rev(1k,σ,sk),Rev是一个多项式时间算法,k是安全参数,σ为签名,sk是监管者手中的私钥,输出1表示签名有效且签名者的身份被确认,输出0表示签名无效。
[0094] 在所述交易监管模块中,首先将mintettes分成多个小组,每个小组的 mintettes只维护自己管辖区域内的账本内容;当用户发起交易时,系统按照相应的规则交由对应的mintettes来处理;最终用户和中心银行之间的信息交换不是直接发生的,而是通过这个mintettes中间层来汇总交易记录;中心银行在系统中有着至关重要的作用,当出现交易纠纷或者不合法的交易时,中心银行对全局账本有唯一的监管和审计权限;在每个mintette管辖范围内的交易,如果交易流程按照之前设计的转账支付交易方案,用户转账支付交易的验证和确认由系统中的其他用户完成,mintette不再单独验证和记录交易,而是起到一个底层的监管作用,在特定时间段将低层账本发送给中心银行;不同mintette区域的交易互不干扰,每个mintette只能解密自己管辖区域的交易数据,中心银行具有最高的监管权,它可对任意一笔交易数据进行解密。
[0095] 本发明还公开了一种基于可监管区块链的隐私安全转账支付装置,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述的隐私安全转账支付方法的步骤。
[0096] 本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的隐私安全转账支付方法的步骤。
[0097] 本发明的有益效果是:本发明解决了传统转账支付方案中过度依赖第三方机构的问题;明确了交易中需要保护的隐私信息,针对交易块中的交易金额、交易双方的交易余额、交易发起方的地址信息和交易接收方的地址信息,设计了相对应的隐私保护方案;建立对区块链用户监管体系,监管者可以保留追究在区块链上进行买卖双方的责任。
[0098] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈