区块链系统交易验签方法及系统技术方案

技术编号:38032790 阅读:13 留言:0更新日期:2023-06-30 10:59
本发明专利技术提供了一种区块链系统交易验签方法及系统,包括:步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;步骤S2:将子交易和母交易收集在一条网络消息里进行广播;步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。本发明专利技术大大减少了信息签名和验签的时间与cpu消耗,提高了密码学签名在实际应用中的效率,减少了资源消耗。源消耗。源消耗。

【技术实现步骤摘要】
区块链系统交易验签方法及系统


[0001]本专利技术涉及区块链
,具体地,涉及区块链系统交易验签方法及系统,更为具体地,涉及区块链系统交易验签简化机制。

技术介绍

[0002]在联盟链系统中,联盟链信息处理节点需要耗费大量时间来验证每笔交易的签名,从而影响区块链网络的交易处理速度问题。在实际应用场景下,多数联盟链使用单个账户对交易签名,这时链上的压力具体集中在少数几个节点甚至是单个节点上。
[0003]专利文献CN111445239A(申请号:202010086005.6)公开了一种基于区块链的签名验证方法,包括以下步骤:S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;S5、区块链将交易真实性结果同步至各个节点,具有使得区块链可以默认支持RSA签名验证操作的优点。
[0004]信息的验签比较消耗时间与cpu,而这无法通过密码学手段进行简化,即使是同一个账户的信息也无法简化,因此,本专利技术提出了将多条信息的证明信息聚合到一条信息中仅做一次验证即可,因为给多条信息进行签名与通过一条信息给多条信息进行签名的证明效果是完全一样的,不需要进行多余的耗时操作。

技术实现思路

[0005]针对现有技术中的缺陷,本专利技术的目的是提供一种区块链系统交易验签方法及系统。
[0006]根据本专利技术提供的一种区块链系统交易验签方法,包括:
[0007]步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
[0008]步骤S2:将子交易和母交易收集在一条网络消息里进行广播;
[0009]步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
[0010]优选地,所述步骤S1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
[0011]优选地,所述步骤S3采用:
[0012]步骤S3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
[0013]步骤S3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
[0014]步骤S3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
[0015]优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
[0016]优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
[0017]根据本专利技术提供的一种区块链系统交易验签系统,包括:
[0018]模块M1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
[0019]模块M2:将子交易和母交易收集在一条网络消息里进行广播;
[0020]模块M3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
[0021]优选地,所述模块M1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
[0022]优选地,所述模块M3采用:
[0023]模块M3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
[0024]模块M3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
[0025]模块M3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
[0026]优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
[0027]优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
[0028]与现有技术相比,本专利技术具有如下的有益效果:
[0029]1、本专利技术大大减少了信息签名和验签的时间与cpu消耗,提高了密码学签名在实际应用中的效率,减少了资源消耗;
[0030]2、本专利技术能够大幅提升联盟链整体网络的tps,提高联盟链在实际应用中的价值。
附图说明
[0031]通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:
[0032]图1为区块链系统交易验签方法流程图。
具体实施方式
[0033]下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。
[0034]实施例1
[0035]根据本专利技术提供的一种区块链系统交易验签方法,包括:
[0036]步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
[0037]步骤S2:将子交易和母交易收集在一条网络消息里进行广播;
[0038]步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
[0039]具体地,所述步骤S1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链系统交易验签方法,其特征在于,包括:步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;步骤S2:将子交易和母交易收集在一条网络消息里进行广播;步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。2.根据权利要求1所述的区块链系统交易验签方法,其特征在于,所述步骤S1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。3.根据权利要求1所述的区块链系统交易验签方法,其特征在于,所述步骤S3采用:步骤S3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;步骤S3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;步骤S3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。4.根据权利要求1所述的区块链系统交易验签方法,其特征在于,在子母交易组上链时,将子母交易组打包至同一个区块。5.根据权利要求1所述的区块链系统交易验签方法,其特征在于,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。6.一种区块链...

【专利技术属性】
技术研发人员:饶应典
申请(专利权)人:上海万向区块链股份公司
类型:发明
国别省市:

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

1