CN112019350B - 区块链的区块验证方法及装置 - Google Patents

区块链的区块验证方法及装置 Download PDF

Info

Publication number
CN112019350B
CN112019350B CN202010901485.7A CN202010901485A CN112019350B CN 112019350 B CN112019350 B CN 112019350B CN 202010901485 A CN202010901485 A CN 202010901485A CN 112019350 B CN112019350 B CN 112019350B
Authority
CN
China
Prior art keywords
block
sub
verification
cooperative
establishing
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.)
Active
Application number
CN202010901485.7A
Other languages
English (en)
Other versions
CN112019350A (zh
Inventor
栗石
孙洪轩
张荣臻
吴海洋
向小佳
黄时光
丁永建
李璠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Everbright Technology Co ltd
Original Assignee
Everbright Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Everbright Technology Co ltd filed Critical Everbright Technology Co ltd
Priority to CN202010901485.7A priority Critical patent/CN112019350B/zh
Publication of CN112019350A publication Critical patent/CN112019350A/zh
Application granted granted Critical
Publication of CN112019350B publication Critical patent/CN112019350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明实施例提供了一种区块链的区块验证方法及装置,其中,所述方法包括:接收所述区块链中的order节点发送的第一区块与第二区块;建立第一协程,并通过所述第一协程对所述第一区块进行验证;以及,建立第二协程,并通过所述第二协程对所述第二区块进行验证。通过本发明实施例,可以解决相关技术中联盟链网络中的TPS过低而无法满足业务需求的问题,以达到提高块验证的效率,进而提升联盟链网络中的TPS的效果。

Description

区块链的区块验证方法及装置
技术领域
本发明涉及区块链领域,具体而言,涉及一种区块链的区块验证方法及装置。
背景技术
区块链技术拥有去中心化,不可篡改,增强信任和安全等特点,其高度符合金融行业的业务需求。目前,基于超级账本Hyperledger-Fabric的联盟链网络进行应用实现是当前主流的技术实现方案,Hyperledger-Fabric是一去中心化的分布式数据库,其可实现分布式数据存储,以及加密算法等功能。
相关技术中,基于Hyperledger-fabric的联盟链网络中的吞吐量,即每秒传输的事物处理个数(Transactions Per Second,TPS)较低,并无法满足现有的金融业务系统的TPS需求,进而限制了区块链应用的发展。
针对上述相关技术中,联盟链网络中的TPS过低而无法满足业务需求的问题,相关技术中尚未提出有效的解决方案。
发明内容
本发明实施例提供一种区块链的区块验证方法及装置,以至少解决相关技术中联盟链网络中的TPS过低而无法满足业务需求的问题。
根据本发明的一个实施例,提供了一种区块链的区块验证方法,应用于区块链中的peer节点,所述方法包括:
接收所述区块链中的order节点发送的第一区块与第二区块;
建立第一协程,并通过所述第一协程对所述第一区块进行验证;以及,建立第二协程,并通过所述第二协程对所述第二区块进行验证。
根据本发明的另一个实施例,还提供了一种区块链的区块验证装置,设置于区块链中的peer节点,所述装置包括:
接收模块,用于接收所述区块链中的order节点发送的第一区块与第二区块;
验证模块,用于建立第一协程,并通过所述第一协程对所述第一区块进行验证;所述验证模块还用于,建立第二协程,并通过所述第二协程对所述第二区块进行验证。
根据本发明的另一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的另一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明实施例,区块链中的peer节点在接收区块链中的order节点发送的第一区块与第二区块时,可建立第一协程,并通过第一协程对第一区块进行验证;同时,建立第二协程,并通过第二协程对第二区块进行验证。以此,在针对order节点发送的多个块时,本发明实施例中的peer节点可通过对于多个块同步建立多个协程,以并行进行块的验证处理,进而令验证操作的效率得以显著改善。因此,本发明实施例可以解决相关技术中联盟链网络中的TPS过低而无法满足业务需求的问题,以达到提高块验证的效率,进而提升联盟链网络中的TPS的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例提供的区块链的区块验证方法的系统构架图;
图2是根据本发明实施例提供的区块链的区块验证方法的流程图;
图3是根据本发明实施例提供的区块链的区块验证装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为进一步说明本发明实施例中的区块链的区块验证方法及装置,以下对于本发明实施例中的区块链的区块验证方法及装置的适用场景进行说明:
区块链是一种按照时间顺序来将数据区块顺序相连组合而成的链式数据结构,并且以密码学方式保证数据区块不可篡改和不可伪造。区块链中的每个区块通过包括该区块链中紧接其之前的前一个区块的加密散列而链接到该前一个区块。每个区块还包括时间戳、该区块的加密哈希以及一个或多个交易。对已经被区块链网络的节点验证的交易进行哈希处理并形成Merkle树。在Merkle树中,对叶节点处的数据进行哈希处理,并且针对Merkle树的每个分支,在该分支的根处级联该分支的所有哈希值。针对Merkle树执行上述处理,直到整个Merkle树的根节点。Merkle树的根节点存储代表该Merkle树中的所有数据的哈希值。当一个哈希值声称是Merkle树中存储的交易时,可以通过判断该哈希值是否与Merkle树的结构一致来进行快速验证。
区块链网络是用于管理、更新和维护一个或多个区块链结构的计算节点网络。在本发明实施例中,区块链网络可以包括公有区块链网络、私有区块链网络或联盟区块链网络。
在公有区块链网络中,共识过程由共识网络的节点控制。例如,在公有区块链网络中可以存在成千上万个实体协作处理,每个实体操作该公有区块链网络中的至少一个节点。因此,公有区块链网络可以被认为是参与实体的公有网络。在一些示例中,大多数实体(节点)必须按序对每个区块进行签名,并且将签名后的区块添加到区块链网络的区块链中。公有区块链网络的示例可以包括特定对等支付网络。
公有区块链网络支持公有交易。公有交易在公有区块链网络内的所有节点之间共享,并且存储在全局区块链中。全局区块链是指跨所有节点复制的区块链。为了达成共识,在公有区块链网络内实现共识协议。共识协议的示例包括但不限于:工作量证明(Proof OfWork,POW),权益证明(ProofOfStake,POS),权威证明(Proof Of Authority,POA)。
私有区块链网络被提供来用于特定实体。私有区块链网络中的各个节点的读写权限被严格控制。因此,私有区块链网络通常也称为许可网络,其对允许某一对象参与网络以及的网络参与水平进行限制。在私有区块链网络中,可以使用各种类型的访问控制机制。
联盟区块链网络(以下称为联盟链网络)在参与实体之间是私有的。在联盟链网络中,共识过程由授权节点控制。例如,由若干个实体组成的联盟可以操作联盟区块链网络,每个实体操作该联盟区块链网络中的至少一个节点。因此,联盟链网络可以被认为是参与实体的私有网络。在一些示例中,每个参与实体必须按序对每个区块进行签名,并将该区块添加到区块链。在一示例中,可以由参与实体的子集来对每个区块进行签名,并将该区块添加到区块链。
本发明实施例可应用于联盟链网络Hyperledger-Fabric,该网络中包含一个账本子系统,该子系统由世界状态(world state)以及交易记录两个组件构成。在HyperledgerFabric网络中,每一个参与者都拥有一个账本的副本。世界状态组件描述了账本在特定时间点的状态,其是账本的数据库。交易记录组件记录了产生世界状态当前值的所有交易,其是世界状态的更新历史,故此,账本子系统则是世界状态数据库和交易历史记录的集合。
上述账本子系统中,世界状态是可更换的。默认配置下,世界状态是一个key-value存储数据库。交易记录模块不需要被接入,只需要记录在区块链网络中账本数据库被使用时之前和之后的值即可。
上述Hyperledger-Fabric网络中包括多个peer节点与多个排序服务节点order节点;其中,peer节点用于通过执行链码实现对账本的读写操作,维护状态数据和账本的副本,以及在部分情形下根据背书策略的设定会执行交易并对结果进行签名背书。上述order节点用于对未打包的交易进行排序生成区块,并发送至Peer节点。一个区块链网络中,有且仅有一组排序服务,上述排序服务是由多个排序节点组成的。
本发明实施例中,可参考联盟链网络来详细描述本发明实施例的实现,在一示例中,可以通过Hyperledger-Fabric网络实现本发明实施例中的区块链的区块验证方法及装置。需要说明的是,本发明实施例也可以在任何适合的区块链网络中实现。
图1是根据本发明实施例提供的区块链的区块验证方法的系统构架图,如图1所示,区块链网络102可以是Hyperledger-Fabric网络。区块链网络102中可部署有计算设备104、计算设备106、计算设备108、计算设备110、计算设备112和网络114。在一示例中,网络114可以包括局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、因特网或其组合,并连接至网站、用户设备(如计算设备)和后端系统,计算设备104、计算设备106、计算设备108、计算设备110、计算设备112可以通过有线和/或无线通信方式访问网络114。
上述计算设备104、计算设备106、计算设备108、计算设备110、计算设备112构成区块链网络102中的区块链节点,即客户端节点,计算设备104、计算设备106、计算设备108、计算设备110、计算设备112可以运行任何适当的计算系统,使其能够作为区块链网络102中的区块链节点。在一示例中,计算设备可以包括但不限于服务器、台式计算机、笔记本电脑、平板电脑计算设备和智能手机。
区块链网络中,除上述计算设备104、计算设备106、计算设备108、计算设备110、计算设备112构成的区块链节点外,还设置有多个peer节点与多个order节点,上述计算设备104、计算设备106、计算设备108、计算设备110、计算设备112通过连接peer节点或order节点接入至区块链网络中。
上述区块链网络102工作过程中,校验工作在任一计算设备的CPU的运算量中占据相当的比例。peer节点从order节点接收一个或多个区块时,需对于每一个区块验证其合法性与读写集等,进而更新世界状态,将区块链日志存储在文件系统中。上述验证过程中,相关技术中对于多个区块进行验证过程中,必须按顺序依次对某一区块进行验证并更新世界状态,期间其它所有任务处于阻塞状态,进而造成了联盟链网络中的TPS无法提升。
为此,本发明实施例提供了一种区块链的区块验证方法及装置,以显著改善区块验证的效率,进而达到提升联盟链网络中的TPS的效果。以下对本发明实施例中的区块链的区块验证方法及装置进行说明:
一方面,本发明实施例提供了一种区块链的区块验证方法,应用于区块链中的peer节点。图2是根据本发明实施例提供的区块链的区块验证方法的流程图,如图2所示,本发明实施例中的区块链的区块验证方法包括:
S102,接收区块链中的order节点发送的第一区块与第二区块;
需要说明的是,order节点发送至peer节点的区块通常为多个,上述第一区块与第二区块用于指示order节点发送至peer节点的多个区块中的任意两个区块;本发明实施例中对order节点发送至peer节点的区块的数量并不限定。
S104,建立第一协程,并通过第一协程对第一区块进行验证;以及,建立第二协程,并通过第二协程对第二区块进行验证。
上述步骤S104中,peer节点在接收上述多个区块后,可针对第一区块与第二区块分别建立相应的协程,即第一协程与第二协程,以此,可由第一协程与第二协程分别对于第一区块与第二区块进行验证处理。需要说明的是,上述第一协程与第二协程的建立以及验证处理是同步实现的,即第一协程对于第一区块的验证以及第二协程对第二区块的验证之间是并行的。
需要说明的是,order节点发送至peer节点的多个区块,均可将其定义为本发明实施例中的第一区块或第二区块,以此,对于order节点发送至peer节点的多个区块,peer节点可参照本发明实施例中的方法,针对每一个区块建立一协程以进行验证处理,进而实现对每一个区块的并行验证处理。通过以上方式,即可通过区块验证过程中的并行处理,避免对某一区块进行验证过程中,其它区块的验证等任务无法进行,以显著改善区块验证的效率。以此,任一peer节点在区块验证上的TPS均可通过上述并行操作以改善,进而令联盟链网络整体的TPS可得以显著提升。
需要说明的是,上述第一协程可以为goroutine协程,上述第二协程可以为goroutine协程;以下对于上述第一协程对第一区块进行验证,以及第二协程对第二区块进行验证的方式进行说明:
在一可选实施例中,上述第一协程包括第一子协程与第二子协程,第二协程包括第三子协程与第四子协程;
上述步骤S104中,建立第一协程,并通过第一协程对第一区块进行验证,包括:
S202,建立第一子协程,通过第一子协程对第一区块进行块验证;
S204,通过第一子协程建立第二子协程,并通过第二子协程对第一区块进行交易验证;
上述步骤S104中,建立第二协程,并通过第二协程对第二区块进行验证,包括:
S206,建立第三子协程,通过第三子协程对第二区块进行块验证;
S208,通过第三子协程建立第四子协程,并通过第四子协程对第二区块进行交易验证。
需要说明的是,上述第一子协程与第二子协程之间为相互独立的协程,相应的,第三子协程与第四子协程之间也为相互独立的协程,第一子协程可以为goroutine协程,第二子协程可以为goroutine协程,第三子协程可以为goroutine协程,第四子协程可以为goroutine协程。上述步骤S204中,通过第一子协程建立第二子协程可采用以下方式:通过第一子协程在预设的goroutine库中选取任一goroutine以建立第二子协程。相应的,上述步骤S208中,通过第一子协程建立第二子协程可以采用以下方式:通过第一子协程在预设的goroutine库中选取任一goroutine以建立第二子协程。
上述步骤S202中,通过第一子协程对第一区块进行块验证,即通过第一子协程对于第一区块的消息合法性进行验证,在一示例中,上述步骤S202中,通过第一子协程对第一区块进行块验证,包括:
S2022,通过第一子协程获取第一区块中的系统链码,并验证第一区块中的系统链码与预设的交易链码之间的匹配关系;
S2024,通过第一子协程获取第一区块中的背书情况,并验证第一区块中的背书情况与交易链码对应的背书策略之间的匹配关系。
相应的,上述步骤S206中,通过第三子协程对第二区块进行块验证,即通过第三子协程对于第二区块的消息合法性进行验证,在一示例中,上述步骤S206中,通过第三子协程对第二区块进行块验证,包括:
S2062,通过第三子协程获取第二区块中的系统链码,并验证第二区块中的系统链码与预设的交易链码之间的匹配关系;
S2064,通过第三子协程获取第二区块中的背书情况,并验证第二区块中的背书情况与交易链码对应的背书策略之间的匹配关系。
上述步骤S204中,通过第二子协程对第一区块进行交易验证,包括:通过第二子协程对第一区块的读写集进行验证;
上述步骤S208中,通过第四子协程对第二区块进行交易验证,包括:通过第四子协程对第二区块的读写集进行验证。
上述对于第一区块以及第二区块的读写集的验证,可令peer节点通过第二子协程以及第四子协程分别验证相应区块的读写集的内容与顺序,以此,可令多个区块中每一个区块中对应的读写集均可由相应的协程验证其顺序,进而使得多个区块的读写集符合其相应的顺序。
根据以上操作执行对第一区块与第二区块的验证后,可将通过验证的第一区块和/或第二区块写入至区块链中。需要说明的是,上述将通过验证的第一区块和/或第二区块写入至区块链中,即更新peer节点相应的世界状态,并将区块链日志存储在文件系统中。
本发明实施例中,针对order节点发送的多个块,本发明实施例中的peer节点可通过对于多个块同步建立多个协程,以并行进行块的验证处理,进而令验证操作的效率得以显著改善,以此解决相关技术中联盟链网络中的TPS过低而无法满足业务需求的问题,达到提升联盟链网络中的TPS的效果。与此同时,本发明实施例中的区块链的区块验证方法并不限于应用场景,与具体的业务之间解耦,进行可实现不同业务的复用,支持任意场景下对联盟链网络中TPS进行提升。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
另一方面,本发明实施例还提供了一种区块链的区块验证装置,设置于区块链中的peer节点,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例提供的区块链的区块验证装置的结构框图,如图3所示,本发明实施例中的区块链的区块验证装置包括:
接收模块202,用于接收区块链中的order节点发送的第一区块与第二区块;
验证模块204,用于建立第一协程,并通过第一协程对第一区块进行验证;验证模块还用于,建立第二协程,并通过第二协程对第二区块进行验证。
需要说明的是,本发明实施例中的区块链的区块验证装置的其余可选实施例及技术效果均与实施例1中记载的区块链的区块验证方法相对应,故在此不再赘述。
在一可选实施例中,上述第一协程包括第一子协程与第二子协程,第二协程包括第三子协程与第四子协程;
上述验证模块204中,建立第一协程,并通过第一协程对第一区块进行验证,包括:
建立第一子协程,通过第一子协程对第一区块进行块验证;通过第一子协程建立第二子协程,并通过第二子协程对第一区块进行交易验证;
上述验证模块204中,建立第二协程,并通过第二协程对第二区块进行验证,包括:
建立第三子协程,通过第三子协程对第二区块进行块验证;通过第三子协程建立第四子协程,并通过第四子协程对第二区块进行交易验证。
在一可选实施例中,上述通过第一子协程对第一区块进行块验证,包括:
通过第一子协程获取第一区块中的系统链码,并验证第一区块中的系统链码与预设的交易链码之间的匹配关系;
通过第一子协程获取第一区块中的背书情况,并验证第一区块中的背书情况与交易链码对应的背书策略之间的匹配关系;
上述通过第三子协程对第二区块进行块验证,包括:
通过第三子协程获取第二区块中的系统链码,并验证第二区块中的系统链码与预设的交易链码之间的匹配关系;
通过第三子协程获取第二区块中的背书情况,并验证第二区块中的背书情况与交易链码对应的背书策略之间的匹配关系。
在一可选实施例中,通过第二子协程对第一区块进行交易验证,包括:通过第二子协程对第一区块的读写集进行验证;
通过第四子协程对第二区块进行交易验证,包括:通过第四子协程对第二区块的读写集进行验证。
在一可选实施例中,第一子协程为goroutine协程,第二子协程为goroutine协程,第三子协程为goroutine协程,第四子协程为goroutine协程。
在一可选实施例中,通过第一子协程建立第二子协程,包括:通过第一子协程在预设的goroutine库中选取任一goroutine以建立第二子协程;
通过第一子协程建立第二子协程,包括:通过第一子协程在预设的goroutine库中选取任一goroutine以建立第二子协程。
在一可选实施例中,上述验证模块204还用于:
将通过验证的第一区块和/或第二区块写入至区块链中。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
另一方面,本发明的实施例还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行上述实施例中的计算机程序。
可选地,在本实施例中,上述计算机可读的存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
另一方面,本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行上述实施例中的步骤。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种区块链的区块验证方法,其特征在于,应用于区块链中的peer节点,所述方法包括:
接收所述区块链中的order节点发送的第一区块与第二区块;
建立第一协程,并通过所述第一协程对所述第一区块进行验证;以及,建立第二协程,并通过所述第二协程对所述第二区块进行验证;
其中,所述第一协程包括第一子协程与第二子协程,所述第二协程包括第三子协程与第四子协程;
所述建立第一协程,并通过所述第一协程对所述第一区块进行验证,包括:
建立所述第一子协程,通过所述第一子协程对所述第一区块进行块验证;通过所述第一子协程建立所述第二子协程,并通过所述第二子协程对所述第一区块进行交易验证;
所述建立第二协程,并通过所述第二协程对所述第二区块进行验证,包括:
建立所述第三子协程,通过所述第三子协程对所述第二区块进行块验证;通过所述第三子协程建立所述第四子协程,并通过所述第四子协程对所述第二区块进行交易验证;
所述通过所述第一子协程对所述第一区块进行块验证,包括:
通过所述第一子协程获取所述第一区块中的系统链码,并验证所述第一区块中的所述系统链码与预设的交易链码之间的匹配关系;
通过所述第一子协程获取所述第一区块中的背书情况,并验证所述第一区块中的所述背书情况与所述交易链码对应的背书策略之间的匹配关系;
所述通过所述第三子协程对所述第二区块进行块验证,包括:
通过所述第三子协程获取所述第二区块中的系统链码,并验证所述第二区块中的所述系统链码与预设的交易链码之间的匹配关系;
通过所述第三子协程获取所述第二区块中的背书情况,并验证所述第二区块中的所述背书情况与所述交易链码对应的背书策略之间的匹配关系。
2.根据权利要求1所述的方法,其特征在于,所述通过所述第二子协程对所述第一区块进行交易验证,包括:通过所述第二子协程对所述第一区块的读写集进行验证;
所述通过所述第四子协程对所述第二区块进行交易验证,包括:通过所述第四子协程对所述第二区块的读写集进行验证。
3.根据权利要求1至2任一项中所述的方法,其特征在于,所述第一子协程为goroutine协程,所述第二子协程为goroutine协程,所述第三子协程为goroutine协程,所述第四子协程为goroutine协程。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第一子协程建立所述第二子协程,包括:通过所述第一子协程在预设的goroutine库中选取任一goroutine以建立所述第二子协程。
5.根据权利要求1至2任一项中所述的方法,其特征在于,所述方法还包括:
将通过验证的所述第一区块和/或所述第二区块写入至所述区块链中。
6.一种区块链的区块验证装置,其特征在于,设置于区块链中的peer节点,所述装置包括:
接收模块,用于接收所述区块链中的order节点发送的第一区块与第二区块;
验证模块,用于建立第一协程,并通过所述第一协程对所述第一区块进行验证;所述验证模块还用于,建立第二协程,并通过所述第二协程对所述第二区块进行验证;
其中,所述第一协程包括第一子协程与第二子协程,所述第二协程包括第三子协程与第四子协程;
所述验证模块还用于通过如下方式建立第一协程,并通过所述第一协程对所述第一区块进行验证:建立所述第一子协程,通过所述第一子协程对所述第一区块进行块验证;通过所述第一子协程建立所述第二子协程,并通过所述第二子协程对所述第一区块进行交易验证;
所述验证模块还用于通过如下方式建立第二协程,并通过所述第二协程对所述第二区块进行验证:建立所述第三子协程,通过所述第三子协程对所述第二区块进行块验证;通过所述第三子协程建立所述第四子协程,并通过所述第四子协程对所述第二区块进行交易验证;
所述验证模块还用于通过如下方式实现所述通过所述第一子协程对所述第一区块进行块验证:通过所述第一子协程获取所述第一区块中的系统链码,并验证所述第一区块中的所述系统链码与预设的交易链码之间的匹配关系;通过所述第一子协程获取所述第一区块中的背书情况,并验证所述第一区块中的所述背书情况与所述交易链码对应的背书策略之间的匹配关系;
所述验证模块还用于通过如下方式实现所述通过所述第三子协程对所述第二区块进行块验证:通过所述第三子协程获取所述第二区块中的系统链码,并验证所述第二区块中的所述系统链码与预设的交易链码之间的匹配关系;通过所述第三子协程获取所述第二区块中的背书情况,并验证所述第二区块中的所述背书情况与所述交易链码对应的背书策略之间的匹配关系。
7.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
CN202010901485.7A 2020-08-31 2020-08-31 区块链的区块验证方法及装置 Active CN112019350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010901485.7A CN112019350B (zh) 2020-08-31 2020-08-31 区块链的区块验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010901485.7A CN112019350B (zh) 2020-08-31 2020-08-31 区块链的区块验证方法及装置

Publications (2)

Publication Number Publication Date
CN112019350A CN112019350A (zh) 2020-12-01
CN112019350B true CN112019350B (zh) 2024-02-02

Family

ID=73516458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010901485.7A Active CN112019350B (zh) 2020-08-31 2020-08-31 区块链的区块验证方法及装置

Country Status (1)

Country Link
CN (1) CN112019350B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678865A (zh) * 2017-09-20 2018-02-09 中国银行股份有限公司 基于交易分组的区块链的验证方法以及系统
CN108269072A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链的交易处理方法和网络节点
CN109285006A (zh) * 2018-09-20 2019-01-29 中链科技有限公司 一种区块链数据的并行验证处理方法及装置
CN109493203A (zh) * 2018-09-30 2019-03-19 咪咕文化科技有限公司 一种数据核算方法、装置及存储介质
US10419209B1 (en) * 2017-04-26 2019-09-17 Wells Fargo Bank, N.A. Parallel assurance of blockchain signatures
CN110457123A (zh) * 2018-09-13 2019-11-15 腾讯科技(深圳)有限公司 一种区块处理任务的控制方法和装置
CN110659905A (zh) * 2019-09-20 2020-01-07 腾讯科技(深圳)有限公司 交易验证方法、装置、终端设备以及存储介质
CN110704112A (zh) * 2019-08-30 2020-01-17 阿里巴巴集团控股有限公司 在区块链中并发执行交易的方法和装置
CN110839056A (zh) * 2018-08-17 2020-02-25 搜游网络科技(北京)有限公司 基于区块链的数据处理方法、装置及节点网络

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108269072A (zh) * 2016-12-30 2018-07-10 深圳瀚德创客金融投资有限公司 用于区块链的交易处理方法和网络节点
US10419209B1 (en) * 2017-04-26 2019-09-17 Wells Fargo Bank, N.A. Parallel assurance of blockchain signatures
CN107678865A (zh) * 2017-09-20 2018-02-09 中国银行股份有限公司 基于交易分组的区块链的验证方法以及系统
CN110839056A (zh) * 2018-08-17 2020-02-25 搜游网络科技(北京)有限公司 基于区块链的数据处理方法、装置及节点网络
CN110457123A (zh) * 2018-09-13 2019-11-15 腾讯科技(深圳)有限公司 一种区块处理任务的控制方法和装置
CN109285006A (zh) * 2018-09-20 2019-01-29 中链科技有限公司 一种区块链数据的并行验证处理方法及装置
CN109493203A (zh) * 2018-09-30 2019-03-19 咪咕文化科技有限公司 一种数据核算方法、装置及存储介质
CN110704112A (zh) * 2019-08-30 2020-01-17 阿里巴巴集团控股有限公司 在区块链中并发执行交易的方法和装置
CN110659905A (zh) * 2019-09-20 2020-01-07 腾讯科技(深圳)有限公司 交易验证方法、装置、终端设备以及存储介质

Also Published As

Publication number Publication date
CN112019350A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN111144881B (zh) 对资产转移数据的选择性访问
US10671308B2 (en) Private and fault-tolerant storage of segmented data
CN109325855B (zh) 区块链网络、部署方法及存储介质
CN109191124B (zh) 区块链网络、部署方法及存储介质
US10904009B2 (en) Blockchain implementing delta storage
EP3559874B1 (en) Event-driven blockchain workflow processing
CN109325854B (zh) 区块链网络、部署方法及存储介质
US11741083B2 (en) Cross-shard private atomic commit
US11018852B2 (en) Blockchain trust anchor
CN112840617B (zh) 用于管理区块链资源的方法和计算节点,计算机可读介质
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
CN113228076A (zh) 区块链管理系统
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
CN111066047A (zh) 实现基于区块链的工作流
CN111295650A (zh) 在基于区块链的系统中执行映射迭代
CN110400217B (zh) 智能合约的规则变更处理方法及装置
US11070563B2 (en) Trace-based transaction validation and commitment
EP3769233B1 (en) Performing map iterations in a blockchain-based system
CN111447069B (zh) 一种基于区块链的低频访问数据处理方法
US11138188B2 (en) Performance optimization
CN110998633A (zh) 在基于读写集模型的区块链技术中避免双花问题的方法和设备
CN111033491A (zh) 基于纠错编码存储共享的区块链数据
CN111698198B (zh) 秘密生成和份额分发
AU2019381980A1 (en) Taking snapshots of blockchain data

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
GR01 Patent grant
GR01 Patent grant