CN111526045A - 一种针对区块链的故障处理方法及系统 - Google Patents
一种针对区块链的故障处理方法及系统 Download PDFInfo
- Publication number
- CN111526045A CN111526045A CN202010288647.4A CN202010288647A CN111526045A CN 111526045 A CN111526045 A CN 111526045A CN 202010288647 A CN202010288647 A CN 202010288647A CN 111526045 A CN111526045 A CN 111526045A
- Authority
- CN
- China
- Prior art keywords
- block
- verification
- node
- time
- target
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种针对区块链的故障处理方法及系统,依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;获取验证节点上的第一区块出块后到接收到新的区块的第一时间;若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;通过所述目标区块代替所述区块链的故障区块进行出块。通过验证节点确定目标区块,由目标区块代替故障区块进行出块,并且实现故障重启过程,保证了区块链的活性和安全性。
Description
本申请要求于2020年3月25日提交中国专利局、申请号为202010217508.2、发明名称为“一种针对区块链的故障处理方法及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及区块链技术领域,特别是涉及一种针对区块链的故障处理方法及系统。
背景技术
目前的区块链项目中,常用的共识机制为工作量证明机制(Proof of Work,PoW)与股权证明机制(Proof of Stake,PoS)以及股权授权证明机制(Delegate Proof ofWork,DPoS)。作为一个分布式项目,这几种共识机制都存在的问题是,如何应对出块节点并不出块的情况。面对这个问题,共识机制可以分成两大类,第一类是指定某个块的出块节点,第二类是不指定某个块的出块节点,其中,指定是指对于未来的某个块,预先通过一系列的算法指定了这个块的出块节点。
所有的工作量证明机制与部分股权证明机制均是不指定出块节点的共识算法。在这样的算法框架下,如果一个在算力上最有优势的节点由于宕机、网络故障等原因导致不能出块,那么其他节点马上就会抢先出块。对于一部分股权证明机制与全部的股权授权证明机制,都在某个块出块之前指定了出块节点。该指定是通过一定的算法随机产生的。比如在股权证明机制中,拥有越多股权的节点,将有越高的概率被确定为称为某个未来块的出块节点。当这个指定的出块节点发生了意外导致不能出块,则可以通过以下方式进行恢复:第一种是采用盲等的方式,直至该出块节点恢复正常;第二种是跳过该区块,让下一个出块节点出块。但是第一种方式在实际应用中可行性较差,会导致整个区块链失去响应。第二种跳过这个出块节点便是绝大多数股权授权证明机制所采用的办法。
这种跳过故障出块节点的方法,需要一个计时器来完成。当计时器提示超时的时候,下一个节点才能出块,并跳过这个故障节点。那么如何设计这个计时器将是这种类型的区块链都必须面对的问题。同时,由于下一个块的块高已经指定,这个本来由故障出块节点负责的块必将是一个空块。那么这个空块如何验证,又有谁来出代替这个空块也是一个需要解决的问题。若上述问题无法解决则无法保证区块链的活性与安全性。
发明内容
针对于上述问题,本发明提供一种针对区块链的故障处理方法及系统,实现了保证区块链的活性与安全性的目的。
为了实现上述目的,本发明提供了如下技术方案:
一种针对区块链的故障处理方法,所述方法包括:
依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;
获取验证节点上的第一区块出块后到接收到新的区块的第一时间;
若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;
通过所述目标区块代替所述区块链的故障区块进行出块。
可选地,所述方法还包括:确定目标区块的区块结构,包括:
基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
可选地,所述方法还包括:对所述目标区块进行共识验证,包括:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
可选地,所述方法还包括:通过所述目标区块对所述区块链的故障进行重启,包括:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
可选地,所述方法还包括:
利用验证节点对时间戳、出块节点信息、验证节点信息和交易信息进行填写。
一种针对区块链的故障处理系统,所述系统包括:
确定单元,用于依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;
获取单元,用于获取验证节点上的第一区块出块后到接收到新的区块的第一时间;
广播单元,用于若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;
出块单元,用于通过所述目标区块代替所述区块链的故障区块进行出块。
可选地,所述系统还包括:结构确定单元,用于确定目标区块的区块结构,所述结构确定单元包括:
时间戳确定子单元,用于基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
信息确定子单元,用于确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
可选地,所述系统还包括:验证单元,用于对所述目标区块进行共识验证,所述验证单元具体用于:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
可选地,所述系统还包括:重启单元,用于通过所述目标区块对所述区块链的故障进行重启,所述重启单元具体用于:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
可选地,所述系统还包括:
填写单元,用于利用验证节点对时间戳、出块节点信息、验证节点信息和交易信息进行填写。
相较于现有技术,本发明提供了一种针对区块链的故障处理方法及系统,依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;获取验证节点上的第一区块出块后到接收到新的区块的第一时间;若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;通过所述目标区块代替所述区块链的故障区块进行出块。通过验证节点确定目标区块,由目标区块代替故障区块进行出块,并且实现故障重启过程,保证了区块链的活性和安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种针对区块链的故障处理方法的流程示意图;
图2为本发明实施例提供的一种针对区块链的故障处理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在本发明实施例中提供了一种针对区块链的故障处理方法,该方法实现一种基于“弹劾”区块链容错与故障恢复机制。区块链上每个区块有且仅有一个节点可以进行出块。在某些共识机制,比如股权证明(PoS)或者拜占庭容错(BFT)中,出块节点是根据一定的随机算法与随机数预先指定的。然而这个指定的节点,在轮到其出块的时候可能会出现意外导致不嫩出块,这时需要一种容错机制来应对这种情况。另外,当整个区块链停止之后,需要一个故障恢复机制来重启整个系统。因此,在本发明实施例中提出一种基于“弹劾”的区块链容错与故障恢复机制,从而让其他节点完成替代问题的出块节点履行出块义务,保证了区块链的活性与安全性。参见图1,该方法包括:
S101、依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数。
S102、获取验证节点上的第一区块出块后到接收到新的区块的第一时间。
S103、若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块。
由于通常所有指定未来区块出块节点的算法,都具有一个特点:即每个区块之间相隔固定时间。比如CPChain中每个正常区块就相隔10秒钟。因此对验证节点的时钟参数进行确定时,需要注意:
出块节点的延时、验证节点共识本身所要的时间、不同的验证节点之间的时钟差、验证节点本身掉线而并非出块节点网络故障的可能性。
以CPChain这样间隔10秒钟的区块链为例,若将目标区块(对应“弹劾机制中”的“弹劾块”)的超时时钟设置在10秒钟,假设验证节点在第9秒钟收到块,由于这还没有超时,验证节点必须正常验证。但是验证过程本身是消耗计算与带宽的,一旦超过1秒,总的时间就超过了10秒,也就打破了10秒钟一个正常块本身的规定。因此需要设计一个更合理的时钟参数,如5秒钟,即一个区块相隔时间的一半。当某个验证节点上一个块出块之后5秒钟内没有收到新的块,它就认为这个出块节点故障,从而进入到对应的验证流程(在本申请实施例中也称为“弹劾流程”)。此时验证节点并不一定广播该目标区块。这是由于这个验证节点可能是自己掉线,虽然这个验证节点自己已经进入弹劾阶段,但是如果其他的验证节点数量足够,已经通过了这个区块,那么这个验证节点也应当验证通过这个区块以保证所有节点上的一致性,即共识。具体的若时钟参数为5秒。5秒的时刻,时钟表示超时,进入到弹劾阶段;5到10秒钟内,不再接受出块节点的消息,但是能够接受其他验证节点验证通过的区块。10秒钟之后,开始广播目标区块。
S104、通过所述目标区块代替所述区块链的故障区块进行出块。
在本发明实施例中还提供了确定目标区块的区块结构的方法,包括:
基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
其中,目标区块本身即一个区块链中,一个默认的区块结构。当出块节点发生故障,需要一个默认的区块来填补这个空缺。对于任何一种区块链,每一个合法区块都应该包括的区块结构为:时间戳(即这个区块产生的时间)、出块节点的签名、验证节点的签名和交易信息。
对应的,时间戳、出块节点签名与交易信息是由出块节点填写,验证节点签名是由验证节点填写。目标区块由于出块节点故障,使得上述信息由验证节点进行填写。其中填写方法如下:
时间戳:上一个块的时间戳+两个块之间的间隔+时钟超时的阈值;
出块节点签名:空;
验证节点签名:自己的签名;
交易信息:空,或者对出块节点进行惩罚。
其中,时间戳这项,以CPChain为例,即在上一个块的时间戳上增加10+10=20秒的时间。可见一个弹劾块的耗时是超过一个普通块的。
在本发明实施例中还包括对目标区块进行共识验证,即对弹劾块进行共识。该过程包括:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
在传统的PBFT或者其他拜占庭容错算法中,一个消息得到验证需要满足一个“法定人数”(quorum),这个数字一般被设定为2f+1。其中f表示能够允许的最大作恶验证节点,而3f+1是验证节点的总数。也就是说,当约有三分之二的验证节点验证同意这个块,我们就能说这个块被验证通过了。但是对于弹劾块而言,这个数字是太大的。因为传统的PBFT算法中的前提假设是允许最多f个验证节点作恶的同时,允许f个验证节点掉线。如果我们考虑最坏情况,即f个忠诚(即不作恶)验证节点掉线的同时,另外f个验证节点作恶坚决不弹劾,那么剩下的只有f+1个验证节点能够正常的进行弹劾工作。所以我们只需要f+1个验证节点同意弹劾,我们就通过这个弹劾块。这个数量f+1在PBFT算法中也被称为“弱法定人数”(weak quorum)。相对应的,2f+1数量的也被称作“强法定人数”(strong quorum)。
同时f+1个验证节点也能够保证弹劾机制不会被作恶节点滥用。即使所有f个作恶的验证节点全部选择弹劾,但是如果没有一个忠诚的验证节点同意弹劾,那么将不足以凑足f+1的数量。
在本发明实施例中该方法还包括:通过所述目标区块对所述区块链的故障进行重启,包括:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
当所有的验证节点全部宕机的时候,可以通过弹劾机制完成对区块链的故障重启。为了能够确定出故障重启的时间,只有在预设条件下,才能保证故障重启能够完整运行。具体的预设条件可以包括:
所有的2f+1个忠诚的验证节点的时钟相差不超过T;
验证节点之间的最大延时不超过T/2;
所有的验证节点之间会在相差不超过T/2的时间内重启。
其中,T是一个阈值,所有的验证节点在宕机之前都是保持高密度通讯并实时联网校正时钟的。所有的验证节点在重启之后,根据自己的本地时间t,创建两个目标区块,其中一个时间戳ts1=(t/(2*T)+1)*2*T,另一个时间戳ts2=ts1+2*T。注意的是,为了便于处理和运算,t与T均为整数,除法运算会舍去所有的小数部分。可以看出,由于除法运算会舍去小数部分,每个验证节点能够算出的ts1与ts2不再是任意可能的整数,而是集合TS={t|t=2k×T,k为自然数}中的元素。当验证节点还并没有达成的共识的时候,它会在ts1时间广播其中一个弹劾块,在ts2广播另外一个。
由于上述的三个条件,所有忠诚的验证节点之中,只会产生出三种可能的时间戳,即:
TS1=(tmin/(2*T)+1)*2*T,TS2=TS1+2*T,TS3=TS1+4*T
这里的tmin表示所有的验证节点中时间戳数字最小的值。那么必然,整个区块链将在会TS1,TS2或者TS3达成一个弹劾块共识。一旦某个弹劾块的共识达成之后,整条链也就正常重启了,将能接受正常的块。
关于T的取值,一般而言1分钟已经非常足够了。CPChain就采用了1分钟。也就是说,假设CPChain的所有验证节点宕机,那么CPChain也能在4分钟之内完成故障恢复并重启。
对应的,在本发明实施例中结合了拜占庭容错算法和区块链共识算法,设计了一种可用于股权证明机制与股权授权证明制的容错方法—“弹劾”机制。并且利用弹劾机制,设计了用于的故障恢复的方法。
弹劾机制是基于拜占庭容错算法(如PBFT)上的改进,核心在于所有的验证节点共同出一个弹劾块以替代故障的出块节点。在PBFT算法或者其他的经典拜占庭容错算法中,验证节点(PBFT中称为replica,即拷贝)中的首领(PBFT中称为primary)负责接收一个出块节点(PBFT中称为client,即客户)发出的区块(PBFT中称为request,即请求)。
如果这个首领节点发生故障,PBFT中采取的方法称之为“视图变换”(viewchange),即放弃这个首领,直接更换下一个首领。将这个方法运用在区块链中,即“弹劾”。每一个验证节点各自维护一个时钟,用于及时从上一个正常块到现在的时间。如果这些验证节点的时钟超时,就会广播一个弹劾块。这个弹劾块在所有的正常工作的验证节点中都具有相同的结构与内容。其内容可以不仅仅是一个单纯的空块,还可以包括对故障节点的惩罚。当有这些广播弹劾块的验证节点达到一定的数量,这些验证节点就形成了一个弹劾共识,从而出一个弹劾块到区块链上,并成功跳过了故障的出块节点。
而对于故障恢复,假设所有的验证节点全部宕机(即最坏情况)。在这个情况下,所有的块都不能得到验证,可以说整条链已经完全停止,需要重启验证节点。此时,将不能依赖于出块节点制造重启后的第一个块,而且需要重启的验证节点互相统一时间戳,达成共识从而出重启后的第一个块。这个块由于没有出块节点的参与,必然是一个弹劾块。对此设计了若干个弹劾块,各自相隔一定的时间戳,从而保证验证节点必然能够对其中某一个弹劾块达成共识,统一时间戳,并进而完成整条区块链的故障恢复。
在本发明实施例还提供了一种针对区块链故障处理系统,参见图2,该系统包括:
确定单元10,用于依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;
获取单元20,用于获取验证节点上的第一区块出块后到接收到新的区块的第一时间;
广播单元30,用于若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;
出块单元40,用于通过所述目标区块代替所述区块链的故障区块进行出块。
在上述实施例的基础上,所述系统还包括:结构确定单元,用于确定目标区块的区块结构,所述结构确定单元包括:
时间戳确定子单元,用于基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
信息确定子单元,用于确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
在上述实施例的基础上,所述系统还包括:验证单元,用于对所述目标区块进行共识验证,所述验证单元具体用于:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
在上述实施例的基础上,所述系统还包括:重启单元,用于通过所述目标区块对所述区块链的故障进行重启,所述重启单元具体用于:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
在上述实施例的基础上,所述系统还包括:
填写单元,用于利用验证节点对时间戳、出块节点信息、验证节点信息和交易信息进行填写。
本发明提供了一种区块针对链的故障处理系统,依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;获取验证节点上的第一区块出块后到接收到新的区块的第一时间;若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;通过所述目标区块代替所述区块链的故障区块进行出块。通过验证节点确定目标区块,由目标区块代替故障区块进行出块,并且实现故障重启过程,保证了区块链的活性和安全性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种针对区块链的故障处理方法,其特征在于,所述方法包括:
依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;
获取验证节点上的第一区块出块后到接收到新的区块的第一时间;
若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;
通过所述目标区块代替所述区块链的故障区块进行出块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定目标区块的区块结构,包括:
基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述目标区块进行共识验证,包括:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述目标区块对所述区块链的故障进行重启,包括:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
利用验证节点对时间戳、出块节点信息、验证节点信息和交易信息进行填写。
6.一种针对区块链的故障处理系统,其特征在于,所述系统包括:
确定单元,用于依据区块链的区块之间的间隔时间,确定区块链的验证节点的时钟参数;
获取单元,用于获取验证节点上的第一区块出块后到接收到新的区块的第一时间;
广播单元,用于若所述第一时间大于所述时钟参数,向所述区块链广播目标区块,其中,所述目标区块表征所述区块链的验证节点确定的区块;
出块单元,用于通过所述目标区块代替所述区块链的故障区块进行出块。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:结构确定单元,用于确定目标区块的区块结构,所述结构确定单元包括:
时间戳确定子单元,用于基于所述时钟参数、所述区块之间的间隔时间以及与所述目标区块对应的上一区块的时间戳,确定所述目标区块的时间戳;
信息确定子单元,用于确定所述目标区块的签名信息和交易信息,所述签名信息包括出块节点的签名和验证节点的签名。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:验证单元,用于对所述目标区块进行共识验证,所述验证单元具体用于:
若预设数量值的所有验证节点通过对所述目标区块的验证,确定所述目标区块共识验证通过。
9.根据权利要求6所述的系统,其特征在于,所述系统还包括:重启单元,用于通过所述目标区块对所述区块链的故障进行重启,所述重启单元具体用于:
判断所述验证节点是否满足预设条件,如果是,通过所述目标区块对所述区块链的故障进行重启,其中,所述预设条件包括验证节点的时钟参数相差时间条件、验证节点之间的最大延时条件和重启时间条件。
10.根据权利要求2所述的方法,其特征在于,所述系统还包括:
填写单元,用于利用验证节点对时间戳、出块节点信息、验证节点信息和交易信息进行填写。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020102175082 | 2020-03-25 | ||
CN202010217508 | 2020-03-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526045A true CN111526045A (zh) | 2020-08-11 |
CN111526045B CN111526045B (zh) | 2023-05-02 |
Family
ID=71902197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010288647.4A Active CN111526045B (zh) | 2020-03-25 | 2020-04-14 | 一种针对区块链的故障处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526045B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804333A (zh) * | 2021-01-15 | 2021-05-14 | 北京百度网讯科技有限公司 | 出块节点的异常处理方法、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109064328A (zh) * | 2018-07-09 | 2018-12-21 | 夸克链科技(深圳)有限公司 | 一种新型区块链的构造及其共识算法 |
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
CN109543075A (zh) * | 2018-11-14 | 2019-03-29 | 全链通有限公司 | 区块生成方法和系统 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
US20190356469A1 (en) * | 2018-05-16 | 2019-11-21 | International Business Machines Corporation | Identifying faults in a blockchain ordering service |
CN110875893A (zh) * | 2018-08-29 | 2020-03-10 | 深圳启元信息服务有限公司 | 共识验证方法、校验节点及区块链系统 |
-
2020
- 2020-04-14 CN CN202010288647.4A patent/CN111526045B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190356469A1 (en) * | 2018-05-16 | 2019-11-21 | International Business Machines Corporation | Identifying faults in a blockchain ordering service |
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
CN109064328A (zh) * | 2018-07-09 | 2018-12-21 | 夸克链科技(深圳)有限公司 | 一种新型区块链的构造及其共识算法 |
CN110875893A (zh) * | 2018-08-29 | 2020-03-10 | 深圳启元信息服务有限公司 | 共识验证方法、校验节点及区块链系统 |
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
CN109543075A (zh) * | 2018-11-14 | 2019-03-29 | 全链通有限公司 | 区块生成方法和系统 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112804333A (zh) * | 2021-01-15 | 2021-05-14 | 北京百度网讯科技有限公司 | 出块节点的异常处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111526045B (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0135764B1 (en) | Synchronization of clocks in a distributed computing network | |
US20210256007A1 (en) | Blockchain system and blockchain transaction data processing method based on ethereum | |
CN111355810A (zh) | 一种基于信誉与投票机制的改进pbft共识方法 | |
CN111475576B (zh) | 基于区块链的分布式数据库存储方法及系统 | |
CN111342971B (zh) | 一种拜占庭共识方法和系统 | |
US20240121121A1 (en) | Registration and Execution Methods, Apparatuses and System of Timed Smart Contract in Blockchain | |
US20050089131A1 (en) | Byzantine fault quantifying clock synchronization | |
US6801951B1 (en) | System and method for fault-tolerant clock synchronization using interactive convergence | |
CN114338040B (zh) | 一种区块链节点的分组多链三次共识方法 | |
He et al. | An improvement of consensus fault tolerant algorithm applied to alliance chain | |
CN111212129A (zh) | 一种基于边车模式的容器应用高可用方法、装置以及设备 | |
CN114218612A (zh) | 一种适用于联盟链高频交易场景的共识方法 | |
CN114936253A (zh) | 区块链的共识方法及装置、电子设备、存储介质 | |
CN112714177A (zh) | 一种具有线性消息复杂度的pbft改进算法 | |
CN111526045A (zh) | 一种针对区块链的故障处理方法及系统 | |
US20100019811A1 (en) | Self-Stabilizing Byzantine-Fault-Tolerant Clock Synchronization System and Method | |
CN115622713A (zh) | 共识方法、装置、终端及存储介质 | |
CN113852691A (zh) | 一种区块链的共识方法、共识节点及电子设备 | |
KR102285882B1 (ko) | 가변 정족수 기반의 블록체인 합의 방법, 이를 이용하는 블록체인 노드 및 프로그램 | |
Li et al. | Quorum subsumption for heterogeneous quorum systems | |
CN111654393B (zh) | 区块链组网方法及系统 | |
Stewart | Poster: Grandpa finality gadget | |
D'Amato et al. | Improving asynchrony resilience in dynamically available total-order broadcast protocols | |
Benedetti et al. | Certified Byzantine Consensus with Confidential Quorum for a Bitcoin-derived Permissioned DLT | |
JP4956603B2 (ja) | 分散システムおよび論理時間調整方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210726 Address after: 200241 Building 2, 889 Qishen Road, Minhang District, Shanghai Applicant after: Shenshang information technology (Shanghai) Co.,Ltd. Address before: 200241 301B, building 4, Zizhu Science Park, No. 555, Dongchuan Road, Minhang District, Shanghai Applicant before: SHANGHAI WURONG INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |