CN108846674A - 在区块链中验证签名的方法和装置 - Google Patents
在区块链中验证签名的方法和装置 Download PDFInfo
- Publication number
- CN108846674A CN108846674A CN201810761959.5A CN201810761959A CN108846674A CN 108846674 A CN108846674 A CN 108846674A CN 201810761959 A CN201810761959 A CN 201810761959A CN 108846674 A CN108846674 A CN 108846674A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sign test
- signature
- processing status
- thread
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明的实施例公开了在区块链中验证签名的方法、装置和计算机可读存储介质。该方法包括:接收包括多个交易的区块,所述多个交易中的每一个交易被设置为第一处理状态;使用多个验签线程来并发地处理所述多个交易的签名,其中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态。根据本发明的实施例的在区块链中验证签名的方法可以显著减少交易的验签所花费的时间,从而缩短区块整体的执行时间,使得区块链的处理性能得以较大的提升。
Description
技术领域
本公开总体上涉及信息处理技术,更具体地说,涉及在区块链(Block Chain)中验证签名的方法、装置及计算机可读介质。
背景技术
区块链技术是基于去中心化的对等网络,将密码学原理与共识机制相结合,来保障分布式各节点的数据连贯和持续,实现信息即时验证、可追溯、难篡改等特性,从而创造了一套隐私、高效、安全的分布式信任体系。
用户在区块链网络上进行交易并且交易利用密钥来进行签名以防止信息和数据被恶意伪造和篡改,多个交易被收集后打包到一个区块并发送到区块链网络的节点(例如,记账节点)执行处理。区块链交易执行的过程通常可以包括两个步骤:验签(验证签名)和数据修改,其中验签步骤消耗了大量的时间,在整个交易的执行过程中是主要性能消耗点,这是因为在密码学当中验签是计算密集型操作。
在现有的区块执行方法中,区块中的交易是顺序验签并执行的,即依次对区块中的每一个交易进行验签、数据修改操作。然而当区块中的交易顺序执行时,由于验签操作消耗了大量时间,导致整体区块执行时间过长,使得区块链的性能难以极大地提高,限制了区块链的应用场景。
因此,需要一种改进的在区块链中验证签名的方法。
发明内容
总体上,本公开的实施例提供了在区块链中验证签名的方法、装置及计算机可读存储介质以至少部分地解决现有技术的上述及其它潜在问题。
本公开实施例的第一方面提供了一种在区块链中验证签名的方法。该方法包括:接收包括多个交易的区块,所述多个交易中的每一个交易被设置为第一处理状态;使用多个验签线程来并发地处理所述多个交易的签名,其中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态。
本公开实施例的第二方面提供了一种在区块链中验证签名的装置。该装置包括:存储器,其用于存储指令;以及处理器,其耦合到所述存储器,当所述指令被执行时使得所述处理器执行以下操作:接收包括多个交易的区块,所述多个交易中的每一个交易被设置为第一处理状态;使用多个验签线程来并发地处理所述多个交易的签名,其中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态。
在上述方法和装置的一个示例中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态包括:确定所述多个交易中是否存在处于第一处理状态的交易;如果确定存在,则使用原子操作将所述处于第一处理状态的交易设置为第二处理状态。
在上述方法和装置的一个示例中,该每一个验签线程还用于:如果将所述处于第一处理状态的交易成功地设置为第二处理状态,则对所述交易的签名进行验证。
在上述方法和装置的一个示例中,该每一个验签线程还用于:如果所述交易的签名的验证结果为验证成功,则将所述交易设置为第三处理状态;如果所述交易的签名的验证结果为验证失败,则将所述交易设置为第四处理状态。
上述方法和装置的一个示例还包括:基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易。
在上述方法和装置的一个示例中,基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易包括:如果所述交易处于第三处理状态,则使用所述区块执行线程执行所述交易来更新区块链信息;如果所述交易处于第四处理状态,则使用所述区块执行线程对所述交易进行无效处理。
本公开实施例的第三方面提供了一种计算机可读存储介质。该计算机可读存储介质存储有指令,所述指令用于执行根据本公开的第一方面描述的方法。
本公开的实施例提供了基于区块链的并发验证签名的方案,其中区块中的交易的验签操作是以多线程并发来执行的且与顺序无关,这显著减少了交易的验签所花费的时间,从而缩短了区块整体的执行时间,使得区块链的处理性能得以较大的提升。
附图说明
现将仅通过示例的方式,参考所附附图对本公开的实施例进行描述,在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了其中可以实现本公开的实施例的示例性区块链网络100的示意图;
图2示出了根据本公开的实施例的在区块链中验证签名的方法200的流程图;
图3示出了根据本公开的实施例的在区块链中验证签名的方法的示例性初始化线程300的流程图;
图4示出了根据本公开的实施例的在区块链中验证签名的方法的示例性验签线程400的流程图;
图5示出了根据本公开的实施例的在区块链中验证签名的方法的示例性区块执行线程500的流程图;以及
图6示出了根据本公开的实施例的在区块链中验证签名的装置600的示意图。
具体实施方式
现将结合附图对本公开的实施例进行具体的描述。应当注意的是,附图中对相似的部件或者功能组件可能使用同样的数字标示。所附附图仅仅旨在说明本公开的实施例。本领域技术人员可以在不偏离本公开精神和保护范围的基础上从下述描述得到替代的实施方式。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”,表示还可以包括其它内容。术语“基于”是“至少部分地基于"。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”,等等。本文使用词语“示例性”表示“充当示例、实例或举例说明”。本文中被描述为“示例性”的任何实施例都并非必然解释为对于其它实施例而言是优选的或有优势的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。
如前所述,在现有的区块执行方法中,区块中的交易是按照顺序来逐一验签的,导致整体区块执行时间过长。以以太坊(ETH)为例,其采用了椭圆曲线加密(ECC)算法,如果使用例如x86i5双核2.0G处理器来进行验签,则一次验签耗费时间大于20ms。由于以太坊的区块大小没有限制,如果使用的区块过大,则对区块中的交易完成验签花费的时间会较长,严重限制了区块链的应用场景。
有鉴于此,本公开的实施例提供了一种基于区块链的并发验签的解决方案,该解决方案尤其适用于区块执行场景中的验签操作。本公开的实施例可以应用于不同类型的区块链网络中。根据区块链参与方的不同,区块链通常被分为公有链、联盟链和私有链三种类型。公有链对外开放,用户无需任何授权就可以访问区块链网络和区块数据,发起各种交易。联盟链限制了只有联盟中的成员才能参与,区块链上的操作权限根据联盟定制的相关规则来确定。私有链一般在私有组织内部使用,区块链上的操作权限根据私有组织的自行规定执行。本公开的实施例以联盟链为示例来描述本公开的技术,但是应当理解,本公开的实施例也可以适用于其它类型的区块链。
图1示出了其中可以实现本公开的实施例的示例性区块链网络100的示意图。区块链网络100包括多个区块链节点101、102、103、104。由于区块链技术具有去中心化、分布式的特性,各区块链节点可通过各种通信介质互相交换信息。区块链节点101-104中的每个区块链节点在发送消息时利用其相应的私钥对消息进行签名,接收到消息的区块链节点利用发送节点的公钥对消息的签名进行验证,从而防止消息被恶意伪造和篡改。在区块链为联盟链的示例中,例如,区块链节点101和102可以属于公司A,区块链节点103和104可以属于公司B。区块链节点101-104中的若干个节点可以发起交易并进行签名,当交易达到一定数量或超时后,多个交易打包成区块并被发送到区块链网络100的至少一个节点(例如,记账节点),该至少一个节点需要验证区块中的交易的签名并执行交易来更新区块链信息,即更新账本中存储的数据。例如,在诸如超级账本Fabric之类的联盟链的情况下,执行交易来更新被称为世界状态(World State)的数据集,世界状态可以例如由元组(k,ver,val)表示,其中ver是最新版本,k是键(Key),val是对应的值。此外,可以在各个区块链节点101-104处执行智能合约的管理操作,诸如智能合约的安装和部署等,使得交易是通过调用智能合约来实现的。另外,图1中的区块链节点的数量仅是示意而非限制,其可以是任意数量,该区块链网络100还可以包括其它各种类型的节点。该区块链网络120可以是基于云的。例如,在云应用环境中,至少一个区块链节点可以对应于在云上创建的虚拟机实例。
图2示出了根据本公开的实施例的在区块链中验证签名的方法200的流程图。可以在图1所示的区块链网络100中的区块链节点处实现方法200,方法200包括以下步骤:
步骤201:接收包括多个交易的区块,该多个交易中的每一个交易被设置为第一处理状态。例如,区块链网络100中的区块链节点发起若干个交易,某一数量(例如,90个)的交易被打包在一个区块中,并且该区块被发送到区块链网络100的至少一个区块链节点(例如,记账节点),也就是说,在该至少一个区块链节点处,接收包括多个交易的区块。例如,该多个交易中的每一个交易被初始地设置为“初始化”状态,即第一处理状态,第一处理状态表示交易尚未进行验签处理。
步骤202:使用多个验签线程来并发地处理所述多个交易的签名,其中,该多个验签线程中的每一个验签线程用于将该多个交易中处于第一处理状态的交易设置为第二处理状态。在该步骤中,与现有的区块执行方法使用一个验签线程来依次对区块中的每一个交易进行验签不同,使用多个验签线程来并发地处理交易的签名,其中,每一个验签线程用于将该多个交易中的处于第一处理状态的一个交易设置为第二处理状态,这显著地降低了验签操作所需的时间。例如,每一个验签线程将处于“初始化”状态的一个交易设置为“验签中”状态,即第二处理状态,第二处理状态表示交易将进行验签处理。例如,假设区块中包括90个交易,验证每个交易的签名需要20ms的时间,则使用一个验签线程来顺序验证这些交易的签名需要1.8s的时间,而如果使用多达5个验签线程来并发验证这些交易的签名所需的时间将减少为360ms。一般而言,验签线程的数量越多,验签所需的时间将越少,当然验签线程的具体数量还要考虑实际使用资源的开销大小,例如验签线程的数量受处理器的核心数限制,核心数越多,理论上可以使用更多的线程。
可选地,在一个实施例中,该多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态可以包括:确定该多个交易中是否存在处于第一处理状态的交易;如果存在,则使用原子操作将所述处于第一处理状态的交易设置为第二处理状态。原子操作是指不会被线程调度机制打断的操作,使用原子操作来抢占处理每个交易,保证在同一时间只有一个验签线程能够成功将交易设置为第二处理状态。例如,每一个验签线程确定该多个交易中是否存在处于“初始化”状态的交易,如果存在,则使用原子操作将处于“初始化”状态的一个交易设置为“验签中”状态。
可选地,在一个实施例中,该每一个验签线程还可以用于:如果将处于第一处理状态的交易成功地设置为第二处理状态,则对该交易的签名进行验证。例如,如果验签线程将交易从“初始化”状态成功地设置为“验签中”状态,则该验签线程可以唯一地对该交易的签名进行验证。
可选地,在一个实施例中,该每一个验签线程还可以用于:如果该交易的签名的验证结果为验证成功,则将该交易设置为第三处理状态;如果该交易的签名的验证结果为验证失败,则将该交易设置为第四处理状态。例如,如果交易的签名的验证结果为验证成功,则将该交易设置为“签名有效”状态,即第三处理状态,第三处理状态表示交易的签名得到验证通过,诸如签名满足一定的签名规则(例如,签名是否来自合法的发送者,签名数量是否足够等)。例如,如果交易的签名的验证结果为验证失败,则将该交易设置为“签名无效”状态,即第四处理状态,第四处理状态表示交易的签名没有得到验证通过,诸如缺少签名、签名不完整或不满足一定的签名规则。
可选地,在一个实施例中,方法200还可以包括:基于该多个交易中的每一个交易的处理状态,使用区块执行线程来处理该交易。例如,当交易没有被验签时,并不使用区块执行线程来处理该交易,当交易被验签后,使用区块执行线程来处理该交易。
可选地,在一个实施例中,基于该多个交易中的每一个交易的处理状态,使用区块执行线程来处理该交易可以包括:如果该交易处于第三处理状态,则使用区块执行线程执行该交易来更新区块链信息;如果该交易处于第四处理状态,则使用区块执行线程来对该交易进行无效处理。例如,如果交易处于“签名有效”状态,则使用区块执行线程来执行该交易以更新区块链信息,如更新账本中存储的数据。例如,如果交易处于“签名无效”状态,则对该交易进行无效处理,例如丢弃该交易,不更新账本中存储的数据。
通过图2所描述的本公开的实施例,利用多线程来并发地执行耗时的验签工作,显著减少了交易的验签所花费的时间,从而缩短了区块整体的执行时间,使得区块链的处理性能得以较大的提升,并使得区块链可以应用于更多的应用场景,例如对于时间有特定需求的场景。
为了更好地表达本发明的构思,图3-图5示出了根据本公开的实施例的方法的更详细的流程图来对上述方法200进行阐述,但这仅是示例说明,并不是进行限制。
图3示出了根据本公开的实施例的在区块链中验证签名的方法的示例性初始化线程300的流程图。可以启动一个初始化线程300以初始地将区块中包括的多个交易设置为“初始化”状态(即第一处理状态)。如流程图所示,初始化线程300可以包括步骤301-305。在步骤301,构建交易数组,设置状态为“空”。在步骤302,遍历区块中的交易,例如按顺序(例如,多个交易所遵循的特定顺序)遍历区块中的交易。在步骤303,判断是否还有下一个交易,例如,判断是否是区块中的最后一个交易。如果在步骤303的判断结果为“否”,则转到结束;如果在步骤303的判断结果为“是”,则转到步骤304。在步骤304,读取一个交易并放入交易数组。在步骤305,将交易设置为“初始化”状态。通过初始化线程300,可以将区块中的所有交易按顺序(例如,多个交易所遵循的特定顺序)放置在交易数组中,并在放置完成后将交易初始地设置为“初始化”状态。
图4示出了根据本公开的实施例的在区块链中验证签名的方法的示例性验签线程400。可以启动多个验签线程400,对图3的初始化线程300中构建的交易数组中的交易依次进行抢占处理,如果抢占成功,则对该交易进行验签操作,如果抢占失败,则转向抢占下一个交易,直到交易数组中的所有交易都处理完毕。如流程图所示,每一个验签线程400可以包括步骤401-409。在步骤401,判断是否还有下一个交易需要验签处理。如果在步骤401的判断结果为“否”,则转到结束;如果在步骤401的判断结果为“是”,则转到步骤402。在步骤402,读取一个交易。在步骤403,判断交易的处理状态。如果在步骤403的状态判断结果为“空”状态,则转到步骤404等待一段时间,并随后转回到步骤403;如果在步骤403的状态判断结果为“初始化”状态(即第一处理状态),则转到步骤405;如果在步骤403的状态判断结果为其它状态,则返回到步骤401。在步骤405,使用原子操作将交易设置为“验签中”状态(即第二处理状态)。如果在步骤405设置成功,则转到步骤406;如果在步骤405设置失败,则返回到步骤401。在步骤406,对交易执行验签操作。在步骤407,判断验证结果。如果在步骤407的验证结果为验证失败,则转到步骤408;如果在步骤407的验证结果为验证成功,则转到步骤409。在步骤408,将交易设置为“签名无效”状态(即第三处理状态)。在步骤409,将交易设置为“签名有效”状态(即第四处理状态)。通过多个验签线程400,可以并发地对区块中的多个交易的签名进行验证,显著减少了验签所花费的时间。
图5示出了根据本公开的实施例的在区块链中验证签名的方法的示例性区块执行线程500的流程图。可以启动一个区块执行线程500,按照图3的初始化线程300中构建的交易数组中的顺序,对在图4的验签线程400中完成验签的交易依次执行。如流程图所示,区块执行线程500可以包括步骤501-506。在步骤501,判断是否还有下一个交易,例如,判断是否还有未执行的交易。如果在步骤501的判断结果为“否”,则转到结束;如果在步骤501的判断结果为“是”,则转到步骤502。在步骤502,读取一个交易。在步骤503,判断交易的处理状态。如果在步骤503的状态判断结果为其它状态,则转到步骤504等待一段时间,并随后返回到步骤503;如果在步骤503的状态判断结果为“签名有效”状态(即第三处理状态),则转到步骤505;如果在步骤503的状态判断结果为“签名无效”状态(即第四处理状态),则转到步骤506。在步骤505,执行交易以更新区块链信息。在步骤506,对交易进行无效处理。通过区块执行线程500,可以处理区块中已完成验签的交易。
应当理解,上述的初始化线程300、多个验签线程400以及区块执行线程500可以是同时执行的,并且还可以采用除了数组之外的其它数据结构来实现交易的存储和读取。此外,上述流程图中的一个或多个步骤可以被组合、省略或者根据期望以不同的顺序来执行。通过图3-图5所描述的本公开的实施例,利用多个验签线程来并发地执行耗时的验签工作,显著减少了交易的验签所花费的时间,从而缩短了区块整体的执行时间,使得区块链的处理性能得以较大的提升,并使得区块链可以应用于更多的应用场景。
图6示出了根据本公开的实施例的在区块链中验证签名的装置600的示意图。装置600可以包括:存储器601和耦合到存储器601的处理器602。存储器601用于存储指令,处理器602被配置为基于存储器601存储的指令来使装置600实现针对图2-图5所描述的方法的步骤中的任何步骤中的一个或多个。
如图6所示,装置600还可以包括通信接口603,用于与其它设备进行信息交互。此外,装置600还可以包括总线604,存储器601、处理器602和通信接口603通过总线604来彼此进行通信。
存储器601可以包括易失性存储器,也可以包括非易失性存储器。处理器602可以是中央处理器(CPU)、微控制器、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、或是被配置为实现本发明的实施例的一个或多个集成电路。
此外,替代地,上述的在区块链中验证签名的方法能够通过计算机程序产品,即有形的计算机可读存储介质来体现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
以上所述仅为本公开的可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。此外,尽管可能关于若干实施方式中的一个来公开实施例的特定特征或方面,但是可以将这种特征或方面与其它实施方式的一个或多个其它特征或方面进行组合,这是由于其对任何给定或特定应用来说是期望且有利的。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (13)
1.一种在区块链中验证签名的方法,其特征在于,包括:
接收包括多个交易的区块,所述多个交易中的每一个交易被设置为第一处理状态;
使用多个验签线程来并发地处理所述多个交易的签名,其中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态。
2.根据权利要求1所述的方法,其特征在于,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态包括:
确定所述多个交易中是否存在处于第一处理状态的交易;
如果确定存在,则使用原子操作将所述处于第一处理状态的交易设置为第二处理状态。
3.根据权利要求1或2所述的方法,其特征在于,该每一个验签线程还用于:
如果将所述处于第一处理状态的交易成功地设置为第二处理状态,则对所述交易的签名进行验证。
4.根据权利要求3所述的方法,其特征在于,该每一个验签线程还用于:
如果所述交易的签名的验证结果为验证成功,则将所述交易设置为第三处理状态;
如果所述交易的签名的验证结果为验证失败,则将所述交易设置为第四处理状态。
5.根据权利要求4所述的方法,其特征在于,还包括:
基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易。
6.根据权利要求5所述的方法,其特征在于,基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易包括:
如果所述交易处于第三处理状态,则使用所述区块执行线程执行所述交易来更新区块链信息;
如果所述交易处于第四处理状态,则使用所述区块执行线程对所述交易进行无效处理。
7.一种在区块链中验证签名的装置,其特征在于,包括:
存储器,其用于存储指令;以及
处理器,其耦合到所述存储器,所述指令在由所述处理器执行时使得所述装置执行以下操作:
接收包括多个交易的区块,所述多个交易中的每一个交易被设置为第一处理状态;
使用多个验签线程来并发地处理所述多个交易的签名,其中,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态。
8.根据权利要求7所述的装置,其特征在于,所述多个验签线程中的每一个验签线程用于将所述多个交易中处于第一处理状态的交易设置为第二处理状态包括:
确定所述多个交易中是否存在处于第一处理状态的交易;
如果确定存在,则使用原子操作将所述处于第一处理状态的交易设置为第二处理状态。
9.根据权利要求7或8所述的装置,其特征在于,所述指令在由所述处理器执行时使得所述装置执行以下操作:
该每一个验签线程还用于:
如果将所述处于第一处理状态的交易成功地设置为第二处理状态,
则对所述交易的签名进行验证。
10.根据权利要求9所述的装置,其特征在于,所述指令在由所述处理器执行时使得所述装置执行以下操作:
该每一个验签线程还用于:
如果所述交易的签名的验证结果为验证成功,则将所述交易设置为第三处理状态;
如果所述交易的签名的验证结果为验证失败,则将所述交易设置为第四处理状态。
11.根据权利要求10所述的装置,其特征在于,所述指令在由所述处理器执行时使得所述装置执行以下操作:
基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易。
12.根据权利要求11所述的装置,其特征在于,基于所述多个交易中的每一个交易的处理状态,使用区块执行线程来处理所述交易包括:
如果所述交易处于第三处理状态,则使用所述区块执行线程执行所述交易来更新区块链信息;
如果所述交易处于第四处理状态,则使用所述区块执行线程对所述交易进行无效处理。
13.一种非暂时性计算机可读存储介质,其特征在于,所述非暂时性计算机可读存储介质存储有指令,所述指令在被执行时用于实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810761959.5A CN108846674A (zh) | 2018-07-12 | 2018-07-12 | 在区块链中验证签名的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810761959.5A CN108846674A (zh) | 2018-07-12 | 2018-07-12 | 在区块链中验证签名的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108846674A true CN108846674A (zh) | 2018-11-20 |
Family
ID=64197174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810761959.5A Pending CN108846674A (zh) | 2018-07-12 | 2018-07-12 | 在区块链中验证签名的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108846674A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600219A (zh) * | 2018-11-29 | 2019-04-09 | 天津大学 | 一种基于以太坊智能合约的公钥管理系统 |
CN109687953A (zh) * | 2018-12-24 | 2019-04-26 | 杭州复杂美科技有限公司 | 交易分类方法、设备和存储介质 |
CN110163609A (zh) * | 2019-05-28 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种区块链中数据处理方法及装置 |
CN110659905A (zh) * | 2019-09-20 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 交易验证方法、装置、终端设备以及存储介质 |
CN110781196A (zh) * | 2019-09-06 | 2020-02-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
CN111510450A (zh) * | 2020-04-13 | 2020-08-07 | 西安电子科技大学 | 一种区块链节点身份验证方法 |
CN113238806A (zh) * | 2019-08-30 | 2021-08-10 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
GB201720767D0 (en) * | 2017-12-13 | 2018-01-24 | Barker Trevor | Computer-implemented system and method |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN108063758A (zh) * | 2017-11-27 | 2018-05-22 | 众安信息技术服务有限公司 | 用于区块链网络的签名验证方法及区块链网络中的节点 |
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
-
2018
- 2018-07-12 CN CN201810761959.5A patent/CN108846674A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108269072A (zh) * | 2016-12-30 | 2018-07-10 | 深圳瀚德创客金融投资有限公司 | 用于区块链的交易处理方法和网络节点 |
CN107423124A (zh) * | 2017-07-27 | 2017-12-01 | 中链科技有限公司 | 一种用于对交易数据进行并行处理的方法 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN108063758A (zh) * | 2017-11-27 | 2018-05-22 | 众安信息技术服务有限公司 | 用于区块链网络的签名验证方法及区块链网络中的节点 |
GB201720767D0 (en) * | 2017-12-13 | 2018-01-24 | Barker Trevor | Computer-implemented system and method |
Non-Patent Citations (1)
Title |
---|
徐云峰等: "《访问控制》", 28 February 2014, 武汉大学出版社 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600219A (zh) * | 2018-11-29 | 2019-04-09 | 天津大学 | 一种基于以太坊智能合约的公钥管理系统 |
CN109687953A (zh) * | 2018-12-24 | 2019-04-26 | 杭州复杂美科技有限公司 | 交易分类方法、设备和存储介质 |
CN110163609A (zh) * | 2019-05-28 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种区块链中数据处理方法及装置 |
CN110163609B (zh) * | 2019-05-28 | 2024-02-27 | 深圳前海微众银行股份有限公司 | 一种区块链中数据处理方法及装置 |
CN113238806A (zh) * | 2019-08-30 | 2021-08-10 | 创新先进技术有限公司 | 在区块链中并发执行交易的方法和装置 |
CN110781196A (zh) * | 2019-09-06 | 2020-02-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
WO2021042733A1 (zh) * | 2019-09-06 | 2021-03-11 | 深圳壹账通智能科技有限公司 | 区块链事务处理方法、装置、计算机设备及存储介质 |
CN110659905A (zh) * | 2019-09-20 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 交易验证方法、装置、终端设备以及存储介质 |
CN110659905B (zh) * | 2019-09-20 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 交易验证方法、装置、终端设备以及存储介质 |
CN111510450A (zh) * | 2020-04-13 | 2020-08-07 | 西安电子科技大学 | 一种区块链节点身份验证方法 |
CN111510450B (zh) * | 2020-04-13 | 2021-02-05 | 西安电子科技大学 | 一种区块链节点身份验证方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846674A (zh) | 在区块链中验证签名的方法和装置 | |
CN107301536B (zh) | 资源转移方法及装置 | |
ES2932500T3 (es) | Seleccionar y asegurar delegados de prueba para funciones criptográficas | |
CN104169952B (zh) | 一种网络支付方法、装置及系统 | |
CN109146679A (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN108600301A (zh) | 一种区块链之间的跨链方法及主区块链 | |
CN109242500A (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
CN106934611B (zh) | 一种数据处理的方法及装置 | |
CN109242685A (zh) | 基于区块链的共识和验证方法及装置 | |
CN110417558A (zh) | 签名的验证方法和装置、存储介质及电子装置 | |
CN109286685A (zh) | 可拓展子链的主链加并行多子链的系统架构 | |
CN108681900A (zh) | 轻节点验证交易的方法 | |
CN109472572A (zh) | 基于区块链主链加并行多子链的合约部署及交易 | |
US11392675B2 (en) | Request authorization using recipe-based service coordination | |
CN103294558B (zh) | 一种支持动态信任评估的MapReduce调度方法 | |
CN109493052A (zh) | 基于主链加并行多子链的跨链系统合约及其转账流程 | |
CN110365711A (zh) | 多平台用户身份关联方法及装置 | |
CN109493027A (zh) | 一种实现跨链交易操作的方法及装置 | |
CN107733739A (zh) | 可视化集中管理可信策略和报告的系统与方法 | |
US20180089001A1 (en) | Cloud container resource binding and tasking using keys | |
CN109493051A (zh) | 可动态进行账户分配及迁移的主链加并行多子链系统架构 | |
WO2019067533A1 (en) | SYSTEM AND METHODS FOR RESOLVING DATA DIVERGENCES IN A SYSTEM DISTRIBUTED WITH BLOCK CHAIN CONTROLS | |
CN104580428B (zh) | 一种数据路由方法、数据管理装置和分布式存储系统 | |
CN105703941B (zh) | 配置事务的处理方法及装置 | |
CN110033367A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181120 |
|
RJ01 | Rejection of invention patent application after publication |