CN116318703A - 区块链系统交易验签方法及系统 - Google Patents
区块链系统交易验签方法及系统 Download PDFInfo
- Publication number
- CN116318703A CN116318703A CN202310027181.6A CN202310027181A CN116318703A CN 116318703 A CN116318703 A CN 116318703A CN 202310027181 A CN202310027181 A CN 202310027181A CN 116318703 A CN116318703 A CN 116318703A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sub
- transactions
- master
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 19
- 230000010365 information processing Effects 0.000 claims abstract description 22
- 238000005266 casting Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供了一种区块链系统交易验签方法及系统,包括:步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;步骤S2:将子交易和母交易收集在一条网络消息里进行广播;步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。本发明大大减少了信息签名和验签的时间与cpu消耗,提高了密码学签名在实际应用中的效率,减少了资源消耗。
Description
技术领域
本发明涉及区块链技术领域,具体地,涉及区块链系统交易验签方法及系统,更为具体地,涉及区块链系统交易验签简化机制。
背景技术
在联盟链系统中,联盟链信息处理节点需要耗费大量时间来验证每笔交易的签名,从而影响区块链网络的交易处理速度问题。在实际应用场景下,多数联盟链使用单个账户对交易签名,这时链上的压力具体集中在少数几个节点甚至是单个节点上。
专利文献CN111445239A(申请号:202010086005.6)公开了一种基于区块链的签名验证方法,包括以下步骤:S1、构建签名验证真实性的智能合约并发布至区块链,区块链同步至各个节点;S2、每个节点包括计算单元,计算单元的指令集中包括RSA签名验证指令;S3、区块链的虚拟机中部署有对应于RSA签名验证指令的RSA签名验证逻辑;S4、针对区块链的网络中每个节点,该节点在执行业务发起交易时,通过计算单元调用智能合约;S5、该节点通过计算单元,根据智能合约中的RSA签名验证指令,触发执行RSA签名验证逻辑,以对业务签名进行RSA签名验证操作,根据验证结果给出交易真实性结果;S5、区块链将交易真实性结果同步至各个节点,具有使得区块链可以默认支持RSA签名验证操作的优点。
信息的验签比较消耗时间与cpu,而这无法通过密码学手段进行简化,即使是同一个账户的信息也无法简化,因此,本发明提出了将多条信息的证明信息聚合到一条信息中仅做一次验证即可,因为给多条信息进行签名与通过一条信息给多条信息进行签名的证明效果是完全一样的,不需要进行多余的耗时操作。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种区块链系统交易验签方法及系统。
根据本发明提供的一种区块链系统交易验签方法,包括:
步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
步骤S2:将子交易和母交易收集在一条网络消息里进行广播;
步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
优选地,所述步骤S1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
优选地,所述步骤S3采用:
步骤S3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
步骤S3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
步骤S3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
根据本发明提供的一种区块链系统交易验签系统,包括:
模块M1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
模块M2:将子交易和母交易收集在一条网络消息里进行广播;
模块M3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
优选地,所述模块M1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
优选地,所述模块M3采用:
模块M3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
模块M3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
模块M3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
优选地,在子母交易组上链时,将子母交易组打包至同一个区块。
优选地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
与现有技术相比,本发明具有如下的有益效果:
1、本发明大大减少了信息签名和验签的时间与cpu消耗,提高了密码学签名在实际应用中的效率,减少了资源消耗;
2、本发明能够大幅提升联盟链整体网络的tps,提高联盟链在实际应用中的价值。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为区块链系统交易验签方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1
根据本发明提供的一种区块链系统交易验签方法,包括:
步骤S1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
步骤S2:将子交易和母交易收集在一条网络消息里进行广播;
步骤S3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
具体地,所述步骤S1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
具体地,所述步骤S3采用:
步骤S3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
步骤S3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
步骤S3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
具体地,在子母交易组上链时,将子母交易组打包至同一个区块。
具体地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
根据本发明提供的一种区块链系统交易验签系统,包括:
模块M1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
模块M2:将子交易和母交易收集在一条网络消息里进行广播;
模块M3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
具体地,所述模块M1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
具体地,所述模块M3采用:
模块M3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
模块M3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
模块M3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
具体地,在子母交易组上链时,将子母交易组打包至同一个区块。
具体地,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
实施例2
实施例2是实施例1的优选例
本发明提供了一种区块链系统交易验签方法,如图1所示,由客户端构造一笔特殊交易(母交易)为同一个用户发出的其他交易(子交易)进行签名并将子交易的hash放入母交易中,最后将这些交易(子交易与母交易)收集在一条网络消息里广播;在联盟链信息处理节点接收到这一条网络消息后会对每笔交易进行一些简单的检查,如果发现母交易即立刻对其进行验签,将母交易中包含的子交易hash缓存记录,进行完第一轮的简单检查后才进入交易验签步骤,为交易验签前先在缓存查询,如果已有母交易为其背书则直接跳过验签,并标识为已验签。
具体地,所述区块链系统交易验签方法包括:
子母交易铸造步骤:铸造方式可以分为主动铸造步骤与被动铸造步骤;
主动铸造步骤:客户端或者代理端生成交易时判断,如果有相同地址交易频繁申请发送交易时,会在交易堆积满一定阈值后为本批交易生成母交易并打包在同一条网络消息中。是否使用子母交易,发送阈值和最大等待时间可以自行配置;
被动铸造步骤:用户发送交易后短暂缓存交易信息在本地,用户频繁发送交易发送到信息处理节点时,节点会判断这批交易可以铸造为子母交易,节点将这批交易的hash收集为一个列表发送给对应用户,用户判断这批交易确实是自己缓存池的交易后,为这批交易生成母交易并发送到节点。
节点验签步骤:节点收到子母交易组后,先轮询对交易做一些简单的检查,寻找母交易并优先对其进行验签,对母交易验签后,从母交易中取得其子交易的hash列表,将这个列表缓存在本地;进行完第一轮检查后进入剩余子交易的验签步骤,交易验签前先在缓存查询该交易hash是否已经存在,如果已有母交易为其背书则直接跳过验签,并标识为已验签。
同步时的验签步骤:除了节点上链时对交易的验签,新节点进入网络时也需要对交易进行验签,所以在子母交易组上链时,需要将交易组打包进同一个区块,这样在新节点同步区块并进行验签时可以很容易的找到对应母交易,从而简化对应的子交易的验签步骤。
在联盟链场景下用到较少用户账号发交易的情况较多,所以本发明非常适合联盟链场景;在其他场景下,只要满足1.信息需要验签,2.验签耗时较大,3.同一个账户会高频率发送信息这三个条件即可使用本发明的方案来节省用户签名与信息接收方验签的时间和cpu消耗。例如:如果有某用户发送了1000笔交易,传统模式下者1000笔交易需要进行1000次验签,时间和cpu消耗大,如果使用子母交易模式,1000笔交易仅需要验签1次即可,节约了999次验签的时间和cpu消耗。因为交易验签在区块链处理交易中的时间消耗占比较大,所以本发明能够大幅提升联盟链整体网络的tps,提高联盟链在实际应用中的价值。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
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.一种区块链系统交易验签系统,其特征在于,包括:
模块M1:构建母交易,并利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;
模块M2:将子交易和母交易收集在一条网络消息里进行广播;
模块M3:联盟链信息处理节点接收到广播的网络消息后对母交易进行验签,当子交易的hash已存在当前母交易中,则当前子交易已验签。
7.根据权利要求6所述的区块链系统交易验签系统,其特征在于,所述模块M1采用:客户端基于一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中;或,客户端将一定数量的交易缓存至本地,当本地缓存的交易数量达到预设值时,联盟链信息处理节点向客户端发起请求,客户端基于本地缓存的一定数量的交易构建母交易,利用母交易为同一用户发出的其他子交易进行签名,并将子交易的hash放入母交易中。
8.根据权利要求6所述的区块链系统交易验签系统,其特征在于,所述模块M3采用:
模块M3.1:当联盟链信息处理节点接收到广播的网络消息后,则为母交易进行验签;
模块M3.2:对母交易验签后,则从母交易中获取子交易的hash列表,并将当前hash列表缓存在本地;
模块M3.3:对子交易进行验签时,则判断当前子交易的hash是否在本地缓存中,当当前子交易的hash已在本地缓存中,则直接跳过验签,并标识为已验签。
9.根据权利要求6所述的区块链系统交易验签系统,其特征在于,在子母交易组上链时,将子母交易组打包至同一个区块。
10.根据权利要求6所述的区块链系统交易验签系统,其特征在于,新节点进入网络需要对交易进行验签时,基于区块中的子母交易组对母交易进行验签,从而完成相应子交易的验签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310027181.6A CN116318703A (zh) | 2023-01-09 | 2023-01-09 | 区块链系统交易验签方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310027181.6A CN116318703A (zh) | 2023-01-09 | 2023-01-09 | 区块链系统交易验签方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318703A true CN116318703A (zh) | 2023-06-23 |
Family
ID=86826455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310027181.6A Pending CN116318703A (zh) | 2023-01-09 | 2023-01-09 | 区块链系统交易验签方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318703A (zh) |
-
2023
- 2023-01-09 CN CN202310027181.6A patent/CN116318703A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112685796B (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN110730225A (zh) | 基于区块链的物联网的数据处理方法、物联网及存储介质 | |
CN109408595B (zh) | 区块链记账方法、设备及计算机可读存储介质 | |
CN110557420B (zh) | 一种独立子链的运行方法及系统 | |
CN107197036A (zh) | 一种基于区块链的信息一致处理方法及终端 | |
CN112235423B (zh) | 跨链事务处理方法及装置、电子设备、存储介质 | |
CN111478795B (zh) | 一种基于混合拜占庭容错的联盟区块链网络共识方法 | |
CN112948498A (zh) | 一种分布式系统全局标识的生成方法和装置 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
WO2023040364A1 (zh) | 共识方法、装置及区块链系统 | |
CN112767151B (zh) | 应用于区块链中验证节点的交易处理方法和装置 | |
CN112866421B (zh) | 基于分布式缓存以及nsq的智能合约运行方法及装置 | |
CN112751847A (zh) | 接口调用请求的处理方法、装置、电子设备及存储介质 | |
EP4198861A1 (en) | Information processing method and apparatus for blockchain network, and device and storage medium | |
WO2023040453A1 (zh) | 一种交易信息处理方法及装置 | |
CN113179324A (zh) | 一种区块链节点及其执行的业务处理方法 | |
CN113438092B (zh) | 一种交易广播方法及系统 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN113377817A (zh) | 数据处理方法、系统、设备及存储介质 | |
CN113347174A (zh) | 区块链中的共识方法、装置和电子设备 | |
CN116318703A (zh) | 区块链系统交易验签方法及系统 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN114584326A (zh) | 区块链数据处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |