CN112929354B - 一种实用型拜占庭容错抗攻击死锁的方法及装置 - Google Patents
一种实用型拜占庭容错抗攻击死锁的方法及装置 Download PDFInfo
- Publication number
- CN112929354B CN112929354B CN202110124468.1A CN202110124468A CN112929354B CN 112929354 B CN112929354 B CN 112929354B CN 202110124468 A CN202110124468 A CN 202110124468A CN 112929354 B CN112929354 B CN 112929354B
- Authority
- CN
- China
- Prior art keywords
- view
- change
- consensus
- consensus node
- node
- 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
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明提供一种实用型拜占庭容错抗攻击死锁的方法和装置,其中方法具体包括以下特征,设置VIEW‑CHANGE重启定时器A,如果定时器A预定时间到期,同时当前VIEW‑CHANGE没有完成,则进入下一个VIEW‑CHANGE过程;设置循环定时器B,如果定时器B预定时间到期之前,需要再次启动本共识节点作为主共识节点的VIEW‑CHANGE,则启动抗攻击检测流程;监控所述抗攻击检测流程,当所述抗攻击检测流程达到可重新启动VIEW‑CHANGE的条件时,重新启动VIEW‑CHANGE;如果所述定时器B未到期,同时无需再次启动本共识节点作为主共识节点的VIEW‑CHANGE,则重置定时器B,并延长定时器B的预定时间。本申请能够尽快检测是否拥有足够有效的共识节点,及时重启VIEW‑CHANGE,推动共识系统恢复正常操作。
Description
技术领域
本发明涉及通信技术领域或者计算机技术领域,特别涉及区块链的共识技术,尤其是涉及在实用型拜占庭容错CHECKPOINT被攻击从而导致VIEW-CHANGE死锁的场景下,一种保持系统存活性的方法及装置。
背景技术
实用型拜占庭容错PBFT(Practical Byzantine Fault Tolerance)是目前常见的区块链共识技术,特别是近年来在超级账本的开源测试和使用环境中得到了广泛应用,并且常见于各种联盟区块链的共识系统中,其中,VIEW-CHANGE是在系统出现故障或者系统中共识节点出现故障的时候,为了保证共识系统存活性(Liveness)而设置的关键操作。目前,联盟区块链的容错性能不及全网区块链,属于半去中心化的区块链,同时VIEW-CHANGE又是联盟区块链的关键操作,因此,经常会出现针对VIEW-CHANGE过程的外部攻击,导致VIEW-CHANGE瘫痪,最常见的是直接控制各个共识节点,导致各共识节点在启动VIEW-CHANGE之后,不能顺利进入下一VIEW。近期,出现一种新的攻击方式,该方式采用关键词屏蔽的方式,导致网络中的特定报文不能顺利发送,从而造成VIEW-CHANGE的死锁。
目前在现有技术中的实用型拜占庭容错共识过程中,完整的共识过程需要经过三个阶段,即PRE-PREPARE阶段、PREPARE阶段、以及COMMIT阶段,如附图1所示,在三个阶段之前还包括请求接收、在三个阶段之后还包括执行回复。实用型拜占庭容错的共识系统主要包含了以下基本节点,包括客户端、主共识节点、副本共识节点,其中共识节点的数量至少为3f+1个,其中保证拜占庭节点的数量要少于等于f个。主共识节点和副本共识节点即为需要执行共识流程的共识节点,对于请求和消息进行复制操作;客户端,共识过程的发起方,向主共识节点发起请求,请求中包含了需要共识的交易信息,该节点有时在区块链中可以跟主共识节点是同一个节点;主共识节点,启动共识过程,从客户端收到请求后生成新区块并向各个共识节点广播;共识节点验证区块的过程,实际上是对主共识节点发送的请求进行验证,在收到请求后进行验证,然后向包括主共识节点在内的其他共识节点广播验证结果,执行共识过程。
VIEW-CHANGE是针对共识系统或共识节点的故障而设置的一种恢复性机制,在主共识节点或者每个共识节点在接收请求后,都会启动VIEW-CHANGE定时器,定时器预先设定一个定时期限,如果在预先设定的时间期限内,主共识节点或者每个共识节点不能完成COMMIT阶段,那么该共识节点开始向其他共识节点发送VIEW-CHANGE消息,此时启动VIEW-CHANGE流程。因此,VIEW-CHANGE过程是在共识系统不能完成正常共识流程的情况下,设置的一种防护措施,以接收请求消息为起点,以COMMIT正常完成为结束,如果期间的各阶段工作正常完成,那么视为一个完整的共识过程,如果不能如期完成一个完整的共识流程,整个共识系统将被引导进入VIEW-CHANGE阶段。
附图2是现有技术中VIEW-CHANGE的流程,主要分为三个阶段,第一阶段,各副本共识节点发现主共识节点出现宕机或断线,向共识系统中其他副本共识节点广播发送VIEW-CHANGE消息,确定下一个VIEW以及新的主共识节点,第二阶段,各副本共识节点接收其他副本共识节点广播发送的VIEW-CHANGE消息,在接收到一定数量的VIEW-CHANGE消息之后,此时共识系统对下一轮VIEW和新的主共识节点形成了共识,各副本共识节点向新的主共识节点发送ACK消息,表示同意在新VIEW中由新的主共识节点行使权力;第三阶段,新的主共识节点在接收到一定数量的ACK消息后,向各副本共识节点广播NEW-VIEW消息,并开始重新发送PRE-PREPARE消息。
然而,VIEW-CHANGE阶段不能顺利完成是常见情况,在VIEW-CHANGE阶段,共识节点或者是共识系统的网络可能会出现错误,主共识节点出现错误或者被攻击的可能性很大,现有技术针对主共识节点出现错误或者被攻击的情况,已经采取了一些针对策略,大都涉及在共识节点出现错误或者被攻击的时候保持系统存活性的方法。然而,近期出现了一种新的攻击方式,针对的是共识系统的网络通信线路,破坏性比较强,并且比较隐蔽,主要机理是在网络中获取传输函数的句柄,例如在传输线路上截取发送CHECKPOINT消息的函数sendCheckPoint()的句柄,并阻塞此类函数的运行,由于对于CHECKPOINT的STABLECHECKPOINT处理是除了共识过程之外,最为频繁的控制处理过程,同时STABLE CHECKPOINT也为更为核心的VIEW-POINT提供返回结果,因此,新出现的此类攻击实际上抑制了VIEW-CHANGE正常流程,造成VIEW-CHANGE死锁的情况,导致在出现需要VIEW-CHANGE的时候不能顺利完成,从而整个共识系统进入停滞状态,相关数据也不能完成上链操作。
附图3是在这种情况下,VIEW-CHANGE出现死锁的时序图。如前文讨论的情况,如果各个共识节点均出现了VIEW_CHANGE故障,导致各个共识节点均不能完成VIEW-CHANGE,也可能同样会出现这种时序图。近期出现的CHECKPOINT攻击,阻塞了SATBLE CHECKPOINT的正常操作,无法给VIEW-CHANGE提供STABLE CHECKPOINT的数据集合,因此各个共识节点不能启动VIEW-CHANGE,从附图2中可以看出,从共识节点1作为下一个VIEW的主节点开始,一旦出现需要VIEW-CHANGE的时候,共识节点1为了发送VIEW-CHANGE消息,收集当前的STABLECHECKPOINT集合、包含了PRE-PREPARED的Q集合、包含了PREPARED消息的P集合,然而,由于STABLE CHECKPOINT被阶段后阻塞,因此无法形成有效的STABLE CHECKPOINT集合,从而不能发送VIEW-CHANGE消息,当进入VIEW-CHANGE状态后,该共识节点仅接收和发送与VIEW-CHANGE相关的消息,因此其他共识节点也会陆续启动VIEW-CHANGE,当共识节点1不能顺利完成VIEW-CHANGE,共识节点2作为下一个VIEW的主节点,开始VIEW-CHANGE,然而,由于CHECKPOINT攻击,共识节点2也无法形成有效的STABLE CHECKPOINT集合,从而不能发送VIEW-CHANGE消息。以此类推,共识节点3、共识节点4同样不能发送VIEW-CHANGE消息,同样不能作为下一个VIEW的主节点完成VIEW-CHANGE。
由此可见,由于出现了专门拦截CHECKPOINT的攻击,一旦系统或者节点出现轻微故障而启动VIEW-CHANGE,则将会导致VIEW-CHANGE在所有的共识节点上周而复始地无限循环下去,而且目前没有跳出机制能够中断这种无限制的循环,无法及时恢复系统的共识机能,造成整个共识系统的死锁和瘫痪。
发明内容
为了解决背景技术中描述的技术问题,本发明实施例提供了一种实用型拜占庭容错抗攻击死锁的方法及装置。在共识节点中引入设置了循环定时器,该循环定时器专门针对由于受到攻击的导致的VIEW-CHANGE无限期循环,当循环定时器预定时间到达之后,对于当前网络环境进行抗攻击检测,查看是否还有足够有效的共识节点,当发现还有足够有效的共识节点,说明在当前条件下,整个共识系统能够完成VIEW-CHANGE,并且有足够有效的共识节点继续共识流程,在此基础上,为了避免再次发生VIEW-CHANGE的死锁故障,在重启过程中,采取规避CHECKPOINT关键字的处理方法,从而绕过了近期出现的专门针对CHECKPOINT的攻击模式,能够及时尽快地重启VIEW-CHANGE,推动整个共识系统恢复正常操作。
本申请实施例提供了一种实用型拜占庭容错抗攻击死锁的方法,、在共识节点上设置循环定时器B并启动循环定时器B;如果所述循环定时器B预定时间未到期,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程;监控所述抗攻击检测流程,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE;如果所述循环定时器B预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则重置所述循环定时器B,并延长所述循环定时器的预定时间。
进一步的,所述启动抗攻击检测流程具体为:当启动抗攻击检测流程后,启动抗攻击检测流程的共识节点采用广播模式向其他各个共识节点发送探测信号,探测信号携带本共识节点信息。
进一步的,所述探测信号的数据长度为比特级。
进一步的,所述监控所述抗攻击检测流程,在所述抗攻击检测流程达到可重新启动VIEW CHANGE的条件时,重新启动VIEW CHANGE,具体为:当任一共识节点接收到至少2/3个共识节点发来的探测信号,对该所述共识节点采取规避操作,并重新发起本节点上一个STABLE CHECKPOINT的STABLE CHECKPOINT的共识流程;当完成STABLE CHECKPOINT共识流程后,重新启动VIEW-CHANGE。
进一步的,所述规避操作具体为:采用可变名称的函数句柄,将调用函数改为函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
进一步的,所述规避操作具体为:获取网络报文,修改报文字段内容为非CHECKPOINT名称。
进一步的,所述当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号,该共识节点强制重新启动VIEW-CHANGE。
进一步的,所述当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:各共识节点持续接收探测信号,所述最小编号节点直接将已有的P集合和Q集合嵌入NEW-VIEW消息中,并将NEW-VIEW消息向全网其他共识节点广播发送。
本申请实施例还提供了一种实用型拜占庭容错抗攻击死锁的装置,包括:循环定时器操作模块:设置循环定时器并启动循环定时器;如果所述循环定时器预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则重置所述循环定时器,并延长所述循环定时器的预定时间;抗攻击死锁模块:如果所述循环定时器预定时间未到期,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程;监控所述抗攻击检测流程,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE。
进一步的,所述启动抗攻击检测流程包括:当启动抗攻击检测流程后,启动抗攻击检测流程的共识节点采用广播模式向其他各个共识节点发送探测信号,探测信号携带本共识节点信息。
进一步的,所述探测信号通过报文因特网探索器PING探测,采用因特网控制消息协议ICMP发送,其中所述探测信号的数据长度为比特级。
进一步的,所述抗攻击死锁模块进一步包括:规避操作子模块:当任一共识节点接收到至少2/3个共识节点发来的探测信号,该所述共识节点更改CHECKPOINT标识,并重新发起本节点上一个STABLE CHECKPOINT的STABLE CHECKPOINT的共识流程;当完成STABLECHECKPOINT共识流程后,重新启动VIEW-CHANGE,并在VIEW-CHANGE消息内更改CHECKPOINT标识。
进一步的,所述规避操作具体为采用可变名称的函数句柄,将调用函数更改为函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
进一步的,所述规避操作具体为修改相关的报文字段内容,设置为非CHECKPOINT名称。
进一步的,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号,该共识节点重新启动VIEW-CHANGE,并且其他共识节点在同样接收到除本共识节点以外的探测信号之后,以最小编号的共识节点作为下一个VIEW的主共识节点,重新启动VIEW-CHANGE。
进一步的,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,所述最小编号节点直接将已有的P集合和Q集合嵌入NEW-VIEW消息中,并将NEW-VIEW消息向全网其他共识节点广播发送。
在以上本发明实施例中,针对由于受到CHECKPOINT阻塞攻击而无限循环的VIEW-CHANGE,利用定时器创建了中断机制,使得在发现共识系统出现死锁故障的时候,能够及时跳出死循环,并且设置了规避攻击的方法,能够保证重启VIEW-CHANGE的同时不会再次陷入死锁的故障中,本发明实施例有效地保证了共识系统的存活性,能够持续执行共识过程和数据的上链操作。
附图说明
附图1显示了在现有技术中实用型拜占庭容错的流程。
附图2显示了在现有技术中VIEW-CHANGE的基本流程。
附图3显示了在出现CHECKPOINT攻击的时候各个共识节点启动VIEW-CHANGE的时序图。
附图4显示了本发明示例性的实施例一的步骤执行流程的示意图。
附图5显示了本发明示例性的实施例二的步骤执行流程的示意图。
附图6显示了本发明示例性的实施例三的结构图。
具体实施方式
本申请实施例提供了一种实用型拜占庭容错抗攻击死锁的方法及装置,引入了专门针对VIEW-CHANGE无限期循环的循环定时器,能够尽快查看共识系统是否拥有足够有效的共识节点,并且在重启过程中,采取规避CHECKPOINT关键字的处理方法,从而绕过了专门针对CHECKPOINT的攻击模式,能够及时尽快地重启VIEW-CHANGE,推动整个共识系统恢复正常操作。
本发明的摘要、说明书、权利要求书、附图中的术语等(如果存在)是用于区别类似的对象,而不必限定于各技术特征描述特定的顺序或先后次序。对于这样使用的技术特征,本领域技术人员应该能够理解在适当情况下可以互换,从而使得这里描述的实施例能够在本发明之外的图示或描述中按照一定顺序实施。此外,术语“包括”以及他们的任何变形,意图在于覆盖其他的实施例,而不必限于清楚地列出的那些步骤,而是可包括没有清楚地列出的或对于这些过程、方法、及其它步骤。
实施例一
以下内容将详细阐述本实施例提供了实用型拜占庭容错抗攻击死锁的一种示例性方法,参照附图4,具体相关步骤如下。
步骤S401:在共识节点上设置VIEW-CHANGE重启定时器A并启动VIEW-CHANGE重启定时器A;
本步骤为共识系统初始化阶段的相关操作。为了使得各个共识节点都具有故障恢复能力,该VIEW-CHANGE重启定时器应当设置在各个共识节点上,并且在启动VIEW-CHANGE的时候,启动该VIEW-CHANGE重启定时器。
如果所述VIEW-CHANGE重启定时器A预定时间到期,同时当前VIEW-CHANGE没有完成,则进入下一个VIEW-CHANGE过程,即当前作为当前VIEW的主共识节点无法完成VIEW-CHANGE,根据特定的计算法则得到下一个VIEW的主共识节点,并启动准备发送VIEW-CHANGE消息。
步骤S402:设置并启动循环定时器。当已经开始进入VIEW-CHANGE之后,为了保证在死锁的时候能够跳出死锁状态,本实施例设置了循环定时器B,并在当前共识节点进入VIEW-CHANGE的时候启动循环定时器B。
该循环定时器的初始值可以是经验值,考虑到单次成功的VIEW-CHANGE需要涉及2/3以上的节点进行相互通信,因此单次成功的VIEW-CHANGE可以作为循环定时器B的设定参考对象,基于以上考虑,在本发明实施例中,循环定时器B的预定时间长度TR可以由以下公式设定:
TB=TVC*(1+α)*N (1)
其中,TVC为单次成功的VIEW-CHANGE所耗费的时间长度,N为共识节点数量,α为经验系数,可由控制人员或开发人员根据经验进行调整。
如果在所述循环定时器B预定时间到期之前,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程。
如果所述循环定时器B预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则表明当前共识系统没有处于死锁状态,可能能够完成一次完整的VIEW-CHANGE。在这种情况下,重置所述循环定时器B,考虑到当前循环定时器的预定时间可能比较短,难以准确识别共识系统是否处于死锁状态,因此需要延长所述循环定时器的预定时间,延长的方式可以采用增加α系数的大小。
步骤S403:各个共识节点启动抗攻击检测流程。
在现有的区块链共识系统中,都存在着一定的容错占比,实用型拜占庭容错的容错占比为三分之一的共识节点,本步骤是用于判断可用的共识节点是否满足容错占比。
为了达到以上目的,启动抗攻击检测流程的共识节点向其他各个共识节点发送探测信号,同时为了统计可用的共识节点数量,探测信号应当携带本共识节点信息,并且采用共识系统中常见的广播模式发送。
由于区块链共识系统通常负荷都比较重,而且本发明实施例提出的探测信号属于额外的信道开销,因此,为了减轻共识系统的负荷,本发明实施例可以采用数据长度为比特级别的探测信号。在其他实施例中,进一步地,探测信号采用因特网控制消息协议ICMP发送,进一步地优选为报文因特网探索器PING。
步骤S404:各个共识节点监控抗攻击检测流程的探测情况。
本步骤主要查看是否还有足够有效的共识节点,当任一共识节点接收到至少2/3个共识节点发来的探测信号的时候,表明在当前条件下,共识系统拥有能够完成VIEW-CHANGE的有效共识节点,此时,可以重新启动VIEW-CHANGE。
步骤S405:对探测信号符合条件的共识节点采取规避操作。
根据实用型拜占庭容错的操作流程,在STABLE POINT共识过程以及VIEW-CHANGE过程会出现CHECKPOINT标识,本方案提供了两种规避操作。
由于现有的共识系统或者共识节点存在被攻击的情况,因此需要重新启动或者再次初始化共识系统或者共识节点,本方案采用可变名称的函数句柄,更改CHECKPOINT标识,一种规避操作是调用函数时调用函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
另外,还可以采用拦截的规避方式,获取即将发送的网络报文,对于其中涉及到CHECKPOINT的报文字段内容,进行相应的修改,例如,将该报文字段内容修改为非CHECKPOINT名称。
步骤S406:抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时重新启动VIEW-CHANGE。
为了能够重新启动VIEW-CHANGE,需要做相应的准备工作,最核心的是要制作一个VIEW-CHANGE消息,在该消息中,CHECKPOINT集合是用于其他共识节点验证是否正确的数据依据,由于当前CHECKPOINT已经被阻塞,因此上一个STABLE CHECKPOINT可能是一个不正确的CHECKPOINT,需要重新制作一个最新的STABLE CHECKPOINT。为了实现以上目的,该共识节点启动一个STABLE CHECKPOINT的共识流程作为准备工作,该STABLE CHECKPOINT可以优选为本节点的上一个STABLE CHECKPOINT的STABLE CHECKPOINT。
当完成STABLE CHECKPOINT共识流程后,重新启动VIEW-CHANGE。
实施例二
以下内容将详细阐述本实施例提供了实用型拜占庭容错抗攻击死锁的一种示例性方法,参照附图5,具体相关步骤如下。
步骤S501:设置VIEW-CHANGE重启定时器A并启动VIEW-CHANGE重启定时器A;
本步骤为共识系统初始化阶段的相关操作。为了使得各个共识节点都具有故障恢复能力,该VIEW-CHANGE重启定时器应当设置在各个共识节点上,并且在启动VIEW-CHANGE的时候,启动该VIEW-CHANGE重启定时器。
如果所述VIEW-CHANGE重启定时器A预定时间到期,同时当前VIEW-CHANGE没有完成,则进入下一个VIEW-CHANGE过程,即当前作为当前VIEW的主共识节点无法完成VIEW-CHANGE,根据特定的计算法则得到下一个VIEW的主共识节点,并启动准备发送VIEW-CHANGE消息。
步骤S502:当已经开始进入VIEW-CHANGE之后,为了保证在死锁的时候能够跳出死锁状态,设置并启动循环定时器。
本实施例设置了循环定时器B,并在当前共识节点进入VIEW-CHANGE的时候启动循环定时器B。
该循环定时器的初始值可以是经验值,考虑到单次成功的VIEW-CHANGE需要涉及2/3以上的节点进行相互通信,因此单次成功的VIEW-CHANGE可以作为循环定时器B的设定参考对象,基于以上考虑,在本发明实施例中,循环定时器B的预定时间长度TR可以由公式(1)设定。
如果所述循环定时器B预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则表明当前共识系统没有处于死锁状态,可能能够完成一次完整的VIEW-CHANGE。在这种情况下,重置所述循环定时器B,考虑到当前循环定时器的预定时间可能比较短,难以准确识别共识系统是否处于死锁状态,因此需要延长所述循环定时器的预定时间,延长的方式可以采用增加α系数的大小。
如果在所述循环定时器B预定时间到期之前,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程。
步骤S503:各个共识节点启动抗攻击检测流程。
在现有的区块链共识系统中,都存在着一定的容错占比,实用型拜占庭容错的容错占比为三分之一的共识节点,本步骤是用于判断可用的共识节点是否满足容错占比。
为了达到以上目的,启动抗攻击检测流程的共识节点向其他各个共识节点发送探测信号,同时为了统计可用的共识节点数量,探测信号应当携带本共识节点信息,并且采用共识系统中常见的广播模式发送。
由于区块链共识系统通常负荷都比较重,而且本发明实施例提出的探测信号属于额外的信道开销,因此,为了减轻共识系统的负荷,本发明实施例可以采用数据长度为比特级别的探测信号。在其他实施例中,进一步地,探测信号采用因特网控制消息协议ICMP发送,进一步地优选为报文因特网探索器PING。
步骤S504:各个共识节点监控抗攻击检测流程的探测情况。
本步骤主要查看是否还有足够有效的共识节点,然而,与实施例一不同的是,随着目前网络技术的发展,共识系统的网络状况通常都比较好,共识节点有可能接收到其他所有共识节点发来的探测信号。
步骤S505:对接收到的探测信号符合条件的共识节点采取规避操作。
为了规避针对阻塞CHECKPOINT的攻击,需要针对CHECKPOINT进行改动,根据实用型拜占庭容错的操作流程,在STABLE POINT共识过程以及VIEW-CHANGE过程会出现CHECKPOINT标识,本方案提供了如下规避操作:
由于现有的共识系统或者共识节点存在被攻击的情况,因此需要重新启动或者再次初始化共识系统或者共识节点,本方案采用可变名称的函数句柄,在更改CHECKPOINT标识时,调用函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
另外,还可以采用拦截的规避操作,获取即将发送的网络报文,对于其中涉及到CHECKPOINT的报文字段内容,进行相应的修改,例如,将该报文字段内容修改为非CHECKPOINT名称。
步骤S506:对接收到的探测信号符合条件的最小编号共识节点重新启动VIEW-CHANGE。
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,该最小编号共识节点重新启动VIEW-CHANGE。最小编号共识节点是整个共识系统开始运行的第一个主共识节点,此时,符合条件探测信号是指最小编号共识节点接收到其他所有共识节点发来的探测信号,这表明当前网络状态良好,同时又修改了CHECKPOINT标识,此时各个共识节点之间能够稳定传输收发数据。
为了快速启动整个系统的VIEW-CHANGE,需要一个触发第一个VIEW-CHANGE的操作,即便该第一个VIEW-CHANGE不能在重启定时器的预定时间内完成,也可以陆续触发下一个主共识节点的VIEW-CHANGE。
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号,该共识节点重新启动VIEW-CHANGE,并且其他共识节点在同样接收到除本共识节点以外的探测信号之后,以最小编号的共识节点作为下一个VIEW的主共识节点,重新启动VIEW-CHANGE。
当最小编号的共识节点收集到其他全部共识节点探测信号,并且尚未进入VIEW-CHANGE的时候,如果已经开始发起STABLE CHECKPOINT的共识流程,则中断该STABLECHECKPOINT共识流程,以已有的STABLE CHECKPOINT启动VIEW-CHANGE;如果尚未开始发起STABLE CHECKPOINT的共识流程,则绕过STABLE CHECKPOINT的共识流程,以已有的STABLECHECKPOINT启动VIEW-CHANGE流程。
所述强制VIEW-CHANGE流程,当前最小编号节点无需启动STABLE CHECKPOINT共识流程,无需启动VIEW-CHANGE流程,直接将已有的P集合和Q集合嵌入到NEW-VIEW消息中,并将NEW-VIEW消息向全网广播发送。
步骤S507:全网查杀病毒。
各个共识节点持续接收探测信号,当收集到其他全部节点探测信号时,表明虽然当前所有共识节点都处于网络通信畅通状态,但全网各节点已经被CHECKPOINT病毒攻击,启动全网查杀病毒操作。
实施例三
以下内容将详细阐述本实施例提供了实用型拜占庭容错抗攻击死锁的一种示例性装置,参照附图6,具体相关步骤如下:
共识系统初始化模块M601:用于设置VIEW-CHANGE重启定时器A并启动VIEW-CHANGE重启定时器A;为了使得各个共识节点都具有故障恢复能力,该VIEW-CHANGE重启定时器应当设置在各个共识节点上,并且在启动VIEW-CHANGE的时候,启动该VIEW-CHANGE重启定时器。
如果所述VIEW-CHANGE重启定时器A预定时间到期,同时当前VIEW-CHANGE没有完成,即当前作为当前VIEW的主共识节点无法完成VIEW-CHANGE,则进入下一个VIEW-CHANGE过程,根据特定的计算法则得到下一个VIEW的主共识节点,并启动准备发送VIEW-CHANGE消息。
循环定时器操作模块M602。当已经开始进入VIEW-CHANGE之后,为了保证在死锁的时候能够跳出死锁状态,本实施例设置了循环定时器B,并在当前共识节点进入VIEW-CHANGE的时候启动循环定时器B。
该循环定时器的初始值可以是经验值,考虑到单次成功的VIEW-CHANGE需要涉及2/3以上的节点进行相互通信,因此单次成功的VIEW-CHANGE可以作为循环定时器B的设定参考对象,基于以上考虑,在本发明实施例中,循环定时器B的预定时间长度TR可以由公式(1)设定。
如果在所述循环定时器B预定时间到期之前,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程。
如果所述循环定时器B预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则表明当前共识系统没有处于死锁状态,可能能够完成一次完整的VIEW-CHANGE。在这种情况下,重置所述循环定时器B,考虑到当前循环定时器的预定时间可能比较短,难以准确识别共识系统是否处于死锁状态,因此需要延长所述循环定时器的预定时间,延长的方式可以采用增加α系数的大小。
抗攻击死锁模块M603中包括探测信号发送子模块M6031、探测情况监控子M6032、规避操作子模块M6033和重启VIEW-CHANGE子模块M603。
探测信号发送子模块M6031:用于判断可用的共识节点是否满足容错占比。在现有的区块链共识系统中,都存在着一定的容错占比,实用型拜占庭容错的容错占比为三分之一的共识节点,本步骤是用于判断可用的共识节点是否满足容错占比。
为了达到以上目的,启动抗攻击检测流程的共识节点中的探测信号发送子模块M6031向其他各个共识节点发送探测信号,同时为了统计可用的共识节点数量,探测信号还携带有本共识节点信息,并且采用共识系统中常见的广播模式发送。
由于区块链共识系统通常负荷都比较重,而且本发明实施例提出的探测信号属于额外的信道开销,因此,为了减轻共识系统的负荷,本发明实施例可以采用数据长度为比特级别的探测信号。在其他实施例中,进一步地,探测信号采用因特网控制消息协议ICMP发送,进一步地优选为报文因特网探索器PING。
探测情况监控子模块M6032:用于各个共识节点监控抗攻击检测流程的探测情况。本步骤主要查看是否还有足够有效的共识节点,当任一共识节点接收到至少2/3个共识节点发来的探测信号的时候,表明在当前条件下,共识系统拥有能够完成VIEW-CHANGE的有效共识节点,此时,可以重新启动VIEW-CHANGE。
规避操作子模块M6033:用于在接收到探测信号符合条件的共识节点上采取规避操作。
为了规避针对阻塞CHECKPOINT的攻击,需要规避CHECKPOINT标识,根据实用型拜占庭容错的操作流程,在STABLE POINT共识过程以及VIEW-CHANGE过程会出现CHECKPOINT标识,因此本方案提供了两种规避操作。
由于现有的共识系统或者共识节点存在被攻击的情况,因此需要重新启动或者再次初始化共识系统或者共识节点,本方案采用可变名称的函数句柄,更改CHECKPOINT标识,一调用函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
另外,还可以采用拦截的规避方式,获取即将发送的网络报文,对于其中涉及到CHECKPOINT的报文字段内容,进行相应的修改,例如,将该报文字段内容修改为非CHECKPOINT名称。
重启VIEW-CHANGE子模块M6034:接收到探测信号符合条件的共识节点重新启动VIEW-CHANGE。
为了能够重新启动VIEW-CHANGE,需要做相应的准备工作,最核心的是要制作一个VIEW-CHANGE消息,在该消息中,CHECKPOINT集合是用于其他共识节点验证是否正确的数据依据,由于当前CHECKPOINT已经被阻塞,因此上一个STABLE CHECKPOINT可能是一个不正确的CHECKPOINT,需要重新制作一个最新的STABLE CHECKPOINT。为了实现以上目的,该共识节点启动一个STABLE CHECKPOINT的共识流程作为准备工作,该STABLE CHECKPOINT可以优选为在本节点上一个STABLE CHECKPOINT的STABLE CHECKPOINT。
当完成STABLE CHECKPOINT共识流程后,重新启动VIEW-CHANGE。
实施例四
以下内容将详细阐述本实施例提供了实用型拜占庭容错抗攻击死锁的一种示例性装置,具体相关步骤如下:
共识系统初始化模块M601:用于设置VIEW-CHANGE重启定时器A并启动VIEW-CHANGE重启定时器A;为了使得各个共识节点都具有故障恢复能力,该VIEW-CHANGE重启定时器应当设置在各个共识节点上,并且在启动VIEW-CHANGE的时候,启动该VIEW-CHANGE重启定时器。
如果所述VIEW-CHANGE重启定时器A预定时间到期,同时当前VIEW-CHANGE没有完成,即当前作为当前VIEW的主共识节点无法完成VIEW-CHANGE,则进入下一个VIEW-CHANGE过程,根据特定的计算法则得到下一个VIEW的主共识节点,并启动准备发送VIEW-CHANGE消息。
循环定时器操作模块M602。当已经开始进入VIEW-CHANGE之后,为了保证在死锁的时候能够跳出死锁状态,本实施例设置了循环定时器B,并在当前共识节点进入VIEW-CHANGE的时候启动循环定时器B。
该循环定时器的初始值可以是经验值,考虑到单次成功的VIEW-CHANGE需要涉及2/3以上的节点进行相互通信,因此单次成功的VIEW-CHANGE可以作为循环定时器B的设定参考对象,基于以上考虑,在本发明实施例中,循环定时器B的预定时间长度TB可以由公式(1)设定。
如果在所述循环定时器B预定时间到期之前,需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程。
如果所述循环定时器B预定时间未到期,同时无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则表明当前共识系统没有处于死锁状态,可能能够完成一次完整的VIEW-CHANGE。在这种情况下,重置所述循环定时器B,考虑到当前循环定时器的预定时间可能比较短,难以准确识别共识系统是否处于死锁状态,因此需要延长所述循环定时器的预定时间,延长的方式可以采用增加α系数的大小。
抗攻击死锁模块M603中包括探测信号发送子模块M6031、探测情况监控子M6032、规避操作子模块M6033和重启VIEW-CHANGE子模块M603。
探测信号发送子模块M6031:还用于探测最小编号共识节点是否接收到其他所有共识节点发来的探测信号。
为了达到以上目的,启动抗攻击检测流程的共识节点中的探测信号发送子模块M6031向其他各个共识节点发送探测信号,同时为了统计可用的共识节点数量,探测信号还携带有本共识节点信息,并且采用共识系统中常见的广播模式发送。
由于区块链共识系统通常负荷都比较重,本发明实施例提出的探测信号属于额外的信道开销,因此,为了减轻共识系统的负荷,本发明实施例可以采用数据长度为比特级别的探测信号。在其他实施例中,进一步地,探测信号采用因特网控制消息协议ICMP发送,进一步地优选为报文因特网探索器PING。
探测情况监控子模块M6032:用于监控最小编号共识节点抗攻击检测流程的探测情况。
规避操作子模块M6033:用于在接收到探测信号符合条件的共识节点上采取规避操作。
为了规避针对阻塞CHECKPOINT的攻击,需要规避CHECKPOINT标识,根据实用型拜占庭容错的操作流程,在STABLE POINT共识过程以及VIEW-CHANGE过程会出现CHECKPOINT标识,因此本方案提供了两种规避操作。
由于现有的共识系统或者共识节点存在被攻击的情况,因此需要重新启动或者再次初始化共识系统或者共识节点,本方案采用可变名称的函数句柄,更改CHECKPOINT标识,一调用函数名不包括CHECKPOINT的函数句柄,函数体保持不变。
另外,还可以采用拦截的规避方式,获取即将发送的网络报文,对于其中涉及到CHECKPOINT的报文字段内容,进行相应的修改,例如,将该报文字段内容修改为非CHECKPOINT名称
重启VIEW-CHANGE子模块M6034:用于接收到探测信号符合条件的最小共识节点重新启动VIEW-CHANGE。
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,该最小编号共识节点重新启动VIEW-CHANGE。并且其他共识节点在同样接收到除本共识节点以外的探测信号之后,以最小编号的共识节点作为下一个VIEW的主共识节点,重新启动VIEW-CHANGE。最小编号共识节点是整个共识系统开始运行的第一个主共识节点,此时,探测信号符合条件是指最小编号共识节点接收到其他所有共识节点发来的探测信号,这表明当前网络状态良好,同时又修改了CHECKPOINT标识,此时各个共识节点之间能够稳定传输收发数据。
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,当前最小编号节点无需启动STABLE CHECKPOINT共识流程,无需启动VIEW-CHANGE流程,直接将已有的P集合和Q集合嵌入到NEW-VIEW消息中,并将NEW-VIEW消息向全网广播发送。
全网查杀病毒模块:用于对全网各个节点进行病毒查杀。
各个共识节点持续接收探测信号,当收集到其他全部节点探测信号时,表明虽然当前所有共识节点都处于网络通信畅通状态,但全网各节点已经被CHECKPOINT病毒攻击,启动全网查杀病毒操作
本发明说明书提到的各实施例仅用以说明涉及的技术方案,而非对保护范围进行限制,尽管参照各实施例对本发明的技术方案进行了详细的说明,然而本领域技术人员应当理解,对于各实施例的技术方案仍然能够进一步修改、改进,或者对其中部分或者全部技术特征进行替换;而这些修改、改进或者替换,并不使其本质脱离了本发明意图保护的范围。
Claims (11)
1.一种实用型拜占庭容错抗攻击死锁的方法,其特征在于:
在共识节点上设置循环定时器,在当前共识节点进入VIEW-CHANGE时启动所述循环定时器;
如果所述循环定时器预定时间未到期,且无需再次启动该共识节点作为主共识节点的VIEW-CHANGE,则重置所述循环定时器,并延长所述循环定时器的预定时间;
如果所述循环定时器预定时间未到期,且需要再次启动该共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程;
监控所述抗攻击检测流程,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:
当任一共识节点接收到至少2/3个共识节点发来的探测信号时,对该所述共识节点采取规避操作,并重新发起基于本节点上一个STABLE CHECKPOINT的STABLE CHECKPOINT的共识流程;
当完成STABLE CHECKPOINT共识流程后,重新启动VIEW-CHANGE;
所述规避操作具体为:采用可变名称的函数句柄,将调用函数更改为函数名不包括CHECKPOINT的函数句柄,函数体保持不变,或者所述规避操作具体为:获取网络报文,修改报文字段内容为非CHECKPOINT名称。
2.如权利要求1所述的一种实用型拜占庭容错抗攻击死锁的方法,其特征在于,所述启动抗攻击检测流程具体为:
当启动抗攻击检测流程后,启动抗攻击检测流程的共识节点采用广播模式向其他各个共识节点发送探测信号,其中所述探测信号携带该共识节点信息。
3.如权利要求2所述的一种实用型拜占庭容错抗攻击死锁的方法,其特征在于,所述探测信号的数据长度为比特级。
4.如权利要求2所述的一种实用型拜占庭容错抗攻击死锁的方法,其特征在于,所述探测信号由ICMP协议发送。
5.如权利要求1所述的一种实用型拜占庭容错抗攻击死锁的方法,其特征在于,所述当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,该最小编号共识节点重新启动VIEW-CHANGE。
6.如权利要求1所述的一种实用型拜占庭容错抗攻击死锁的方法,其特征在于,所述当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号时,所述最小编号节点直接将已有的P集合和Q集合嵌入NEW-VIEW消息中,并将NEW-VIEW消息向全网其他共识节点广播发送。
7.一种实用型拜占庭容错抗攻击死锁的装置,其特征在于,其特征在于:
循环定时器操作模块:在共识节点上设置循环定时器并启动循环定时器,如果所述循环定时器预定时间未到期,且无需再次启动本共识节点作为主共识节点的VIEW-CHANGE,则重置所述循环定时器,并延长所述循环定时器的预定时间;
抗攻击死锁模块:如果所述循环定时器预定时间未到期,且需要再次启动本共识节点作为主共识节点的VIEW-CHANGE,则启动抗攻击检测流程;监控所述抗攻击检测流程,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,所述抗攻击死锁模块进一步包括:
规避操作子模块:当任一共识节点接收到至少2/3个共识节点发来的探测信号时,读该所述共识节点采取规避操作,并重新发起本节点上一个STABLE CHECKPOINT的STABLECHECKPOINT的共识流程;当完成STABLE CHECKPOINT共识流程后,重新启动VIEW-CHANGE;
所述规避操作具体为:采用可变名称的函数句柄,将调用函数更改为函数名不包括CHECKPOINT的函数句柄,函数体保持不变,或者所述规避操作具体为:获取网络报文,修改报文字段内容为非CHECKPOINT名称。
8.如权利要求7所述的一种实用型拜占庭容错抗攻击死锁的装置,其特征在于,所述启动抗攻击检测流程包括:
当启动抗攻击检测流程后,启动抗攻击检测流程的共识节点采用广播模式向其他各个共识节点发送探测信号,其中所述探测信号携带本共识节点信息。
9.如权利要求8所述的一种实用型拜占庭容错抗攻击死锁的装置,其特征在于,所述探测信号数据长度为比特级。
10.如权利要求7所述的一种实用型拜占庭容错抗攻击死锁的装置,其特征在于,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号,该最小编号共识节点重新启动VIEW-CHANGE。
11.如权利要求7所述的一种实用型拜占庭容错抗攻击死锁的装置,所述其特征在于,当所述抗攻击检测流程达到可重新启动VIEW-CHANGE的条件时,重新启动VIEW-CHANGE,具体为:
各共识节点持续接收探测信号,当最小编号的共识节点收集到其他全部共识节点探测信号,所述最小编号节点直接将已有的P集合和Q集合嵌入NEW-VIEW消息中,并将NEW-VIEW消息向全网其他共识节点广播发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110124468.1A CN112929354B (zh) | 2021-01-28 | 2021-01-28 | 一种实用型拜占庭容错抗攻击死锁的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110124468.1A CN112929354B (zh) | 2021-01-28 | 2021-01-28 | 一种实用型拜占庭容错抗攻击死锁的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112929354A CN112929354A (zh) | 2021-06-08 |
CN112929354B true CN112929354B (zh) | 2022-04-08 |
Family
ID=76168449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110124468.1A Active CN112929354B (zh) | 2021-01-28 | 2021-01-28 | 一种实用型拜占庭容错抗攻击死锁的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112929354B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671821B1 (en) * | 1999-11-22 | 2003-12-30 | Massachusetts Institute Of Technology | Byzantine fault tolerance |
CN110289966A (zh) * | 2019-06-19 | 2019-09-27 | 西南交通大学 | 基于拜占庭容错的抗自适应攻击联盟链共识方法 |
CN111130879A (zh) * | 2019-12-24 | 2020-05-08 | 杭州趣链科技有限公司 | 一种基于pbft算法的集群异常恢复方法 |
CN112068978A (zh) * | 2020-08-27 | 2020-12-11 | 恒宝股份有限公司 | View-change二次启动定时器的定时期限延长方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110875893B (zh) * | 2018-08-29 | 2022-03-08 | 深圳启元信息服务有限公司 | 共识验证方法、校验节点及区块链系统 |
CN109600323B (zh) * | 2018-11-12 | 2021-10-01 | 中山大学 | 一种拜占庭共识机制 |
CN111478795B (zh) * | 2020-03-06 | 2022-08-12 | 重庆邮电大学 | 一种基于混合拜占庭容错的联盟区块链网络共识方法 |
CN111526218B (zh) * | 2020-07-03 | 2020-09-22 | 支付宝(杭州)信息技术有限公司 | 联盟链中的共识方法和系统 |
-
2021
- 2021-01-28 CN CN202110124468.1A patent/CN112929354B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671821B1 (en) * | 1999-11-22 | 2003-12-30 | Massachusetts Institute Of Technology | Byzantine fault tolerance |
CN110289966A (zh) * | 2019-06-19 | 2019-09-27 | 西南交通大学 | 基于拜占庭容错的抗自适应攻击联盟链共识方法 |
CN111130879A (zh) * | 2019-12-24 | 2020-05-08 | 杭州趣链科技有限公司 | 一种基于pbft算法的集群异常恢复方法 |
CN112068978A (zh) * | 2020-08-27 | 2020-12-11 | 恒宝股份有限公司 | View-change二次启动定时器的定时期限延长方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112929354A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6363495B1 (en) | Method and apparatus for partition resolution in clustered computer systems | |
CN106533805B (zh) | 一种微服务请求处理方法、微服务控制器及微服务架构 | |
KR101419579B1 (ko) | 서버 고장 상황에서 클라이언트 어플리케이션의 더 빠른 복구를 가능하게 하는 방법 | |
CN111130879B (zh) | 一种基于pbft算法的集群异常恢复方法 | |
CN101980171B (zh) | 一种软件系统故障自恢复方法及其使用的软件看门狗系统 | |
CN112702202B (zh) | 电表通信链路故障恢复方法、装置和计算机设备 | |
CN112463318B (zh) | 一种定时任务处理方法、装置及系统 | |
Sergent et al. | Impact of a failure detection mechanism on the performance of consensus | |
US10623166B2 (en) | Systems and methods for improved uptime for network devices | |
US20110225230A1 (en) | Method and apparatus for detecting active and orphan session-based connections | |
CN112929354B (zh) | 一种实用型拜占庭容错抗攻击死锁的方法及装置 | |
CN112068978B (zh) | View-change二次启动定时器的定时期限延长方法及装置 | |
Ficco | Achieving Security by Intrusion-Tolerance Based on Event Correlation. | |
CN114398223A (zh) | 网络服务器集群可用性监测方法及系统 | |
CN105187359A (zh) | 检测攻击客户端的方法和装置 | |
CN111712801A (zh) | 具有联网功能的设备 | |
Fernandez | Injecting faults in byzantine fault tolerant protocols | |
Duan et al. | Cost sensitive moving target consensus | |
CN114257498A (zh) | 通信系统、用于检测通信系统冗余失效的方法及装置 | |
CN114143127B (zh) | 数据广播方法、装置和电子设备 | |
CN114466074B (zh) | 一种基于wmi的攻击行为检测方法及装置 | |
Rong et al. | Combft: Conflicting-order-match based byzantine fault tolerance protocol with high efficiency and robustness | |
JP2002314556A (ja) | 車両制御システム | |
US8599679B1 (en) | Fast link down | |
US20240205139A1 (en) | Communication system and communication control method |
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 |