CN112734424B - 一种基于区块链的隐私保护支付方法及系统 - Google Patents
一种基于区块链的隐私保护支付方法及系统 Download PDFInfo
- Publication number
- CN112734424B CN112734424B CN202110008424.2A CN202110008424A CN112734424B CN 112734424 B CN112734424 B CN 112734424B CN 202110008424 A CN202110008424 A CN 202110008424A CN 112734424 B CN112734424 B CN 112734424B
- Authority
- CN
- China
- Prior art keywords
- transaction
- amount
- input
- public key
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明请求保护一种基于区块链的隐私保护支付方案,系统包含交换发起者,交换接收者,交易机构。包括以下步骤:交易中心完成系统初始化,用户进行注册。交易发起阶段,发起者生成相应的交易,并在交易中心的协助下进行群签名,最后将交易和签名上传到区块链中等待验证。验证阶段由矿工进行。交易接收阶段,接收者使用私钥来接收属于自己的交易,计算该交易对应的一次性私钥,并向交易中心查询实际金额。当发生交易纠纷时,交易中心可追踪交易并揭露匿名交易者的身份。本发明实现了交易双方、交易金额的隐私保护,并引入了一个可信的第三方机构实现了匿名交易的可监管性,在隐私保护和性能上均具有一定优势。
Description
技术领域
本发明属于信息安全技术及区块链技术领域,是一种基于区块链的隐私保护支付方案,可实现交易双方身份、交易金额的隐私保护。
背景技术
基于区块链的支付系统近年来受到广泛关注,它能够在不需要可信第三方的情况下直接实现高效、实时、低成本的交易。然而,由于区块链上的数据对全网节点都是公开可见的,恶意用户可以通过收集和分析区块链上的交易记录追踪到交易金额的转移,甚至追踪到交易双方的身份隐私,这将严重影响到区块链的应用和推广。此外,交易数据中的交易金额为明文且对所有用户可见,但交易双方往往并不希望将其公开。另一方面,由于现有的区块链技术大部分都是完全去中心化管理,其匿名性引发的监管安全问题成为管理机构面临的难题,如逃税、洗黑钱、非法交易等。
在现有的区块链隐私保护方案中,大部分研究仅涉及到以上问题的一个方面,且整体效率较低。本申请提出了一种可监管的基于区块链的隐私保护支付方案,能够对交易发起者、交易接收者以及交易金额进行较好的隐私保护。基于形式化的安全证明和性能测试表明,本申请具有较高的安全性和较优性能。
本申请使用群签名、隐形地址、paillier同态加密等技术,使得在保证交易全匿名的前提下,能够对交易进行有效监管。
发明内容
本发明旨在解决以上现有技术的问题。提出了一种实现交易双方、交易金额的隐私保护,并引入了一个可信的第三方机构实现了匿名交易的可监管性的基于区块链的隐私保护支付方法及系统。本发明的技术方案如下:
一种基于区块链的隐私保护支付方法,其包括以下步骤:
交易中心完成系统初始化,用户进行注册;
交易发起阶段,发起者生成相应的交易,并在交易中心的协助下进行群签名,最后将交易和签名上传到区块链中等待验证,验证阶段由矿工进行;区块链网络中采用的是POW共识算法,交易由矿工进行验证,每个矿工都有一个密钥镜像记录表Limage,密钥镜像对于每笔交易都是不同的,矿工和其他节点检测并判断每笔输入交易是否双花:
交易接收阶段,接收者使用私钥来接收属于自己的交易,计算该交易对应的一次性私钥,并向交易中心查询实际金额;
当发生交易纠纷时,交易中心追踪交易并揭露匿名交易者的身份。
进一步的,所述系统初始化具体包括:
交易中心TA选择两个满足gcd(p1p2,(p1-1)(p2-1))=1的足够大的安全素数p1,p2,其中gcd()表示求解最大公约数。计算公钥n=p1p2,私钥λ(n)=lcm(p1-1,p2-1),其中lcm()表示求解最小公倍数。定义函数 使得gcd(L(gλmod n2)),n)=1成立,其中/>表示{1,2,…,n2-1},则该系统的加密公钥为(g,n),私钥为λ(n);
TA选择一个大素数q,令Fq表示含有q个元素的有限域,表示{1,2,…,q-1}。TA选择满足4a3+27b2≠0的随机数a,b∈Fq,构造出椭圆曲线E并选择E上的阶为素数q的加法循环群G1和乘法循环群G2以及双线性映射e:G1×G2→G2,四个哈希函数/>H2:{0,1}*→G1,/>Hp:G1→G1,P为群G1的生成元,其中。TA随机选择签名主密钥/>计算群公钥Ppub=sP,公布群公共参数params={g,n,G1,G2,q,e,P,Ppub,H1,H2,Hs,Hp},签名主密钥s和加密私钥λ(n)由TA秘密保存。
进一步的,所述用户进行注册,具体包括以下步骤:
身份标识为IDi的用户Ui想要注册成为系统成员时,首先需要随机选取两个数xi,计算公钥Xi=xiP,私钥yi=biH1(IDi),公钥Yi=yiP,即生成两对公钥对(Xi,xi)和(Yi,yi),然后将(IDi,Xi,Yi)发送给交易中心TA;
TA收到并确定用户Ui的身份后,随机选取秘密值计算用户追踪私钥返回/>给用户Ui,并将/>保存到成员列表Lmembers中;
Ui首先验证是否成立,证明该消息确实是由TA返回的后,计算/>作为其成员签名私钥,Ui将私钥(xi,yi,zi)秘密保存,公钥(Xi,Yi)向外公布;至此,用户Ui注册成功。
进一步的,所述交易发起阶段具体包括步骤:
对于一笔交易的发起,当成员用户A向成员用户B转账金额aout时,其中用户A拥有自己的公钥对(XA,YA)和私钥对(xA,yA,zA),用户B拥有自己的公钥对(XB,YB)和私钥对(xB,yB,zB)。为方便叙述,这里假设本次发起的交易是单输入单输出的,对于本次交易所包含的输入交易而言,这笔输入交易来自上一笔单输入单输出交易的输出交易,其中,/>表示M0的输入金额密文;K0表示M0的输入公钥;I0表示M0的输入密钥镜像;cin表示M0的输出金额密文;KA表示M0的输出公钥,该公钥即接收者A的一次性公钥;R0表示M0的输出临时值。同时,A作为该交易的接收人,拥有KA对应的一次性私钥kA。
Step1:A随机选取秘密值计算临时值R1=r1P,计算交易接收者B的一次性公钥KB=Hs(r1XB)P+YB。接下来计算该笔输入交易对应的密钥镜像IA=kAHp(KA)以防止双重支付问题和证明这笔输入交易的收款人确实是A;
Step2:A随机选取使用系统加密公钥(g,n)对输入交易金额ain加密得到新密文/>令rout=rin,计算输出交易金额aout所对应的密文如果是多输入多输出的交易,那么应保证每笔交易输入金额所对应的随机数之积等于每笔交易输出金额所对应的随机数之积;
Step3:A生成待签名的交易信息M={c′in||KA||IA||cout||KB||R1},它包括输入金额ain所对应的新密文c′in、一次性公钥KA、密钥镜像IA、输出金额密文cout、接收者B的一次性公钥地址KB及其对应的R1,A计算部分签名并将交易请求/>发送给交易中心TA;
Step4:TA收到后首先检查IDA是否在成员列表Lmembers中,若不在则停止交互,否则从表Lmembers中获取IDA对应的用户公钥YA和追踪私钥计算部分签名/>并验证等式/>是否成立,若验证失败则停止签名;验证通过后使用加密私钥λ(n)对交易信息M中的交易金额密文c′in和cout进行解密,得到交易金额明文/> 以验证交易金额的合法性,如果是多输入多输出的交易,则需要检查交易输入金额密文之和是否等于交易输出金额密文之和,检查输出金额之和是否溢出,以防止恶意用户借此创造出大量非法的货币,如果溢出,TA停止签名并向A发出警告;
Step5:所有检查通过后TA随机选择计算群签名(σA,SA),其中SA=YA+r2P。TA将交易M的群签名(σA,SA)发送给A,同时将(IDA,YA,H2(M),r2)保存到签名追踪列表Ltrace中;
Step6:A将交易M及其对应的群签名(σA,SA)广播发布到区块链网络,等待矿工验证。
进一步的,所述验证阶段,矿工们对交易M进行验证时,具体包括步骤:
Step1:对于每笔输入交易,验证等式e(P,IA)=e(KA,Hp(KA))是否成立,目的是证明这笔输入交易的收款人确实是本交易的发起者,若不成立,则验证失败;反之则继续验证;
Step2:检查每笔交易输入的密钥镜像IA∈Limage是否成立,若成立,则验证失败;反之则继续验证;
Step3:检查输入金额密文cin是否等于输出金额密文cout,如果是多输入多输出交易,根据Paillier加密的加法同态性质,检查每笔输入金额密文之积是否等于每笔输出金额密文之积,若不成立,则验证失败;反之则继续验证;
Step4:检查通过后使用群公钥Ppub验证等式e(P,σA)=e(Ppub+SA,H2(M))是否成立,以验证该交易信息M的群签名的合法性,验证通过则接受该交易;否则拒绝该交易.
进一步的,矿工们对交易M进行验证和比特币网络相同,矿工将当前收到且验证通过的交易打包写入新生区块,将该新生区块并入链中,需要等待矿工们继续挖出六个新生区块并上链后,该区块里的全部交易才算完成,矿工们同样会将生效交易中包含的密钥镜像IA加入表Limage中。
进一步的,所述交易接收阶段的具体步骤包括:
交易接收者B从上一次的记录点开始扫描区块链,计算临时值K′B=Hs(xBR1)P+YB。若K′B=KB,则B为该笔交易的收款人;反之则不是。
进一步的,所述向交易中心查询实际金额,具体包括步骤:
交易接收方B在收到一笔交易后,计算出对应的私钥kB=Hs(xBR1)+yB,并可向TA查询这笔交易M的具体金额值;
Step1:B选择一个随机数计算D=dP,将(IDB,M,D)提交给TA;
Step2:TA响应回复给B一个随机数
Step3:B计算v=d+ekB发给TA;
Step4:TA验证vP=D+eKB是否成立,验证通过后可使用私钥λ(n)对交易金额密文cout进行解密得到实际金额aout,计算签名σout=sH2(aout),并将aout及其签名σout发送给B;
Step5:B得到实际金额aout,并可通过验证等式e(P,σout)=e(Ppub,H2(aout))是否成立判断消息的可靠性。
进一步的,所述交易中心可追踪交易并揭露匿名交易者的身份,具体包括:
当需要对交易的发起者进行追责时,由交易中心TA打开交易信息M的群签名(σA,SA),TA可搜索遍历签名追踪列表Ltrace=(IDi,Yi,H2(Mi),r2i),计算H2(M)和Si=Yi+r2iP,通过验证等式H2(M)=H2(Mi)与SA=Si追踪到签名者的真实身份IDA。
一种基于区块链的隐私保护支付系统,其包括:
交易中心:交易中心TA负责系统的建立和管理,包括系统参数初始化、管理成员加入、密钥分配、验证交易金额的合法性、追踪群签名用户真实身份,用户在发起一笔交易时,TA需要验证交易中金额的合法性并协助群签名;用户在收到一笔交易时,TA可根据相关信息提供实际交易金额信息;当交易发生纠纷或不合法行为时,TA可根据群签名追踪交易发起者的真实身份;此外,TA还需要拒绝频繁、小额的粉尘交易请求,排除干扰正常交易的恶意用户,保证交易的正常运行;
交易发起者:作为系统成员发起一笔交易时,发起者首先需要使用交易接收者的对外公开的公钥计算接收者的一次性公钥地址,以实现接收者的隐私保护;接着使用系统加密公钥加密交易金额信息;最后在TA的协助下进行群签名以实现交易发起人的隐私保护,并将交易发布到区块链网络上;
交易接收者:接收者通过运行钱包软件扫描区块链中生成的交易,计算并检查交易中的收款人的公钥地址是否为自己,收到交易后,接收者可以向TA提供相关信息以查询得到实际的交易金额信息。
本发明的优点及有益效果如下:
本发明提出一种可监管的基于区块链的隐私保护支付方案,能够对交易发起者、交易接收者以及交易金额进行较好的隐私保护。基于形式化的安全证明和性能测试表明,本发明具有较高的安全性和较优性能。
由于现有的区块链技术大部分都是完全去中心化管理,由于其日益增强的匿名性而引发的监管问题也已成为管理机构面临的难题。本发明在保证交易全匿名的前提下,还能够实现对交易进行有效的监管。本发明中的创新主要在于权利要求4的步骤和权利要求9的步骤,用户使用隐形地址技术保护了交易接收方的身份隐私,然后在交易中心的协助下使用群签名算法隐藏了自身的身份隐私,此外,还使用了Paillier同态加密算法来防范交易金额的泄露。如果发生交易纠纷,则可由交易中心追踪交易并揭露交易者的真实身份,实现了对交易以及对用户的有效监管。
附图说明
图1是本发明提供优选实施例的系统模型图;
图2是本发明的交易流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
下面结合附图1描述一下系统的框架。
交易中心:交易中心TA负责系统的建立和管理,包括系统参数初始化、管理成员加入、密钥分配、验证交易金额的合法性、追踪群签名用户真实身份等。用户在发起一笔交易时,TA需要验证交易中金额的合法性并协助群签名。用户在收到一笔交易时,TA可根据相关信息提供实际交易金额信息。当交易发生纠纷或不合法行为时,TA可根据群签名追踪交易发起者的真实身份。此外,TA还需要拒绝频繁、小额的粉尘交易请求,排除干扰正常交易的恶意用户,保证交易的正常运行。
交易发起者:作为系统成员发起一笔交易时,发起者首先需要使用交易接收者的对外公开的公钥计算接收者的一次性公钥地址,以实现接收者的隐私保护;接着使用系统加密公钥加密交易金额信息;最后在TA的协助下进行群签名以实现交易发起人的隐私保护,并将交易发布到区块链网络上。
交易接收者:接收者通过运行钱包软件扫描区块链中生成的交易,计算并检查交易中的收款人的公钥地址是否为自己。收到交易后,接收者可以向TA提供相关信息以查询得到实际的交易金额信息。
下面结合附图2对本发明的交易流程做进一步的详细描述,具体的包括以下模块和步骤:
(1)系统初始化
交易中心TA选择两个满足gcd(p1p2,(p1-1)(p2-1))=1的足够大的安全素数p1,p2,其中gcd()表示求解最大公约数。计算公钥n=p1p2,私钥λ(n)=lcm(p1-1,p2-1),其中lcm()表示求解最小公倍数。定义函数TA随机选择/>使得gcd(L(gλmodn2)),n)=1成立,其中/>表示{1,2,…,n2-1},则该系统的加密公钥为(g,n),私钥为λ(n);
TA选择一个大素数q,令Fq表示含有q个元素的有限域,表示{1,2,…,q-1}。TA选择满足4a3+27b2≠0的随机数a,b∈Fq,构造出椭圆曲线E并选择E上的阶为素数q的加法循环群G1和乘法循环群G2以及双线性映射e:G1×G2→G2,四个哈希函数/>H2:{0,1}*→G1,/>Hp:G1→G1,P为群G1的生成元,其中。TA随机选择签名主密钥/>计算群公钥Ppub=sP,公布群公共参数params={g,n,G1,G2,q,e,P,Ppub,H1,H2,Hs,Hp},签名主密钥s和加密私钥λ(n)由TA秘密保存。
(2)用户注册
身份标识为IDi的用户Ui想要注册成为系统成员时,首先需要随机选取两个数xi,计算公钥Xi=xiP,私钥yi=biH1(IDi),公钥Yi=yiP,即生成两对公钥对(Xi,xi)和(Yi,yi),然后将(IDi,Xi,Yi)发送给交易中心TA;
TA收到并确定用户Ui的身份后,随机选取秘密值计算用户追踪私钥返回/>给用户Ui,并将/>保存到成员列表Lmembers中;
Ui首先验证是否成立,证明该消息确实是由TA返回的后,计算/>作为其成员签名私钥,Ui将私钥(xi,yi,zi)秘密保存,公钥(Xi,Yi)向外公布;至此,用户Ui注册成功。
(3)交易发起
对于一笔交易的发起,当成员用户A向成员用户B转账金额aout时,其中用户A拥有自己的公钥对(XA,YA)和私钥对(xA,yA,zA),用户B拥有自己的公钥对(XB,YB)和私钥对(xB,yB,zB)。为方便叙述,这里假设本次发起的交易是单输入单输出的,对于本次交易所包含的输入交易而言,这笔输入交易来自上一笔单输入单输出交易的输出交易,其中,/>表示M0的输入金额密文;K0表示M0的输入公钥;I0表示M0的输入密钥镜像;cin表示M0的输出金额密文;KA表示M0的输出公钥,该公钥即接收者A的一次性公钥;R0表示M0的输出临时值。同时,A作为该交易的接收人,拥有KA对应的一次性私钥kA。
Step1:A随机选取秘密值计算临时值R1=r1P,计算交易接收者B的一次性公钥KB=Hs(r1XB)P+YB。接下来计算该笔输入交易对应的密钥镜像IA=kAHp(KA)以防止双重支付问题和证明这笔输入交易的收款人确实是A;
Step2:A随机选取使用系统加密公钥(g,n)对输入交易金额ain加密得到新密文/>令rout=rin,计算输出交易金额aout所对应的密文如果是多输入多输出的交易,那么应保证每笔交易输入金额所对应的随机数之积等于每笔交易输出金额所对应的随机数之积;
Step3:A生成待签名的交易信息M={c′in||KA||IA||cout||KB||R1},它包括输入金额ain所对应的新密文c′in、一次性公钥KA、密钥镜像IA、输出金额密文cout、接收者B的一次性公钥地址KB及其对应的R1,A计算部分签名并将交易请求/>发送给交易中心TA;
Step4:TA收到后首先检查IDA是否在成员列表Lmembers中,若不在则停止交互,否则从表Lmembers中获取IDA对应的用户公钥YA和追踪私钥计算部分签名/>并验证等式/>是否成立,若验证失败则停止签名;验证通过后使用加密私钥λ(n)对交易信息M中的交易金额密文c′in和cout进行解密,得到交易金额明文/> 以验证交易金额的合法性,如果是多输入多输出的交易,则需要检查交易输入金额密文之和是否等于交易输出金额密文之和,检查输出金额之和是否溢出,以防止恶意用户借此创造出大量非法的货币,如果溢出,TA停止签名并向A发出警告;
Step5:所有检查通过后TA随机选择计算群签名(σA,SA),其中SA=YA+r2P。TA将交易M的群签名(σA,SA)发送给A,同时将(IDA,YA,H2(M),r2)保存到签名追踪列表Ltrace中;
Step6:A将交易M及其对应的群签名(σA,SA)广播发布到区块链网络,等待矿工验证。
(4)交易验证
在本方案的区块链网络中采用的是POW共识算法,交易由矿工进行验证,每个矿工都有一个密钥镜像记录表Limage,因为密钥镜像对于每笔交易都是不同的,所以矿工和其他节点就可以非常容易地检测并判断每笔输入交易是否双花。当矿工们对交易M进行验证时,需要执行以下步骤:
Step1:对于每笔输入交易,验证等式e(P,IA)=e(KA,Hp(KA))是否成立,目的是证明这笔输入交易的收款人确实是本交易的发起者。若不成立,则验证失败;反之则继续验证。
Step2:检查每笔交易输入的密钥镜像IA∈Limage是否成立,若成立,则验证失败;反之则继续验证。
Step3:检查输入金额密文cin是否等于输出金额密文cout。如果是多输入多输出交易,根据Paillier加密的加法同态性质,检查每笔输入金额密文之积是否等于每笔输出金额密文之积。若不成立,则验证失败;反之则继续验证。
Step4:检查通过后使用群公钥Ppub验证等式e(P,σA)=e(Ppub+SA,H2(M))是否成立,以验证该交易信息M的群签名的合法性,验证通过则接受该交易;否则拒绝该交易。
和比特币网络相同,矿工将当前收到且验证通过的交易打包写入新生区块,将该新生区块并入链中。一般地,需要等待矿工们继续挖出六个新生区块并上链后,该区块里的全部交易才算完成,矿工们同样会将生效交易中包含的密钥镜像IA加入表Limage中。
(5)交易接收
交易接收者B从上一次的记录点开始扫描区块链,计算K′B=Hs(xBR1)P+YB。若K′B=KB,则B为该笔交易的收款人;反之则不是。
(6)交易金额查询
交易接收方B在收到一笔交易后,能够计算出对应的私钥kB=Hs(xBR1)+yB,并可向TA查询这笔交易M的具体金额值。
Step1:B选择一个随机数计算D=dP,将(IDB,M,D)提交给TA。
Step2:TA响应回复给B一个随机数
Step3:B计算v=d+ekB发给TA。
Step4:TA验证vP=D+eKB是否成立,验证通过后可使用私钥λ(n)对交易金额密文cout进行解密得到实际金额aout,计算签名σout=sH2(aout),并将aout及其签名σout发送给B。
Step5:B得到实际金额aout,并可通过验证等式e(P,σout)=e(Ppub,H2(aout))是否成立判断消息的可靠性。
(7)交易追踪
当需要对交易的发起者进行追责时,可由交易中心TA打开交易信息M的群签名(σA,SA)。TA可搜索遍历签名追踪列表Ltrace=(IDi,Yi,H2(Mi),r2i),计算H2(M)和Si=Yi+r2iP,通过验证等式H2(M)=H2(Mi)与SA=Si追踪到签名者的真实身份IDA。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
Claims (3)
1.一种基于区块链的隐私保护支付方法,其特征在于,包括以下步骤:
交易中心完成系统初始化,用户进行注册;
交易发起阶段,发起者生成相应的交易,并在交易中心的协助下进行群签名,最后将交易和签名上传到区块链中等待验证,验证阶段由矿工进行;区块链网络中采用的是POW共识算法,交易由矿工进行验证,每个矿工都有一个密钥镜像记录表Limage,密钥镜像对于每笔交易都是不同的,矿工和其他节点检测并判断每笔输入交易是否双花:
交易接收阶段,接收者使用私钥来接收属于自己的交易,计算该交易对应的一次性私钥,并向交易中心查询实际金额;
当发生交易纠纷时,交易中心追踪交易并揭露匿名交易者的身份;
所述系统初始化具体包括:
交易中心TA选择两个满足gcd(p1p2,(p1-1)(p2-1))=1的足够大的安全素数p1,p2,其中gcd()表示求解最大公约数;计算公钥n=p1p2,私钥λ(n)=lcm(p1-1,p2-1),其中lcm()表示求解最小公倍数,定义函数TA随机选择/>使得gcd(L(gλmod n2)),n)=1成立,其中/>表示{1,2,...,n2-1},则该系统的加密公钥为(g,n),私钥为λ(n);
TA选择一个大素数q,令Fq表示含有q个元素的有限域,表示{1,2,...,q-1};TA选择满足4a3+27b2≠0的随机数a,b∈Fq,构造出椭圆曲线E并选择E上的阶为素数q的加法循环群G1和乘法循环群G2以及双线性映射e:G1×G2→G2,四个哈希函数H1:/>H2:{0,1}*→G1,Hs:/>Hp:G1→G1,P为群G1的生成元,其中,TA随机选择签名主密钥计算群公钥Ppub=sP,公布群公共参数params={g,n,G1,G2,q,e,P,Ppub,H1,H2,Hs,Hp},签名主密钥s和加密私钥λ(n)由TA秘密保存;
所述用户进行注册,具体包括以下步骤:
身份标识为IDi的用户Ui想要注册成为系统成员时,首先需要随机选取两个数计算公钥Xi=xiP,私钥yi=biH1(IDi),公钥Yi=yiP,即生成两对公钥对(Xi,xi)和(Yi,yi),然后将(IDi,Xi,Yi)发送给交易中心TA;
TA收到并确定用户Ui的身份后,随机选取秘密值计算用户追踪私钥返回消息/>给用户Ui,并将保存到成员列表Lmembers中;
Ui首先验证是否成立,证明该消息确实是由TA返回的后,计算/>作为其成员签名私钥,Ui将私钥(xi,yi,zi)秘密保存,公钥(Xi,Yi)向外公布;至此,用户Ui注册成功;
所述交易发起阶段具体包括步骤:
对于一笔交易的发起,当成员用户A向成员用户B转账金额aout时,其中用户A拥有自己的公钥对(XA,YA)和私钥对(xA,yA,zA),用户B拥有自己的公钥对(XB,YB)和私钥对(xB,yB,zB);为方便叙述,这里假设本次发起的交易是单输入单输出的,对于本次交易所包含的输入交易而言,这笔输入交易来自上一笔单输入单输出交易的输出交易,其中,/>表示M0的输入金额密文;K0表示M0的输入公钥;I0表示M0的输入密钥镜像;cin表示M0的输出金额密文;KA表示M0的输出公钥,该公钥即接收者A的一次性公钥;R0表示M0的输出临时值;同时,A作为该交易的接收人,拥有KA对应的一次性私钥kA;
Step1:A随机选取秘密值计算临时值R1=r1P,计算交易接收者B的一次性公钥KB=Hs(r1XB)P+YB;接下来计算该笔输入交易对应的密钥镜像IA=kAHp(KA)以防止双重支付问题和证明这笔输入交易的收款人确实是A;
Step2:A随机选取使用系统加密公钥(g,n)对输入交易金额ain加密得到新密文/>令rout=rin,计算输出交易金额aout所对应的密文如果是多输入多输出的交易,那么应保证每笔交易输入金额所对应的随机数之积等于每笔交易输出金额所对应的随机数之积;
Step3:A生成待签名的交易信息M=(c′in||KA||IA||cout||KB||R1},它包括输入金额ain所对应的新密文c′in、一次性公钥KA、密钥镜像IA、输出金额密文cout、接收者B的一次性公钥地址KB及其对应的R1,A计算部分签名并将交易请求/>发送给交易中心TA;
Step4:TA收到后首先检查IDA是否在成员列表Lmembers中,若不在则停止交互,否则从表Lmembers中获取IDA对应的用户公钥YA和追踪私钥计算部分签名/>并验证等式/>是否成立,若验证失败则停止签名;验证通过后使用加密私钥λ(n)对交易信息M中的交易金额密文c′in和cout进行解密,得到交易金额明文/> 以验证交易金额的合法性,如果是多输入多输出的交易,则需要检查交易输入金额密文之和是否等于交易输出金额密文之和,检查输出金额之和是否溢出,以防止恶意用户借此创造出大量非法的货币,如果溢出,TA停止签名并向A发出警告;
Step5:所有检查通过后TA随机选择计算群签名(σA,SA),其中SA=YA+r2P;TA将交易M的群签名(σA,SA)发送给A,同时将(IDA,YA,H2(M),r2)保存到签名追踪列表Ltrace中;
Step6:A将交易M及其对应的群签名(σA,SA)广播发布到区块链网络,等待矿工验证;
所述验证阶段,矿工们对交易M进行验证时,具体包括步骤:
Step1:对于每笔输入交易,验证等式e(P,IA)=e(KA,Hp(KA))是否成立,目的是证明这笔输入交易的收款人确实是本交易的发起者,若不成立,则验证失败;反之则继续验证;
Step2:检查每笔交易输入的密钥镜像IA∈Limage是否成立,若成立,则验证失败;反之则继续验证;
Step3:检查输入金额密文cin是否等于输出金额密文cout,如果是多输入多输出交易,根据Paillier算法的加法同态性质,检查每笔输入金额密文之积是否等于每笔输出金额密文之积,若不成立,则验证失败;反之则继续验证;
Step4:检查通过后使用群公钥Ppub验证等式e(P,σA)=e(Ppub+SA,H2(M))是否成立,以验证该交易信息M的群签名的合法性,验证通过则接受该交易;否则拒绝该交易;
所述交易接收阶段的具体步骤包括:
交易接收者B从上一次的记录点开始扫描区块链,计算临时值K′B=Hs(xBR1)P+YB;若K′B=KB,则B为该笔交易的收款人;反之则不是;
所述向交易中心查询实际金额,具体包括步骤:
交易接收方B在收到一笔交易后,计算出对应的一次性私钥kB=Hs(xBR1)+yB,并可向TA查询这笔交易M的具体金额值;
Step1:B选择一个随机数计算D=dP,将(IDB,M,D)提交给TA;
Step2:TA响应回复给B一个随机数
Step3:B计算v=d+ekB发给TA;
Step4:TA验证vP=D+eKB是否成立,验证通过后可使用私钥λ(n)对交易金额密文cout进行解密得到实际金额aout,计算签名σout=sH2(aout),并将aout及其签名σout发送给B;
Step5:B得到实际金额aout,并可通过验证等式e(P,σout)=e(Ppub,H2(aout))是否成立判断消息的可靠性;
所述交易中心可追踪交易并揭露匿名交易者的身份,具体包括:
当需要对交易的发起者进行追责时,由交易中心TA打开交易信息M的群签名(σA,SA),TA可搜索遍历签名追踪列表Ltrace=(IDi,Yi,H2(Mi),r2i),计算H2(M)和Si=Yi+r2iP,通过验证等式H2(M)=H2(Mi)与SA=Si追踪到签名者的真实身份IDA。
2.根据权利要求1所述的一种基于区块链的隐私保护支付方法,其特征在于,矿工们对交易M进行验证和比特币网络相同,矿工将当前收到且验证通过的交易打包写入新生区块,将该新生区块并入链中,需要等待矿工们继续挖出六个新生区块并上链后,该区块里的全部交易才算完成,矿工们同样会将生效交易中包含的密钥镜像IA加入表Limage中。
3.一种采用权利要求1所述方法的区块链的隐私保护支付系统,其特征在于,包括:
交易中心:交易中心TA负责系统的建立和管理,包括系统参数初始化、管理成员加入、密钥分配、验证交易金额的合法性、追踪群签名用户真实身份,用户在发起一笔交易时,TA需要验证交易中金额的合法性并协助群签名;用户在收到一笔交易时,TA可根据相关信息提供实际交易金额信息;当交易发生纠纷或不合法行为时,TA可根据群签名追踪交易发起者的真实身份;此外,TA还需要拒绝频繁、小额的粉尘交易请求,排除干扰正常交易的恶意用户,保证交易的正常运行;
交易发起者:作为系统成员发起一笔交易时,发起者首先需要使用交易接收者的对外公开的公钥计算接收者的一次性公钥地址,以实现接收者的隐私保护;接着使用系统加密公钥加密交易金额信息;最后在TA的协助下进行群签名以实现交易发起人的隐私保护,并将交易发布到区块链网络上;
交易接收者:接收者通过运行钱包软件扫描区块链中生成的交易,计算并检查交易中的收款人的公钥地址是否为自己,收到交易后,接收者向TA提供相关信息以查询得到实际的交易金额信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008424.2A CN112734424B (zh) | 2021-01-05 | 2021-01-05 | 一种基于区块链的隐私保护支付方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110008424.2A CN112734424B (zh) | 2021-01-05 | 2021-01-05 | 一种基于区块链的隐私保护支付方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112734424A CN112734424A (zh) | 2021-04-30 |
CN112734424B true CN112734424B (zh) | 2023-09-26 |
Family
ID=75591239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110008424.2A Active CN112734424B (zh) | 2021-01-05 | 2021-01-05 | 一种基于区块链的隐私保护支付方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112734424B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489733B (zh) * | 2021-07-13 | 2022-07-29 | 郑州轻工业大学 | 基于区块链的内容中心网络隐私保护方法 |
CN115550073A (zh) * | 2022-11-30 | 2022-12-30 | 安徽中科晶格技术有限公司 | 可监管隐身地址构造方法 |
CN117236961B (zh) * | 2023-11-16 | 2024-02-20 | 中国兵器工业信息中心 | 链上链下的多方交易安全监管方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077675A (zh) * | 2016-12-30 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
CN109302415A (zh) * | 2018-11-09 | 2019-02-01 | 四川虹微技术有限公司 | 一种认证方法、区块链节点及存储介质 |
CN111008836A (zh) * | 2019-11-15 | 2020-04-14 | 哈尔滨工业大学(深圳) | 一种基于可监管区块链的隐私安全转账支付方法、装置、系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783272B2 (en) * | 2017-12-08 | 2020-09-22 | Nec Corporation | Method and system of preserving privacy for usage of lightweight blockchain clients |
-
2021
- 2021-01-05 CN CN202110008424.2A patent/CN112734424B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107077675A (zh) * | 2016-12-30 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的货币管理方法和系统 |
CN109302415A (zh) * | 2018-11-09 | 2019-02-01 | 四川虹微技术有限公司 | 一种认证方法、区块链节点及存储介质 |
CN111008836A (zh) * | 2019-11-15 | 2020-04-14 | 哈尔滨工业大学(深圳) | 一种基于可监管区块链的隐私安全转账支付方法、装置、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
Consortium blockchain for secure energy trading in industrial internet of things;Li Zhetao;《IEEE Transactions on Industrial Informatics》;全文 * |
基于区块链的个人数据交易隐私保护研究;赵志伟;《硕士电子期刊》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112734424A (zh) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alketbi et al. | Blockchain for government services—Use cases, security benefits and challenges | |
Peng et al. | Privacy preservation in permissionless blockchain: A survey | |
Li et al. | Traceable monero: Anonymous cryptocurrency with enhanced accountability | |
CN109359974B (zh) | 区块链交易方法及装置、电子设备 | |
CN111008836B (zh) | 一种隐私安全转账支付方法、装置、系统及存储介质 | |
WO2019105407A1 (zh) | 一种适合区块链隐私保护的零知识证明方法和介质 | |
CN112734424B (zh) | 一种基于区块链的隐私保护支付方法及系统 | |
Goldfeder et al. | Securing Bitcoin wallets via a new DSA/ECDSA threshold signature scheme | |
US8442919B2 (en) | Token based new digital cash protocols with combined blind digital signature and pseudonym authentication | |
US20080243703A1 (en) | Virtual account based new digital cash protocols with combined blind digital signature and pseudonym authentication | |
Jacobson et al. | Mix-based electronic payments | |
CN114580029A (zh) | 一种区块链数字资产隐私保护方法、装置、设备及存储介质 | |
Perez et al. | Modified sha256 for securing online transactions based on blockchain mechanism | |
Yeh et al. | A robust mobile payment scheme with smart contract-based transaction repository | |
Bose et al. | BLIC: A blockchain protocol for manufacturing and supply chain management of ICS | |
Batten et al. | Off-line digital cash schemes providing untraceability, anonymity and change | |
Islam | A privacy-preserving transparent central bank digital currency system based on consortium blockchain and unspent transaction outputs | |
Wu et al. | The survey on the development of secure multi-party computing in the blockchain | |
Cho et al. | Verifiable credential proof generation and verification model for decentralized SSI-based credit scoring data | |
Venugopalan et al. | Bbb-voting: 1-out-of-k blockchain-based boardroom voting | |
Huang et al. | zkChain: A privacy‐preserving model based on zk‐SNARKs and hash chain for efficient transfer of assets | |
Reddy et al. | Block Chain for Financial Application using IOT | |
Noam et al. | Realizing privacy aspects in blockchain networks | |
Zhu et al. | Universally Composable Key-Insulated and Privacy-Preserving Signature Scheme with Publicly Derived Public Key | |
KR20230088694A (ko) | 분산 원장에서의 익명성 취소를 통한 안전하고 추적 가능하며 개인 정보를 보호하는 디지털 통화 송금 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |