CN112669149A - 一种区块链的共识方法、装置、服务器及存储介质 - Google Patents
一种区块链的共识方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN112669149A CN112669149A CN202011548287.3A CN202011548287A CN112669149A CN 112669149 A CN112669149 A CN 112669149A CN 202011548287 A CN202011548287 A CN 202011548287A CN 112669149 A CN112669149 A CN 112669149A
- Authority
- CN
- China
- Prior art keywords
- consensus
- round
- node
- target
- transaction
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004590 computer program Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006854 communication Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种区块链的共识方法、装置、服务器及存储介质。该区块链的共识方法,通过设计检查点轮次,使得无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。且由于会新建区块,新建的区块中包括区块链中前序区块的执行结果以及状态,仅对新建的区块进行一致性校验,避免了内存资源以及计算资源的浪费。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块链的共识方法、装置、服务器及存储介质。
背景技术
在区块链系统中,一致性是不可或缺的一个重要属性,这其中又包含了交易序列一致性与状态一致性这两种一致性属性。为了保证区块链系统的一致性,通常需要引入共识算法来保证所有节点按照一致的顺序执行相同的交易序列(交易序列一致性),除此之外,还需要额外引入一种状态对比的方案来保证所有节点的执行结果是一致的(状态一致性)。
现有技术下的共识算法,将共识与交易执行耦合,影响共识的稳定性;且区块链中的不同的主节点均在本地最新区块的基础上构建不同的提案区块,造成内存资源浪费。同时,需要实时记录下所有区块的内容以及执行结果,需要维护庞大的历史状态数,增加执行模块的设计复杂度。
发明内容
本申请提供一种区块链的共识方法,通过设计检查点轮次,使得无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。且由于会新建区块,新建的区块中包括区块链中前序区块的执行结果以及状态,仅对新建的区块进行一致性校验,避免了内存资源以及计算资源的浪费。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
一方面,本申请提供区块链的共识方法,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述方法包括:
在所述多个共识轮次中的第一共识轮次中,所述主节点接收所述多个节点在第二共识轮次针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
在所述第一共识轮次中,所述主节点针对所述共识提案消息生成第一共识提案区块,所述共识提案消息中包括所述第一共识提案区块、所述第二共识轮次中的第一投票结果集合以及所述目标交易;
所述主节点接收所述目标节点针对所述共识提案消息生成的第一投票结果;
所述主节点根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次;
若所述第二共识轮次为所述检查点轮次,所述主节点根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识。
在本申请一种可能的实现方式中,所述主节点根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次,包括:
所述主节点判断自身是否接收到第一预设数量的第一投票结果;
若是,则所述主节点确定所述第二共识轮次为所述检查点轮次。
在本申请一种可能的实现方式中,若所述第二共识轮次为所述检查点轮次,则在所述第二共识轮次内,所述目标节点生成与所述目标交易对应的交易执行结果,所述第二共识轮次中生成的第一投票结果集合中包括所述交易执行结果,第二共识轮次中生成的第一投票结果集合中的交易执行结果为多个;
所述若所述第二共识轮次为所述检查点轮次,所述主节点根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识,包括:
若所述第二共识轮次为所述检查点轮次,所述主节点判断所述第二共识轮次中生成的第一投票结果集合中的多个交易执行结果是否一致;
若第二预设数量的节点的交易执行结果一致,则所述主节点生成检查点信息,并将所述检查点信息聚合在所述第二共识轮次中生成的所述第一投票结果集合中;
所述主节点判断自身根据所述目标交易生成的交易执行结果,与所述第二共识轮次中生成的第一投票结果集合中的交易执行结果是否一致;
若所述主节点自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果一致,则确定所述区块链针对所述目标交易达成共识。
在本申请一种可能的实现方式中,所述方法还包括:
若所述主节点自身的交易执行结果与所述第二共识轮次中生成的第一投票结果集合中的交易执行结果不一致,则所述主节点等待此次共识超时;
切换所述主节点,得到新主节点,所述新主节点针对所述目标交易重新达成共识。
在本申请一种可能的实现方式中,所述方法还包括:若所述第二共识轮次不为所述检查点轮次,则所述主节点重新聚合所述其他节点在所述第一共识轮次生成的所述第一投票结果,生成第二投票结果集合;
切换所述主节点,得到新主节点,所述新主节点针对所述目标交易重新达成共识。
在本申请一种可能的实现方式中,所述方法还包括:
所述新主节点在所述第一提案区块的基础上构建第二提案区块,所述第二提案区块包括所述第二投票结果集合、所述共识提案消息以及所述目标交易。
另一方面,本申请提供一种区块链的共识方法,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述方法包括:在所述多个共识轮次中的第一共识轮次内,所述目标节点接收来自所述主节点的共识提案消息,所述共识提案消息中包括所述多个节点在第二共识轮次中针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
所述目标节点判断自身所处的第一共识轮次是否为所述检查点轮次;
若所述第一共识轮次为所述检查点轮次,所述目标节点获取与所述目标交易对应的交易执行结果,所述交易执行结果封装在所述目标节点在所述第一共识轮次中生成的所述第一投票结果中;
所述目标节点将包括所述交易执行结果的所述第一投票结果发送至所述主节点。
在本申请一种可能的实现方式中,在所述目标节点判断自身所处的第一共识轮次是否为所述检查点轮次之前,所述方法还包括:
所述目标节点判断所述共识提案消息中是否包括检查点信息;
若包括所述检查点信息,则所述目标节点根据所述检查点信息判断自身是否针对所述目标交易达成共识。
在本申请一种可能的实现方式中,所述方法还包括:
若所述第一共识轮次不为所述检查点轮次,所述目标节点针对所述共识提案消息生成第一投票结果,并发送至所述主节点;
其中,所述第一投票结果不包括所述目标节点获取的针对所述目标交易的交易执行结果。
另一方面,本申请还提供一种区块链的共识装置,应用于区块链,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述装置包括:
第一接收模块,所述第一接收模块用于在所述多个共识轮次中的第一共识轮次中,接收所述多个节点在第二共识轮次针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
提案区块生成模块,所述提案区块生成模块用于在所述第一共识轮次中,针对所述共识提案消息生成第一共识提案区块,所述共识提案消息中包括所述第一共识提案区块、所述第二共识轮次中的第一投票结果集合以及所述目标交易;
第二接收模块,所述第二接收模块用于接收所述目标节点针对所述共识提案消息生成的第一投票结果;
第一判断模块,所述第一判断模块用于根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次;
第二判断模块,所述第二判断模块用于若所述第二共识轮次为所述检查点轮次,根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识。
另一方面,本申请还提供一种区块链的共识装置,应用于区块链,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述装置包括:
第三接收模块,所述第三接收模块用于在所述多个共识轮次中的第一共识轮次内,接收来自所述主节点的共识提案消息,所述共识提案消息中包括所述多个节点在第二共识轮次中针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
第三判断模块,所述第三判断模块用于判断自身所处的第一共识轮次是否为所述检查点轮次;
获取模块,所述获取模块用于若所述第一共识轮次为所述检查点轮次,获取与所述目标交易对应的交易执行结果,所述交易执行结果封装在所述目标节点在所述第一共识轮次中生成的所述第一投票结果中;
发送模块,所述发送模块用于将包括所述交易执行结果的所述第一投票结果发送至所述主节点。
另一方面,本申请还提供一种服务器,所述服务器包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现如上任一项所述的区块链的共识方法。
另一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如上任一项所述的区块链共识方法中的步骤。
本申请提供一种区块链的共识方法,通过设计检查点轮次,使得无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。且由于会新建区块,新建的区块中包括区块链中前序区块的执行结果以及状态,仅对新建的区块进行一致性校验,避免了内存资源以及计算资源的浪费。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的区块链系统的场景示意图;
图2为本申请实施例中提供的区块链的共识方法的一个实施例流程示意图;
图3为本申请实施例提供的主节点判断目标交易是否达成共识的一实施例流程示意图;
图4为本申请实施例提供的区块链的共识方法另一实施例流程示意图;
图5为本申请实施例提供的区块链的共识方法一具体实施例流程图;
图6为本申请实施例提供的区块链的共识装置一实施例示意图;
图7为本申请实施例提供的区块链的共识装置另一实施例示意图;
图8示出了本申请实施例所涉及到的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
本申请实施例提供一种区块链的共识方法、装置、服务器及存储介质,以下分别进行详细说明。
如图1所示,为本申请实施例提供的区块链系统的场景示意图,该区块链系统可以包括多个节点100,和服务器200,每个节点100对应一个终端设备,节点100和服务器200网络连接,服务器200中集成有区块链的共识装置,节点100可以访问服务器200。
本发明实施例中服务器200主要用于在多个共识轮次中的第一共识轮次中,主节点接收多个节点在第二共识轮次针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;在第一共识轮次中,主节点针对共识提案消息生成第一共识提案区块,共识提案消息中包括第一共识提案区块、第二共识轮次中的第一投票结果集合以及目标交易;主节点接收目标节点针对共识提案消息生成的第一投票结果;主节点根据第一投票结果,判断第二共识轮次为检查点轮次;若第二共识轮次为检查点轮次,主节点根据第一投票结果判断区块链针对目标交易是否达成共识。
或是用于在多个共识轮次中的第一共识轮次内,目标节点接收来自主节点的共识提案消息,共识提案消息中包括多个节点在第二共识轮次中针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;目标节点判断自身所处的第一共识轮次是否为检查点轮次;若第一共识轮次为检查点轮次,目标节点获取与所目标交易对应的交易执行结果,交易执行结果封装在目标节点在第一共识轮次中生成的第一投票结果中;目标节点将包括交易执行结果的第一投票结果发送至主节点。
本发明实施例中,该服务器200可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器200,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。本发明的实施例中,服务器与节点之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)、长期演进(Long Term Evolution,LTE)、全球互通微波访问(Worldwide Interoperability for Microwave Access,WiMAX)的移动通信,或基于TCP/IP协议族(TCP/IP Protocol Suite,TCP/IP)、用户数据报协议(User Datagram Protocol,UDP)的计算机网络通信等。
可以理解的是,本发明实施例中所使用的节点100对应的终端设备可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种终端设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的节点100对应的终端设备具体可以是台式终端或移动终端,节点100对应的终端设备具体还可以是手机、平板电脑、笔记本电脑等中的一种。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的服务器,或者服务器网络连接关系,例如图1中仅示出1个服务器和2个节点,可以理解的,该区块链系统还可以包括一个或多个其他服务器,或/且一个或多个与服务器网络连接的节点,具体此处不作限定。
另外,如图1所示,该区块链系统还可以包括存储器300,用于存储数据,如存储主机数据,例如节点对应的终端设备运行时的主机状态数据等。
需要说明的是,图1所示的区块链系统的场景示意图仅仅是一个示例,本发明实施例描述的区块链系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着区块链系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例提供的区块链中包括多个节点,多个节点之间互相连接,可以互相进行广播。当一个交易在区块链中执行,实际上需要在区块链中的每个节点上都执行,因此需要保证相同的交易在多个节点上均按照一致的顺序执行,且所有节点的交易的执行结果需要保持一致。
因此,在本申请的实施例中,需要利用共识来保证多个节点上交易执行顺序的一致性以及交易执行结果的一致性。当交易在区块链上执行,即区块链在运行时,可以设置多个共识轮次对区块链上执行的交易进行共识,而在多个共识轮次中包括检查点轮次,当共识轮次到达检查点轮次时需要对交易进行共识。
需要说明的是,在一个共识轮次内,可以将多个节点划分为主节点和从节点,在一个确定的共识轮次内,主节点一般为一个;而在不同的共识轮次内,主节点可以不同。且在本申请的实施例中,区块链中的每一个节点都可以作为主节点,即主节点可以根据实际需要进行划分或更改。
当目标交易在区块链中的节点上执行结束后,节点中会生成针对目标交易的共识提案消息,以验证在每个节点上交易执行的顺序以及交易的执行结果是否一致。
如图2所示,为本申请实施例中区块链的共识方法的一个实施例流程示意图,该区块链的共识方法可以包括:
21、在多个共识轮次中的第一共识轮次中,主节点接收多个节点在第二共识轮次针对共识提案消息生成的第一投票结果集合。
在本申请的实施例中,一个共识轮次相当于一个时间段,在一个共识轮次中,会对当前区块链中节点上的交易的执行情况进行共识,包括对交易的执行顺序以及交易的执行结果均进行共识。
而由于每个节点执行交易的时间是未知的,因此若是每一个共识轮次都进行共识,则可能会导致共识超时。因此在本申请的实施例中,无需在每一个共识轮次均进行共识,只需要在特定的检查点轮次进行共识即可。
在本申请的实施例中,一个共识轮次相当于一个时间段,而在区块链的运行过程中是可以包括多个共识轮次的;且由于时间是连续的,因此多个共识轮次之间也是连续的。在每一个共识轮次中,多个节点均可以生成针对共识提案消息生成的第一投票结果,其中第一投票结果为每个节点各自判断共识提案消息是否能够通过。而每个节点也可以获取交易的执行结果,但仅在特定的检查点轮次对交易的执行结果进行共识,将交易的执行与共识实现解耦,避免交易的执行影响共识的稳定性。
其中,在多个共识轮次中的第一共识轮次中,区块链中的多个节点可以划分为一个主节点和其他节点,而第一共识轮次中主节点可以接收多个节点在第二共识轮次时针对共识提案消息生成的第一投票结果集合。而第二共识轮次为第一共识轮次之前的一个共识轮次;即在第一共识轮次中,主节点会接收上一个共识轮次中的多个节点针对共识提案消息生成的第一投票结果集合。
即在本申请的实施例中,每一个共识轮次开始后,主节点均会接收与当前共识轮次相邻的上一个共识轮次中生成的第一投票结果集合。
22、在第一共识轮次中,主节点针对共识提案消息生成第一共识提案区块。
具体的,区块链是一个链式存储结构,区块就是链式存储结构中的数据元素,区块链由区块相互连接形成单向链式结构,其中第一个区块被称为创始区块。即区块链是一个链式结构,且区块链的特性包括链式结构中位于后序的区块中包括前序区块的哈希值。因此位于链式结构最末端的后序区块中可以包括链式结构上前序所有区块的哈希值,这保证了位于链式结构最末端的后序区块中可以包括链式结构上前序所有区块的信息。因此在进行共识时,仅验证链式结构上的最末端的区块即可。同时,进行共识时也不会影响前序区块中的交易的执行。
在第一共识轮次中,节点会重新开始新一轮的共识,此时主节点可以在当前本地最新区块的基础上针对共识提案消息新建一个第一提案区块。由于后序区块上包括链式结构中前序所有区块中的信息,因此在后续进行共识时,只需要验证新建的第一提案区块即可,无需验证链式结构上的所有区块,大大提高了共识的效率;也将区块链的共识与交易的执行实现了解耦。
由于需要进行新一轮的共识,因此可以将第一共识提案区块、第二共识轮次中生成的第一投票结果集合以及目标交易封装在共识提案消息中,并利用主节点广播给目标节点。
其中,主节点广播封装有第一共识提案区块、第二共识轮次中生成的第一投票结果集合以及目标交易的共识提案消息时,实际上需要广播给区块链中除自身之外的其他所有节点。
23、主节点接收目标节点针对共识提案消息生成的第一投票结果。
当主节点将封装有第一共识提案区块、第二共识轮次中生成的第一投票结果集合以及目标交易的共识提案消息广播给目标节点后,目标节点会再次针对共识提案消息进行投票,得到第一共识轮次中的第一投票结果,并将各自生成的第一投票结果反馈给主节点。即主节点会接收第一共识轮次中,目标节点针对共识提案消息生成的第一投票结果。
需要说明的是,在本申请的实施例中,其他节点为每个共识轮次中,除主节点自身之外区块链中的其他所有节点。因此主节点在每个共识轮次中接收到的第一投票结果实际上为多个。
24、主节点根据第一投票结果,判断第二共识轮次是否为检查点轮次。
当主节点接收到其他节点的第一投票结果后,主节点还需要判断第二轮次是否为检查点轮次;即主节点需要判断当前所处的共识轮次的上一个共识轮次是否为检查点轮次。
25、若第二共识轮次为检查点轮次,主节点根据第一投票结果判断区块链针对目标交易是否达成共识。
在本申请的实施例中,在交易执行过程中会设置多个共识轮次,只有当区块链处于检查点轮次时,才会在检查点轮次的下一个共识轮次中判断目标交易是否达成共识,无需在每个共识轮次均进行判断。
本申请提供一种区块链的共识方法,通过设计检查点轮次,使得无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。且由于会新建区块,新建的区块中包括区块链中前序区块的执行结果以及状态,仅对新建的区块进行一致性校验,避免了内存资源以及计算资源的浪费。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
在本申请的实施例中,主节点根据第一投票结果,判断第二共识轮次是否为检查点轮次,可以包括:
主节点判断自身是否接收到第一预设数量的第一投票结果;若是,主节点确定第二共识轮次是否为检查点轮次。
具体的,在节点针对共识提案消息进行投票的过程中,每个节点投票所需的时间不同,因此节点将生成的第一投票结果发送给主节点具有一定的先后顺序。在第一共识轮次主节点接收目标节点的第一投票结果的过程中,主节点可以随时监控自身接收到的第一投票结果的数量、若是第一共识轮次中主节点接收到了第一预设数量的第一投票结果,那么此时主节点无需再判断未接收到的第一投票结果,主节点可以直接判断上一轮次即第二共识轮次是否为检查点轮次。即在本申请的实施例中,只要主节点接收到了第一预设数量的第一投票结果,主节点即可开始判断上一个共识轮次是否为检查点轮次。
在本申请的一些实施例中,第一预设数量可以为三分之二节点数量,即若是主节点接收到了区块链中三分之二节点反馈的第一投票结果,那么主节点可以判断第二共识轮次是否为检查点轮次。在本申请的其他实施例中,第一预设数量也可以为其他数量的节点,例如超过二分之一的节点,或是五分之四的节点等,第一预设数量可以根据区块链的实际情况设定,此处不做限定。
在本申请的实施例中,多个共识轮次之间是连续的,且检查点轮次是可以自定义的,即可以指定多个连续的共识轮次中任意共识轮次为检查点轮次。而在实际的区块链中,为了便于判断共识的时间,通常会设置检查点轮次对应的规则。例如,可以将十个共识轮次作为一个循环周期,即每相邻且连续的十个共识轮次中的第十个共识轮次作为检查点轮次。当共识轮次循环到检查点轮次后,主节点会在检查点轮次之后的下一个共识轮次对目标交易进行共识。
其中,检查点轮次对应的规则通常在区块链运行时就已经配置好,并将对应的规则广播给区块链中的每一个节点,使得每一个节点都可以判断当前所处的共识轮次是否为检查点轮次。且当区块链开始运行时,共识轮次也随之开始运行,在共识轮次中实现对目标交易是否达到共识进行判断。
在本申请的实施例中,若是区块链中的节点处于检查点轮次,则节点针对共识提案消息生成第一投票结果的同时,还会生成目标交易执行结果的哈希值,并将第一投票结果和目标交易执行结果的哈希值一并发送给主节点。而若是区块链中的节点不处于检查点轮次,则节点只会生成针对共识提案消息的第一投票结果,无需等待目标交易执行结果的生成,只将不包括交易执行结果的第一投票结果发送给主节点即可。
因此在本申请的实施例中,只有当上一个共识轮次为检查点轮次,才会在下一个共识轮次中对目标交易的执行结果进行共识;无需在每个共识轮次均等待所有节点的目标交易执行结果,浪费时间,影响共识。
在本申请的一些实施例中,若第二共识轮次为检查点轮次,则在第二共识轮次内,目标节点会生成第一投票结果以及目标交易执行结果,即目标交易执行结果的哈希值,而目标交易执行结果的哈希值封装在第一投票结果中,随着第一投票结果发送给主节点的同时一并发送给主节点。同时,主节点接收到目标节点发来的第一投票结果后,会将第一投票结果聚合起来形成第一投票结果集合,第一投票结果集合中包括多个第一投票结果,且每个第一投票结果中均包括交易执行结果的哈希值。
如图3所示,为本申请实施例提供的主节点判断目标交易是否达成共识的一实施例流程示意图,可以包括:
31、若第二共识轮次为检查点轮次,主节点判断第二共识轮次中生成的第一共识提案消息集合中的多个交易执行结果是否一致。
具体的,由于区块链中的每个节点均可以判断自身所处的当前共识轮次是不是检查点轮次,因此若是第二共识轮次为检查点轮次,则在第二共识轮次时,每个节点均生成了针对共识提案消息的第一投票结果,以及针对目标交易的交易执行结果。在第一共识轮次时,主节点会接收到第二共识轮次中生成的包括交易执行结果的第一投票结果集合,主节点可以根据包括交易执行结果的第一投票结果集合判断目标交易是否达成共识。
具体的,主节点先会判断接收到第一投票结果集合中的交易执行结果是否一致,即判断目标节点在第二共识轮次中生成的交易执行结果的哈希值是否一致。若是有第二预设数量的交易执行结果的哈希值一致,则主节点可以聚合出一个检查点(Checkpoint)信息,并将检查点信息聚合在第一投票结果集合中,即此时的第一投票结果集合中不仅包括检查点信息,也包括目标节点的交易执行结果的哈希值,以及多个第一投票结果。
在本申请的一些实施例中,第二预设数量可以为三分之二的节点,即若是主节点判断有至少三分之二的节点的目标交易执行结果的哈希值一致,则主节点可以认为其他所有节点的目标交易的执行结果一致。
需要说明的是,在上述实施例中,判断第一投票结果集合中的多个交易执行结果是否一致,实际上是依次判断第一投票结果集合中的多个交易执行结果的哈希值是否一致。若有至少三分之二的交易执行结果一致的,则可以认为其他所有节点之间达成了交易的一致性,即达成了共识。
在上述实施例中,第二预设数量也可以为除三分之二节点数量之外的其他数量,例如二分之一节点数量,或是五分之四节点数量。第二预设数量的具体值可以根据区块链的实际情况设定,此处不做限定。
32、若第二预设数量的节点的交易执行结果一致,则主节点生成检查点信息,并将检查点信息聚合在第一投票结果集合中。
当主节点检测到有第二预设数量的节点的交易执行结果一致,则主节点会生成检查点信息,该检查点信息可以表示上一个共识轮次即第二共识轮次中,除主节点之外的其他节点中的交易执行结果一致。
33、主节点判断自身根据目标交易生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果是否一致。
在上述实施例中,主节点在判断其他节点针对目标交易达成共识之后,还需要判断主节点自身与其他节点之间也达成了共识,才能认为整个区块链上的所有节点针对目标交易达成了共识。
因此,主节点还需要判断自身根据目标交易生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果是否一致。且由于第二共识轮次中生成的第一投票结果集合中的交易执行结果已经一致,因此主节点判断自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易的执行结果是否一致,实际上只需要判断主节点自身生成的交易执行结果与第二共识轮次中生成的第一投票结果集合中的任一个交易执行结果之间是否一致。
34、若主节点自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果一致,则确定区块链针对目标交易达成共识。
在本申请的实施例中,若是如果主节点判断自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果一致,则可以确定主节点与目标节点针对目标交易达成共识,而由于目标节点可以为多个节点中除主节点之外的其他任意节点,因此可以认为区块链中的多个节点之间针对目标交易达成一致,实现共识。即目标交易在区块链的所有节点上按照一致的顺序执行,且目标交易的执行结果也一致;达成了交易序列一致性以及状态一致性。
在上述实施例中,若是主节点自身生成的交易执行结果与第二共识轮次中生成的第一投票结果集合中的交易执行结果不一致,则可以确认主节点与目标节点之间没有达到共识。此时主节点等待此次共识超时。同时,在本申请的实施例中,可以重新切换主节点,得到新主节点,而新主节点可以针对目标交易重新开始达成共识。
在本申请的另一些实施例中,若是第二共识轮次不为检查点轮次,则主节点需要重新聚合目标节点在第一共识轮次生成的第一投票结果,生成第二投票结果集合。此时聚合得到的第二投票结果集合是在第一共识轮次中聚合得到的。同时,也可以重新切换的主节点,得到新主节点,而新主节点针对目标交易可以重新达成共识。
具体的,切换后的新的主节点对于共识的判断已经进入了下一个共识轮次,即第三共识轮次,而第三共识轮次为与第一共识轮次相邻的后序共识轮次。切换后的新的主节点可以在本地最新区块(即包括第一共识提案区块)的基础上重新构建第二共识提案区块,而此时的新主节点中包括上一任主节点(即第一共识轮次中的主节点)在第一共识轮次中生成的第二投票结果集合,由于区块链的特性使得第二提案区块中包括上一任主节点(即第一共识轮次中的主节点)在第一共识轮次中生成的第二投票结果集合。
在上述实施例中,第二提案区块还需要连同第一共识轮次中生成的第二投票结果集合,以及目标交易一起封装在共识提案消息中。而第三共识轮次中的主节点将此时包括第二投票结果集合的共识提案消息广播给目标节点,在第三共识轮次中重新开始共识。
需要说明的是,在本申请的实施例中,在一个共识轮次中仅有一个主节点,但区块链中的所有节点均可以作为主节点,因此可以在不同的共识轮次中切换主节点。而在本申请的一些实施例中,切换主节点的方法可以为:将区块链中的多个节点按照链式结构的顺序编号;以所述链式结构中位于第一个的节点为初始主节点;当需要切换主节点时,按照编号的顺序依次切换主节点。
本申请实施例还提供一种区块链的共识方法,其中区块链中包括多个节点,而多个节点之间互相连接。在区块链运行时,会设置有多个共识轮次对区块链上执行的交易进行共识,以保证交易在区块链中不同节点上执行序列的一致性以及执行结果的一致性。
而在多个共识轮次中包括有检查点轮次,在一个共识轮次中,区块链的多个节包括一个主节点和目标节点;目标节点同样为多个节点中除主节点之外的其他所有节点中的任意节点。而目标交易在区块链执行后会生成针对目标交易的共识提案消息以对目标交易实现共识。
如图4所示,为本申请实施例提供的区块链的共识方法另一实施例流程示意图,可以包括:
41、在多个共识轮次中的第一共识轮次内,目标节点接收来自主节点的第一共识提案区块。
在本申请的实施例中,每一个共识轮次中,目标节点将会接收来自主节点的第一共识提案区块;而第一共识提案区块中可以包括针对目标交易的共识提案消息,且目标节点可以为区块链的多个节点中除主节点之外的其他所有节点中的任意节点。
42、目标节点判断自身所处的第一共识轮次是否为检查点轮次。
其中,目标节点在接收到主节点发出的第一共识提案区块后,目标节点还需要判断自身是否处于特定的检查点轮次,即目标节点需要判断自身当前所处的第一共识轮次是否为特定的检查点轮次。
43、若第一共识轮次为检查点轮次,目标节点生成与目标交易对应的交易执行结果。
在本申请的实施例中,若目标节点自身处于特定的检查点轮次,则目标节点需要生成
44、目标节点将包括交易执行结果的第一投票结果发送至主节点。
本申请提供一种区块链的共识方法,通过设计检查点轮次,仅在检查点轮次获取所有节点的交易执行结果,无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
在本申请的实施例中,区块链中的每一个节点都可以判断自身所处的共识轮次是否为检查点轮次,而检查点轮次通常也是提前设定好的。例如可以将十个共识轮次作为一个循环,即每相邻且连续的十个共识轮次中的第十个共识轮次作为检查点轮次。当目标节点处于预设的检查点轮次时,需要等待节点生成针对目标交易的交易执行结果。
因此若是目标节点判断到自身所处的第一共识轮次不是预设的检查点轮次,那么目标节点可以直接投票给当前共识轮次中的主节点。即目标节点可以直接生成针对共识提案消息的第一投票结果,并反馈给第一共识轮次中的主节点。
在本申请的实施例中,第一共识提案区块中还可以包括目标节点在第二共识轮次中针对共识提案消息生成的第一投票结果集合,而第二共识轮次为多个共识轮次中在第一共识轮次之前的一个共识轮次。
而在目标节点判断自身所处的第一共识轮次是否为检查点轮次之前,该方法还可以包括:
目标节点判断共识提案消息中是否包括检查点信息;若共识提案消息中包括检查点信息,则目标节点根据检查点信息判断自身是否针对目标交易达成共识。
具体的,在本申请的实施例中,共识提案消息中包括有多个节点在第二共识轮次中生成的第一投票结果集合,而目标节点可以判断自身针对目标交易生成的交易执行结果,与共识提案消息中的第一投票结果集合中的交易执行结果是否相同,以此来判断目标节点是否针对目标交易达成共识。
在上述实施例中,若是目标节点接收到的共识提案消息中包括有检查点信息,则可以确定在上一轮共识轮次中,至少有第二预设数量的节点之间的交易执行结果实现了共识;即至少有第二预设数量的节点之间的交易执行结果实现了交易序列一致性和状态一致性。
由于第一投票结果集合中的至少第二预设数量的交易执行结果之间达成了交易结果的一致性,即多个交易执行结果是一致的;因此目标节点在判断自身是否达成交易的一致性时,只需要将自身生成的交易执行结果与第一投票结果集合中的任一个交易执行结果进行判断即可。且在本申请的实施例中,判断交易执行结果的一致性,实际上是判断交易执行结果的哈希值是否一致。
在上述实施例中,若是判断了目标节点的执行结果与第一投票结果集合中的交易执行结果达成了一致,即可以确定目标节点的本地执行区块链状态与第一共识提案区块之间达成了一致性。又由于第一共识提案区块中包括有位于第一共识提案区块前序的所有区块的哈希值,因此可以认为目标节点的本地执行状态链区块与全网达成了一致性。
而若是目标节点没有达成交易的一致性,则目标节点可以拒绝生成第一投票结果,并等待此次共识超时。最终切换主节点,得到新主节点,而重新生成的新主节点针对共识提案消息重新开始共识。
在本申请的另一些实施例中,若是目标接收到的第一共识提案区块中的第一投票结果集合,不包括检查点信息,则目标节点需要判断自身是否处于特定的检查点轮次。若是目标节点处于特定的检查点轮次,则目标节点需要等待本次共识轮次结束前最新生成的提案区块中的交易执行结果,并针对共识提案消息重新生成第一投票结果,将包括交易执行结果的第一投票结果发送给主节点。
在本申请的另一些实施例中,若是第一共识轮次不为检查点轮次,即目标节点当前所处的共识轮次不是检查点轮次,则目标节点可以直接生成第一投票结果,并发送给当前共识轮次中的主节点,此时的第一投票结果中不包括目标节点生成的交易执行结果。
如图5所示,为本申请实施例提供的区块链的共识方法一具体实施例流程图。如图5中所示,当交易执行结束,新的一轮共识轮次开始后,当前共识轮次中区块链的多个节点会分为主节点和目标节点,而目标节点可以为多个节点中除节点之外的其他所有节点中的任意节点。
而主节点在发送每轮共识的共识提案消息之前,会在本地最新的区块的基础上重新构建一个第一提案区块。由于区块链的特性,使得最新构建的第一提案区块中包括了位于第一提案区块之前的所有区块中的信息,因此在后续的共识过程中,仅需要验证第一共识提案区块中的信息即可。
在图5中,当第一共识提案区块构建完成后,而共识提案消息中会封装第一共识提案区块、上一轮共识轮次中产生的第一投票结果集合以及目标交易,并广播给目标节点。其中,区块链中的节点在每一次共识轮次中均会针对共识提案消息生成第一投票结果;且若是共识轮次为预设的检查点轮次,则第一投票结果中还会包括目标节点针对目标交易生成的交易执行结果。
而目标节点在接收到主节点提出的共识提案消息之后,首先会判断共识提案消息中的第一投票结果集合中,是否包括检查点信息(即checkpoint信息)。其中检查点信息是每个共识轮次中的主节点在对应的共识轮次中生成的,且只有上一个轮次为检查点轮次,当前轮次中的主节点才会生成检查点信息。
例如多个共识轮次中包括相邻的第一共识轮次和第二共识轮次,且第二共识轮次在第一共识轮次之前,只有第二共识轮次为预设的检查点轮次,第一共识轮次中的主节点才会在第一共识轮次中生成检查点信息。同时,若是节点处于检查点轮次,则区块链中的多个节点均会生成针对目标交易的交易执行结果。
若是目标节点判断出第一投票结果集合中包括检查点信息,则目标节点需要判断自身针对目标交易生成的本地目标交易执行结果与第一投票结果集合中的交易执行结果是否一致。
若是目标节点判断本地目标交易执行结果与第一投票结果集合中的交易执行结果一致,则可以确定目标节点的本地执行结果与全网执行结果一致,即目标节点针对目标交易达到了共识,即目标节点针对目标交易达成了交易序列一致性以及状态一致性。
而若是目标节点判断自身的本地执行结果与全网结果不一致,则目标节点等待此次共识超时。
在图5所示的实施例中,若是目标交易在区块链上执行时,区块链处于第一个共识轮次,此时不存在上一共识轮次的第一投票结果集合;则此时目标节点接收到主节点发出的共识提案消息后,会直接判断自身是否处于特定的检查点轮次,而不再判断第一投票结果集合中是否包括检查点信息。或者也可以说是由于不存在上一共识轮次中的第一投票结合,因此第一投票结果集合中不存在检查点信息。
若是第一投票结果集合中不包括检查点信息,或是目标节点已经达成了交易共识,则目标节点还要判断自身是否处于特定的检查点轮次。若是目标节点自身处于特定的检查点轮次,则目标节点需要等待截止到本次共识轮次为止,区块链中最新区块针对目标交易生成的交易执行结果。即可以为第一共识提案区块针对目标交易生成的交易执行结果。
而目标节点再投票给主节点,即目标节点将包括交易执行结果的第一结果投票信息发送给当前共识轮次中的主节点。而若是主节点判断自身并未处于特定的检查点轮次,则目标节点直接投票给主节点。
而当前共识轮次中的主节点在接收到第一预设数量的来着目标节点的第一投票信息后,主节点需要判断位于当前共识轮次的上一个共识轮次是否为预设的检查点轮次。若上一个共识轮次为检查点轮次,则主节点需要聚合出包括检查点信息的第一投票信息集合;若上一个共识轮次不是检查点轮次,则主节点聚合出不包括检查点信息的第一投票信息集合,并等待此次共识超时。
在图5中,当主节点聚合包括检查点信息的第一投票信息集合时,主节点实际上是判断是否有第二预设数量的交易执行结果一致,若有第二预设数量的交易执行结果一致,则主节点可以聚合出包括检查点信息的第一投票信息集合。
而在主节点聚合出包括检查点信息的第一投票信息集合后,主节点还需要判断自身针对目标交易生成的交易执行结果,与包括检查点信息的第一投票结果集合中的交易执行结果是否一致。若两者一致,则可以认为主节点针对目标交易达成了交易序列的一致性以及状态的一致性,即区块链中的所有节点针对目标交易达成了共识。此时可以重新开始新一轮共识。
在图5中,若是主节点判断本地的交易执行结果与包括检查点信息的第一投票结果集合中的交易执行结果不一致,则主节点等待此次共识超时。
在图5中,在等待此次共识超时后,区块链中会进入主节点切换流程,选举出新主节点,而新主节点重新开始针对目标交易达成共识。
本申请还提供一种区块链的共识装置,应用于区块链,而区块链中包括多个节点,多个节点之间互相连接;区块链在运行时设有多个共识轮次以对区块链上执行的交易进行共识,多个共识轮次中包括检查点轮次,在一个共识轮次内,多个节点中包括一个主节点和目标节点,目标节点为多个节点中除主节点之外的其他所有节点中的任意节点;目标交易在区块链中执行后会生成针对目标交易的共识提案消息。
为了更好实施本申请实施例中区块链的共识方法,在区块链的共识方法基础之上,本申请实施例中还提供一种区块链的共识装置,如图6所示,为本申请实施例提供的区块链的共识装置一实施例示意图,该区块链的共识装置可以包括:
第一接收模块601,第一接收模块601用于在多个共识轮次中的第一共识轮次中,接收多个节点在第二共识轮次针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次。
提案区块生成模块602,提案区块生成模块602用于在第一共识轮次中,针对共识提案消息生成第一共识提案区块,共识提案消息中包括第一共识提案区块、第二共识轮次中的第一投票结果集合以及目标交易。
第二接收模块603,第二接收模块603用于接收目标节点针对共识提案消息生成的第一投票结果。
第一判断模块604,第一判断模块604用于根据第一投票结果,判断第二共识轮次是否为检查点轮次;
第二判断模块605,第二判断模块605用于若第二共识轮次为检查点轮次,根据第一投票结果判断区块链针对目标交易是否达成共识。
本申请提供一种区块链的共识装置,通过设计检查点轮次,使得无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。且由于会新建区块,新建的区块中包括区块链中前序区块的执行结果以及状态,仅对新建的区块进行一致性校验,避免了内存资源以及计算资源的浪费。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
在本申请的另一些实施例中,第一判断模块604主要可以用于主节点判断自身是否接收到第一预设数量的第一投票结果;若是,则主节点确定第二共识轮次为检查点轮次。
在本申请的另一些实施例中,若第二共识轮次为检查点轮次,则在第二共识轮次内,目标节点生成与目标交易对应的交易执行结果,第二共识轮次中生成的第一投票结果集合中包括交易执行结果,第二共识轮次中生成的第一投票结果集合中的交易执行结果为多个。
而第二判断模块605主要可以用于若第二共识轮次为检查点轮次,主节点判断第二共识轮次中生成的第一投票结果集合中的多个交易执行结果是否一致;若第二预设数量的节点的交易执行结果一致,则主节点生成检查点信息,并将检查点信息聚合在第二共识轮次中生成的第一投票结果集合中;主节点判断自身根据目标交易生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果是否一致;若主节点自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果一致,则确定区块链针对目标交易达成共识。
为了更好实施本申请实施例中区块链的共识方法,在区块链的共识方法基础之上,本申请实施例中还提供一种区块链的共识装置,如图7所示,为本申请实施例提供的区块链的共识装置另一实施例示意图。该区块链的共识装置应用于区块链,区块链中包括多个节点,多个节点之间互相连接;区块链在运行时设有多个共识轮次以对区块链上执行的交易进行共识,多个共识轮次中包括检查点轮次,在一个共识轮次内,多个节点中包括一个主节点和目标节点,目标节点为多个节点中除主节点之外的其他所有节点中的任意节点;目标交易在区块链中执行后会生成针对目标交易的共识提案消息。
如图7中所示,该区块链的共识装置可以包括:
第三接收模块701,第三接收模块701用于在多个共识轮次中的第一共识轮次内,接收来自主节点的共识提案消息,共识提案消息中包括多个节点在第二共识轮次中针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次。
第三判断模块702,第三判断模块702用于判断自身所处的第一共识轮次是否为检查点轮次。
获取模块703,获取模块703用于若第一共识轮次为检查点轮次,获取与目标交易对应的交易执行结果,交易执行结果封装在目标节点在第一共识轮次中生成的第一投票结果中。
发送模块704,发送模块704用于将包括交易执行结果的第一投票结果发送至主节点。
本申请提供一种区块链的共识装置,通过设计检查点轮次,仅在检查点轮次获取所有节点的交易执行结果,无需在每一个共识轮次中都同步等待所有节点的交易执行结果,减少了交易执行对于共识的影响,提高了共识的稳定性。同时检查点轮次可灵活自定义,提升了共识算法的可拓展性。
本申请还提供一种服务器,其集成了本申请实施例所提供的任一种区块链的共识装置,如图8所示,其示出了本申请实施例所涉及到的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图8中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
服务器还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理系统与处理器801逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
在多个共识轮次中的第一共识轮次中,主节点接收多个节点在第二共识轮次针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;在第一共识轮次中,主节点针对共识提案消息生成第一共识提案区块,共识提案消息中包括第一共识提案区块、第二共识轮次中的第一投票结果集合以及目标交易;主节点接收目标节点针对共识提案消息生成的第一投票结果;主节点根据第一投票结果,判断第二共识轮次为检查点轮次;若第二共识轮次为检查点轮次,主节点根据第一投票结果判断区块链针对目标交易是否达成共识。
或是服务器中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,如下:
在多个共识轮次中的第一共识轮次内,目标节点接收来自主节点的共识提案消息,共识提案消息中包括多个节点在第二共识轮次中针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;目标节点判断自身所处的第一共识轮次是否为检查点轮次;若第一共识轮次为检查点轮次,目标节点获取与所目标交易对应的交易执行结果,交易执行结果封装在目标节点在第一共识轮次中生成的第一投票结果中;目标节点将包括交易执行结果的第一投票结果发送至主节点。
本申请还提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。存储介质存储有计算机程序,该计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种区块链的共识方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
在多个共识轮次中的第一共识轮次中,主节点接收多个节点在第二共识轮次针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;在第一共识轮次中,主节点针对共识提案消息生成第一共识提案区块,共识提案消息中包括第一共识提案区块、第二共识轮次中的第一投票结果集合以及目标交易;主节点接收目标节点针对共识提案消息生成的第一投票结果;主节点根据第一投票结果,判断第二共识轮次为检查点轮次;若第二共识轮次为检查点轮次,主节点根据第一投票结果判断区块链针对目标交易是否达成共识。
或是所述计算机程序被处理器进行加载可以执行如下步骤:
在多个共识轮次中的第一共识轮次内,目标节点接收来自主节点的共识提案消息,共识提案消息中包括多个节点在第二共识轮次中针对共识提案消息生成的第一投票结果集合,第二共识轮次为第一共识轮次之前的一个共识轮次;目标节点判断自身所处的第一共识轮次是否为检查点轮次;若第一共识轮次为检查点轮次,目标节点获取与所目标交易对应的交易执行结果,交易执行结果封装在目标节点在第一共识轮次中生成的第一投票结果中;目标节点将包括交易执行结果的第一投票结果发送至主节点。
需要说明的是,本申请实施例方法由于是在电子设备中执行,各电子设备的处理对象均以数据或信息的形式存在,例如时间,实质为时间信息,可以理解的是,后续实施例中若提及尺寸、数量、位置等,均为对应的数据存在,以便电子设备进行处理,具体此处不作赘述。
以上对本申请实施例所提供的一种区块链的共识方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种区块链的共识方法,其特征在于,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述方法包括:
在所述多个共识轮次中的第一共识轮次中,所述主节点接收所述多个节点在第二共识轮次针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
在所述第一共识轮次中,所述主节点针对所述共识提案消息生成第一共识提案区块,所述共识提案消息中包括所述第一共识提案区块、所述第二共识轮次中的第一投票结果集合以及所述目标交易;
所述主节点接收所述目标节点针对所述共识提案消息生成的第一投票结果;
所述主节点根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次;
若所述第二共识轮次为所述检查点轮次,所述主节点根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识。
2.根据权利要求1所述的区块链的共识方法,其特征在于,所述主节点根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次,包括:
所述主节点判断自身是否接收到第一预设数量的第一投票结果;
若是,则所述主节点确定所述第二共识轮次为所述检查点轮次。
3.根据权利要求1所述的区块链的共识方法,其特征在于,若所述第二共识轮次为所述检查点轮次,则在所述第二共识轮次内,所述目标节点生成与所述目标交易对应的交易执行结果,所述第二共识轮次中生成的第一投票结果集合中包括所述交易执行结果,第二共识轮次中生成的第一投票结果集合中的交易执行结果为多个;
所述若所述第二共识轮次为所述检查点轮次,所述主节点根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识,包括:
若所述第二共识轮次为所述检查点轮次,所述主节点判断所述第二共识轮次中生成的第一投票结果集合中的多个交易执行结果是否一致;
若第二预设数量的节点的交易执行结果一致,则所述主节点生成检查点信息,并将所述检查点信息聚合在所述第二共识轮次中生成的所述第一投票结果集合中;
所述主节点判断自身根据所述目标交易生成的交易执行结果,与所述第二共识轮次中生成的第一投票结果集合中的交易执行结果是否一致;
若所述主节点自身生成的交易执行结果,与第二共识轮次中生成的第一投票结果集合中的交易执行结果一致,则确定所述区块链针对所述目标交易达成共识。
4.根据权利要求3所述的区块链的共识方法,其特征在于,所述方法还包括:
若所述主节点自身的交易执行结果与所述第二共识轮次中生成的第一投票结果集合中的交易执行结果不一致,则所述主节点等待此次共识超时;
切换所述主节点,得到新主节点,所述新主节点针对所述目标交易重新达成共识。
5.根据权利要求1所述的区块链的共识方法,其特征在于,所述方法还包括:
若所述第二共识轮次不为所述检查点轮次,则所述主节点重新聚合所述其他节点在所述第一共识轮次生成的所述第一投票结果,生成第二投票结果集合;
切换所述主节点,得到新主节点,所述新主节点针对所述目标交易重新达成共识。
6.根据权利要求5所述的区块链的共识方法,其特征在于,所述方法还包括:
所述新主节点在所述第一提案区块的基础上构建第二提案区块,所述第二提案区块包括所述第二投票结果集合、所述共识提案消息以及所述目标交易。
7.一种区块链的共识方法,其特征在于,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述方法包括:
在所述多个共识轮次中的第一共识轮次内,所述目标节点接收来自所述主节点的共识提案消息,所述共识提案消息中包括所述多个节点在第二共识轮次中针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
所述目标节点判断自身所处的第一共识轮次是否为所述检查点轮次;
若所述第一共识轮次为所述检查点轮次,所述目标节点获取与所述目标交易对应的交易执行结果,所述交易执行结果封装在所述目标节点在所述第一共识轮次中生成的所述第一投票结果中;
所述目标节点将包括所述交易执行结果的所述第一投票结果发送至所述主节点。
8.根据权利要求7所述的区块链的共识方法,其特征在于,在所述目标节点判断自身所处的第一共识轮次是否为所述检查点轮次之前,所述方法还包括:
所述目标节点判断所述共识提案消息中是否包括检查点信息;
若包括所述检查点信息,则所述目标节点根据所述检查点信息判断自身是否针对所述目标交易达成共识。
9.根据权利要求8所述的区块链的共识方法,其特征在于,所述方法还包括:
若所述第一共识轮次不为所述检查点轮次,所述目标节点针对所述共识提案消息生成第一投票结果,并发送至所述主节点;
其中,所述第一投票结果不包括所述目标节点获取的针对所述目标交易的交易执行结果。
10.一种区块链的共识装置,其特征在于,应用于区块链,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述装置包括:
第一接收模块,所述第一接收模块用于在所述多个共识轮次中的第一共识轮次中,接收所述多个节点在第二共识轮次针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
提案区块生成模块,所述提案区块生成模块用于在所述第一共识轮次中,针对所述共识提案消息生成第一共识提案区块,所述共识提案消息中包括所述第一共识提案区块、所述第二共识轮次中的第一投票结果集合以及所述目标交易;
第二接收模块,所述第二接收模块用于接收所述目标节点针对所述共识提案消息生成的第一投票结果;
第一判断模块,所述第一判断模块用于根据所述第一投票结果,判断所述第二共识轮次为所述检查点轮次;
第二判断模块,所述第二判断模块用于若所述第二共识轮次为所述检查点轮次,根据所述第一投票结果判断所述区块链针对所述目标交易是否达成共识。
11.一种区块链的共识装置,其特征在于,应用于区块链,所述区块链中包括多个节点,所述多个节点之间互相连接;所述区块链在运行时设有多个共识轮次以对所述区块链上执行的交易进行共识,所述多个共识轮次中包括检查点轮次,在一个所述共识轮次内,所述多个节点中包括一个主节点和目标节点,所述目标节点为所述多个节点中除所述主节点之外的其他所有节点中的任意节点;目标交易在所述区块链中执行后会生成针对所述目标交易的共识提案消息;
所述装置包括:
第三接收模块,所述第三接收模块用于在所述多个共识轮次中的第一共识轮次内,接收来自所述主节点的共识提案消息,所述共识提案消息中包括所述多个节点在第二共识轮次中针对所述共识提案消息生成的第一投票结果集合,所述第二共识轮次为所述第一共识轮次之前的一个共识轮次;
第三判断模块,所述第三判断模块用于判断自身所处的第一共识轮次是否为所述检查点轮次;
获取模块,所述获取模块用于若所述第一共识轮次为所述检查点轮次,获取与所述目标交易对应的交易执行结果,所述交易执行结果封装在所述目标节点在所述第一共识轮次中生成的所述第一投票结果中;
发送模块,所述发送模块用于将包括所述交易执行结果的所述第一投票结果发送至所述主节点。
12.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现如权利要求1至6任一项所述的区块链的共识方法,或实现如权利要求7-9任一项所述的区块链的共识方法。
13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行如权利要求1至6任一项所述的区块链的共识方法中的步骤,或实现如权利要求7-9任一项所述的区块链的共识方法中的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011548287.3A CN112669149B (zh) | 2020-12-24 | 2020-12-24 | 一种区块链的共识方法、装置、服务器及存储介质 |
PCT/CN2021/071152 WO2022134233A1 (zh) | 2020-12-24 | 2021-01-12 | 一种区块链的共识方法、装置、服务器及存储介质 |
US18/340,102 US20230334930A1 (en) | 2020-12-24 | 2023-06-23 | Consensus method and apparatus for blockchain, server and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011548287.3A CN112669149B (zh) | 2020-12-24 | 2020-12-24 | 一种区块链的共识方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112669149A true CN112669149A (zh) | 2021-04-16 |
CN112669149B CN112669149B (zh) | 2024-06-04 |
Family
ID=75409950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011548287.3A Active CN112669149B (zh) | 2020-12-24 | 2020-12-24 | 一种区块链的共识方法、装置、服务器及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230334930A1 (zh) |
CN (1) | CN112669149B (zh) |
WO (1) | WO2022134233A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452747A (zh) * | 2021-05-13 | 2021-09-28 | 西安电子科技大学 | 可扩展和安全的共识方法、系统、存储介质、智能终端 |
CN114422155A (zh) * | 2022-03-30 | 2022-04-29 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
CN114900529A (zh) * | 2022-06-09 | 2022-08-12 | 上海万向区块链股份公司 | 区块敲定方法及系统 |
CN115186035A (zh) * | 2022-09-13 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种区块处理方法、相关系统及存储介质和服务器 |
CN115618426A (zh) * | 2022-11-17 | 2023-01-17 | 山东区块链研究院 | 基于检查点的区块链数据防篡改方法及系统 |
WO2023098042A1 (zh) * | 2021-12-01 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 基于区块链的交易共识方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115760388B (zh) * | 2022-11-07 | 2023-11-21 | 深圳市腾盟技术有限公司 | 基于区块链的共识方法、装置、设备及存储介质 |
CN116723200B (zh) * | 2023-08-11 | 2023-11-10 | 武汉趣链数字科技有限公司 | 集群变更方法、装置、电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150799A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
CN109118230A (zh) * | 2018-08-29 | 2019-01-01 | 众安信息技术服务有限公司 | 基于区块链的信息处理方法和装置 |
CN109242685A (zh) * | 2018-08-29 | 2019-01-18 | 众安信息技术服务有限公司 | 基于区块链的共识和验证方法及装置 |
CN110727644A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 一种区块链数据裁剪的方法、系统及存储介质 |
US20200073758A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
US20200364205A1 (en) * | 2019-05-17 | 2020-11-19 | International Business Machines Corporation | Database world state integrity validation |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020072659A1 (en) * | 2018-10-02 | 2020-04-09 | Mutualink, Inc. | Consensus-based voting for network member identification employing blockchain-based identity signature mechanisms |
CN109559120B (zh) * | 2018-12-03 | 2021-11-19 | 国网电子商务有限公司 | 基于权重的区块链共识方法、系统、存储介质及电子设备 |
CN111427957B (zh) * | 2020-03-26 | 2021-05-11 | 财付通支付科技有限公司 | 区块链投票信息校验方法、装置、设备以及存储介质 |
-
2020
- 2020-12-24 CN CN202011548287.3A patent/CN112669149B/zh active Active
-
2021
- 2021-01-12 WO PCT/CN2021/071152 patent/WO2022134233A1/zh active Application Filing
-
2023
- 2023-06-23 US US18/340,102 patent/US20230334930A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180150799A1 (en) * | 2016-11-30 | 2018-05-31 | International Business Machines Corporation | Blockchain checkpoints and certified checkpoints |
CN109118230A (zh) * | 2018-08-29 | 2019-01-01 | 众安信息技术服务有限公司 | 基于区块链的信息处理方法和装置 |
CN109242685A (zh) * | 2018-08-29 | 2019-01-18 | 众安信息技术服务有限公司 | 基于区块链的共识和验证方法及装置 |
US20200073758A1 (en) * | 2018-08-29 | 2020-03-05 | International Business Machines Corporation | Checkpointing for increasing efficiency of a blockchain |
US20200364205A1 (en) * | 2019-05-17 | 2020-11-19 | International Business Machines Corporation | Database world state integrity validation |
CN110727644A (zh) * | 2019-09-29 | 2020-01-24 | 南京金宁汇科技有限公司 | 一种区块链数据裁剪的方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
UZAIR JAVAID ET AL.: "A Checkpoint Enabled Scalable Blockchain Architecture for Industrial Internet of Things", 《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》, vol. 17, no. 11, pages 7679, XP011868488, DOI: 10.1109/TII.2020.3032607 * |
张健毅;王志强;徐治理;欧阳雅菲;杨涛;: "基于区块链的可监管数字货币模型", 计算机研究与发展, no. 10, pages 127 - 140 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113452747A (zh) * | 2021-05-13 | 2021-09-28 | 西安电子科技大学 | 可扩展和安全的共识方法、系统、存储介质、智能终端 |
WO2023098042A1 (zh) * | 2021-12-01 | 2023-06-08 | 深圳前海微众银行股份有限公司 | 基于区块链的交易共识方法、装置、设备及存储介质 |
CN114422155A (zh) * | 2022-03-30 | 2022-04-29 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
WO2023184881A1 (zh) * | 2022-03-30 | 2023-10-05 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
CN114900529A (zh) * | 2022-06-09 | 2022-08-12 | 上海万向区块链股份公司 | 区块敲定方法及系统 |
CN115186035A (zh) * | 2022-09-13 | 2022-10-14 | 腾讯科技(深圳)有限公司 | 一种区块处理方法、相关系统及存储介质和服务器 |
CN115186035B (zh) * | 2022-09-13 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 一种区块处理方法、相关系统及存储介质和服务器 |
CN115618426A (zh) * | 2022-11-17 | 2023-01-17 | 山东区块链研究院 | 基于检查点的区块链数据防篡改方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20230334930A1 (en) | 2023-10-19 |
WO2022134233A1 (zh) | 2022-06-30 |
CN112669149B (zh) | 2024-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112669149A (zh) | 一种区块链的共识方法、装置、服务器及存储介质 | |
WO2020024405A1 (zh) | 基于分布式协调的测试方法、装置、服务器及存储介质 | |
WO2019153488A1 (zh) | 服务配置管理方法、装置、存储介质和服务器 | |
KR20190015599A (ko) | 과거 이력 데이터에 기초하는 네트워크 노드 가용성 예측 | |
CN110896404A (zh) | 数据处理的方法、装置和计算节点 | |
CN113765714B (zh) | 设备配网方法、装置、存储介质及电子设备 | |
CN112306567B (zh) | 集群管理系统和容器管控方法 | |
CN110750315B (zh) | Android系统中的类加载方法、装置、设备和存储介质 | |
WO2024077881A1 (zh) | 神经网络训练的调度方法、系统及计算机可读存储介质 | |
CN115242877B (zh) | 面向多K8s集群的Spark协同计算、作业方法及装置 | |
CN112231108A (zh) | 任务处理方法、装置、计算机可读存储介质及服务器 | |
CN113596859A (zh) | 节点组网方法、装置、电子设备及存储介质 | |
CN111711669A (zh) | 一种数据上传方法、装置、服务器及存储介质 | |
CN113157411A (zh) | 一种基于Celery的可靠可配置任务系统及装置 | |
CN105824660A (zh) | 一种应用程序的更新方法及终端 | |
CN116820527B (zh) | 程序升级方法、装置、计算机设备和存储介质 | |
CN106625674A (zh) | 一种用于机器人的指令处理方法及机器人 | |
CN114338763A (zh) | 微服务调用方法、装置、服务器与计算机可读存储介质 | |
CN113448595B (zh) | 应用部署方法、装置、服务器及存储介质 | |
TW202127250A (zh) | 運算資源配置和管理方法及代理伺服器 | |
CN113407384B (zh) | peer节点指令传输的方法、装置、代理服务器及存储介质 | |
CN116760930B (zh) | 通话处理方法、装置、存储介质及电子设备 | |
CN113835892B (zh) | 统一存储设备及其业务管理方法、模块和可读存储介质 | |
CN108446131B (zh) | 一种atm机固件升级方法、装置、设备及存储介质 | |
CN116699963A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |