1.一种用于区块链的防攻击方法,其特征在于,包括:
接收到第一节点发送的区块;
判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
2.根据权利要求1所述的方法,其特征在于,所述可疑节点列表中还记录有每个可疑节点对应的质疑数,所述质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量;所述方法还包括:按照预设规则维护所述可疑节点列表;所述预设规则包括:若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
3.根据权利要求2所述的方法,其特征在于,所述预设规则还包括:若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
4.根据权利要求2所述的方法,其特征在于,所述拒绝转发所述区块之后,所述方法还包括:若第一节点的质疑数大于预设质疑数阈值,则删除所述区块。
5.一种用于区块链的防攻击装置,其特征在于,包括:
接收模块,用于接收第一节点发送的区块;
判断模块,用于判断所述第一节点的物理地址是否在公开的可疑节点列表中,所述可疑节点列表中记录有可疑节点的物理地址,所述可疑节点是根据区块链中每个节点的区块转发行为确定的;
转发模块,用于若所述第一节点的物理地址在所述可疑节点列表中,则拒绝转发所述区块,否则,将所述区块转发给第二节点;
其中,所述区块的区块头中包括出块节点的物理地址,所述判断模块根据区块链中每个节点的区块转发行为确定可疑节点的过程包括:区块链中每个节点都在节点内部维护一个记录区块转发行为的记录表;
所述记录表中包括:区块对应的转发节点的物理地址、出块节点的物理地址、区块编号和转发计数,所述转发计数表示所述转发节点为所述出块节点发送不同区块的次数;
在预设时间段内,如果节点的记录表上的任一转发计数大于预设次数阈值,则该转发计数对应的转发节点为可疑节点,将可疑节点的物理地址添加至可疑节点列表中。
6.根据权利要求5所述的装置,其特征在于,所述可疑节点列表中还记录有每个可疑节点对应的质疑数,所述质疑数表示将相应可疑节点的物理地址添加至可疑节点列表中的节点数量;所述装置还包括:维护模块,用于按照预设规则维护所述可疑节点列表;所述预设规则包括:若节点在可疑节点列表中添加了第一可疑节点的物理地址,则该节点不能再次添加相同的物理地址;
若节点的记录表上的任一转发计数小于等于预设次数阈值,则该转发计数对应的可疑节点的质疑数在可疑节点列表中减1;
对于可疑节点列表中现有的可疑节点的物理地址,每个节点只能减少一次质疑数,且该节点之前增加过一次相同物理地址的质疑数。
7.根据权利要求6所述的装置,其特征在于,所述预设规则还包括:若可疑节点的质疑数清零,则将相应可疑节点的物理地址从可疑节点列表中删除。
8.根据权利要求6所述的装置,其特征在于,所述转发模块还用于:拒绝转发所述区块之后,若第一节点的质疑数大于预设质疑数阈值,则删除所述区块。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1至4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至4中任一项所述的方法。