[发明专利]一种区块链的跨链交易方法及装置有效
申请号: | 202010328317.3 | 申请日: | 2020-04-23 |
公开(公告)号: | CN111507721B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 李昊轩;严强;廖飞强;李辉忠;张开翔;范瑞彬 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06Q40/04 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 宋正伟 |
地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 交易 方法 装置 | ||
1.一种区块链的跨链交易方法,其特征在于,包括:
第一区块链的第一节点接收第一交易数据并验证所述第一交易数据;所述第一交易数据为第一账户向第二账户发起的交易数据;所述第一账户为第一用户在所述第一区块链上的账户;所述第二账户为第二用户在第二区块链上的账户;所述第一交易数据包括第一零知识证明;所述第一零知识证明为所述第一交易数据中的交易对象的零知识证明;
所述第一节点在验证通过后,生成对所述第一交易数据的第一交易签名,所述第一交易签名用于声明所述第一节点认同所述第一交易数据的有效性;
所述第一节点发送第二交易数据至所述第二区块链的第二节点,并触发所述第二节点对所述第二交易数据进行验证;所述第二交易数据包括所述第一交易数据和所述第一交易签名;
所述第一节点接收所述第二节点的第三交易数据;所述第三交易数据包括所述第二交易数据和所述第二节点对所述第二交易数据的第二交易签名;所述第二交易签名用于声明所述第二节点认同所述第二交易数据的有效性;
所述第一节点接收第五交易数据并验证所述第五交易数据,并生成第五交易签名;所述第一节点发送第六交易数据至所述第二节点;所述第五交易数据是所述第一用户对所述第二用户发起的第四交易数据验证通过后生成,并发送至所述第一节点的;所述第四交易数据和所述第五交易数据均包括第二零知识证明;所述第二零知识证明为所述第五交易数据中的交易对象的零知识证明;所述第四交易数据包括所述第三交易数据和第三交易签名;所述第六交易数据包括所述第五交易数据和所述第五交易签名;
在所述第二节点对第二交易数据和第六交易数据验证通过后,所述第一节点执行所述第一交易数据;所述第二交易数据包括所述第一零知识证明;所述第六交易数据包括所述第二零知识证明。
2.如权利要求1所述的方法,其特征在于,所述第一零知识证明是基于第一匿名凭证按照椭圆曲线的方式确定的;其中,所述第一匿名凭证是根据所述第一交易数据的交易对象及所述第一用户的子秘密确定的;所述第一零知识证明包括:第一子部分、第二子部分和第三子部分;所述第一零知识证明中的第一子部分是根据所述第一账户的账户地址、所述第一匿名凭证确定的;所述第一零知识证明中的第二子部分是根据所述第一零知识证明中的第一子部分和所述第一交易数据的交易对象确定的;所述第一零知识证明中的第三子部分是根据所述第一零知识证明中的第一子部分和所述第一用户的子秘密确定的。
3.如权利要求2所述的方法,其特征在于,所述第一零知识证明具体是按照以下方式确定的:
在预设数字范围内选择第一随机数和第二随机数;
根据所述第一随机数、所述第二随机数、第一公开点和第二公开点的线性运算结果,确定第一中间变量;所述第一公开点和所述第二公开点为椭圆曲线上的两个公开点;
根据所述第一交易数据的交易对象、所述第一用户的子秘密、所述第一公开点和所述第二公开点的线性运算结果,确定所述第一匿名凭证;
根据所述第一账户、所述第一中间变量和所述第一匿名凭证,按照预设哈希算法,确定所述第一交易数据的交易对象的所述第一零知识证明的第一子部分;
根据所述第一随机数、所述第一零知识证明的第一子部分和所述交易对象的线性运算结果,确定所述第一零知识证明中的第二子部分;
根据所述第二随机数、所述第一零知识证明的第一子部分、所述第一用户的子秘密的线性运算结果,确定所述第一零知识证明的第三子部分。
4.如权利要求3所述的方法,其特征在于,所述第一零知识证明具体是按照以下方式确定的:
t1_1=a1*G+b1*H;其中,t1_1为第一中间变量,a1为所述第一随机数,b1为所述第二随机数,G为所述第一公开点,H为所述第二公开点;
V1=v*G+r1*H;V1为第二中间变量;v为所述第一交易数据的交易对象;r1为所述第一用户的子秘密;
z0_1=Hash(A1|V1|t1_1);A1为所述第一账户;Hash表示所述预设哈希算法;z0_1为所述第一交易数据的交易对象的第一零知识证明的第一子部分;
z1_1=a1-z0_1*V1,z2_1=b1-z0_1*r1;
V1_kp=(z0_1,z1_1,z2_1);V1_kp为所述第一零知识证明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010328317.3/1.html,转载请声明来源钻瓜专利网。