CN111917774A - 用于区块链的防攻击方法、装置、电子设备及介质 - Google Patents
用于区块链的防攻击方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN111917774A CN111917774A CN202010760937.4A CN202010760937A CN111917774A CN 111917774 A CN111917774 A CN 111917774A CN 202010760937 A CN202010760937 A CN 202010760937A CN 111917774 A CN111917774 A CN 111917774A
- Authority
- CN
- China
- Prior art keywords
- node
- block
- suspicious
- forwarding
- physical address
- 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
- 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
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本案涉及区块链技术,提供一种用于区块链的防攻击方法、装置、电子设备及介质。所述方法包括:在接收到第一节点发送的区块后,判断第一节点的物理地址是否在公开的可疑节点列表中,该可疑节点列表中记录有可疑节点的物理地址,可疑节点是根据区块链中每个节点的区块转发行为确定的。若第一节点的物理地址在可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点。本方案中,根据区块链中每个节点的区块转发行为确定了攻击区块链的可疑节点,进一步阻止了可疑节点转发攻击者的区块,从而能够抵御公共区块链中的女巫攻击,同时提高区块链的吞吐量。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种用于区块链的防攻击方法及装置、一种电子设备以及一种计算机可读存储介质。
背景技术
女巫攻击是在网络中常见的一种攻击形式,攻击者利用单个节点来伪造多个身份,从而达到削弱网络的冗余性,降低网络健壮性,监视或干扰网络正常活动等目的。
公共区块链中的女巫攻击会造成严重影响,并可能导致其他几种攻击,如DoS、DDoS、采矿池攻击等。具体来说,攻击者试图通过生成和控制多个在区块链网络中被认为是真实身份的节点来愚弄区块链网络,这种具有虚假身份的节点称为女巫节点。依靠女巫节点,攻击者可以断开正常节点与区块链网络的连接。例如,攻击者在区块链网络中添加大量零功耗矿工,这种虚拟矿工参与数据传播,但不开采新的区块,另外它们只转发网络中攻击者的区块,并阻止真实用户区块的传播。最终,只有攻击者的区块在网络中传播并添加到区块链中。现有的抵御女巫攻击的方法,计算量大,不适用于高动态、分布式的区块链网络。
发明内容
本申请的目的是提供一种用于区块链的防攻击方法及装置、一种电子设备以及一种计算机可读存储介质,以抵御公共区块链中的女巫攻击,同时提高真正节点采矿的吞吐量。
本申请第一方面提供一种用于区块链的防攻击方法,包括:
接收到第一节点发送的区块;
判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:
区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
本申请第二方面提供一种用于区块链的防攻击装置,包括:
接收模块,用于接收第一节点发送的区块;
判断模块,用于判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
转发模块,用于若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,所述判断模块根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:
区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
本申请第三方面提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现本申请第一方面所述的方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。
相较于现有技术,本申请提供的用于区块链的防攻击方法、装置、电子设备及介质,在接收到第一节点发送的区块后,判断第一节点的物理地址是否在公开的可疑节点列表中,该可疑节点列表中记录有可疑节点的物理地址,可疑节点是根据区块链中每个节点的区块转发行为确定的。若第一节点的物理地址在可疑节点列表中,则拒绝转发区块,否则,将区块转发给第二节点。本方案中,根据区块链中每个节点的区块转发行为确定了攻击区块链的可疑节点,进一步阻止了可疑节点转发攻击者的区块,从而能够抵御公共区块链中的女巫攻击;同时,因为真正的节点阻止了女巫节点转发攻击者的区块,真正节点采矿的吞吐量得以提高,因此提高了区块链的吞吐量。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请的一些实施方式所提供的一种用于区块链的防攻击方法的流程图;
图2示出了本申请的一些实施方式所提供的确定可疑节点的流程图;
图3示出了本申请的一些实施方式所提供的一种用于区块链的防攻击装置的示意图;
图4示出了本申请的一些实施方式所提供的一种电子设备的示意图;
图5示出了本申请的一些实施方式所提供的一种计算机可读介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
公共区块链中的女巫攻击会造成严重影响,依靠女巫节点,攻击者可以断开正常节点与区块链网络的连接,最终只有攻击者的区块在网络中传播并添加到区块链中,然而现有的抵御女巫攻击的方法,计算量大,不适用于高动态、分布式的区块链网络。
有鉴于此,本申请实施例将提供一种用于区块链的防攻击方法及装置,和基于该方法的电子设备以及存储介质等。
为进一步说明本申请实施例的方案,下面将结合附图进行描述。可以理解的是,下面各实施例中,相同或相应的内容可以相互参考,为描述简便,后续不作赘述。
请参考图1,其示出了本申请的一些实施方式所提供的一种用于区块链的防攻击方法的流程图,该方法应用于区块链的节点中,该节点可以是服务器或相关电子设备。如图所示,所述用于区块链的防攻击方法,可以包括以下步骤:
步骤S101:接收到第一节点发送的区块。
步骤S102:判断第一节点的物理地址是否在公开的可疑节点列表中,该可疑节点列表中记录有可疑节点的物理地址,可疑节点是根据区块链中每个节点的区块转发行为确定的。
步骤S103:若第一节点的物理地址在可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点。
步骤S101中,节点接收到第一节点发送的区块,该第一节点可以是生成区块的出块节点,也可以是转发区块的转发节点。区块的区块头中通常包括前一个区块的hash值、本区块的hash值、和随机数Nonce等信息,本实施的区块的区块头还包括出块节点的物理地址。
具体的,在本实施例中,扩展现有的区块头包含的信息,将矿工节点的唯一地址(也就是物理地址)也包含在区块头中,即是矿工节点在生成在区块链网络中广播的区块时,需要将其自身的唯一地址,添加到其创建的区块头中。
步骤S102中,根据可疑节点列表来判断是否转发第一节点发送的区块,可疑节点列表中记录有可疑节点的物理地址,可疑节点是根据区块链中每个节点的区块转发行为确定的。
优选的,如图2所示,确定可疑节点的过程包括:
步骤S201:区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表,如表1所示,记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数。
其中,转发计数表示转发节点为该出块节点发送不同区块的次数,转发计数的计算,例如节点接收到当前转发节点发送的区块编号不同的两个区块,两个区块的出块节点的物理地址相同,则将当前转发节点为相应出块节点的转发计数记录为2次。
字段名 | 释义 |
转发节点的物理地址 | 表明是从哪个节点接收到此区块信息的 |
出块节点的物理地址 | 挖掘出此区块的矿工的唯一地址 |
区块编号 | 区块的唯一编号 |
转发计数 | 表示转发节点为该出块节点发送不同区块的次数 |
表1:节点内部记录表
步骤S202:在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
本实施例中,区块链中的每个节点都在内部维护一个称为记录表的数据结构,此数据结构记录转发节点的区块转发行为,以此来对这些转发节点进行监督。
在女巫攻击的情况下,接收节点从女巫节点接收更多的区块(带有攻击者的地址),并且很少能接收到真正用户的区块。这是因为女巫节点只转发攻击者的区块,而丢弃真正用户的区块。
因此,在整个区块链网络中,如果女巫节点数量较多的话,攻击者的区块的传播速度可能比真正的区块要快。在这种情况下,每个节点上的记录表可能具有更高的女巫节点转发计数和物理地址。在一段时间内,每个节点都可以通过查看其记录表来查看这种情况。
为了防止此类攻击,如果任何节点的记录表上的转发计数超过预设次数阈值T,则该节点会将此转发计数对应的物理地址添加至公开的可疑节点列表中。
可疑节点列表中还记录有每个可疑节点对应的质疑数,质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量,也就是表示有多少个节点怀疑此物理地址所代表的节点为可疑节点,如表2所示,可疑节点列表包含如下字段:
表2公开的可疑节点列表
本实施例中,上述列表表示有多少个节点怀疑给定的物理地址为女巫节点,上述列表分布在区块链网络中的所有节点之间。
为了最大限度地抵御女巫节点的攻击,需要对在区块链网络中公开的可疑节点列表进行实时维护,以使节点准确判断是否转发区块,相应的,根据本申请的一些实施方式中,上述方法还包括:
按照预设规则维护所述可疑节点列表,预设规则包括:
若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
具体的,一旦节点在这个可疑节点列表中添加了某个物理地址,它就不能再次添加相同的地址。一旦可疑节点从真实用户处转发区块,其影响将反映在每个节点的记录表中(表1),如果节点的记录表上的任一转发计数小于等于预设次数阈值,也就是表1计数降低到预设次数阈值T以下,则此类可疑节点的质疑数在可疑节点列表(表2)中减1。但是,对于给定的可疑节点的物理地址,每个节点只能减少一次转发计数,而且该节点以前应该增加过一次相同物理地址的转发计数。
进一步的,根据本申请的一些实施方式中,上述预设规则还包括:
若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
在这里,可疑节点可以通过公平转发真实用户的区块,从公开的可疑节点列表中除名,也就是说,即使真正的用户节点被添加到公开的可疑节点列表中,其也可以通过进一步的公平转发来离开公开的可疑节点列表。
步骤S103中,若第一节点的物理地址在可疑节点列表中,则表示第一节点被怀疑为女巫节点,因此可以拒绝转发第一节点发送的区块。
进一步的,根据本申请的一些实施方式中,上述方法还包括:
拒绝转发第一节点发送的区块之后,若第一节点的质疑数大于预设质疑数阈值,则进一步删除第一节点发送的区块。
具体的,第一节点的物理地址出现在了可疑节点列表中,并且质疑数大于预设质疑数阈值(例如多于5个节点怀疑第一节点),则拒绝转发第一节点发送的区块之后,还删除该区块。因为,如果很多节点都对某一可疑节点怀疑,则说明该可疑节点为女巫节点的概率很大,因此删除该区块,以避免该攻击者的区块继续存在于区块链中,避免区块链受到攻击。
相较于现有技术,通过本实施例的用于区块链的防攻击方法,即使存在女巫节点,区块链的吞吐量也会增加。在应用本方法之前,吞吐量随着女巫节点数的增加而降低。采用本方法后,一个女巫节点最初的转发行为被认为是公平的,从而降低了区块链的吞吐量,发生这种情况的原因是表1中的转发计数值未超过预设次数阈值。但是,经过一段时间后,区块链的吞吐量会随着女巫节点数量的增加而增加,因为真正的节点阻止了女巫节点转发攻击者的区块,提高了真正节点采矿的吞吐量。实际应用中,本方法适用于高动态、分布式的区块链网络。
本申请实施例提供的上述用于区块链的防攻击方法,在接收到第一节点发送的区块后,判断第一节点的物理地址是否在公开的可疑节点列表中,该可疑节点列表中记录有可疑节点的物理地址,可疑节点是根据区块链中每个节点的区块转发行为确定的。若第一节点的物理地址在可疑节点列表中,则拒绝转发区块,否则,将区块转发给第二节点。本方案中,根据区块链中每个节点的区块转发行为确定了攻击区块链的可疑节点,进一步阻止了可疑节点转发攻击者的区块,从而能够抵御公共区块链中的女巫攻击,同时提高区块链的吞吐量。
在上述的实施例中,提供了一种用于区块链的防攻击方法,与之相对应的,本申请还提供一种用于区块链的防攻击装置。请参考图3,其示出了本申请的一些实施方式所提供的一种用于区块链的防攻击装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图3所示,所述用于区块链的防攻击装置10可以包括:
接收模块101,用于接收第一节点发送的区块;
判断模块102,用于判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
转发模块103,用于若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点。
根据本申请的一些实施方式中,所述区块的区块头中包括出块节点的物理地址;
所述判断模块102根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:
区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
根据本申请的一些实施方式中,所述可疑节点列表中还记录有每个可疑节点对应的质疑数,所述质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量;
相应的,所述装置还包括:
维护模块,用于按照预设规则维护所述可疑节点列表;所述预设规则包括:
若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
根据本申请的一些实施方式中,所述预设规则还包括:
若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
根据本申请的一些实施方式中,所述转发模块103还用于:
拒绝转发所述区块之后,若第一节点的质疑数大于预设质疑数阈值,则进一步删除所述区块。
本申请实施例提供的用于区块链的防攻击装置10,与本申请前述实施例提供的用于区块链的防攻击方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的用于区块链的防攻击方法对应的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述用于区块链的防攻击方法。
请参考图4,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图4所示,所述电子设备20包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的用于区块链的防攻击方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述用于区块链的防攻击方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的用于区块链的防攻击方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的用于区块链的防攻击方法对应的计算机可读存储介质,请参考图5,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的用于区块链的防攻击方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的用于区块链的防攻击方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (10)
1.一种用于区块链的防攻击方法,其特征在于,包括:
接收到第一节点发送的区块;
判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:
区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
2.根据权利要求1所述的方法,其特征在于,所述可疑节点列表中还记录有每个可疑节点对应的质疑数,所述质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量;所述方法还包括:
按照预设规则维护所述可疑节点列表;所述预设规则包括:
若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
3.根据权利要求2所述的方法,其特征在于,所述预设规则还包括:
若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
4.根据权利要求2所述的方法,其特征在于,所述拒绝转发所述区块之后,所述方法还包括:
若第一节点的质疑数大于预设质疑数阈值,则删除所述区块。
5.一种用于区块链的防攻击装置,其特征在于,包括:
接收模块,用于接收第一节点发送的区块;
判断模块,用于判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
转发模块,用于若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,所述判断模块根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:
区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
6.根据权利要求5所述的装置,其特征在于,所述可疑节点列表中还记录有每个可疑节点对应的质疑数,所述质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量;所述装置还包括:
维护模块,用于按照预设规则维护所述可疑节点列表;所述预设规则包括:
若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
7.根据权利要求6所述的装置,其特征在于,所述预设规则还包括:
若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
8.根据权利要求6所述的装置,其特征在于,所述转发模块还用于:
拒绝转发所述区块之后,若第一节点的质疑数大于预设质疑数阈值,则删除所述区块。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至4中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760937.4A CN111917774B (zh) | 2020-07-31 | 2020-07-31 | 用于区块链的防攻击方法、装置、电子设备及介质 |
PCT/CN2020/118521 WO2021139248A1 (zh) | 2020-07-31 | 2020-09-28 | 用于区块链的防攻击方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760937.4A CN111917774B (zh) | 2020-07-31 | 2020-07-31 | 用于区块链的防攻击方法、装置、电子设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111917774A true CN111917774A (zh) | 2020-11-10 |
CN111917774B CN111917774B (zh) | 2022-02-08 |
Family
ID=73286983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760937.4A Active CN111917774B (zh) | 2020-07-31 | 2020-07-31 | 用于区块链的防攻击方法、装置、电子设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111917774B (zh) |
WO (1) | WO2021139248A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407808A (zh) * | 2015-07-31 | 2017-02-15 | 英国电讯有限公司 | 减轻区块链攻击 |
CN108737336A (zh) * | 2017-04-18 | 2018-11-02 | 中国移动通信有限公司研究院 | 基于区块链的威胁行为处理方法及装置、设备及存储介质 |
CN109560939A (zh) * | 2019-01-29 | 2019-04-02 | 张超 | 一种区块链的出块方法和装置 |
CN109741064A (zh) * | 2019-01-10 | 2019-05-10 | 广东工业大学 | 一种审查攻击处理方法、系统及电子设备和存储介质 |
WO2019140555A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 一种区块链构建方法及区块链节点 |
CN110601906A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据传输方法及装置 |
CN111262851A (zh) * | 2020-01-14 | 2020-06-09 | 中移(杭州)信息技术有限公司 | Ddos攻击检测方法、装置、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234134B (zh) * | 2017-12-28 | 2020-09-29 | 江苏通付盾科技有限公司 | 区块同步方法及系统 |
CN109802993B (zh) * | 2018-12-13 | 2021-06-04 | 深圳市链联科技有限公司 | 一种基于供应链生态的联盟链搭建方法 |
EP3672196A1 (en) * | 2018-12-20 | 2020-06-24 | Rolls-Royce North American Technologies, Inc. | A method and process for blockchain implementation with third party devices |
-
2020
- 2020-07-31 CN CN202010760937.4A patent/CN111917774B/zh active Active
- 2020-09-28 WO PCT/CN2020/118521 patent/WO2021139248A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407808A (zh) * | 2015-07-31 | 2017-02-15 | 英国电讯有限公司 | 减轻区块链攻击 |
CN108737336A (zh) * | 2017-04-18 | 2018-11-02 | 中国移动通信有限公司研究院 | 基于区块链的威胁行为处理方法及装置、设备及存储介质 |
WO2019140555A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 一种区块链构建方法及区块链节点 |
CN109741064A (zh) * | 2019-01-10 | 2019-05-10 | 广东工业大学 | 一种审查攻击处理方法、系统及电子设备和存储介质 |
CN109560939A (zh) * | 2019-01-29 | 2019-04-02 | 张超 | 一种区块链的出块方法和装置 |
CN110601906A (zh) * | 2019-09-29 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据传输方法及装置 |
CN111262851A (zh) * | 2020-01-14 | 2020-06-09 | 中移(杭州)信息技术有限公司 | Ddos攻击检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111917774B (zh) | 2022-02-08 |
WO2021139248A1 (zh) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019210493B2 (en) | Anomaly detection to identify coordinated group attacks in computer networks | |
US10880270B1 (en) | Network firewall for mitigating against persistent low volume attacks | |
US20220159019A1 (en) | Blockchain-based network security system and processing method | |
CN112073411B (zh) | 一种网络安全推演方法、装置、设备及存储介质 | |
CN109194684B (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
CN104426885A (zh) | 异常账号提供方法及装置 | |
EP3188442A1 (en) | Detection, prevention, and/or mitigation of dos attacks in publish/subscribe infrastructure | |
WO2020037781A1 (zh) | 一种实现服务器防攻击方法及装置 | |
US20200329069A1 (en) | Statistical automatic detection of malicious packets in ddos attacks using an encoding scheme associated with payload content | |
CN106790299B (zh) | 一种在无线接入点ap上应用的无线攻击防御方法和装置 | |
US11677765B1 (en) | Distributed denial of service attack mitigation | |
CN111917774B (zh) | 用于区块链的防攻击方法、装置、电子设备及介质 | |
CN111683087A (zh) | 访问控制方法、装置、电子设备及计算机可读存储介质 | |
TWI682644B (zh) | 網路節點的移動防護方法及網路防護伺服器 | |
CN115001789B (zh) | 一种失陷设备检测方法、装置、设备及介质 | |
CN114003904B (zh) | 情报共享方法、装置、计算机设备及存储介质 | |
CN110619214A (zh) | 一种监控软件正常运行的方法和装置 | |
CN109617893B (zh) | 一种僵尸网络DDoS攻击的防护方法、装置及存储介质 | |
Mojahedi et al. | Modeling the propagation of topology-aware P2P worms considering temporal parameters | |
CN113556342A (zh) | 一种dns缓存服务器前缀变化攻击防护方法及装置 | |
JP2014112448A (ja) | アクセス制御装置、アクセス制御方法、およびアクセス制御プログラム | |
CN106357688A (zh) | 一种防御ICMP flood攻击的方法和装置 | |
CN115987639B (zh) | 攻击防御方法、装置、电子设备和存储介质 | |
KR100972206B1 (ko) | 공격 탐지 방법 및 장치 | |
CN112217832B (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 |