CN115186035B - 一种区块处理方法、相关系统及存储介质和服务器 - Google Patents
一种区块处理方法、相关系统及存储介质和服务器 Download PDFInfo
- Publication number
- CN115186035B CN115186035B CN202211108189.7A CN202211108189A CN115186035B CN 115186035 B CN115186035 B CN 115186035B CN 202211108189 A CN202211108189 A CN 202211108189A CN 115186035 B CN115186035 B CN 115186035B
- Authority
- CN
- China
- Prior art keywords
- block
- node
- proposal
- nodes
- node tree
- 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
- 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/22—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种区块处理方法、相关系统及存储介质和服务器,应用于信息处理技术领域。区块链系统中各个共识设备会在已储存的第一区块满足预置的提交条件时,会判断该第一区块是否包括交易信息,即是否是空块,若是,则会对第一区块所在节点树中相关的节点进行剪枝,从而将高度大于或等于第一高度的节点所对应的交易释放回交易池中。避免了在共识设备未接收到应用终端发送的请求,使得共识设备的交易池中没有交易时,在共识设备之间还是不断地产生并处理封装了空块的新提案,有效地节省了计算、网络和存储等资源。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种区块处理方法、相关系统及存储介质和服务器。
背景技术
区块链系统是一种去中心化的网络系统,而在区块链系统中会采用共识协议,比如链式HotStuff共识,非拜占庭共识(例如Raft等)、其它拜占庭共识(例如PBFT等)、以及非链式的HotStuff共识(例如Basic HotStuff、事件驱动的HotStuff等),从而可以就系统的状态达成统一的认识,以便所有的节点统一从一个状态迁移到另一个状态。
在基于链式HotStuff共识协议进行处理时,可以在区块链系统的多个节点中进行四个阶段(准备、预提交、提交和决策)的提案处理流程,从而实现了在系统中达成状态的共识。基于链式HotStuff共识协议需要在多个节点之间不停产生、验证和提交空区块(交易数为0的区块)的提案,并对提案进行投票、达成共识、处理冲突等操作,会耗费很多不必要的计算、网络、存储等资源。
发明内容
本发明实施例提供一种区块处理方法、相关系统及存储介质和服务器,实现了节省资源的区块处理方法。
本发明实施例一方面提供一种区块处理方法,包括:
若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息;
若所述第一区块中未包含交易信息,放弃提交满足所述提交条件的提案;
确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块;
对所述节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
本发明实施例另一方面提供一种区块处理系统,包括:
交易确定单元,用于若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息;
提案单元,用于若所述第一区块中未包含交易信息,放弃提交满足所述提交条件的提案;
节点树单元,用于确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块;
剪枝单元,用于对所述节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如本发明实施例一方面所述的区块处理方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如本发明实施例一方面所述的区块处理方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
本发明实施例另一方面还提供一种区块链系统,包括多个共识设备,所述共识设备应用如本发明实施例一方面所述的区块处理系统,或所述共识设备是如本发明实施例另一方面所述的服务器。
可见,在本实施例的方法中,区块链系统中各个共识设备会在已储存的第一区块满足预置的提交条件时,会判断该第一区块是否包括交易信息,即是否是空块,若是,则会对第一区块所在节点树中相关的节点进行剪枝,从而将高度大于或等于第一高度的节点所对应的交易释放回交易池中。避免了在共识设备未接收到应用终端发送的请求,使得共识设备的交易池中没有交易时,在共识设备之间还是不断地产生并处理封装了空块的新提案,有效地节省了计算、网络和存储等资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种区块处理方法所应用于的区块链系统的示意图;
图2是本发明实施例中共识设备进行区块处理的示意图;
图3是本发明一个实施例提供的一种区块处理方法的流程图;
图4a是本发明一个实施例中建立的节点树的示意图;
图4b是本发明一个实施例中在确定空块时对节点树进行剪枝后的示意图;
图4c是本发明一个实施例中在确定非空块时对节点树进行剪枝后的示意图;
图5是本发明一个应用实施例中主设备执行的区块处理方法的流程图;
图6是本发明一个应用实施例中从设备执行的区块处理方法的流程图;
图7是本发明另一应用实施例中区块处理方法所应用于的分布式系统的示意图;
图8是本发明另一应用实施例中区块结构的示意图;
图9是本发明实施例提供的一种区块处理系统的逻辑结构示意图;
图10是本发明实施例提供的一种终端设备的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种区块处理方法,主要应用于如图1所示的去中心化的网络系统,比如区块链系统中,在区块链系统中可以包括应用终端10及多个(图中以n个为例来说明)共识设备11,各个共识设备11之间具有通信连接,在图中未示出,其中:
应用终端10,用于发起任一应用场景的请求,在该应用终端10发起的请求中可以包括交易信息。
多个共识设备11中的任一共识设备11,用于接收应用终端10发起的请求,并将请求对应的交易加入到共识设备11的交易池110,并将该交易池110的信息广播给其它共识设备11;共识设备11还用于根据交易池110中的交易打包区块,并根据区块建立提案,将建立的提案广播给其它共识设备11进行对提案中的交易进行投票,若投票通过,则提交该提案。
其中,共识设备11在根据区块就建立提案时,会将一个区块封装成一个提案(即一个提案对应一个区块),而在一个区块中可以包括一个或多个交易,也可以不包括任何交易。且一个提案需要经过多轮(比如3轮)投票后,一个提案的投票才能通过,而提交一个提案是指将与该提案中的交易上链,即将该提案相关的所有信息保存到稳定存储中,比如数据库中。
例如,系统中包括4个共识设备11,应用终端10向共识设备1发送交易tx1的请求,共识设备1接收到请求后,将交易tx1加入到当前共识设备1的交易池110中;然后共识设备1将交易tx1广播给其余共识设备2、3和4,以放入其它共识设备11的交易池,保证所有共识设备11都拥有交易tx1。当共识设备3确定轮到自己提案,则共识设备3会从自己的交易池110中打包区块block1(其中包含交易tx1),并根据区块block1生成提案proposal1,广播给其余共识设备1、2和4。
在这个过程中,接收应用终端10发起的请求的共识设备11是由应用终端10来决定的,而建立提案的共识设备11为主设备,其它只进行投票而不建立提案的共识设备11为从设备,在主设备与从设备之间对于区块的处理主要可以采用链式HotStuff共识协议进行处理。
另外,共识设备11除了储存提案,在提案中包括区块,还会基于区块在内存中建立节点树,在节点树中包括多个节点及节点之间的有向连边,其中的每个节点表示一个区块,一节点到另一节点的有向连边即一个节点指向另一节点,用于表示另一节点所对应的区块所在提案是基于一个节点所对应的区块所在提案生成的。具体地,在从建立一个提案1到提交该提案1的整个过程中主要可以经过准备、预提交、提交和决策几个阶段,其中:
(1)准备(prepare)阶段:主设备根据区块1创建提案1,并将提案1广播给从设备;从设备对提案1生成准备阶段投票(记为prepare投票),并将prepare投票发送给预提交阶段的主设备。其中,在主设备和从设备中分别储存区块1,该区块1对应提案1,并在节点树中增加该区块1对应的节点1。
(2)预提交(pre-commit)阶段:主设备将法定人数的prepare投票合成为准备阶段的法定人数证明书(quorum certificate,QC)(记为prepareQC),并将prepareQC广播给从设备;从设备验证prepareQC后,生成预提交阶段投票(记为pre-commit投票),并将pre-commit投票发送给提交阶段的主设备。其中,在主设备和从设备中会分别储存基于该prepareQC及根据交易打包的一个区块2生成提案2,并在节点树中增加区块2对应的节点2及节点1,且设置而节点1与节点2之间的路径,即节点1指向节点2。
其中,假设f为允许共识设备11故障的最大数量,则处理提案的整个过程中所涉及的共识设备11的总数为3*f+1,而用于投票的法定人数对应共识设备11的数量为2*f+1。上述QC表示一个被2*f+1个节点签名确认的数据包及视图数值(view Number),比如某个区块的2*f+1个投票集合。
(3)提交(commit)阶段:主设备将法定人数的pre-commit投票合成为预提交阶段的QC(记为pre-commitQC),并广播给从设备;从设备验证pre-commitQC后,生成提交阶段投票(记为commit投票),发送给决策阶段的主设备。其中,在主设备和从设备中会分别基于该pre-commitQC及根据交易打包的一个区块3生成提案3,并在节点树中增加区块3对应的节点3及上述节点1和节点2,且节点1指向节点2,节点2指向节点3。
(4)决策(decide)阶段:主设备将法定人数的commit投票合成提交阶段的QC(记为commitQC),广播给从设备,并提交提案1;从设备验证commitQC后,提交提案1。其中,在主设备和从设备中会分别储存基于该commitQC及根据交易打包的一个区块4生成提案4,并在节点树中增加区块4对应的节点4及上述节点1、节点2和节点3,且节点1指向节点2,节点2指向节点3,节点3指向节点4。
在上述四个过程中,几个阶段可以由不同的共识设备11作为主设备及从设备来执行,且在一个提案1生成到该提案1提交过程中会合成多个QC,即上述的prepareQC、pre-commitQC及commitQC。且这些共识设备11在合成这些QC的同时,还会根据合成的QC创建新的提案,以将这些QC包含在相应的提案中,具体如图2所示,以4个共识设备11为例来说明,图中的圆圈中的数字表示步骤序号,包括:
步骤1、共识设备1作为视图1的主设备,根据区块1创建提案1,并将区块1包括在提案1中。
步骤2、共识设备1将产生的提案1广播给从设备(共识设备2、3和4),且共识设备1还需要对提案1生成prepare投票,发送给下一个视图的主设备,即共识设备2。
步骤3、从设备验证提案1,并储存提案1,在提案1中包括区块1。
步骤4、从设备对提案1生成prepare投票,并将其发送给下一个视图的主设备,即共识设备2,至此,提案1完成了第一阶段,即准备阶段。
步骤5、进入视图2,共识设备2作为视图2的主设备,收集提案1的prepare投票,合成提案1的prepareQC(记为QC1),并根据区块2创建提案2,在提案2中包括区块2和QC1。
步骤6、共识设备2将产生的提案2广播给从设备(节点1,3,4),且共识设备2对提案2生成投票,发送给下一个视图的主设备,即共识设备3。
步骤7、从设备验证提案2及QC1,并储存提案2,在提案2中包括QC1和区块2。
步骤8、从设备对提案2生成投票,该投票是对提案2的prepare投票,但也因为是验证了QC1之后投出,故同时作为提案1的pre-commit投票;从设备将投票发送给下一个视图的主设备,即共识设备3。至此,提案2完成了第一阶段,即准备阶段,同时,由于QC1是提案1的prepareQC,也在该过程中被法定人数的从设备验证并投票,所以提案1完成了第二阶段,即预提交阶段。
步骤9、进入视图3,共识设备3作为视图3的主设备,收集提案2的投票,合成QC2,根据区块3创建提案3,在提案3中包括区块3和QC2。
步骤10、共识设备3将产生的提案3广播给从设备(节点1,2,4),共识设备3还对提案3生成投票,发送给下一个视图的主设备,即共识设备4。
步骤11、从设备验证提案3、QC2,并储存提案3,在提案3中包括QC2和区块3。
步骤12、从设备对提案3生成投票,并将其发送给下一个视图的主设备,即共识设备4。至此,提案3完成了准备阶段,如上述原因,提案2也同时完成了预提交阶段,由于QC2中所包含的投票同时作为提案1的pre-commit投票,因此QC2作为提案2的prepareQC的同时,也作为提案1的pre-commitQC,故从设备在验证了QC2后又投出的投票,是提案3的prepare投票,同时也是提案2的pre-commit投票、提案1的commit投票,即提案1已完成提交阶段。
步骤13、进入视图4,共识设备4作为视图4的主设备,收集提案3的投票,合成QC3,根据区块4创建提案4,将QC3和区块4包括到提案4中。
步骤14、共识设备4将产生的提案4广播给从设备(节点1,2,3),共识设备4处理提案4与QC3,对提案4生成投票,发送给下一个视图的主设备,即共识设备1。
如上述原因,QC3作为提案3的prepareQC、提案2的pre-commitQC同时,也作为提案1的commitQC,在处理QC3时,共识设备4发现已储存的区块4满足预置的提交条件(比如3-chain规则),具体地,在共识设备4中已储存了提案1在提交时所需的所有文件,即三个前后相连的QC,即QC1<-QC2<-QC3,也就是说,提案1已经到了决策阶段,共识设备4会按照本实施例的区块处理方法,提交提案1。
步骤15、从设备验证提案4、QC3,并储存提案4,在提案4中包括QC3和区块4,从设备在验证时发现已储存了满足提交条件(比如3-chain规则)的区块4,该共识从设备中已储存了提案1在提交时所需的所有文件,即三个前后相连的QC,即QC1<-QC2<-QC3,即提案1到了决策阶段,从设备会按照本实施例的区块处理方法,提交提案1。
步骤16、从设备对提案4生成投票(同时作为提案4的prepare投票、提案3的pre-commit投票、提案2的commit投票),并将其发送给下一个视图的主设备,即共识设备1。如上述原因,至此,提案4完成了准备阶段,同时提案3完成了预提交阶段,提案2完成了提交阶段,提案1完成决策阶段,已被提交。
可见,在上述的整个处理过程中,视图1是提案1的prepare阶段;视图2是提案2的prepare阶段,同时也是视图1的pre-commit阶段;视图3是提案3的prepare阶段、提案2的pre-commit阶段、提案1的commit阶段;视图4是提案4的prepare阶段、提案3的pre-commit阶段、提案2的commit阶段、提案1的decide阶段。故在提交提案1时,为了使提案1进入decide阶段,一定产生了提案2,3,4,而每个提案中都包括一个区块,除此之外,提案中还会包括上一个提案的prepare QC,即为了提交已经产生的提案,一定会有新的提案产生,所以在常见实现中,这种共识算法即链式HotStuff共识算法,一旦启动,就会不停地产生、验证、提交区块。
进一步地,在上述区块处理的过程中,各个主设备在创建任一提案(比如上述提案1到4)时,若主设备当前的交易池中包括交易,则会根据其中的交易打包区块,并根据区块创建提案,在提案中包括交易打包成的区块;若当前交易池中没有交易,则在创建提案时会,不会在提案中包括任何交易信息。
进一步地,在上述区块处理的过程中,在各个共识设备1到4中分别都储存了提案1到4分别对应的区块1到4,则各个共识设备还会基于区块1到4在内存中建立节点树,在节点树中包括多个节点及节点之间的有向连边,每个节点分别表示区块1到4。需要说明的是,通过节点树可以将对应的区块中包括的交易锁定,锁定的交易只能通过对相应区块的处理来实现提交,即将交易上链。
本发明实施例中,在执行上述步骤14和15时,相应的共识设备会按照本发明实施例的区块处理方法,对节点树进行剪枝。
具体地,如图3所示,本实施例的共识设备11可以采用如下的步骤来实现区块处理:
步骤101,判断已储存的区块中任一区块是否满足预置的提交条件,若已储存的区块中第一区块满足预置的提交条件,则执行步骤102;若所有的区块都不满足,执行其它的区块处理。
可以理解,任一共识设备11可以按照一定的周期,或者在某些事件的触发下,判断已储存的任一区块是否满足预置的提交条件,这里的提交条件是指任一区块对应的提案是否已经经历过上述所有阶段的几轮(3轮)投票的条件。
在具体实现时,基于上述实施例中所示,为了使一个提案1进入decide阶段,一定产生了提案2,3,4,而每个提案对应一个区块,因此,当提案1对应的区块1之后分别生成了3个区块,则说明可以提取区块1对应的提案1。故在判断任一区块是否满足预置的提交条件时,可以确定在共识设备11中建立的节点树中,第一区块对应节点之后的路径上是否包括了三个节点,若包括了,则该第一区块满足预置的提交条件。
例如,图4a所示为共识设备11所建立的节点树,包括节点区块1、区块2、区块3、区块4、区块5、区块2’、区块3’、区块4’和区块3”,其中根节点为节点区块1,而节点区块2之后的路径上已经包括了3个节点,即节点区块3、区块4和区块5,满足预置的提交条件。
步骤102,判断第一区块中是否包含交易信息,若不包含,则执行步骤103;若包含,则执行步骤104和105。
交易信息是指通过上述应用终端10发起的请求中的交易信息,若共识设备11接收到应用终端10发起的请求时,会将相应的交易加入到交易池110,当共识设备11需要创建一个提案时,若交易池中没有交易,则该共识设备11生成的区块中不会包含任何交易信息,即为空块;若该共识设备11当的交易池中有交易,则该共识设备11会从交易池中提取出至少一个交易,并将至少一个交易的信息打包成一个区块,该区块中包含该请求对应的交易信息,即为非空块。
若第一区块中不包含交易信息,则该第一区块为空块,放弃提交满足上述提交条件的提案即第一区块对应的提案,且需要按照如下步骤103中的方法进行剪枝;若第二区块中包含交易信息,则该第一区块非空块,需要执行如下步骤104,且按照如下步骤105的方法进行剪枝。
步骤103,确定第一区块所在的节点树,节点树中包括多个节点,每个节点表示一个区块,对节点树中第一高度的节点进行剪枝,这里第一高度大于或等于第一区块对应节点在节点树中的高度。
这里节点树中任一节点的高度是指节点树中根节点到任一节点之间的最短路径上所包括的节点数量。由于在共识设备11生成区块后,会根据储存的区块建立节点树,在本实施例中,需要根据上述步骤101和102的判断结果来确定如何对节点树进行剪枝,当第一区块是空块时,由于放弃提交第一区块,则需要将基于该空块生成的其它区块对应的节点从节点树中进行剪枝。
例如针对上述图4a所示的节点树中,若节点区块2为第一区块对应的节点,该第一区块为空块时,不会提交该节点区块2对应的第一区块,该节点的高度为2,则在本实施例中会将节点树中高度为2及高度大于2的节点进行剪枝,具体如图4b所示,在节点树中只剩节点区块1。
需要说明的是,在这种情况下,由于放弃提交第一区块,之所以需要剪掉高度大于或等于该第一区块对应的所有节点,是因为只有在剪掉节点后,才会将因节点树被锁定的交易释放回交易池,避免有交易因为该流程而滞留在共识设备11的内存中,从而导致交易丢失的情况。
例如,在节点区块2对应的第一区块中不包括交易信息,则放弃提交该第一区块,在共识设备11再次接收到应用终端10发送的新请求之前,将不会有高度为2或大于2的节点所对应的区块被提交,从而不会释放内存中剩余的其它高度为2或大于2的节点所对应的区块中的交易信息。也就是说,如果节点区块2’或区块3’中包含交易信息,则这些交易信息不会被释放回交易池,不会触发共识设备11产生新的提案,在应用终端10看来,就是区块链系统“丢失”了交易。
需要说明的是,图4a中的节点区块2和区块2’可以对应同一高度的两个提案,都是基于节点区块1,即这两个节点对应的提案是互斥的,不能同时生效即不连续的。
进一步地,在本实施例中,之所以选择在提交提案时,先判断该提交对应的区块是否为空块,而不是在创建提案时判断,是由于若在主设备创建提案时判断是否为空块,从而放弃对空块的提案进行提交,则不能保证上述剪枝操作能够在法定人数的共识设备11中完成,有可能会导致共识设备11之间关于节点树中各个节点的状态不一致的情况。换言之,“放弃提交某提案对应区块,同时放弃其所有子孙节点”是一件需要被区块链系统中法定人数的共识设备11达成共识的事,否则可能会给区块链系统带来额外的风险;而提交提案对应区块时,说明该区块已经被法定人数的共识设备11承诺了提交,同时,每个共识设备11对于“指定区块是否为空块”的判断一定是一致的,故本实施例中,对节点树进行剪枝操作是安全的,能够保证法定人数的共识设备11的剪枝结果一致,不会给区块链系统增加额外的风险。
步骤104,提交满足上述提交条件所涉及的提案,具体地将第一区块中的交易上链,即将该交易相关的信息保存到数据库中。
步骤105,确定第一区块所在的节点树,对节点树中第一区块对应节点与根节点之间路径上的节点进行剪枝,将第一区块对应节点设置为节点树的根节点。
例如针对上述图4a所示的节点树中,若节点区块2为第一区块对应的节点,该第一区块为非空块时,则需要提交该节点区块2对应的第一区块,该节点的高度为2,则在本实施例中会将节点树中根节点与该节点区块2之间的路径上的所有节点进行剪枝,即将节点树中的节点区块1、区块2’、区块3’和区块3”进行剪枝,并将节点区块2设置为根节点,如图4c所示。
需要说明的是,采用本实施例的流程,在因为空块(比如上述的第一区块)而停止产生区块的区块链系统中,上述视图仍然会由于超时而向前推进,当共识设备11接收到应用终端10发送的新请求时,共识设备11会基于该新请求将交易放入交易池,进而根据从交易池中提取出交易以开始产生区块,重新进入正常的共识流程。
可见,在本实施例的方法中,区块链系统中各个共识设备11会在已储存的第一区块满足预置的提交条件时,会判断该第一区块是否包括交易信息,即是否是空块,若是,则会对第一区块所在节点树中相关的节点进行剪枝,从而将高度大于或等于第一高度的节点所对应的交易释放回交易池中。避免了在共识设备未接收到应用终端发送的请求,使得共识设备的交易池中没有交易时,在共识设备之间还是不断地产生并处理封装了空块的新提案,有效地节省了计算、网络和存储等资源。
以下以一个具体的应用实例来说明本发明的区块处理方法,本实施例的方法可以应用于上述图1所示的区块链系统中,具体地,如图5所示,对于任一共识设备,若该共识设备作为主设备时,可以通过如下步骤来实现区块的处理,包括:
步骤201,当主设备根据交易打包区块,并根据区块创建提案后,可以推动状态机,且在内存储存的节点树中添加该区块对应的节点。
步骤202,主设备在创建一个提案后,会判断已储存的任一区块(比如第一区块)是否满足预置的提交条件,具体地是否满足3-chain条件,如果满足,则继续执行步骤203中的判断;如果不满足,继续执行如下步骤206。
步骤203,主设备会判断第一区块中是否包括交易信息,如果包括,执行如下步骤204;如果不包括,执行步骤205。
步骤204,提交该第一区块,确定该第一区块所在的节点树,对节点树中根节点到第一区块对应的节点之间路径上的节点进行剪枝,并将第一区块对应的节点设置为节点树的根节点,然后执行步骤206。
步骤205,放弃提交该第一区块,确定该第一区块所在的节点树,对节点树中第一高度的节点进行剪枝,第一高度大于或等于第一区块对应节点在节点树中的高度,然后执行步骤206。
步骤206,基于上述步骤201中创建的提案进行投票,并发送投票给下一个视图的主设备。
进一步地,如图6所示,对于系统中的任一共识设备作为从设备时,可以通过如下步骤来实现区块的处理:
步骤301,从设备接收到主设备发送的提案后,验证接收的提案、消息签名、在提案中附加的QC及安全规则等。
步骤302,从设备判断当前是否缺前序的提案,如果缺,则执行步骤303,并结束流程;如果不缺,则执行步骤304,之后再执行步骤305。
步骤303,从设备向其它的共识设备拉取前序提案。
上述步骤301中接收的提案中可以包括一个区块及前一提案的prepareQC,这里前一提案即为前序提案。例如,上述图2中的提案3可以包括区块3及提案2的prepareQC。
步骤304,对前序提案对应的区块进行验证,根据前序提案及上述步骤301中当前接收的提案,在内存储存的节点树中添加当前接收的提案中区块对应的节点,并设置添加的节点与前序提案中区块对应的节点之间的有向连边,并推动状态机。
步骤305,从设备判断已储存的任一区块(比如第一区块)是否满足预置的提交条件,具体地是否满足3-chain条件,如果满足,则继续执行步骤306中的判断;如果不满足,继续执行如下步骤309。
步骤306,从设备会判断第一区块中是否包括交易信息,如果包括,执行如下步骤307;如果不包括,执行步骤308。
步骤307,提交该第一区块,确定该第一区块所在的节点树,对节点树中根节点到第一区块对应的节点之间路径上的节点进行剪枝,并将第一区块对应的节点设置为节点树的根节点,然后执行步骤309。
步骤308,放弃提交该第一区块,确定该第一区块所在的节点树,对节点树中第一高度的节点进行剪枝,第一高度大于或等于第一区块对应节点在节点树中的高度,然后结束流程。
步骤309,基于上述步骤301中接收的提案进行投票。
步骤310,判断当前从设备是否属于下一视图的主设备,如果不属于,则发送上述步骤309中生成的投票给下一个视图的主设备;如果属于,则执行步骤311。
步骤311,处理上述步骤309中生成的投票。
可见,本实施例中,无论是主设备,还是从设备,都需要在需要提交提案之前,根据待提交的提案对应的区块中是否有交易信息,对节点树中相应的节点进行剪枝,这样,可以使得链式HotStuff共识的集群在没有交易信息的时候不会不停产生空块,并且屏蔽掉该方案下存在的风险,为整个区块链系统节约计算、网络、存储等资源。
以下以另一具体的应用实例来说明本发明中区块处理方法,本发明实施例中的区块处理系统主要为分布式系统100,该分布式系统可以包括客户端300及多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端),客户端300与节点200之间通过网络通信的形式连接。
以分布式系统为区块链系统为例,参见图7是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer ToPeer)网络,P2P 协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
参见图7示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其它节点,供其它节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:实现区块处理功能的代码,该区块处理功能主要包括:
若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息;若所述第一区块中未包含交易信息,放弃提交满足所述提交条件的提案;确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块;对所述节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图8为本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本发明实施例还提供一种区块处理系统,该区块处理系统可以应用于上述的共识设备中,其结构示意图如图9所示,具体可以包括:
交易确定单元20,用于若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息。
其中,所述已储存的第一区块满足预置的提交条件,具体包括:在预置的节点树中,所述第一区块对应节点之后的路径上包括了3个节点。
提案单元21,用于若所述交易确定单元20确定的第一区块中未包含交易信息,放弃提交满足所述提交条件的提案。
剪枝单元22,用于当提案单元21放弃相应提案时,确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块,对所述节点树单元23确定的节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
进一步地,所述提案单元21,还用于若所述第一区块中包含交易信息,提交满足所述提交条件的提案;所述剪枝单元22,还用于在提案单元21在提交相应提案时,确定所述第一区块所在的节点树,对所述节点树中所述第一区块对应节点与根节点之间路径上的节点进行剪枝;将所述第一区块对应节点设置为所述节点树的根节点。
进一步地,本发明实施例中的区块处理系统还包括:
节点树单元23,用于根据已创建的多个提案中分别包括一区块,在内存中建立节点树,所述节点树中包括多个节点及节点之间的有向连边,每个节点表示任一区块,一节点到另一节点的有向连边表示所述另一节点对应的区块所在提案是基于一节点对应的区块所在提案生成的,则系统中的剪枝单元22会对节点树单元23建立的节点树进行剪枝。
可见,在本实施例的系统中,会在已储存的第一区块满足预置的提交条件时,会判断该第一区块是否包括交易信息,即是否是空块,若是,则会对第一区块所在节点树中相关的节点进行剪枝,从而将高度大于或等于第一高度的节点所对应的交易释放回交易池中。避免了在区块处理系统未接收到应用终端发送的请求,使得共识设备的交易池中没有交易时,在区块处理系统之间还是不断地产生并处理封装了空块的新提案,有效地节省了计算、网络和存储等资源。
本发明实施例还提供一种服务器,其结构示意图如图10所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)30(例如,一个或一个以上处理器)和存储器31,一个或一个以上存储应用程序321或数据322的存储介质32(例如一个或一个以上海量存储设备)。其中,存储器31和存储介质32可以是短暂存储或持久存储。存储在存储介质32的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器30可以设置为与存储介质32通信,在服务器上执行存储介质32中的一系列指令操作。
具体地,在存储介质32中储存的应用程序321包括区块处理的应用程序,且该程序可以包括上述区块处理系统中的交易确定单元20,提案单元21,剪枝单元22和节点树单元23,在此不进行赘述。更进一步地,中央处理器30可以设置为与存储介质32通信,在服务器上执行存储介质32中储存的区块处理的应用程序对应的一系列操作。
服务器还可以包括一个或一个以上电源33,一个或一个以上有线或无线网络接口34,一个或一个以上输入输出接口35,和/或,一个或一个以上操作系统323,例如WindowsServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由区块处理系统所执行的步骤可以基于该图10所示的服务器的结构。
进一步地,本发明实施例另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如上述共识设备所执行的区块处理方法。
本发明实施例另一方面还提供一种终端设备,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如上述共识设备所执行的区块处理方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
另外,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的区块处理方法。
另外,本发明实施例还提供一种区块链系统,包括多个共识设备,任一共识设备可以应用上述图9所示的区块处理系统,或任一共识设备可以是上述图10所示的服务器。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种区块处理方法、相关系统及存储介质和服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种区块处理方法,其特征在于,包括:
若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息;所述预置的提交条件包括:在预置的节点树中,所述第一区块对应节点之后的路径上包括了3个节点;
若所述第一区块中未包含交易信息,放弃提交满足所述提交条件的提案;
确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块;
对所述节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
2.如权利要求1所述的方法,其特征在于,若当前系统应用于主设备,所述已储存的第一区块满足预置的提交条件,具体包括:当所述主设备创建一提案时,确定已储存的第一区块满足预置的提交条件;
所述方法还包括:生成所述一提案的投票,并发送给下一视图的主设备。
3.如权利要求1所述的方法,其特征在于,若当前系统应用于从设备,所述已储存的第一区块满足预置的提交条件,具体包括:当所述从设备接收一提案,且从设备中储存有前序提案,确定已储存的第一区块满足预置的提交条件;
所述方法还包括:生成所述一提案的投票,对所述投票进行处理,或发送给下一视图的主设备。
4.如权利要求1所述的方法,其特征在于,所述确定所述第一区块中是否包含交易信息之前,所述方法还包括:
根据已创建的多个提案中分别包括一区块,在内存中建立节点树,所述节点树中包括多个节点及节点之间的有向连边,每个节点表示任一区块,一节点到另一节点的有向连边表示所述另一节点对应的区块所在提案是基于一节点对应的区块所在提案生成的。
5.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
若所述第一区块中包含交易信息,提交满足所述提交条件的提案;
确定所述第一区块所在的节点树,对所述节点树中所述第一区块对应节点与根节点之间路径上的节点进行剪枝;
将所述第一区块对应节点设置为所述节点树的根节点。
6.一种区块处理系统,其特征在于,包括:
交易确定单元,用于若已储存的第一区块满足预置的提交条件,确定所述第一区块中是否包含交易信息;所述预置的提交条件包括:在预置的节点树中,所述第一区块对应节点之后的路径上包括了3个节点;
提案单元,用于若所述第一区块中未包含交易信息,放弃提交满足所述提交条件的提案;
剪枝单元,用于确定所述第一区块所在的节点树,所述节点树中包括多个节点,每个节点表示一个区块;对所述节点树中第一高度的节点进行剪枝,所述第一高度大于或等于所述第一区块对应节点在所述节点树中的高度。
7.如权利要求6所述的系统,其特征在于,还包括:
节点树单元,用于根据已创建的多个提案中分别包括一区块,在内存中建立节点树,所述节点树中包括多个节点及节点之间的有向连边,每个节点表示任一区块,一节点到另一节点的有向连边表示所述另一节点对应的区块所在提案是基于一节点对应的区块所在提案生成的。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质储存多个计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至5任一项所述的区块处理方法。
9.一种服务器,其特征在于,包括处理器和存储器;
所述存储器用于储存多个计算机程序,所述计算机程序用于由处理器加载并执行如权利要求1至5任一项所述的区块处理方法;所述处理器,用于实现所述多个计算机程序中的各个计算机程序。
10.一种区块链系统,其特征在于,包括多个共识设备,所述共识设备应用如权利要求6所述的区块处理系统,或所述共识设备是如权利要求9所述的服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211108189.7A CN115186035B (zh) | 2022-09-13 | 2022-09-13 | 一种区块处理方法、相关系统及存储介质和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211108189.7A CN115186035B (zh) | 2022-09-13 | 2022-09-13 | 一种区块处理方法、相关系统及存储介质和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115186035A CN115186035A (zh) | 2022-10-14 |
CN115186035B true CN115186035B (zh) | 2022-11-22 |
Family
ID=83524522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211108189.7A Active CN115186035B (zh) | 2022-09-13 | 2022-09-13 | 一种区块处理方法、相关系统及存储介质和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115186035B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138596A (zh) * | 2019-04-13 | 2019-08-16 | 山东公链信息科技有限公司 | 一种基于切换网络拓扑方式的区块链共识方法 |
CN111147261A (zh) * | 2019-12-31 | 2020-05-12 | 南京可信区块链与算法经济研究院有限公司 | 在区块链中使用HotStuff共识算法的方法及系统 |
CN111382456A (zh) * | 2020-06-01 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 提案消息处理方法、装置、设备以及存储介质 |
CN111639935A (zh) * | 2020-04-30 | 2020-09-08 | 南京理工大学 | 适用于可编辑区块链的账本修改方法 |
CN112187490A (zh) * | 2019-07-01 | 2021-01-05 | 深圳法大大网络科技有限公司 | 一种拜占庭容错共识方法及系统 |
CN112202933A (zh) * | 2020-12-08 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 区块链网络的信息处理方法、装置及节点设备 |
CN112669149A (zh) * | 2020-12-24 | 2021-04-16 | 杭州趣链科技有限公司 | 一种区块链的共识方法、装置、服务器及存储介质 |
CN112783976A (zh) * | 2021-01-05 | 2021-05-11 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识算法 |
CN112907369A (zh) * | 2021-02-08 | 2021-06-04 | 网易(杭州)网络有限公司 | 基于区块链的数据共识方法及装置、电子设备、存储介质 |
CN113347007A (zh) * | 2021-08-03 | 2021-09-03 | 南京金宁汇科技有限公司 | 一种可以对多个提案进行共识的共识方法 |
CN113596107A (zh) * | 2021-07-07 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据同步方法和装置 |
CN114036224A (zh) * | 2021-10-28 | 2022-02-11 | 东软集团股份有限公司 | 区块链信息治理方法、装置、存储介质及电子设备 |
CN114092093A (zh) * | 2022-01-20 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 区块链交易处理方法、装置、电子设备和可读介质 |
CN114297723A (zh) * | 2021-11-29 | 2022-04-08 | 之江实验室 | 一种支持计算验证并行化处理的共识方法及系统 |
CN114338673A (zh) * | 2021-12-30 | 2022-04-12 | 马上消费金融股份有限公司 | 一种交易数据处理方法、装置、设备、系统及存储介质 |
CN114584326A (zh) * | 2022-05-07 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 区块链数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10304143B2 (en) * | 2016-05-05 | 2019-05-28 | Lance Timothy Kasper | Consensus system for manipulation resistant digital record keeping |
CN107196900B (zh) * | 2017-03-24 | 2020-04-24 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
US11720913B2 (en) * | 2018-12-18 | 2023-08-08 | Rokfin, Inc. | Cryptographic-token minting scheduler |
CN112329051B (zh) * | 2020-10-23 | 2023-09-19 | 中国科学院数据与通信保护研究教育中心 | 一种安全高效的共识机制实现方法及系统 |
CN114785776A (zh) * | 2021-01-20 | 2022-07-22 | 银联国际有限公司 | 基于区块链的清算系统以及基于区块链的清算方法 |
CN115859343A (zh) * | 2021-09-24 | 2023-03-28 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置以及可读存储介质 |
CN114915404A (zh) * | 2022-05-13 | 2022-08-16 | 北京邮电大学 | 一种面向物联网的区块链数据存储扩展模型构建方法 |
-
2022
- 2022-09-13 CN CN202211108189.7A patent/CN115186035B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138596A (zh) * | 2019-04-13 | 2019-08-16 | 山东公链信息科技有限公司 | 一种基于切换网络拓扑方式的区块链共识方法 |
CN112187490A (zh) * | 2019-07-01 | 2021-01-05 | 深圳法大大网络科技有限公司 | 一种拜占庭容错共识方法及系统 |
CN111147261A (zh) * | 2019-12-31 | 2020-05-12 | 南京可信区块链与算法经济研究院有限公司 | 在区块链中使用HotStuff共识算法的方法及系统 |
CN111639935A (zh) * | 2020-04-30 | 2020-09-08 | 南京理工大学 | 适用于可编辑区块链的账本修改方法 |
CN111382456A (zh) * | 2020-06-01 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 提案消息处理方法、装置、设备以及存储介质 |
CN112202933A (zh) * | 2020-12-08 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 区块链网络的信息处理方法、装置及节点设备 |
CN112669149A (zh) * | 2020-12-24 | 2021-04-16 | 杭州趣链科技有限公司 | 一种区块链的共识方法、装置、服务器及存储介质 |
CN112783976A (zh) * | 2021-01-05 | 2021-05-11 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识算法 |
CN112907369A (zh) * | 2021-02-08 | 2021-06-04 | 网易(杭州)网络有限公司 | 基于区块链的数据共识方法及装置、电子设备、存储介质 |
CN113596107A (zh) * | 2021-07-07 | 2021-11-02 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据同步方法和装置 |
CN113347007A (zh) * | 2021-08-03 | 2021-09-03 | 南京金宁汇科技有限公司 | 一种可以对多个提案进行共识的共识方法 |
CN114036224A (zh) * | 2021-10-28 | 2022-02-11 | 东软集团股份有限公司 | 区块链信息治理方法、装置、存储介质及电子设备 |
CN114297723A (zh) * | 2021-11-29 | 2022-04-08 | 之江实验室 | 一种支持计算验证并行化处理的共识方法及系统 |
CN114338673A (zh) * | 2021-12-30 | 2022-04-12 | 马上消费金融股份有限公司 | 一种交易数据处理方法、装置、设备、系统及存储介质 |
CN114092093A (zh) * | 2022-01-20 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 区块链交易处理方法、装置、电子设备和可读介质 |
CN114584326A (zh) * | 2022-05-07 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 区块链数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
HIGH PERFORMANCE CONSENSUS WITHOUT DUPLICATION:MULTI-PIPELINE HOTSTUFF;Taining Cheng;《arXiv:2205.04179v4》;20220707;1-20 * |
区块链BFT共识算法研究进展;冯了了 等;《计算机科学》;20220403;第49卷(第04期);329-339 * |
Also Published As
Publication number | Publication date |
---|---|
CN115186035A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995850B (zh) | 一种区块链系统及区块链系统的交易处理方法 | |
US10671599B2 (en) | Consensus system and method | |
Stathakopoulou et al. | Mir-bft: High-throughput bft for blockchains | |
CN110648137B (zh) | 一种区块处理方法和节点以及系统 | |
AU2019203861B2 (en) | System and method for ending view change protocol | |
US11347598B2 (en) | Consensus system downtime recovery | |
CN109493050B (zh) | 基于区块链主链加并行多子链的转账方法 | |
AU2019203862B2 (en) | System and method for ending view change protocol | |
Mišić et al. | Adapting PBFT for use with blockchain-enabled IoT systems | |
CN113570466B (zh) | 一种交易数据处理方法、装置以及可读存储介质 | |
CN111159289B (zh) | 一种区块同步的方法及装置 | |
US10938750B2 (en) | Consensus system downtime recovery | |
CN111475576A (zh) | 基于区块链的分布式数据库存储方法及系统 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN113553375B (zh) | 一种面向图式区块链的分片存储装置及方法 | |
CN110874351A (zh) | 工作量证明协同工作方法、区块链节点及区块链系统 | |
CN113645278A (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN109697217B (zh) | 一种区块链事务处理方法 | |
CN115186035B (zh) | 一种区块处理方法、相关系统及存储介质和服务器 | |
CN114422331A (zh) | 容灾切换方法、装置及系统 | |
CN113157450A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN115499442B (zh) | 一种基于容器编排的快速部署型云计算架构 | |
Hood et al. | Partitionable asynchronous cryptocurrency blockchain | |
CN116846888A (zh) | 区块链网络的共识处理方法、装置、设备及存储介质 | |
Shahsavari et al. | Performance modeling and analysis of hotstuff for blockchain consensus |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40074515 Country of ref document: HK |