【技术实现步骤摘要】
采用环签名的机密区块链交易的实现方法及装置
[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种采用环签名的机密区块链交易的实现方法及装置。
技术介绍
[0002]区块链技术(也被称之为,分布式账本技术)是一种去中性化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
技术实现思路
[0003]有鉴于此,本说明书一个或多个实施例提供一种采用环签名的机密区块链交易的实现方法及装置。
[0004]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0005]根据本说明书一个或多个实施例的第一方面,提出了一种采用环签名的机密区块链交易的实现方法,包括:
[0006]确定汇款交易M的所有参与者,每一参与者在区块链账本上存在对应的账户,账户内包括取值被记录为相应承诺值的收入余额、资产额被记录为资产承诺的若干资产;
[0007]根据参与者中的真实汇款方对应账户内的待花费资产ID_j_1~ID_j_ ...
【技术保护点】
【技术特征摘要】
1.一种采用环签名的机密区块链交易的实现方法,包括:确定汇款交易M的所有参与者,每一参与者在区块链账本上存在对应的账户,账户内包括取值被记录为相应承诺值的收入余额、资产额被记录为资产承诺的若干资产;根据参与者中的真实汇款方对应账户内的待花费资产ID_j_1~ID_j_m、虚假汇款方i对应账户内的掩护资产ID_i_1~ID_i_m,以及参与者中的各个收款方对应的转账额的承诺值,组装汇款交易M;根据真实汇款方所持私钥x_j、公钥P_j和虚假汇款方i所持公钥P_i,为所述汇款交易M生成可链接环签名,所述可链接环签名中包含密钥镜像I_1~I_m,且密钥镜像I_1~I_m的取值与真实汇款方的私钥x_j、公钥P_j和资产标识ID_j_1~ID_j_m相关;向区块链网络提交签名后的汇款交易M;其中,在交易完成后,各个收款方对应账户内的收入余额增加相应的转账额,密钥镜像I_1~I_m被添加至历史密钥镜像集合,且所述待花费资产ID_j_1~ID_j_m在区块链账本上被保持记录为真实汇款方对应账户内的资产。2.根据权利要求1所述的方法,所述虚假汇款方包括:除真实汇款方和真实收款方之外的参与者;或者,所述虚假汇款方包括:除真实汇款方之外的参与者。3.根据权利要求1所述的方法,所述收款方包括真实收款方和虚假收款方;其中,虚假收款方对应的转账额为0。4.根据权利要求3所述的方法,当不存在找零时,所述真实收款方包括:初始汇款对象;当存在找零时,所述真实收款方包括:初始汇款对象和所述真实汇款方;其中,所述虚假收款方包括:除真实收款方之外的参与者。5.根据权利要求1所述的方法,参与者对应账户内的资产包括:由对应账户内的收入余额的至少一部分划分而生成的资产;或者,参与者对应账户内还包括主余额,所述主余额在区块链账本上被记录为相应的承诺值;其中,参与者对应账户内的资产包括:由对应账户内的主余额的至少一部分划分而生成的资产。6.根据权利要求5所述的方法,当参与者对应账户内包括主余额时,对应账户内的收入余额还在合并命令的指示下被合并至对应账户内的主余额。7.根据权利要求1所述的方法,通过下述公式计算所述密钥镜像I_1~I_m:I_d=x_j
×
Hash_G(P_j,ID_j_d),d∈[1,m];其中,Hash_G()为椭圆曲线到其自身的哈希函数。8.根据权利要求1所述的方法,还包括:针对所述汇款交易M的各个收款方对应的转账额,分别生成相应的范围证明,所述范围证明被组装至所述汇款交易M中,以用于证明相应的转账额不小于0。9.根据权利要求1所述的方法,根据真实汇款方所持私钥x_j、公钥P_j和虚假汇款方i所持公钥P_i,为所述汇款交易M生成可链接环签名,包括:根据待花费资产ID_j_1~ID_j_m对应的资产额t_j_1~t_j_m、随机数r_j_1~r_j_m和资产承诺PC(t_j_1,r_j_1)~PC(t_j_m,r_j_m),以及收款方Q_1~Q_u对应的转账额t
’
_1~t
’
_u、随机数r
’
_1~r
’
_u和转账额承诺PC(t
’
_1,r
’
_1)~PC(t
’
_u,r
’
_u),确定对应于真实汇款方的伪公钥P”_j=[PC(t_j_1,r_j_1)+
…
+PC(t_j_m,r_j_m)]-[PC(t
’
_1,r
’
_1)+
…
+PC
(t
’
_u,r
’
_u)]、对应于真实汇款方的伪私钥r”=(r_j_1+...+r_j_m)-(r
’
_1+...+r
’
_u),u≥1;根据掩护资产ID_i_1~ID_i_m对应的资产承诺PC{i,1}~PC{i,m},确定对应于虚假汇款方i的伪公钥P”_i=[PC{i,1}+
…
+PC{i,m}]-[PC(t
’
_1,r
’
_1)+
…
+PC(t
’
_u,r
’
_u)],i∈[1,j-1]∪[j+1,n],i、j和n为正整数,n≧2;根据真实汇款方对应的私钥x_j、公钥P_j、伪私钥r”、伪公钥P”_j,虚假汇款方i对应的公钥P_i、伪公钥P”_i,为所述汇款交易M生成可链接环签名。10.根据权利要求9所述的方法,还包括:根据真实汇款方对应的伪私钥r”、伪公钥P”_j,生成密钥镜像I_(m+1)=r
”×
Hash_G(P”_j);其中,所述可链接环签名还包含所述密钥镜像I_(m+1)。11.根据权利要求9所述的方法,根据真实汇款方对应的私钥x_j、公钥P_j、伪私钥r”、伪公钥P”_j,虚假汇款方i对应的公钥P_i、伪公钥P”_i,为所述汇款交易M生成可链接环签名,包括:分别生成对应于真实汇款方的中间参数L_j_d、R_j_d、L_j_(m+1)、R_j_(m+1),以及对应于虚假汇款方i的中间参数L_i_d、R_i_d、L_i_(m+1)、R_i_(m+1),d∈[1,m];其中,中间参数L_j_d与L_i_d之间符合环形取值规则、中间参数L_j_(m+1)与L_i_(m+1)之间符合环形取值规则、中间参数R_j_d与R_i_d之间符合环形取值规则、中间参数R_j_(m+1)与R_i_(m+1)之间符合环形取值规则,且中间参数L_j_d、R_j_d、L_j_(m+1)、R_j_(m+1)、L_i_d、R_i_d、L_i_(m+1)、R_i_(m+1)的取值与至少一个被选取的随机数和/或其衍生数值相关;根据被选取的随机数和/或其衍生数值,生成针对所述汇款交易M的可链接环签名。12.根据权利要求11所述的方法,P_j=x_j
×
G,G为椭圆曲线的基点,|G|=p且p为素数,0<x_j<p;生成对应于真实汇款方的中间参数L_j_d、R_j_d,包括:根据在所述椭圆曲线所处的数域Z_q中选取的随机数a_d,计算中间参数L_j_d、R_j_d,使得L_j_d=a_d
×
G、R_j_d=a_d
×
Hash_G(P_j,ID_j_d);其中,Hash_G()为从所述椭圆曲线到其自身的哈希函数;生成对应于真实汇款方的中间参数L_j_(m+1)、R_j_(m+1),包括:根据在所述椭圆曲线所处的数域Z_q中选取的随机数a_(m+1),计算中间参数L_j_(m+1)、R_j_(m+1),使得L_j_(m+1)=a_(m+1)
×
G、R_j_(m+1)=a_(m+1)
×
Hash_G(P”_j);生成对应于虚假汇款方i的中间参数L_i_d、R_i_d、L_i_(m+1)、R_i_(m+1),包括:根据中间参数L_j_d、R_j_d的取值,生成中间参数L_i_d、R_i_d、L_i_(m+1)、R_i_(m+1),使得L_i_d=(s_i_d
×
G+c_i
×
P_i)mod p、R_i_d=(s_i_d
×
Hash_G(P_i,ID_i_d)+c_i
×
I_d)mod p、L_i_(m+1)=[s_i_(m+1)
×
G+c_i
×
P”_i]mod p、R_i_(m+1)=[s_i_(m+1)
×
Hash_G(P”_i)+c_i
×
I_(m+1)]mod p,I_d=x_j
×
Hash_G(P_j,ID_j_d)、I_(m+1)=r
”×
Hash_G(P”_j);其中,s_i_1~s_i_(m+1)为数域Z_q中的随机数,当i=1时c_1=Hash(M,L_n_1,R_n_1,
……
,L_n_(m+1),R_n_(m+1))、当i∈[2,j-1]∪[j+1,n]时c_i=Hash(M,L_(i-1)_1,R_(i-1)_1,
……
,L_(i-1)_(m+1),R_(i-1)_(m+1)),Hash()为从所述椭圆曲线到数域Z_q的哈希函数;被选取的随机数和/或其衍生数值包括:随机数s_i_1~s_i_(m+1)、衍生数值c_1、衍生数值s_j_1~s_j_(m+1);其中,s_j_d=(a_d-c_j
×
x_j)mod p、s_j_(m+1)=[a_(m+1)-c_j
×
r”]mod p,当j的取值被确定为1时c_j=Hash(M,L_n_1,R_n_1,
……
,L_n_(m+1),R_n_(m+1))、当j的取值被确定为属于[2,n]时c_j=Hash(M,L_(j-1)_1,R_(j-1)_1,
……
,L_(j-1)_(m+1),R_(j-1)_(m+1))。13.根据权利要求1所述的方法,还包括:向区块链网络发起资产删除请求,以从区块链账本中删除所述真实汇款方对应账户内已花费的至少一部分资产。14.一种采用环签名的机密区块链交易的实现方法,包括:接收汇款交易M,所述汇款交易M的每一参与者在区块链账本上存在对应的账户,账户内包括取值被记录为相应承诺值的收入余额、资产额被记录为资产承诺的若干资产;其中,所述汇款交易M由参与者中的真实汇款方根据自身对应账户内的待花费资产ID_j_1~ID_j_m、虚假汇款方i对应账户内的掩护资产ID_i_1~ID_i_m以及参与者中的各个收款方对应的转账额的承诺值组装生成;获取所述汇款交易M的可链接环签名包含的密钥镜像I_1~I_m,所述密钥镜像I_1~I_m的取值与真实汇款方的私钥x_j、公钥P_j和资产标识ID_j_1~ID_j_m相关;验证所述可链接环签名,所述可链接环签名由真实汇款方根据自身所持的私钥x_j、公钥P_j和虚假汇款方i所持的公钥P_i而生成;其中,当所述可链接环签名通过验证时,所述汇款交易M被确认为输入与输出等额;当满足交易执行条件时,执行所述汇款交易M,使各个收款方对应账户内的收入余额增加相应的转账额;所述交易执行条件包括:所述密钥镜像I_1~I_m不属...
【专利技术属性】
技术研发人员:张文彬,
申请(专利权)人:创新先进技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。