CN110674217B - 区块链数据处理方法、装置、设备和介质 - Google Patents
区块链数据处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN110674217B CN110674217B CN201910901490.5A CN201910901490A CN110674217B CN 110674217 B CN110674217 B CN 110674217B CN 201910901490 A CN201910901490 A CN 201910901490A CN 110674217 B CN110674217 B CN 110674217B
- Authority
- CN
- China
- Prior art keywords
- current block
- consensus mechanism
- check
- node
- block
- 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
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种区块链数据处理方法、装置、设备和介质,涉及区块链技术领域。具体由区块链系统中当前区块生成节点执行时的方案为:在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。本申请的技术方案,通过双共识机制中的第一共识机制和第二共识机制并发进行区块的出块和校验过程,极大的降低了出块确认的延迟时间,提高了区块链数据处理的效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及区块链技术,尤其涉及一种区块链数据处理方法、装置、设备和介质。
背景技术
区块链系统作为去中心化的网络节点系统,需要通过共识机制来实现运行的一致性。现有的区块链系统通常是基于热插拔共识框架实现的。其中,热插拔共识框架可以是自定义的共识机制,也可以是常见的工作量证明机制(Proof of Work,POW)、权益证明机制(Proof of Stake,POS)、授权权益证明机制(Delegated proof of stake,DPOS)、贡献量证明机制(Proof of Effort,POE)或拜占庭容错机制(Byzantine Fault Tolerance,BFT)等。
目前,区块生成节点在生成当前区块后,需要发送给其他节点进行出块确认(即由其他节点对生成的当前区块进行校验),其他节点在基于某一种共识机制对生成的当前区块进行出块确认的过程耗时较长,从而导致出块确认过程存在一定的延迟,影响区块链数据处理效率。
发明内容
本申请实施例提供一种区块链数据处理方法、装置、设备和介质,通过双共识机制中的第一共识机制和第二共识机制并发进行区块的出块和校验过程,极大的降低了出块确认的延迟时间,提高了区块链数据处理的效率。
第一方面,本申请实施例公开了一种区块链数据处理方法,由区块链系统中当前区块生成节点执行,该方法包括:
在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;
在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
上述申请中的一个实施例具有如下优点或有益效果:为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可采用第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
可选的,控制校验节点采用第二共识机制对当前区块进行校验,包括:
通过本地中第二共识机制生成当前区块校验提案;
通过本地中第二共识机制,向校验节点中第二共识机制发送当前区块校验提案,用于指示校验节点采用第二共识机制对当前区块进行校验。
可选的,所述当前区块校验提案包括当前提案标识ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
上述可选方式具有如下优点或有益效果:当前区块生成节点在基于本地第二共识机制针对当前待校验的区块,生成当前区块校验提案发送给校验节点的第二共识机制,以使其对当前区块进行校验。由于本实施例生成的当前区块校验提案中包含当前提案ID、当前区块信息、上一区块的校验投票签名信息和当前状态集视图高度多个维度的信息,所以本实施例通过校验多个维度的信息,提高对当前区块校验过程的安全性和准确性。
可选的,控制校验节点采用第二共识机制对当前区块进行校验之后,还包括:
通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息;
通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。
上述可选方式具有如下优点或有益效果:当前区块生成节点会通过第二共识机制接收校验节点基于其本地第二共识机制反馈的校验投票签名信息,并采用本地第一共识机制将其写入下一区块中。本实施例将校验节点的校验投票签名信息写入下一区块中,保证了校验投票签名信息的可追溯性,且该校验投票签名信息还可用于下一区块的校验,提高校验过程的准确性。此外本实施例中第二共识机制接收到的校验投票签名信息可以通过第一共识机制写入到下一区块中,说明了本实施例中对当前区块校验过程的耗时与产生一个新区块的耗时相当,进而也体现了本实施例出块确认延迟短的优势。
可选的,控制校验节点采用第二共识机制对当前区块进行校验之前,还包括:
通过本地中第一共识机制,向本地中第二共识机制的节点集接口发送当前区块生成节点信息和校验节点信息。
上述可选方式具有如下优点或有益效果:本实施例中的当前区块生成节点信息和校验节点是采用第一共识机制生成的,第二共识机制是通过节点采集接口从第一共识机制获取的。第一共识机制和第二共识机制相互配合,并发执行不同的区块链的事务,提高了区块链数据处理效率。
可选的,所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
可选的,所述第一共识机制为权益证明机制时,所述校验节点为备选区块生成节点。
上述可选方式具有如下优点或有益效果:本实施例中第一共识机制和第二共识机制采用不同的证明因素,使得区块链系统可在两种不同的共识机制间进行切换,提高了共识机制的共识效率,且本实施例第二共识机制采用拜占庭容错机制,能够避免恶意节点攻击,提高区块链系统的安全性。
第二方面,本申请实施例还提供了一种区块链数据处理方法,由区块链系统中校验节点执行;所述方法包括:
通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令,其中所述校验指令在当前区块生成节点生成当前区块时生成;
采用本地中第二共识机制对所述当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
上述申请中的一个实施例具有如下优点或有益效果:为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使校验节点接收到当前区块生成节点的第二共识机制发送的校验指令后,采用本地第二共识机制对当前区块进行校验。本实施例可专门基于本地双共识机制中的第二共识机制进行区块的校验,降低了校验过程的耗时,且区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
可选的,所述校验指令包括当前区块生成节点本地中第二共识机制生成的当前区块校验提案;所述当前区块校验提案包括当前提案ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
上述可选方式具有如下优点或有益效果:校验节点的第二共识机制接收到的校验指令包含当前区块校验提案,该提案中又包含当前提案ID、当前区块信息、上一区块的校验投票签名信息和当前状态集视图高度多个维度的信息,本实施例校验模块通过校验多个维度的信息,提高对当前区块校验过程的安全性和准确性。
可选的,采用本地中第二共识机制对所述当前区块进行校验,包括:
通过本地中第二共识机制,向本地中第一共识机制发送所述当前提案ID和所述当前区块信息,用于指示本地采用第一共识机制对所述当前提案ID和所述当前区块信息进行校验;
采用本地中第二共识机制对所述上一区块的校验投票信息和所述当前状态机视图高度进行校验。
上述可选方式具有如下优点或有益效果:本实施例校验节点在对当前区块进行校验时,由本地第一共识机制校验当前提案ID和当前区块信息;由本地第二共识机制校验上一区块的校验投票信息和所述当前状态机视图高度。两共识机制并发对当前区块校验提案中的信息进行校验,进一步的提高了当前生成区块的校验效率。
可选的,采用本地中第二共识机制对所述当前区块进行校验之后,还包括:
若本地对所述当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,用于通过当前区块生成节点中第一共识机制,将对当前区块的校验投票签名信息写入下一区块中。
上述可选方式具有如下优点或有益效果:在校验节点对当前区块校验通过后,基于本地第二共识机制向当前区块生成节点的第二共识机制反馈对当前区块的校验投票签名信息,以使当前区块生成节点采用其本地第一共识机制将校验投票签名信息写入下一区块中。本实施例将校验节点的校验投票签名信息写入下一区块中,保证了校验投票签名信息的可追溯性,且该校验投票签名还可用于下一区块的校验,提高校验过程的准确性。此外本实施例中第二共识机制接收到的校验投票签名信息可以通过第一共识机制写入到下一区块中,说明了本实施例中对当前区块校验过程的耗时与产生一个新区块的耗时相当,进而也体现了本实施例出块确认延迟短的优势。
第三方面,本申请实施例还提供了一种区块链数据处理装置,配置于区块链系统中的当前区块生成节点,所述装置包括:
信号发送模块,用于在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;
校验控制模块,用于在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
上述申请中的一个实施例具有如下优点或有益效果:为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可基于第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
第四方面,本申请实施例还提供了一种区块链数据处理装置,配置于区块链系统中的校验节点,所述装置包括:
校验指令接收模块,用于通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令,其中所述校验指令在当前区块生成节点生成当前区块时生成;
区块校验模块,用于采用本地中第二共识机制对所述当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
上述申请中的一个实施例具有如下优点或有益效果:为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使校验节点接收到当前区块生成节点的第二共识机制发送的校验指令后,采用本地第二共识机制对当前区块进行校验。本实施例可专门基于本地双共识机制中的第二共识机制进行区块的校验,降低了校验过程的耗时,且区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
第五方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请任一实施例所述的区块链数据处理方法。
第六方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请任一实施例所述的区块链数据处理方法。
上述申请中的一个实施例具有如下优点或有益效果:为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可基于第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例提供的一种区块链数据处理方法的流程图;
图2是根据本申请第二实施例提供的一种区块链数据处理方法的流程图;
图3是根据本申请第三实施例提供的一种区块链数据处理方法的流程图;
图4是根据本申请第四实施例提供的一种区块链数据处理方法的流程图;
图5是根据本申请第五实施例提供的一种区块链数据处理方法的信令图;
图6是根据本申请第六实施例提供的一种区块链数据处理装置的结构框图;
图7是根据本申请第七实施例提供的一种区块链数据处理装置的结构框图;
图8是用来实现本申请实施例的第八实施例提供的区块链数据处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为了清楚地介绍本申请各实施例的技术方案,在介绍各实施例之前,先对本实施例的区块链系统的共识机制的框架进行介绍。
其中,共识机制是区块链系统的重要组成部分,其目标是使区块链系统中所有的节点保存一致的区块链视图,同时满足一致性,即所有节点保存的区块链的前缀部分完全相同;以及有效性,即由某节点发布的信息终将被其他所有节点记录在自己的区块链中。基于共识机制可以确定具有区块生成权的节点、生成区块以及对生成的区块进行校验等。本申请实施例中的区块链系统的共识机制是由第一共识机制和第二共识机制组合而成。可选的,第一共识机制可以是外层的共识机制,第二共识机制可以是内层的共识机制。
可选的,本申请实施例的第一共识机制和第二共识机制可以是常见的共识机制,如POW机制、POS机制、DPOS机制、POE机制或BFT机制等。在本实施例中采用第一共识机制可以确定区块链系统中的当前区块生成节点和对生成的当前区块进行校验的校验节点、还可以用于生成当前区块等。采用第二共识机制可以对当前区块生成节点生成的当前区块进行校验。需要说明的是,采用本申请实施例的第一共识机制和/或第二共识机制还可以执行其他区块链数据处理操作,对此本实施例不进行限定。
具体的,本实施例中采用第一共识机制确定校验节点和当前区块生成节点的方法本实施例不进行限定,具体的执行方法取决于第一共识机制的具体实现逻辑。示例性的,以权益证明机制为例进行说明。采用权益证明机制确定区块链系统的校验节点时,可以是区块链系统中的各节点都有一张选票,在权益证明共识机制下,各节点依据其他节点硬件能力、稳定性和经济实力等综合考虑进行投票写入区块并发送给其他节点后,汇总选出多个备选区块生成节点作为校验节点。在确定当前区块生成节点时,可以每隔预设时长按照预设规则(如表决、轮换等)从备选区块生成节点中选出当前区块生成节点。
可选的,由于本申请实施例的第一共识机制和第二共识机制之间设置有用于交互信息的接口,可以针对不同的待交互信息设置不同的接口,交互接口的具体功能和数量可根据实际需求进行设置。例如,可以为传输触发进行当前区块校验的触发信号设置触发接口;为传输节点信息设置节点集接口;为传输待分析处理的信息设置数据解析接口等。
第一实施例
图1是根据本申请第一实施例提供的一种基于区块链数据处理方法的流程图,本实施例适用于基于双共识机制处理区块链数据的情况,尤其适用于基于双共识机制生成当前区块的过程。该方法可以由区块链系统中当前区块生成节点执行。具体的可以由配置在当前区块生成节点的区块链数据处理装置来执行,该装置可以采用软件和/或硬件的方式实现。如图1所示,本实施例提供的区块链数据处理方法可以包括:
S101,在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号。
其中,当前区块验证触发信号可以是当前区块生成节点在生成当前区块的过程中,需要对生成的当前区块进行校验时生成的请求对当前生成的区块进行校验的触发信号。触发接口可以是第二共识机制和第一共识机制进行交互的接口,该交互接口可用于从第一共识机制向第二共识机制发送当前区块验证触发信号。
可选的,本申请实施例中的第一共识机制和第二共识机制的证明因素可以相同也可以不同。当两共识机制的证明因素不同时,可以使得区块链系统具备两种不同的共识机制,且可以根据需求在两种不同共识机制间进行切换,提高了共识机制的共识效率。优选的,本实施例可以是将第一共识机制设置为POS机制、DPOS机制或POE机制等,此时可以采用第一共识机制基于区块链系统包含的节点的经济实力、硬件能力及稳定性等证明因素,从区块链系统包含的节点中选择多个具有竞争区块生成权的备选区块生成节点作为校验节点,进而基于该共识机制的实现逻辑从备选区块生成节点中确定当前区块生成节点。将第二共识机制置为链式拜占庭容错机制,该机制的具体实现算法为Hotstuff算法。此时,可以采用第二共识机制基于当前区块生成节点的工作状态、生成区块所用时间以及出错或作假概率等证明因素对当前区块生成节点生成的当前区块进行出块确认。其中,BFT共识机制可以是PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)机制、SBFT(Simplified Byzantine Fault Tolerance,简化拜占庭容错)机制或DBFT(DelegatedByzantine Fault Tolerance,授权拜占庭容错)机制等。本实施例采用BFT共识机制进行当前区块校验,能够避免攻击,提高了对生成区块校验过程的安全性。
可选的,在区块链系统中,当前区块生成节点在生成当前区块的过程中,需要将生成的当前区块节点发送至区块链中的其他节点对其进行出块确认,如果校验成功,则说明该当前区块才有效,可进行上链存储。由于本申请实施例中的区块链系统的共识机制包括第一共识机制和第二共识机制,此时,当前区块生成节点可以采用本地第一共识机制生成当前区块,在生成了当前区块需要对其进行校验时,采用本地第一共识机制触发生成对该当前区块进行校验的触发信号,由于本实施例对生成的当前区块进行校验的过程是采用第二共识机制进行的,所以当前区块生成节点可以通过本地第一共识机制和本地第二共识机制之间进行信息交互的触发接口,将生成的触发信号从第一共识机制传输至第二共识机制,以使当前区块生成节点后续基于本地第二共识机制响应该当前区块验证触发信号。
S102,在本地中第二共识机制接收当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验。
其中,校验节点可以是区块链系统中执行对生成的当前区块进行出块确认的节点。所述校验节点和当前区块生成节点都可以是采用第一共识机制确定。可选的,当第一共识机制为权益证明机制时,所述校验节点可以为备选区块生成节点。当前区块生成节点可以从校验节点中确定。例如,可以是通过投票表决确定、还可以是轮流作为当前区块生成节点,对此本实施例不进行限定。
可选的,当前区块生成节点本地中的第二共识机制接收到从第一共识机制发送的当前区块验证触发信号后,当前区块生成节点就可以采用第二共识机制来对当前生成的区块进行校验。具体的,由于本实施例中对当前区块的具体校验过程是由校验节点执行的,且是采用第二共识机制执行的,所以当前区块生成节点可以采用本地第二共识机制生成该当前区块的校验指令,并将生成的该校验指令发送至验证校验节点的第二共识机制,从而通过该校验指令控制校验节点采用其本地第二共识机制执行对当前区块的校验。若校验节点本地采用第二共识机制对所述当前区块校验通过,则会采用其本地第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,当前区块生成节点采用本地第二共识机制根据接收到的校验节点反馈的校验投票签名信息,确定当前区块校验是否成功,示例性的,以第二共识机制为链式拜占庭容错机制为例,可以是在接收到的校验投票签名信息的数量占校验节点总数量的比例大于预设比例时,说明当前区块校验成功,可执行后续上链操作。可选的,若区块上链操作是采用第一共识机制进行的,则可以将当前区块校验成功的消息传输给当前区块生成节点的第一共识机制,以使当前区块生成节点采用本地第一共识机制执行后续上链操作。需要说明的是,本申请实施例中,校验节点采用本地第二共识机制对当前区块进行校验的具体过程将在后续实施例进行详细介绍,在此不进行赘述。
可选的,当前区块生成节点采用本地第二共识机制生成该当前区块的校验指令可以是包括当前区块的区块信息、当前区块生成节点的信息或校验时间等中的至少一种;还可以是当前区块生成节点专门为本次校验生成的校验提案。对此本实施例不进行限定。
可选的,由于本申请实施例中的当前区块生成节点和校验节点是通过第一共识机制确定的,对于第二共识机制来说其不知道当前区块生成节点和校验节点的信息,所以本实施例在控制校验节点采用第二共识机制对当前区块进行校验前,需要先通过本地中第一共识机制,向本地中第二共识机制的节点集接口发送当前区块生成节点信息和校验节点信息。具体的,节点集接口可以是第二共识机制和第一共识机制进行交互的另一个接口,该节点集接口用于从第一共识机制向第二共识机制发送当前区块生成节点信息和校验节点信息。当前区块生成节点可以通过本地第一共识机制和第二共识机制之间进行信息交互的节点集接口,将当前区块生成节点信息和校验节点信息从第一共识机制传输至第二共识机制,以使第二共识机制基于接收到的校验节点信息,执行控制校验节点采用第二共识机制对当前区块进行校验的操作。
本申请实施例的技术方案,通过为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可采用第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
进一步的,本实施例可以在控制校验节点采用第二共识机制对当前区块进行校验之后,还包括:通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息;通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。其中,校验节点在对当前区块进行校验时,如果校验成功,会采用其本地第二共识机制向当前区块生成节点的第二共识机制反馈校验节点本地对当前区块的校验投票签名信息,当前区块生成节点的采用第二共识机制基于该校验投票签名信息确定当前校验是否成功后,还可以将接收到的校验投票签名信息写入下一区块中,这样既保证了校验投票签名的可追溯性,且该校验投票签名还可用于下一区块的校验,提高校验过程的准确性。具体的,由于本实施例生成区块的操作是采用第一共识机制完成的,而接收校验投票签名信息的是第二共识机制,所以此时当前区块生成节点可以通过第一共识机制与第二共识机之间的专门用于传输校验投票签名信息的接口(如数据解析接口),通过第二共识机制向第一共识机制的数据解析接口发送当前区块的校验投票签名信息,以使当前区块生成节点在采用第一共识机制生成下一区块时,将当前区块的校验投票签名信息写入下一区块中。需要说明的是,本实施例当前区块生成节点的第二共识机制接收到的校验投票签名信息可以通过第一共识机制写入到下一区块中,说明了本实施例中对当前区块校验过程的耗时与产生一个新区块的耗时相当,在此也体现出本实施例出块确认延迟短的优势。
第二实施例
图2是根据本申请第二实施例提供的一种区块链数据处理方法的流程图,本实施例在上述实施例的基础上,进行了进一步的优化,具体给出了如何控制校验节点采用第二共识机制对当前区块进行校验的详细情况介绍,以及控制校验节点采用第二共识机制对当前区块进行校验前后的新增步骤介绍。具体的,如图2所示,本实施例提供的区块链数据处理方法可以包括:
S201,在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号。
S202,在本地中第二共识机制接收当前区块验证触发信号时,通过本地中第二共识机制生成当前区块校验提案。
其中,当前区块校验提案可以是针对生成的当前区块的具体校验内容提出的建议。该当前区块校验提案包括当前提案标识ID(Proposal Id)、当前提案信息(ProposalMsg)和当前状态机视图高度(View Number);所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。其中,当前提案ID可以是当前提案的编号,例如,可以是按照提案生成的时间先后顺序,依次为各提案设置递增的编号(如1、2、3……)作为提案的ID。当前提案信息可以是当前生成的区块信息(如可以是区块内记录的事务数据和其他信息)以及当前区块中记录的上一区块的校验投票签名信息。当前状态机视图高度可以是基于第二共识机制(BFT机制)校验当前区块时对应的状态机的视图序号。
可选的,本实施例中当前区块生成节点的第二共识机制接收到第一共识机制通过触发接口发送的当前区块验证触发信号后,先针对本次待校验的当前区块,确定当前提案的标识ID,以及当前状态机视图高度;从当前区块中获取当前区块信息和上一区块的校验投票签名信息作为当前提案信息,根据当前提案的标识ID、当前状态机视图高度和当前提案信息,采用本地的第二共识机制生成当前区块校验提案。
S203,通过本地中第二共识机制,向校验节点中第二共识机制发送当前区块校验提案,用于指示校验节点采用第二共识机制对当前区块进行校验。
可选的,当前区块生成节点通过本地第二共识机制生成当前区块校验提案后,向校验节点的本地第二共识机制发送生成的当前区块校验提案。具体的,可以是当前区块生成节点先根据之前接收的第一共识机制发送的校验节点信息,确定区块链系统中的校验节点,然后采用本地第二共识机制定点向校验节点发送生成的当前区块校验提案;还可以是当前区块生成节点采用本地第二共识机制向区块链系统广播生成的当前区块校验提案,区块链系统中的校验节点监听并获取该当前区块校验提案。校验节点在接收到该当前区块校验提案后,可以是采用第二共识机制,对当前区块校验提案中的当前提案标识ID、当前提案信息(即当前区块信息和上一区块的校验投票签名信息)和当前状态机视图高度进行校验。具体的校验过程将在后续实施例进行详细介绍,在此不进行赘述。
S204,通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息。
可选的,校验节点采用第二共识机制,对接收到的当前区块校验提案中包含的当前提案标识ID、当前提案信息和当前状态机视图高度进行校验,若校验通过,会生成校验投票签名信息,反馈给当前区块生成节点,当前区块生成节点采用第二共识机制接收该校验投票签名信息。
S205,通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。
可选的,当前区块生成节点的第二共识机制接收到该校验投票签名信息后,可以通过第一共识机制与第二共识机制之间的专门用于传输校验投票签名信息的接口(如数据解析接口),通过第二共识机制向第一共识机制的数据解析接口发送当前区块的校验投票签名信息,以使当前区块生成节点在采用第一共识机制生成下一区块时,将当前区块的校验投票签名信息写入下一区块中
本申请实施例提供的方案,当前区块生成节点在采用本地第一共识机制生成当前区块,需要对当前区块进行校验时,向本地第二共识机制的触发接口发送当前区块验证触发信号;此时当前区块生成节点再采用本地第二共识机制针对当前待校验的区块,生成当前区块校验提案发送给校验节点的第二共识机制,以使其对当前区块进行校验,若当前区块生成节点通过第二共识机制接收到校验节点反馈的校验投票签名信息,则采用第一共识机制将其写入下一区块中。由于本实施例在对当前区块进行校验时,从当前提案ID、当前区块信息、上一区块的校验投票签名信息和当前状态集视图高度多个维度进行校验,提高了对当前区块校验过程的安全性和准确性。
第三实施例
图3是根据本申请第三实施例提供的一种基于区块链数据处理方法的流程图,本实施例适用于基于双共识机制处理区块链数据的情况,尤其适用于基于双共识机制对区块链系统中新生成的当前区块进行校验的情况。该方法可以由区块链系统中校验节点执行。具体的可以由配置在当校验节点的区块链数据处理处理装置来执行,该装置可以采用软件和/或硬件的方式实现。如图3所示,本实施例提供的区块链数据处理方法可以包括:
S301,通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令。
其中,所述校验指令在当前区块生成节点生成当前区块时生成。可选的,校验指令的生成方式可以是当前区块生成节点在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;当前区块生成节点在本地中第二共识机制接收当前区块验证触发信号时采用其本地的第二共识机制生成校验指令,并采用第二共识机制将该校验指令发送至校验节点的第二共识机制。
为了提高当前区块校验的安全性和准确性,校验指令还可以包括当前区块生成节点本地中第二共识机制生成的当前区块校验提案,此时生成校验指令的方式可以是:当前区块生成节点在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号,当前区块生成节点在本地中第二共识机制接收当前区块验证触发信号时,通过本地中第二共识机制生成当前区块校验提案作为校验指令。其中,所述当前区块校验提案包括当前提案ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
可选的,由于对当前区块的校验是采用第二共识机制执行的,所以当前区块生成节点通过本地中第二共识机制,向校验节点中第二共识机制发送生成的校验指令(如可以是当前区块校验提案),校验节点可以通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令。需要说明的是,当前区块生成节点和校验节点交互传输校验指令的具体实施方式上述实施例已经进行了详细介绍,在此不进行赘述。
S302,采用本地中第二共识机制对当前区块进行校验。
其中,当前区块生成节点和校验节点采用第一共识机制确定。且第一共识机制如何确定当前区块生成节点和校验节点的过程上述实施例已经进行了介绍,在此不进行赘述。
可选的,在本实施例中,校验节点在采用本地中第二共识机制对当前区块进行校验的方式有很多,对此本实施例不进行限定。可以是采用下述任意一种可实施方式或多种可实施方式的组合进行校验。一种可实施方式为若校验指令中包括当前区块的区块信息,则此时可以是采用本地第二共识机制将区块信息发送至第一共识机制,然后采用第一共识机制基于区块信息中记录的事务数据执行生成区块的操作,并将本地生成的区块与区块信息中包含的区块进行比较,将比较结果发送至第二共识机制,若一致,则说明校验通过,否则不通过。
另一种可实施方式为若校验指令中包含当前区块生成节点的信息,则此时可以是采用第二共识机制验证校验指令中包含当前区块生成节点的信息是否属于本地第一共识机制发送的当前区块生成节点的信息,若是,则说明校验通过,否则不通过。
另一种可实施方式为若校验指令中包含校验时间,则此时可以是采用第二共识机制判断校验指令中包含的校验时间是否有效,若是,则说明校验通过,否则不通过。
另一种可实施方式为若校验指令中包含当前区块校验提案,则此时可以是采用第二共识机制分别对当前区块校验提案中包含的当前提案ID、当前区块信息、当前提案ID和当前区块信息进行校验进行校验,此时具体的校验过程在后续实施例进行详细介绍,在此不进行赘述。
可选的,采用本地中第二共识机制对所述当前区块进行校验之后,还包括:若本地对当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,用于通过当前区块生成节点中第一共识机制,将对当前区块的校验投票签名。
本申请实施例的技术方案,为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使校验节点接收到当前区块生成节点的第二共识机制发送的校验指令后,采用本地第二共识机制对当前区块进行校验。本实施例可专门基于本地双共识机制中的第二共识机制进行区块的校验,降低了校验过程的耗时,且区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
第四实施例
图4是根据本申请第四实施例提供的一种区块链数据处理方法的流程图,本实施例在上述实施例的基础上,进行了进一步的优化,具体给出了如何采用本地中第二共识机制对当前区块进行校验的详细情况介绍。具体的,如图4所示,本实施例提供的区块链数据处理方法可以包括:
S401,通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令。
其中,所述校验指令包括当前区块生成节点本地中第二共识机制生成的当前区块校验提案;所述当前区块校验提案包括当前提案ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
S402,通过本地中第二共识机制,向本地中第一共识机制发送当前提案ID和当前区块信息,用于指示本地采用第一共识机制对当前提案ID和当前区块信息进行校验。
可选的,由于对当前区块校验提案包含的当前区块信息的校验过程需要根据当前区块信息中的事务数据重新执行生成区块的操作,且该操作需要采用第一共识机制执行,所以本实施例中对当前区块校验提案的校验过程需要采用第一共识机制和第二共识机制配合实现。可以是有采用第一共识机制对当前区块校验提案中包含的当前区块信息进行校验,采用第二共识机制对当前区块校验提案中包含的其他信息进行校验。但是,为了进一步提高校验效率,本实施例还可以是将当前区块校验提案中包含的校验过程相对简单的当前提案ID也分配给第一共识机制进行校验。
具体的,可以是校验节点采用第二共识机制向第一共识机制的数据解析接口发送当前区块校验提案中的当前提案ID和当前区块信息。在第一共识机制接收到该当前提案ID和当前区块信息后,采用第一共识机制验证当前提案ID是否为最新的提案ID,例如,可以是判断当前提案ID是否为接收到的数值最大的提案ID,若是,则说明当前提案ID验证成功,否则验证失败。采用第一共识机制对当前区块信息进行校验的过程前述实施例已经进行了介绍,在此不进行赘述。
S403,采用本地中第二共识机制对上一区块的校验投票信息和当前状态机视图高度进行校验。
可选的,校验节点采用第二共识机制对上一区块的校验投票信息进行校验时,可以是验证当前区块校验提案中的校验投票信息的中投票签名的比例是否达到预设比例,例如可以是判断校验投票信息的个数占区块链系统总校验节点个数的比例是否达到预设比例三分之二,若是,则说明校验成功,否则校验失败。
校验节点在对当前状态机视图高度进行校验时,可以是判断当前区块校验提案中的当前状态机视图高度是否为最新的状态机视图高度,例如,可以是判断当前状态机视图序号是否大于本地最新视图序号,若是,则说明校验成功,否则校验失败。
S404,若本地对当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,用于通过当前区块生成节点中第一共识机制,将对当前区块的校验投票签名信息写入下一区块中。
需要说明的是,在本实施例中S402和S403对当前区块校验提案中的信息进行校验的过程没有先后顺序之分,为了提高校验效率,还可以是并发执行S402和S403的操作。
本申请实施例的技术方案,若校验节点通过第二共识机制接收到的校验指令包括当前区块校验提案,则在对当前区块进行校验时,由第一共识机制从第二共识机制中获取并校验当前提案ID和当前区块信息;由第二共识机制校验上一区块的校验投票信息和当前状态机视图高度。由两共识机制并发进行校验,进一步的提高了当前生成区块的校验效率。
第五实施例
图5是根据本申请第五实施例提供的一种区块链数据处理过程的信令图。本实施例在上述实施例的基础上,提供了一个优选施例,该优选实例在实现区块链数据处理的过程中,需要当前区块生成节点采用本地的第一共识机制和第二共识机制,以及校验节点采用本地的第一共识机制和第二共识机制之间交互实现。如图5所示,本实施例的区块链数据处理方法可以包括:
S501,当前区块生成节点通过本地中第一共识机制,向本地中第二共识机制的节点集接口发送当前区块生成节点信息和校验节点信息。
S502,当前区块生成节点在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号。
S503,当前区块生成节点在本地中第二共识机制接收当前区块验证触发信号时,通过本地中第二共识机制生成当前区块校验提案。
其中,当前区块校验提案包括当前提案标识ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
S504,当前区块生成节点通过本地中第二共识机制,向校验节点中第二共识机制发送包含当前区块校验提案的校验指令。
S505,校验节点通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令。
S506,校验节点通过本地中第二共识机制,向本地中第一共识机制发送当前区块校验提案中包含的当前提案ID和当前区块信息。
S507,校验节点采用本地中第一共识机制对当前提案ID和当前区块信息进行校验,并本地中第二共识机制反馈校验结果。
S508,校验节点采用本地中第二共识机制对上一区块的校验投票信息和当前状态机视图高度进行校验。
S509,若校验节点本地对当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息。
S510,当前区块生成节点通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息。
S511,当前区块生成节点通过本地中第二共识机制,向本地中第一共识机制发送校验投票签名信息。
S512,当前区块生成节点通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。
本申请实施例的技术方案,当前区块生成节点采用本地第一共识机制生成区块的过程中,向本地第二共识机制发送当前区块验证触发信号,本地第二共识机制接收到当前区块验证触发信号后,生成当前区块校验提案发送至校验节点的第二共识机制;校验节点采用第一共识机制和第二共识机至并发对当前区块校验提案中的信息进行校验,若校验成功,则采用第二共识机制向当前区块生成节点的第二共识机制反馈校验投票签名信息;当前区块节点的第二共识机制在接收到反馈的校验投票签名信息后,采用本地第一共识机制将该当前区块的校验投票签名信息写入下一区块中。本实施例无论是当前区块生成节点还是校验节点,都是基于第一共识机制和第二共识机制相互配合,完成区块生成和校验操作,且在校验新生成的区块时,校验节点采用第一共识机制和第二共识机并发进行校验,极大的提高了校验效率,降低了出块确认过程的延迟,提高了区块链数据处理的效率。
第六实施例
图6是根据本申请第六实施例提供的一种区块链数据处理装置的结构示意图,该装置可执行本申请第一实施例、第二实施例和第五实施例所提供的区块链数据处理方法,具备执行方法相应的功能模块和有益效果。可选的,该装置可以采用软件和/或硬件的方式实现,并可集成在区块链系统中的当前区块生成节点的电子设备中。如图6所示,该区块链数据处理装置600可以包括:
信号发送模块601,用于在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;
校验控制模块602,用于在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
本申请实施例的技术方案,通过为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可基于第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
进一步的,所述校验控制模块602具体用于:
通过本地中第二共识机制生成当前区块校验提案;
通过本地中第二共识机制,向校验节点中第二共识机制发送当前区块校验提案,用于指示校验节点采用第二共识机制对当前区块进行校验。
进一步的,所述当前区块校验提案包括当前提案标识ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
进一步的,所述装置还包括:
签名信息接收模块,用于通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息;
签名信息写入模块,用于通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。
进一步的,所述装置还包括:
节点信息发送模块,用于通过本地中第一共识机制,向本地中第二共识机制的节点集接口发送当前区块生成节点信息和校验节点信息。
进一步的,所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
进一步的,所述第一共识机制为权益证明机制时,所述校验节点为备选区块生成节点。
第七实施例
图7是根据本申请第七实施例提供的一种区块链数据处理装置的结构示意图,该装置可执行本申请第三实施例、第四实施例和第五实施例所提供的区块链数据处理方法,具备执行方法相应的功能模块和有益效果。可选的,该装置可以采用软件和/或硬件的方式实现,并可集成在区块链系统中的校验节点的电子设备中。如图7所示,该区块链数据处理装置700可以包括:
校验指令接收模块701,用于通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令,其中所述校验指令在当前区块生成节点生成当前区块时生成;
区块校验模块702,用于采用本地中第二共识机制对所述当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定。
本申请实施例的技术方案,为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使校验节点接收到当前区块生成节点的第二共识机制发送的校验指令后,采用本地第二共识机制对当前区块进行校验。本实施例可专门基于本地双共识机制中的第二共识机制进行区块的校验,降低了校验过程的耗时,且区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
进一步的,所述校验指令包括当前区块生成节点本地中第二共识机制生成的当前区块校验提案;所述当前区块校验提案包括当前提案ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
进一步的,区块校验模块702具体用于:
通过本地中第二共识机制,向本地中第一共识机制发送所述当前提案ID和所述当前区块信息,用于指示本地采用第一共识机制对所述当前提案ID和所述当前区块信息进行校验;
采用本地中第二共识机制对所述上一区块的校验投票信息和所述当前状态机视图高度进行校验。
进一步的,所述装置还包括:
签名信息反馈模块,用于若本地对所述当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,用于通过当前区块生成节点中第一共识机制,将对当前区块的校验投票签名信息写入下一区块中。
第八实施例
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是用来实现本申请实施例的区块链数据处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链数据处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链数据处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链数据处理方法对应的程序指令/模块(例如,附图6所示的信号发送模块601和校验控制模块602;或者附图7所示的校验指令接收模块701和区块校验模块702)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链数据处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现区块链数据处理方法的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至实现区块链数据处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现区块链数据处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与实现区块链数据处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过为区块链系统搭建由第一共识机制和第二共识机制组合而成的双共识机制框架,以使当前区块生成节点通过本地第一共识机制生成当前区块后,触发本地第二共识机制控制校验节点采用其本地第二共识机制对该当前区块进行校验。本实施例可基于第一共识机制和第二共识机制并发进行区块的出块和校验过程,降低了校验过程的耗时,且具体的区块校验过程是由第一共识机制确定的校验节点执行,相比于区块链所有节点都进行校验,本申请实施例在确保校验可靠性的同时进一步降低了校验过程的耗时,进而极大的降低了出块确认过程的延迟,提高了区块链数据处理的效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种区块链数据处理方法,其特征在于,由区块链系统中当前区块生成节点执行;所述方法包括:
在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;
在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定;所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
2.根据权利要求1所述的方法,其特征在于,控制校验节点采用第二共识机制对当前区块进行校验,包括:
通过本地中第二共识机制生成当前区块校验提案;
通过本地中第二共识机制,向校验节点中第二共识机制发送当前区块校验提案,用于指示校验节点采用第二共识机制对当前区块进行校验。
3.根据权利要求2所述的方法,其特征在于,所述当前区块校验提案包括当前提案标识ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
4.根据权利要求1所述的方法,其特征在于,控制校验节点采用第二共识机制对当前区块进行校验之后,还包括:
通过本地中第二共识机制,接收校验节点采用第二共识机制反馈的校验投票签名信息;
通过本地中第一共识机制,将校验节点对当前区块的校验投票签名信息写入下一区块中。
5.根据权利要求1所述的方法,其特征在于,控制校验节点采用第二共识机制对当前区块进行校验之前,还包括:
通过本地中第一共识机制,向本地中第二共识机制的节点集接口发送当前区块生成节点信息和校验节点信息。
6.根据权利要求1所述的方法,其特征在于,所述第一共识机制为权益证明机制时,所述校验节点为备选区块生成节点。
7.一种区块链数据处理方法,其特征在于,由区块链系统中校验节点执行;所述方法包括:
通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令,其中所述校验指令在当前区块生成节点生成当前区块时生成;
采用本地中第二共识机制对所述当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定;所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
8.根据权利要求7所述的方法,其特征在于,所述校验指令包括当前区块生成节点本地中第二共识机制生成的当前区块校验提案;所述当前区块校验提案包括当前提案ID、当前提案信息和当前状态机视图高度;所述当前提案信息包括当前区块信息和上一区块的校验投票签名信息。
9.根据权利要求8所述的方法,其特征在于,采用本地中第二共识机制对所述当前区块进行校验,包括:
通过本地中第二共识机制,向本地中第一共识机制发送所述当前提案ID和所述当前区块信息,用于指示本地采用第一共识机制对所述当前提案ID和所述当前区块信息进行校验;
采用本地中第二共识机制对所述上一区块的校验投票信息和所述当前状态机视图高度进行校验。
10.根据权利要求7所述的方法,其特征在于,采用本地中第二共识机制对所述当前区块进行校验之后,还包括:
若本地对所述当前区块校验通过,则采用本地中第二共识机制向当前区块生成节点中第二共识机制反馈本地对当前区块的校验投票签名信息,用于通过当前区块生成节点中第一共识机制,将对当前区块的校验投票签名信息写入下一区块中。
11.一种区块链数据处理装置,其特征在于,配置于区块链系统中的当前区块生成节点,所述装置包括:
信号发送模块,用于在生成当前区块时,通过本地中第一共识机制向本地中第二共识机制的触发接口发送当前区块验证触发信号;
校验控制模块,用于在本地中第二共识机制接收所述当前区块验证触发信号时,控制校验节点采用第二共识机制对当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定;所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
12.一种区块链数据处理装置,其特征在于,配置于区块链系统中的校验节点,所述装置包括:
校验指令接收模块,用于通过本地中第二共识机制,从当前区块生成节点中第二共识机制接收校验指令,其中所述校验指令在当前区块生成节点生成当前区块时生成;
区块校验模块,用于采用本地中第二共识机制对所述当前区块进行校验;
其中,所述当前区块生成节点和所述校验节点采用第一共识机制确定;所述第一共识机制和所述第二共识机制的证明因素不同;所述第二共识机制为链式拜占庭容错机制。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6或7-10中任一项所述的区块链数据处理方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6或7-10中任一项所述的区块链数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910901490.5A CN110674217B (zh) | 2019-09-23 | 2019-09-23 | 区块链数据处理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910901490.5A CN110674217B (zh) | 2019-09-23 | 2019-09-23 | 区块链数据处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110674217A CN110674217A (zh) | 2020-01-10 |
CN110674217B true CN110674217B (zh) | 2022-07-22 |
Family
ID=69077536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910901490.5A Active CN110674217B (zh) | 2019-09-23 | 2019-09-23 | 区块链数据处理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110674217B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111371557B (zh) * | 2020-02-26 | 2024-01-23 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111371558B (zh) * | 2020-02-26 | 2024-01-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111339569B (zh) * | 2020-02-26 | 2023-05-26 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备和介质 |
CN111861469A (zh) * | 2020-07-27 | 2020-10-30 | 北京金山云网络技术有限公司 | 区块链中共识机制的处理方法、装置和电子设备 |
CN112511312B (zh) * | 2020-11-23 | 2023-10-17 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
CN112564960B (zh) * | 2020-12-01 | 2022-05-13 | 浙商银行股份有限公司 | 基于区块链节点中心度弹性调整共识的方法及装置 |
WO2022141060A1 (zh) * | 2020-12-29 | 2022-07-07 | 杭州趣链科技有限公司 | 基于区块链的数据上链方法、装置、终端及存储介质 |
CN117221337A (zh) * | 2022-06-02 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 区块链共识方法、装置、介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665271A (zh) * | 2018-05-02 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和存储介质 |
CN108960794A (zh) * | 2018-07-14 | 2018-12-07 | 上海分布信息科技有限公司 | 一种区块生成方法及区块生成系统 |
CN108990002A (zh) * | 2018-06-27 | 2018-12-11 | 柳州市蓝海数链科技有限公司 | 一种区块链数据处理方法、装置、终端及存储介质 |
CN109361740A (zh) * | 2018-09-27 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的区块生成方法、装置、设备和介质 |
CN110232634A (zh) * | 2019-06-05 | 2019-09-13 | 湖南道业信息科技有限公司 | 区块链共识方法、区块链共识系统和计算机可读存储介质 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
-
2019
- 2019-09-23 CN CN201910901490.5A patent/CN110674217B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665271A (zh) * | 2018-05-02 | 2018-10-16 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、设备和存储介质 |
CN108990002A (zh) * | 2018-06-27 | 2018-12-11 | 柳州市蓝海数链科技有限公司 | 一种区块链数据处理方法、装置、终端及存储介质 |
CN108960794A (zh) * | 2018-07-14 | 2018-12-07 | 上海分布信息科技有限公司 | 一种区块生成方法及区块生成系统 |
CN109361740A (zh) * | 2018-09-27 | 2019-02-19 | 百度在线网络技术(北京)有限公司 | 一种区块链的区块生成方法、装置、设备和介质 |
CN110232634A (zh) * | 2019-06-05 | 2019-09-13 | 湖南道业信息科技有限公司 | 区块链共识方法、区块链共识系统和计算机可读存储介质 |
CN110233737A (zh) * | 2019-06-28 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 基于DPoS的共识方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110674217A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110674217B (zh) | 区块链数据处理方法、装置、设备和介质 | |
CN111769958B (zh) | 区块链跨链处理方法、装置、设备和存储介质 | |
CN109361740B (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
CN111125763B (zh) | 隐私数据的处理方法、装置、设备和介质 | |
CN105159928B (zh) | 一种json数据转换成模型数据的方法及系统 | |
CN110889124B (zh) | 信息分享方法、装置、电子设备和存储介质 | |
CN111277647B (zh) | 区块链网络成员管理方法、装置、设备和介质 | |
CN111488202B (zh) | 多链系统的事务处理方法、装置、设备、系统和介质 | |
EP3862951A2 (en) | Method and apparatus of processing deposit, device and storage medium | |
EP3901806A2 (en) | Trusted environment remote verification method and apparatus, device, system, and medium | |
KR20210053266A (ko) | 블록체인에 기반한 자산 처리 방법, 장치, 기기, 저장매체 및 프로그램 | |
CN112511505A (zh) | 一种鉴权系统、方法、装置、设备和介质 | |
CN112235417B (zh) | 调试指令的发送方法、装置 | |
JP7206325B2 (ja) | ピクチャ検証方法、装置、電子設備、コンピュータ可読記憶媒体、及びプログラム | |
CN111782365A (zh) | 定时任务处理方法、装置、设备及存储介质 | |
CN112583867A (zh) | 智能家电设备的共享方法、装置、电子设备和介质 | |
US11146662B2 (en) | Method and system of transmitting state based input over a network | |
CN111741015A (zh) | 区块链网络中操作处理方法、装置、设备和介质 | |
JP7052168B2 (ja) | 音声処理方法、装置、デバイス、プログラム及びコンピュータ記憶媒体 | |
CN112583866B (zh) | 智能家电设备的共享方法、装置、电子设备和介质 | |
CN111275404A (zh) | 基于区块链的评审方法、装置、设备和介质 | |
CN111953647B (zh) | 安全校验方法、装置、电子设备和存储介质 | |
CN110930011B (zh) | 一种工单管控系统、方法、及电子设备和存储介质 | |
CN113206748B (zh) | 联盟链网络的治理方法、联盟链网络和电子设备 | |
CN110968856B (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 |