CN115775181A - 一种基于区块链的公平商品交易隐私保护方法 - Google Patents
一种基于区块链的公平商品交易隐私保护方法 Download PDFInfo
- Publication number
- CN115775181A CN115775181A CN202211163162.8A CN202211163162A CN115775181A CN 115775181 A CN115775181 A CN 115775181A CN 202211163162 A CN202211163162 A CN 202211163162A CN 115775181 A CN115775181 A CN 115775181A
- Authority
- CN
- China
- Prior art keywords
- transaction
- buyer
- pkc
- contract
- seller
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种基于区块链的公平商品交易隐私保护方法,包括系统初始化;买方发布支付交易;矿工验证交易通过后执行合约的支付函数,否则结束;买方发布支付证明交易;卖方验证可验证加密签名通过后发布发货交易,否则结束;买方发布赎回证明交易;卖方发布赎回交易;矿工验证交易通过后执行合约的赎回函数。通过区块链和智能合约进行商品交易并记录交易信息,利用盲签名、可验证加密签名、同态加密、范围证明和零知识证明技术在保护交易隐私的同时保证交易的公平性,实现了对交易双方身份、账户余额、交易金额和交易内容的全面保护。通过安全性分析,方法满足有效性、时限性、公平性、匿名性、机密性、平衡性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的公平商品交易隐私保护方法。
背景技术
随着移动互联网的高速发展,电子商务产业在我国快速增长。统计数据显示,2021年,全国网上零售额达13.1万亿元,同比增长14.1%,其中实物商品网上零售额10.8万亿元,同比增长12.0%。全国网络购物用户规模达8.42亿,占全部网民的81.6%。亚马逊、淘宝、京东等电商平台的兴起使得消费者足不出户便能买到各种需要的东西,给消费者带来了极大的便利。然而,电子商务在方便消费者生活的同时,也为个人信息安全带来了前所未有的挑战。个人信息泄露、随意收集、违法获取、过度使用、非法买卖等相关问题日益突出。2016年12月10日,由于网站安全漏洞,京东一个12G的数据包在黑市流通,其中包括用户名、密码、邮箱、QQ号、电话号码、身份证等多个维度,数据多达数千万条。2018年9月,亚马逊因其员工受贿行为,导致大量的客户数据泄露给第三方,两个月后,亚马逊又因“技术错误”导致部分用户的姓名和电子邮件地址遭到泄露。2021年6月,一名犯罪分子通过对淘宝进行长达8个月的数据爬取,共获取11.8亿条用户数据,其中包括淘宝客户的数字ID、淘宝昵称、手机号码等信息,利用该信息共获利34万余元。由此可见,敏感数据的隐私保护已成为当前电子商务领域中需要解决的重要问题。
目前电子商务交易主要基于中心化的电商平台进行,电商平台通过为买卖双方提供平台服务,以便商家在线上开店铺,消费者在线上选购商品,从而实现买卖双方之间的在线交易。在线商品交易最重要的一个特性是公平性,一个公平的交易应该确保当且仅当买方收到预期的货物时,卖方才能收到付款。电商平台作为消费者和商家之间的媒介,会暂时保管消费者的资金,当消费者确认收货后,平台将资金转交给商家。如果买方未收到商品或买卖双方对交易有争议,电商平台将调解争议并在必要时退款给买家。这种方式虽然实现了公平性,然而,中心化电商平台存在一些缺点:①交易成本高:电商平台作为买卖双方之间的中介,会对每笔交易收取一定的服务费(约2-3%),实际增加了买卖双方的交易成本。②交易不透明:商家的历史交易信息和信誉评价体系掌握在电商平台手中,对消费者不透明,很多商家通过刷单等行为提高销量和好评度,误导消费者。③隐私泄露:电商平台将大量用户数据和交易数据存储在集中式的数据库中,其中涉及个人隐私、商业机密等敏感信息,这些数据库很容易成为恶意攻击的目标,存在数据泄露、篡改、丢失的风险。因此,设计能够在不可信环境中保护数据隐私安全且支持高效公平商品交易隐私保护方法具有重要的实际意义。
发明内容
针对现有技术中的上述不足,本发明提供了一种基于区块链的公平商品交易隐私保护方法。
为了达到上述发明目的,本发明采用的技术方案为:
一种基于区块链的公平商品交易隐私保护方法,包括以下步骤:
S1、初始化区块链系统并获取区块链系统公共参数,其中,所述区块链系统包括买方和卖方用户;
S2、买方用户发布支付交易,并通过矿工验证通过后执行合约的支付函数,若矿工验证不通过则结束交易;
S3、买方用户发布交易支付证明交易,卖方用户验证加密签名通过后发布发货交易,若加密签名验证不通过则结束交易;
S4、买方用户发布赎回证明交易并由卖方用户发布赎回交易,由矿工验证交易通过后执行合约的赎回函数。
进一步的,所述S1具体包括如下步骤:
S11、通过执行Setup算法得到公共参数列表pp={g,G1,G2,H,E,N,G,l},G1为GDH群,g为G1的生成元;G2为G1的双线性对,表示为e:G1×G1→G2;哈希函数H:{0,1}*→G1 *;E为椭圆曲线,G为椭圆曲线的生成元,N为椭圆曲线的生成元的阶,l为范围证明的长度;
S12、执行CreateAccount算法生成两个用户账户:买方帐户和卖方帐户,通过合约创建交易生成合约账户;
S13、买方通过秘密信道与卖方协商此次交易的对称密钥K。
进一步的,所述S12中通过合约创建交易生成合约账户定义为:
Alice={AddrA,(SKA,PKA),NonceA,EPKA(bA)}
PKA=SKA·G,EPKA(bA)=(CA1,CA2)=(rAG,bAG+rAPKA)
Bob={AddrB,(SKB,PKB),NonceB,EPKB(bB)}
PKB=SKB·G,EPKB(bB)=(CB1,CB2)=(rBG,bBG+rBPKB)
Contract={AddrC,PKC,NonceC,EPKC(bC)},EPKC(bC)=0
其中,AddrA是买方帐户的地址,(SKA,PKA)是买方帐户的公私钥对,NonceA是买方帐户用于抵御重放攻击的整数值,EPKA(bA)是买方帐户账户余额的同态加密值,rA是买方帐户生成的盲因子随机数,NonceB是卖方帐户用于抵御重放攻击的整数值,EPKB(bB)为卖方账户余额的同态加密值,rA是卖方帐户生成的盲因子随机数,NonceC为和合约帐户用于抵御重放攻击的整数值,EPKB(bC)为合约帐户余额的同态加密值,rC为合约余额账户生成的盲因子随机数。
进一步的,所述S2中买方用户发布支付交易的方式表示为:
其中,EncK(Order)为对称加密的订单信息,包括订单编号、Bob公钥、物品名称、价格、收货地址;为对消息M盲化的结果;EM为用权威方公钥加密的消息;EPKA(v)为用买方公钥加密的交易金额;EPKC(v)为用合约公钥加密的交易金额;Rangeproof为交易金额v和买方新余额bA-v在[0,Zl-1]内的范围证明;ZKproof为EPKA(v)和EPKC(v)加密金额相等的证明,σ是对整笔交易的签名。
进一步的,所述S2中矿工验证通过后执行合约的支付函数的具体方式为:
S21、矿工检查交易的合法性,验证整笔交易的签名σ是否正确,验证通过后执行合约代码;
S22、合约接收买方的支付交易参数
验证Rangeproof,ZKproof是否正确,若正确则选择随机数sk作为一次性私钥,
S23:合约重新加密EPKC(v)得到密文E′PKC(v),将E′PKC(v)放入付款表,将买方公钥加密的随机数EncPKA(r′v)返回给买方;
S24:买方账户余额减少EPKA(v),合约账户余额增加E′PKC(v),执行如下计算:
EPKA(bA-v)=(C′A1,C′A2)=EPKA(bA)-EPKA(v)
=((rA-rv)G,(bA-v)G+(rA-rv)PKA)
EPKC(bC+v)=EPKC(bC)+E′PKC(v)=((rv+r′v)G,vG+(rv+r′v)PKC)
其中,EPKA(bA-v)是Alice的余额减去交易金额v的同态加密值,EPKC(bC+v)是合约账户的余额加上交易金额v的同态加密值。
进一步的,所述S3中买方用户发布交易支付证明交易的具体方式为:
S301、买方生成支付证明交易TXCertPay={VES,EncK(pk,rv,r′v),σ},其中VES为可验证加密签名,EncK(Deliver)是对称加密的一次性公钥pk、随机数rv和r′v,σ是对整笔交易的签名;
S302、矿工验证交易并打包上链,买方将支付交易哈希TxIdPay和支付证明交易哈希TxIdCertPay发送给卖方。
进一步的,所述S3中卖方用户验证加密签名通过后发布发货交易的具体方式为:
S311、卖方从支付交易中解密得到订单信息,从支付证明交易中解密得pk,rv,r′v,验证VES是否正确;若e(g,VES)=e(pk,H(M)PKAd)等式成立,则可验证加密签名正确,其中pk是公钥,H(M)是M的哈希值,VES是可验证加密签名;
S312、卖方计算E′PKC(v),在付款表中查找E′PKC(v),若找到则确认买方在合约上支付了金额v。其中E′PKC(v)是合约账户对v的同态加密值;
S313、卖方在t1时间之内快递发货,并生成发货交易TXDel={EncK(Deliver),σ}
其中,EncK(Deliver)为对称加密的发货信息,包括支付交易哈希、Alice公钥、物品名称、价格、快递单号;σ为对整笔交易的签名;
矿工验证交易并打包上链,卖方将发货交易哈希TxIdDel发送给买方。
进一步的,所述S4中买方用户发布赎回证明交易并由卖方用户发布赎回交易的具体方式为:
S401、买方用户从发货交易中解密得到发货信息Deliver,确认发货信息与订单信息一致且收获无误后,在t2时间之内生成赎回证明交易TXCertRed={EncK(θ),σ},其中EncK(θ)为对称加密的赎回凭证θ,σ为对整笔交易的签名;
S402、矿工验证交易并打包上链,买方将赎回证明交易哈希TxIdCertRed发送给卖方;
S403、卖方从赎回证明交易中解密得赎回凭证θ,验证赎回凭证θ是否正确,若正确则生成赎回交易
TXRed={AddrC,PKB,OrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof,σ}
其中,EPKB(v)为用Bob公钥加密的交易金额,ZKproof为EPKB(v)和E′PKC(v)加密金额相等的证明,σ为对整笔交易的签名;
进一步的,所述S4中由矿工验证交易通过后执行合约的赎回函数的具体方式为:
S411、矿工检查交易的合法性,验证对整笔交易的签名σ是否正确,验证通过后执行合约代码;
S412、合约方接收买方的赎回交易参数,
{PKB,QrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof}
验证赎回凭证θ和加密金额相等的证明ZKproof是否正确,若正确则在付款表中查找E′PKC(v),将E′PKC(v)从付款表中删除;若未找到,则不存在相应的付款,返回失败;
S413、若合约成功执行则交易验证成功,矿工将交易打包成区块上链,并进行余额计算,计算方式为:
EPKB(bB+v)=(C′B1,C′B2)=EPKB(bB)+EPKB(v)
=((rB+rv+r′v)G,(bB+v)G+(rB+rv+r′v)PKB);
EPKC(bC+v-v)=EPKC(bC+v)-E′PKC(v)=EPKC(bC)=0
S414、当买方用户确认收到卖方商品且卖方用户收到买方用户的付款,交易流程结束。
本发明具有以下有益效果:
(1)本方法能避免传统中心化结构所带来的弊端,解决了传统电商平台存在的交易不透明和隐私泄露问题。通过将所有的买方交易和卖方交易记录在链上,保证交易的透明性;利用智能合约托管买方资金并进行盲签名,卖方凭借解盲后的原始签名赎回资金,保证交易双方身份和交易内容的隐私性;利用智能合约进行可验证加密签名,确保卖方在确认买方支付之后才发货,买方在确认收到货物之后才付款,当交易产生争议时可由权威方解决争议,保证交易的公平性。通过在以太坊上进行实验评估,方案能够实现链上商品交易的功能,有效保证商品交易的公平性和隐私性。
(2)为了增强对现有公平交易的隐私保护,提出一种新的可验证加密签名,Alice(买方)将消息用权威方公钥加密后发送给指定者(智能合约)签名,使得Alice可向Bob(卖方)证明自己拥有指定者对加密消息的签名而不泄露原始消息的签名,若Bob履行职责后Alice不将原始签名发送给卖方,权威方可解密获得该签名发送给Bob
附图说明
图1为本发明基于区块链的公平商品交易隐私保护方法流程示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
一种基于区块链的公平商品交易隐私保护方法,如图1所示,包括以下步骤:
S1、初始化区块链系统并获取区块链系统公共参数,其中,所述区块链系统包括买方和卖方用户;
具体而言,在本实施例里,包括如下步骤:
S11、通过执行Setup算法得到公共参数列表pp={g,G1,G2,H,E,N,G,l},G1为GDH群,g为G1的生成元;G2为G1的双线性对,表示为e:G1×G1→G2;哈希函数H:{0,1}*→G1 *;E为椭圆曲线,G为椭圆曲线的生成元,N为椭圆曲线的生成元的阶,l为范围证明的长度;
S12、执行CreateAecount算法生成买卖双方帐户:买方Alice和卖方Bob,通过合约创建交易生成合约账户Contract,假设Alice、Bob账户均有一定余额,合约余额为0。权威方密钥账户定义如下:
Alice={AddrA,(SKA,PKA),NonceA,EPKA(bA)}
PKA=SKA·G,EPKA(bA)=(CA1,CA2)=(rAG,bAG+rAPKA)
Bob={AddrB,(SKB,PKB),NonceB,EPKB(bB)}
PKB=SKB·G,EPKB(bB)=(CB1,CB2)=(rBG,bBG+rBPKB)
Contract={AddrC,PKC,NonceC,EPKC(bC)},EPKC(bC)=0;
其中,AddrA是买方帐户的地址,(SKA,PKA)是买方帐户的公私钥对,NonceA是买方帐户用于抵御重放攻击的整数值,EPKA(bA)是买方帐户账户余额的同态加密值,rA是买方帐户生成的盲因子随机数,NonceB是卖方帐户用于抵御重放攻击的整数值,EPKB(bB)为卖方账户余额的同态加密值,rA是卖方帐户生成的盲因子随机数,NonceC为和合约帐户用于抵御重放攻击的整数值,EPKB(bC)为合约帐户余额的同态加密值,RC为合约余额账户生成的盲因子随机数。
S13、买方通过秘密信道与卖方协商此次交易的对称密钥K。
S2、买方用户发布支付交易,并通过矿工验证通过后执行合约的支付函数,若矿工验证不通过则结束交易;
在本发明实施例中,步骤S2中生成支付交易的具体方法为:
买方生成支付交易:
其中EncK(Order)是对称加密的订单信息,包括订单编号、Bob公钥、物品名称、价格、收货地址,即是Order=(OrdNum,PKB,Goodname,v,Addr)。是对消息M,包括Bob公钥、订单编号盲化的结果,EM是用权威方公钥加密的消息M。EPKA(v)是用买方公钥加密的交易金额,EPKC(v)是用合约公钥加密的交易金额,Rangeproof是交易金额v和买方新余额bA-v在[0,2l-1]内的范围证明,ZKproof是EPKA(v)和EPKC(v)加密金额相等的证明,σ是对整笔交易的签名。相关参数计算如下:
EPKA(v)=(CAv1,CAv2)=(rvG,vG+rvPKA)
EPKC(v)=(CCv1,CCv2)=(rvG,vG+rvPKC)
矿工验证通过后执行合约的支付函数的具体方式为:
S21、矿工检查交易的合法性,验证整笔交易的签名σ是否正确,验证通过后执行合约代码;
S22、合约接收买方的支付交易参数
验证Rangeproof,ZKproof是否正确,若正确则选择随机数sk作为一次性私钥,若正确则选择随机数sk作为一次性私钥,pk=gsk作为一次性公钥,利用sk对签名得到盲签名利用sk对EM签名得到可验证加密签名VES,将盲签名可验证加密签名VES和用买方公钥加密的一次性公钥EncPKA(pk)返回给买方。相关参数计算如下
S23:合约重新加密EPKC(v)得到密文E′PKC(v),将E′PKC(v)放入付款表,将买方公钥加密的随机数EncPKA(r′v)返回给买方;
S24:买方账户余额减少EPKA(v),合约账户余额增加E′PKC(v),执行如下计算:
EPKA(bA-v)=(C′A1,C′A2)=EPKA(bA)-EPKA(v)
=((rA-rv)G,(bA-v)G+(rA-rv)PKA)
EPKC(bC+v)=EPKC(bC)+E′PKC(v)=((rv+r′v)G,vG+(rv+r′v)PKC)。
S3、买方用户发布交易支付证明交易,卖方用户验证加密签名通过后发布发货交易,若加密签名验证不通过则结束交易;
在本实施例里,买方用户发布交易支付证明交易的具体方式为
S301、买方生成支付证明交易TXCertPay={VES,EncK(pk,rv,r′v),σ},其中VES为可验证加密签名,EncK(Deliver)是对称加密的一次性公钥pk、随机数rv和r′v,σ是对整笔交易的签名;
在本实施例里,买方解密得到一次性公钥pk,解盲签名得到签名验证ζ是否正确。若e(g,ζ)=e(pk,H(M))等式成立,则签名正确。买方解密得到随机数r′v,计算E′PKC(v),在付款表中查找E′PKC(v),若找到则确认合约收到支付金额v。
S302、矿工验证交易并打包上链,买方将支付交易哈希TxIdPay和支付证明交易哈希TxIdCertPay发送给卖方。
卖方用户验证加密签名通过后发布发货交易的具体方式为:
S311、卖方从支付交易中解密得到订单信息,从支付证明交易中解密得pk,rv,r′v,验证可验证加密签名VES是否正确;若e(g,VES)=e(pk,H(M)PKAd)等式成立,则可验证加密签名正确。其中VEW是可验证加密签名,pk是公钥,H(M)是M的哈希值。
S312、卖方计算e′PKC(v),在付款表中查找E′PKC(v),若找到则确认买方在合约上支付了金额v。其中E′PKC(v)是合约账户对v的同态加密值。
卖方在t1时间之内快递发货,并生成发货交易TXDel={EncK(Deliver),σ}
其中,EncK(Deliver)为对称加密的发货信息,包括支付交易哈希、Alice公钥、物品名称、价格、快递单号;σ为对整笔交易的签名;
矿工验证交易并打包上链,卖方将发货交易哈希TxIdDel发送给买方。
S4、买方用户发布赎回证明交易并由卖方用户发布赎回交易,由矿工验证交易通过后执行合约的赎回函数。
在本实施例里,方用户发布赎回证明交易并由卖方用户发布赎回交易的具体方式为:
S401、买方用户从发货交易中解密得到发货信息Deliver,确认发货信息与订单信息一致且收获无误后,在t2时间之内生成赎回证明交易TXCertRed={EncK(θ),σ},其中EncK(θ)为对称加密的赎回凭证θ,σ为对整笔交易的签名;
S402、矿工验证交易并打包上链,买方将赎回证明交易哈希TxIdCertRed发送给卖方;
S403、卖方从赎回证明交易中解密得赎回凭证θ,验证赎回凭证θ是否正确,若正确则生成赎回交易
TXRed={AddrC,PKB,OrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof,σ}
其中,EPKB(v)为用Bob公钥加密的交易金额,ZKproof为EPKB(v)和E′PKC(v)加密金额相等的证明,σ为对整笔交易的签名。
由矿工验证交易通过后执行合约的赎回函数的具体方式为:
S411、矿工检查交易的合法性,验证对整笔交易的签名σ是否正确,验证通过后执行合约代码;
S412、合约方接收买方的赎回交易参数,
{PKB,QrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof}
验证赎回凭证θ和加密金额相等的证明ZKproof是否正确,若正确则在付款表中查找E′PKC(v),将E′PKC(v)从付款表中删除;若未找到,则不存在相应的付款,返回失败;
S413、若合约成功执行则交易验证成功,矿工将交易打包成区块上链,并进行余额计算,计算方式为:
EPKB(bB+v)=(C′B1,C′B2)=EPKB(bB)+EPKB(v)
=((rB+rv+r′v)G,(bB+v)G+(rB+rv+r′v)PKB);
EPKC(bC+v-v)=EPKC(bC+v)-E′PKC(v)=EPKC(bC)=0
S414、当买方用户确认收到卖方商品且卖方用户收到买方用户的付款,交易流程结束。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (9)
1.一种基于区块链的公平商品交易隐私保护方法,其特征在于,包括以下步骤:
S1、初始化区块链系统并获取区块链系统公共参数,其中,所述区块链系统包括买方和卖方用户;
S2、买方用户发布支付交易,并通过矿工验证通过后执行合约的支付函数,若矿工验证不通过则结束交易;
S3、买方用户发布交易支付证明交易,卖方用户验证加密签名通过后发布发货交易,若加密签名验证不通过则结束交易;
S4、买方用户发布赎回证明交易并由卖方用户发布赎回交易,由矿工验证交易通过后执行合约的赎回函数。
2.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S1具体包括如下步骤:
S11、执行Setup算法得到公共参数列表pp={g,G1,G2,H,E,N,G,l},G1为GDH群,g为G1的生成元;G2为G1的双线性对,表示为e:G1×G1→G2;哈希函数H:{0,1}*→G1 *;E为椭圆曲线,G为椭圆曲线的生成元,N为椭圆曲线的生成元的阶,l为范围证明的长度;
S12、执行CreateAccount算法生成买卖双方帐户,并通过合约创建交易生成合约账户;
S13、买方通过秘密信道与卖方协商此次交易的对称密钥K。
3.根据权利要求2所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S12中通过合约创建交易生成合约账户定义为:
Alice={AddrA,(SKA,PKA),NonceA,EPKA(bA)}
PKA=SKA·G,EPKA(bA)=(CA1,CA2)=(rAG,bAG+rAPKA)
Bob={AddrB,(SKB,PKB),NonceB,EPKB(bB)}
PKB=SKB·G,EPKB(bB)=(CB1,CB2)=(rBG,bBG+rBPKB)
Contract={AddrC,PKC,NonceC,EPKC(bC)},EPKC(bC)=0
其中,AddrA是买方帐户的地址,(SKA,PKA)是买方帐户的公私钥对,NonceA是买方帐户用于抵御重放攻击的整数值,EPKA(bA)是买方帐户账户余额的同态加密值,rA是买方帐户生成的盲因子随机数,NonceB是卖方帐户用于抵御重放攻击的整数值,EPKB(bB)为卖方账户余额的同态加密值,rA是卖方帐户生成的盲因子随机数,NonceC为和合约帐户用于抵御重放攻击的整数值,EPKB(bC)为合约帐户余额的同态加密值,rC为合约余额账户生成的盲因子随机数。
5.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S2中矿工验证通过后执行合约的支付函数的具体方式为:
S21、矿工检查交易的合法性,验证整笔交易的签名σ是否正确,验证通过后执行合约代码;
S22、合约接收买方的支付交易参数
验证Rangeproof,ZKproof是否正确,若正确则选择随机数sk作为一次性私钥;
S23:合约重新加密EPKC(v)得到密文E′PKC(v),将E′PKC(v)放入付款表,将买方公钥加密的随机数EncPKA(r′v)返回给买方;
S24:买方账户余额减少EPKA(v),合约账户余额增加E′PKC(v),执行如下计算:
EPKA(bA-v)=(C′A1,C′A2)=EPKA(bA)-EPKA(v)
=((rA-rv)G,(bA-v)G+(rA-rv)PKA)
EPKC(bC+v)=EPKC(bC)+E′PKC(v)=((rv+r′v)G,vG+(rv+r′v)PKC)
其中,EPKA(bA-v)是买方帐户的余额减去交易金额v的同态加密值,EPKC(bC+v)是合约账户的余额加上交易金额v的同态加密值。
6.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S3中买方用户发布交易支付证明交易的具体方式为:
S301、买方生成支付证明交易TXCertPay={VES,EncK(pk,rv,r′v),σ},其中VES为可验证加密签名,EncK(pk、rv、r′v)是对称加密的一次性公钥pk、随机数rv和r′v,σ是对整笔交易的签名;
S302、矿工验证交易并打包上链,买方将支付交易哈希TxIdPay和支付证明交易哈希TxIdCertPay发送给卖方。
7.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S3中卖方用户验证加密签名通过后发布发货交易的具体方式为:
S311、卖方从支付交易中解密得到订单信息,从支付证明交易中解密得pk,rv,r′v,验证可验证加密签名VES是否正确;若e(g,VES)=e(pk,H(M)PKAd)等式成立,则可验证加密签名正确,其中pk是公钥,H(M)是M的哈希值,VES是可验证加密签名;
S312、卖方计算E′PKC(v),在付款表中查找E′PKC(v),若找到则确认买方在合约上支付了金额v,其中E′PKC(v)是合约账户对v的同态加密值。
S313、卖方在t1时间之内快递发货,并生成发货交易TXDel={EncK(Deliver),σ}
其中,EncK(Deliver)为对称加密的发货信息,包括支付交易哈希、Alice公钥、物品名称、价格、快递单号;σ为对整笔交易的签名;
矿工验证交易并打包上链,卖方将发货交易哈希TxIdDel发送给买方。
8.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S4中买方用户发布赎回证明交易并由卖方用户发布赎回交易的具体方式为:
S401、买方用户从发货交易中解密得到发货信息Deliver,确认发货信息与订单信息一致且收获无误后,在t2时间之内生成赎回证明交易TXCertRed={EncK(θ),σ},其中EncK(θ)为对称加密的赎回凭证θ,σ为对整笔交易的签名;
S402、矿工验证交易并打包上链,买方将赎回证明交易哈希TxIdCertRed发送给卖方;
S403、卖方从赎回证明交易中解密得赎回凭证θ,验证赎回凭证θ是否正确,若正确则生成赎回交易
TXRed={AddrC,PKB,OrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof,σ}
其中,EPKB(v)为用Bob公钥加密的交易金额,ZKproof为EPKB(v)和E′PKC(v)加密金额相等的证明,σ为对整笔交易的签名。
9.根据权利要求1所述的一种基于区块链的公平商品交易隐私保护方法,其特征在于,所述S4中由矿工验证交易通过后执行合约的赎回函数的具体方式为:
S411、矿工检查交易的合法性,验证对整笔交易的签名σ是否正确,验证通过后执行合约代码;
S412、合约方接收买方的赎回交易参数,
{PKB,OrdNum,θ,pk,EPKB(v),E′PKC(v),ZKproof}
验证赎回凭证θ和加密金额相等的证明ZKproof是否正确,若正确则在付款表中查找E′PKC(v),将E′PKC(v)从付款表中删除;若未找到,则不存在相应的付款,返回失败;
S413、若合约成功执行则交易验证成功,矿工将交易打包成区块上链,并进行余额计算,计算方式为:
EPKB(bB+v)=(C′B1,C′B2)=EPKB(bB)+EPKB(v)
=((rB+rv+r′v)G,(bB+v)G+(rB+rv+r′v)PVB);
EPKC(bC+v-v)=EPKC(bC+v)-E′PKC(v)=EPKC(bC)=0
S414、当买方用户确认收到卖方商品且卖方用户收到买方用户的付款,交易流程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163162.8A CN115775181A (zh) | 2022-09-23 | 2022-09-23 | 一种基于区块链的公平商品交易隐私保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211163162.8A CN115775181A (zh) | 2022-09-23 | 2022-09-23 | 一种基于区块链的公平商品交易隐私保护方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115775181A true CN115775181A (zh) | 2023-03-10 |
Family
ID=85388800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211163162.8A Pending CN115775181A (zh) | 2022-09-23 | 2022-09-23 | 一种基于区块链的公平商品交易隐私保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115775181A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091049A (zh) * | 2023-04-12 | 2023-05-09 | 中科商用(临沂)技术有限公司 | 一种基于大数据与区块链的支付方法、装置及云平台 |
CN116781370A (zh) * | 2023-07-04 | 2023-09-19 | 姜斌 | 一种信息安全的区块链跨境电商互交易系统及方法 |
-
2022
- 2022-09-23 CN CN202211163162.8A patent/CN115775181A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116091049A (zh) * | 2023-04-12 | 2023-05-09 | 中科商用(临沂)技术有限公司 | 一种基于大数据与区块链的支付方法、装置及云平台 |
CN116781370A (zh) * | 2023-07-04 | 2023-09-19 | 姜斌 | 一种信息安全的区块链跨境电商互交易系统及方法 |
CN116781370B (zh) * | 2023-07-04 | 2024-04-05 | 深圳百流科技有限公司 | 一种信息安全的区块链跨境电商互交易系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847643B2 (en) | Secure remote payment transaction processing using a secure element | |
CN105556553B (zh) | 安全的远程支付交易处理 | |
CN105745678B (zh) | 包括消费者认证的安全远程支付交易处理 | |
CN110135819B (zh) | 一种基于区块链的第三方可信数据交易系统及方法 | |
US6102287A (en) | Method and apparatus for providing product survey information in an electronic payment system | |
CN103116851B (zh) | 电子合同在线订立的方法及系统 | |
WO2019010430A2 (en) | METHOD AND SYSTEM FOR PUBLICITY BY SOCIAL MEDIA PRESERVING CONFIDENTIALITY | |
CN104463567B (zh) | 一种安全电子交易方法及系统 | |
CN115775181A (zh) | 一种基于区块链的公平商品交易隐私保护方法 | |
CN105956804A (zh) | 一种基于数字证书的安全订单系统 | |
CN103714455A (zh) | 一种c2c电子交易平台的个人信息保护方法 | |
Churi | E-COMMERCE SECURITY WITH SECURE ELECTRONIC TRANSACTION PROTOCOL: A SURVEY AND IMPLEMENTATION. | |
Wu et al. | A study of anonymous purchasing based on mobile payment system | |
Wang et al. | A private and efficient mobile payment protocol | |
KR20200144967A (ko) | 블록체인을 이용한 전자상거래 지불 방법 | |
US11842338B2 (en) | Payment encryption system | |
Li et al. | A safe trading model based on encryption hybrid algorithms for mobile electronic commerce | |
Al-Meaither et al. | A secure electronic Murabaha transaction | |
Herath et al. | Task based Interdisciplinary E-Commerce Course with UML Sequence Diagrams, Algorithm Transformations and Spatial Circuits to Boost Learning Information Security Concepts | |
Elkamchouchi | An Improvement to the SET Protocol Based On Signcryption | |
San et al. | Efficient offline micropayment protocol for multi-vendor | |
CN114422141A (zh) | 基于区块链的电商平台商品评价管理方法和系统 | |
CN115205020A (zh) | 一种银行装修贷的推荐方法和相关装置 | |
Swe et al. | Improved E-cash Protocol | |
KR20020029061A (ko) | Mac를 이용한 전자계좌이체방법 및 이의 방법을 기록한컴퓨터로 읽을 수 있는 기록매체 |
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 |