System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种交易验证方法、设备及存储介质技术_技高网

一种交易验证方法、设备及存储介质技术

技术编号:41760048 阅读:14 留言:0更新日期:2024-06-21 21:41
本申请实施例提供了一种交易验证方法、设备及存储介质,涉及区块链技术领域,在该方法中,区块链系统接收客户端发送的携带交易地址的待验证交易,待验证交易包括:交易内容、目标签名和签名随机数。基于签名随机数和已知基点的坐标,生成验证参数;以及基于验证参数和目标签名恢复加密公钥。基于加密公钥和交易内容,对目标签名进行签名验证。在签名验证通过时,对加密公钥进行编码,获得参考地址。若参考地址与交易地址一致,则确定待验证交易验证通过。由于原始公钥为二维坐标,而签名随机数为一维参数,因此,相较于传输和存储公钥来说,本申请传输和存储签名随机数,可以降低占用的传输资源和存储资源,提升区块链系统的效率和性能。

【技术实现步骤摘要】

本申请实施例涉及区块链,尤其涉及一种交易验证方法、设备及存储介质


技术介绍

1、在区块链验证交易场景中,客户端采用国密sm2数字签名算法对交易信息进行签名后,将获得的签名值发送至区块链,区块链需要验证客户端对交易产生的签名值,从而确定交易的所属权。

2、由于sm2数字签名算法依赖公钥验证交易与数字签名的合法性,因此,客户端向区块链发送签名值时,同时将公钥发送至区块链。这样会带来额外的用于传输和存储公钥的资源开销,在交易量庞大的场景下,传输并存储签名公钥占用的传输资源和存储资源较多。


技术实现思路

1、本申请实施例提供了一种交易验证方法、设备及存储介质,用于降低传输并存储签名公钥占用的传输资源和存储资源。

2、一方面,本申请实施例提供了一种交易验证方法,应用于区块链系统,该方法包括以下步骤:

3、接收客户端发送的携带交易地址的待验证交易,所述待验证交易包括:交易内容、目标签名和签名随机数;

4、基于所述签名随机数和已知基点的坐标生成验证参数;以及,基于所述验证参数和所述目标签名,恢复加密公钥;

5、基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证;并在签名验证通过时,对所述加密公钥进行编码,获得参考地址;

6、若所述参考地址与所述交易地址一致,则确定所述待验证交易验证通过。

7、可选地,所述基于所述验证参数和所述目标签名,恢复加密公钥,包括:

8、基于所述目标签名的签名横坐标和所述目标签名的签名横坐标,生成公钥验证因子;

9、基于所述目标签名的签名横坐标、所述公钥验证因子和所述验证参数,恢复所述加密公钥。

10、可选地,所述基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证,包括:

11、基于所述加密公钥和所述交易内容,生成消息摘要;

12、基于所述消息摘要和所述目标签名的签名横坐标,生成第一验证横坐标;以及,将所述验证参数的横坐标,作为第二验证横坐标;

13、若所述第一验证横坐标与所述第二验证横坐标一致,则签名验证通过;

14、若所述第一验证横坐标与所述第二验证横坐标不一致,则签名验证不通过。

15、可选地,所述基于所述加密公钥和所述交易内容,生成消息摘要,包括:

16、基于公开参数、所述已知基点的坐标和所述加密公钥,生成验证绑定信息;

17、将所述交易内容与所述验证绑定信息进行级联操作,获得交易确认因子;

18、采用消息摘要算法,将所述交易确认因子转化为所述消息摘要。

19、一方面,本申请实施例提供了一种交易验证方法,应用于客户端,该方法包括以下步骤:

20、响应于目标账户的交易请求,生成待验证交易,所述待验证交易包括:交易内容、目标签名和签名随机数;

21、将携带交易地址的所述待验证交易发送至区块链系统,以使所述区块链系统基于所述签名随机数和已知基点的坐标,生成验证参数;以及,基于所述验证参数和所述目标签名,恢复加密公钥;基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证;在签名验证通过时,对所述加密公钥进行编码,获得参考地址;若所述参考地址与所述交易地址一致,则确定所述待验证交易验证通过。

22、可选地,所述响应于目标账户的交易请求,生成待验证交易,包括:

23、响应于目标账户的交易请求,基于所述目标账户的原始私钥、所述目标账户的原始公钥以及所述签名随机数,对所述交易内容进行签名,获得目标签名;

24、基于所述交易内容、所述目标签名和所述签名随机数,获得所述待验证交易。

25、可选地,所述交易地址为合约地址,且所述交易地址是对所述原始公钥编码获得的。

26、可选地,所述基于所述目标账户的原始私钥、所述目标账户的原始公钥以及所述签名随机数,对所述交易内容进行签名,获得目标签名,包括:

