本发明涉及区块链,具体地,涉及区块链系统交易验签方法及系统,更为具体地,涉及区块链系统交易验签简化机制。
背景技术:
1、在联盟链系统中,联盟链信息处理节点需要耗费大量时间来验证每笔交易的签名,从而影响区块链网络的交易处理速度问题。在实际应用场景下,多数联盟链使用单个账户对交易签名,这时链上的压力具体集中在少数几个节点甚至是单个节点上。
2、专利文献cn111445239a(申请号:202010086005.6)公开了一种基于区块链的签名验证方法,包括以下步骤:s1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;s2、每个节点包括计算单元,计算单元的指令集中包括rsa签名验证指令;s3、区块链的虚拟机中部署有对应于rsa签名验证指令的rsa签名验证逻辑;s4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;s5、该节点通过计算单元,根据智能合约中的rsa签名验证指令,触发执行rsa签名验证逻辑,以对业务签名进行rsa签名验证操作,根据验证结果给出交易真实性结果;s5、区块链将交易真实性结果同步至各个节点,具有使得区块链可以默认支持rsa签名验证操作的优点。
3、信息的验签比较消耗时间与cpu,而这无法通过密码学手段进行简化,即使是同一个账户的信息也无法简化,因此,本发明提出了将多条信息的证明信息聚合到一条信息中仅做一次验证即可,因为给多条信息进行签名与通过一条信息给多条信息进行签名的证明效果是完全一样的,不需要进行多余的耗时操作。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种区块链系统交易验签方法及系统。
2、根据本发明提供的一种区块链系统交易验签方法,包括:
3、步骤s1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
4、步骤s2:将子交易和母交易收集在一条网络消息里进行广播;
5、步骤s3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
6、优选地,所述步骤s1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
7、优选地,所述步骤s3采用:
8、步骤s3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
9、步骤s3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
10、步骤s3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
11、优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
12、优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
13、根据本发明提供的一种区块链系统交易验签系统,包括:
14、模块m1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
15、模块m2:将子交易和母交易收集在一条网络消息里进行广播;
16、模块m3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
17、优选地,所述模块m1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
18、优选地,所述模块m3采用:
19、模块m3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
20、模块m3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
21、模块m3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
22、优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
23、优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
24、与现有技术相比,本发明具有如下的有益效果:
25、1、本发明大大减少了信息签名和验签的时间与cpu消耗,提高了密码学签名在实际应用中的效率,减少了资源消耗;
26、2、本发明能够大幅提升联盟链整体网络的tps,提高联盟链在实际应用中的价值。
1.一种区块链系统交易验签方法,其特征在于,包括:
2.根据权利要求1所述的区块链系统交易验签方法,其特征在于,所述步骤s1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
3.根据权利要求1所述的区块链系统交易验签方法,其特征在于,所述步骤s3采用:
4.根据权利要求1所述的区块链系统交易验签方法,其特征在于,在子母交易组上链时,将子母交易组打包至同一个区块。
5.根据权利要求1所述的区块链系统交易验签方法,其特征在于,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
6.一种区块链系统交易验签系统,其特征在于,包括:
7.根据权利要求6所述的区块链系统交易验签系统,其特征在于,所述模块m1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
8.根据权利要求6所述的区块链系统交易验签系统,其特征在于,所述模块m3采用:
9.根据权利要求6所述的区块链系统交易验签系统,其特征在于,在子母交易组上链时,将子母交易组打包至同一个区块。
10.根据权利要求6所述的区块链系统交易验签系统,其特征在于,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。