27、基于所述签名随机数和所述已知基点的坐标,生成验证参数;

28、基于公开参数、所述已知基点的坐标和所述原始公钥,生成加密因子;

29、将所述交易内容与所述加密因子进行级联操作,并对级联操作的结果进行哈希运算,获得目标哈希值;

30、基于所述验证参数的横坐标以及所述目标哈希值,确定签名横坐标;以及,基于所述原始私钥、所述签名随机数和所述签名横坐标,确定签名纵坐标;

31、基于所述签名横坐标和所述签名纵坐标,确定所述目标签名。

32、一方面,本申请实施例提供了一种交易验证装置,应用于区块链系统,该交易验证装置包括:

33、接收模块,用于接收客户端发送的携带交易地址的待验证交易,所述待验证交易包括:交易内容、目标签名和签名随机数;

34、公钥恢复模块,用于基于所述签名随机数和已知基点的坐标生成验证参数;以及,基于所述验证参数和所述目标签名,恢复加密公钥;

35、签名验证模块,用于基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证;并在签名验证通过时,对所述加密公钥进行编码,获得参考地址;

36、地址验证模块,用于若所述参考地址与所述交易地址一致,则确定所述待验证交易验证通过。

37、可选地,所述公钥恢复模块具体用于:

38、基于所述目标签名的签名横坐标和所述目标签名的签名横坐标,生成公钥验证因子;

39、基于所述目标签名的签名横坐标、所述公钥验证因子和所述验证参数,恢复所述加密公钥。

40、可选地,所述签名验证模块具体用于:

41、基于所述加密公钥和所述交易内容,生成消息摘要;

42、基于所述消息摘要和所述目标签名的签名横坐标,生成第一验证横坐标;以及,将所述验证参数的横坐标,作为第二验证横坐标;

43、若所述第一验证横坐标与所述第二验证横坐标一致,则签名验证通过;

44、若所述第一验证横坐标与所述第二验证横坐标不一致,则签名验证不通过。

45、可选地,所述签名验证模块具体用于:

46、基于公开参数、所述已知基点的坐标和所述加密公钥,生成验证绑定信息;

47、将所述交易内容与所述验证绑定信息进行级联操作,获得交易确认因子;

48、采用消息摘要算法,将所述交易确认因子转化为所述消息摘要。

49、一方面,本申请实施例提供了一种交易验证装置,应用于客户端,该交易验证装置包括:

50、生成模块,用于响应于目标账户的交易请求,生成待验证交易,所述待验证交易包括:交易内容、目标签名和签名随机数;

51、发送模块,用于将携带交易地址的所述待验证交易发送至区块链系统,以使所述区块链系统基于所述签名随机数和已知基点的坐标,生成验证参数;以及,基于所述验证参数和所述目标签名,恢复加密公钥;基于所述加密公钥和所述本文档来自技高网...

【技术保护点】

1.一种交易验证方法,应用于区块链系统,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述基于所述验证参数和所述目标签名,恢复加密公钥,包括:

3.如权利要求1所述的方法,其特征在于,所述基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证,包括:

4.如权利要求3所述的方法,其特征在于,所述基于所述加密公钥和所述交易内容,生成消息摘要,包括:

5.一种交易验证方法,应用于客户端,其特征在于,包括:

6.如权利要求5所述的方法,其特征在于,所述响应于目标账户的交易请求,生成待验证交易,包括:

7.如权利要求6所述的方法,其特征在于,所述交易地址为合约地址,且所述交易地址是对所述原始公钥编码获得的。

8.如权利要求6所述的方法,其特征在于,所述基于所述目标账户的原始私钥、所述目标账户的原始公钥以及所述签名随机数,对所述交易内容进行签名,获得目标签名,包括:

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~8任一所述方法的步骤。

10.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~8任一所述方法的步骤。

...

【技术特征摘要】

1.一种交易验证方法,应用于区块链系统,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述基于所述验证参数和所述目标签名,恢复加密公钥,包括:

3.如权利要求1所述的方法,其特征在于,所述基于所述加密公钥和所述交易内容,对所述目标签名进行签名验证,包括:

4.如权利要求3所述的方法,其特征在于,所述基于所述加密公钥和所述交易内容,生成消息摘要,包括:

5.一种交易验证方法,应用于客户端,其特征在于,包括:

6.如权利要求5所述的方法,其特征在于,所述响应于目标账户的交易请求,生成待验证交易,包括:

7.如权利要求6所述的方...

【专利技术属性】
技术研发人员:李昊轩王朝阳贺双洪廖飞强王章陈宇杰鄢新义马晨黄飞李辉忠张开翔范瑞彬
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1