一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于节点共识行为的区块链FAW攻击防护方法及系统与流程

2022-03-26 04:38:29 来源:中国专利 TAG:

基于节点共识行为的区块链faw攻击防护方法及系统
技术领域
1.本发明涉及区块链技术领域,尤其涉及一种基于节点共识行为的区块链 faw攻击防护方法以及一种基于节点共识行为的区块链faw攻击防护系统。


背景技术:

2.近年来,由于区块链技术具有去中心化,集体维护和不可篡改等性质,因此其呈现出爆发式增长态势,被认为是继大型机、个人电脑、互联网、移动、社交网络之后计算范式的第五次颠覆式创新。其中,区块链应用主要通过基于工作量证明(proof of work,pow)的共识方法,实现不同节点之间的区块共识。在pow共识算法中,节点通过解决基于哈希的概率计算难题的方式来完成区块构建,从而获得区块收益。若节点的计算能力越大,则其获得币奖励与区块记账权的可能性就越大。考虑到算力限制等因素导致网络中大部分节点无法获得稳定收益,因此节点们会选择加入节点集群进行合作。但是在实际过程中出现了许多针对节点集群的攻击手段,如区块截留攻击、自私共识和区块扣留后分叉(fork after withholding,faw)攻击等攻击方法。
3.其中,区块截留攻击是指攻击者在节点集群内始终将部分工作量证明发送给节点集群管理者,而将完整工作量证明直接抛弃的攻击方法。自私共识攻击是指攻击者通过连续公布多个完整工作量证明的方式导致网络分叉的攻击方法。而faw攻击是攻击者结合区块截留攻击与自私共识攻击的新型攻击方法,该攻击不仅能够帮助攻击者获得区块截留攻击的收益,而还能获得到网络分叉的收益。因此对节点集群管理者而言,faw攻击是一种更具有威胁性的节点集群攻击方法。
4.因此有些学者考虑faw攻击的区块截留特征或自私共识特征,侧重于研究相应的防护方法,如chang s y提出一种基于静默时间戳的防护方法,即节点将随机生成静默时间戳与工作量证明发送给节点集群管理者。节点集群管理者根据所接收到静默时间戳,对节点的工作量证明进行排序,使得节点提交的工作量证明具有时效性。因此攻击者所发起faw攻击难以导致网络分叉,且只能选择将区块进行丢弃,即进行区块截留攻击。ke j等人提出一种节点信用机制,根据节点导致网络分叉的次数来评价其信用值,协助节点集群管理者及时剔除发起faw攻击的恶意节点,保证节点集群内诚实共识的收益。 sarker a和bag s等人针对faw攻击过程中的区块截留行为,提出一种反区块截留奖励机制,对拥有完整工作量证明的节点给予更大的奖励,从而消除攻击者发动faw攻击的动机。但是该类方法只是根据单个攻击特征进行恶意节点检测,没有同时兼顾区块截留特征与自私共识特征,无法针对发动faw 攻击的恶意节点进行全面高效检测,从而降低恶意节点的收益。
5.综上所述,针对其他节点集群或节点的faw攻击,目前防护方法的研究成果相对较少,且只是根据单个攻击特征设置简单的防护方法,存在无法全面高效检测恶意节点和无法有效降低恶意节点进行faw攻击的收益等问题。


技术实现要素:

6.针对上述问题,本发明提供了一种基于节点共识行为的区块链faw攻击防护方法及系统,考虑节点根据恶意节点集群的任务进行诚实共识或者对目标节点集群进行faw攻击的情况,并针对节点所发送的工作量证明对节点数据进行数据清洗和简单验证,去除非关键数据,初步筛选出执行faw攻击的恶意节点。结合节点的共识行为,提出行为奖惩机制和合理的信用评分模型,可合理评价节点的区块共识行为,为恶意节点的检测提供数据支持,同时可调动节点参与共识的积极性。为了充分和快速检测执行faw攻击的恶意节点,提出一种基于鹰优化的节点信用等级划分方法,考虑了簇内外距离,改进适应度计算方法,引入多个权重参数改进距离计算方法,模拟鹰捕食行为优化簇中心选择,改进不同优化阶段的解更新机制,提高收敛速度,从而获得节点集群内恶意节点的分布情况,给予合理的收益分配权重。最后,计算恶意节点集群有效算力、共识成本及收益,建立faw攻击下的每一个节点的收益模型,分配节点集群的收益。本发明利用发动faw攻击的恶意节点的共识行为,全面高效和快速地检测目标节点集群内发动faw攻击的恶意节点,从而降低了恶意节点的收益,且尽可能提高非恶意算力的累积收益,从而达到防御faw攻击的目的。
7.为实现上述目的,本发明提供了一种基于节点共识行为的区块链faw攻击防护方法,包括:
8.针对节点发送来的节点数据进行数据清洗以及基于预设参数的简单验证,以初步筛选得到执行faw攻击的恶意节点;
9.基于行为奖惩机制,计算每个节点的表现值,并根据前一次节点的工作情况更新每个节点的累积表现值,以及结合信用评分模型将所述累积表现值转化为累积信用值;
10.根据所述节点数据获取所述累积信用值及其他评估要素确定不同维度的最大值与最小值,构建搜索空间,将随机产生的簇中心位置作为一个解决方案,并将解决方案添加至解决方案矩阵中;
11.计算不同解决方案的适应度,并选择适应度最高的解决方案作为当前最佳解决方案,迭代计算每个解决方案与前一解决方案的相似比,并分别在迭代次数和相似比相对于相应的预设阈值的情况下,采用不同的模拟鹰行为对当前解决方案进行优化;
12.根据迭代优化后的解决方案所形成的簇,计算每个簇的评价值,并根据预设阈值将节点信用等级划分为优等和劣等,给予相应等级的节点对应的收益分配权重;
13.在当前网络产生分叉且目标节点集群获得区块奖励、或当前网络未产生分叉且目标节点集群成功寻找到区块时,根据预设的节点收益分配方法,结合所述节点信用等级对本轮节点集群的收益进行分配。
14.在上述技术方案中,优选地,基于节点共识行为的区块链faw攻击防护方法,其特征在于,还包括:
15.在当前网络产生分叉但目标节点集群未获得区块奖励、或当前网络未产生分叉但目标节点集群未成功寻找到区块时,放弃此次收益分配,返回并继续对上报的节点数据进行数据清洗和简单验证;
16.所述数据清洗过程采用正态分布的离群点检测方法,在检测到错误值时采用正常值的均值进行代替;
17.所述简单验证过程为,判断所述节点数据中错误次数和离线次数信息中的任一个
是否大于第一验证阈值、或通信延时是否低于第二验证阈值,若判定为是,则直接将当前节点数据对应的节点信用等级认定为劣等。
18.在上述技术方案中,优选地,所述基于行为奖惩机制,计算每个节点的表现值,并根据前一次节点的工作情况更新每个节点的累积表现值,以及结合信用评分模型将所述累积表现值转化为累积信用值的具体过程包括:
19.利用公式(1)计算区块寻找过程中各个节点的表现值δi:
[0020][0021]
其中,α表示节点i成功完成完整工作量证明后其累积表现值增加的表现分,β表示节点i每完成一个部分工作量证明后其累积表现值增加的表现分,χ表示当其余节点集群成功完成完整工作量证明后当前节点集群内全部节点的累积表现值扣除的表现分,ε表示节点i所提交的区块导致网络分叉后该节点的累积表现值扣除的表现分,φi表示节点i完成的部分工作量证明数量,表示节点i是否完成完整工作量证明的标志符,γ表示节点i所在节点集群是否完成完整工作量证明的标志符,η表示节点i所提交的区块是否导致网络分叉的标志符;
[0022]
利用公式(2)计算各个节点的累积表现值ιi:
[0023]
ιi=κι
′i δiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0024]
其中,ιi表示节点i的累积表现值,ι
′i表示上一个时刻的节点i的累积表现值,κ表示表现值更新因子;
[0025]
利用公式(3)计算各个节点的累积信用值oi:
[0026][0027]
其中,oi表示节点i的累积信用值,λ1和λ2表示信用评分模型参数;
[0028]
在经过预设轮次的区块共识后,将全部节点的累积表现值和累积信用值进行清除,并进行新一轮次的更新。
[0029]
在上述技术方案中,优选地,不同维度的评估要素包括累积信用值、历史等级数值、离线次数、延时时间和当前网络分叉次数;
[0030]
将上述维度评估要素的最大值和最小值构建的搜索空间内虽仅产生的k 个簇中心位置作为一个解决方案x,并将ζ个解决方案组成解决方案矩阵x;
[0031]
利用公式(4)计算不同解决方案的适应度值:
[0032][0033]
其中,fz表示第z个解决方案的适应度值,k表示簇的个数,sn表示簇内样本的数量,c
l
与cj分别表示由第z个解决方案得到第l个簇与第j个簇的簇中心位置,x
k,l
表示第l个簇内第k个样本,d(x
k,l
,c
l
)表示第k个样本与第 l个簇的簇中心位置的距离,b(c
l
,cj)表示第l个簇的簇中心位置与第j个簇的簇中心位置的距离。
[0034]
具体地,d(x
kl
,c
l
)和b(c
l
,cj)的具体公式如公式(5)所示:
[0035][0036]
其中,表示第l个簇内第k个样本的当前累积信用值,表示第l个簇内第k个样本的历史等级数值,表示第l个簇内第k个样本的离线次数,表示第l个簇内第k个样本的延时时间,表示第l个簇内第k个样本的当前网络分叉次数,表示第l个簇的簇中心位置的当前累积信用值,表示第j个簇的簇中心位置的当前累积信用值,表示第l个簇的簇中心位置的历史等级数值,表示第j个簇的簇中心位置的历史等级数值,表示第l个簇的簇中心位置的离线次数,表示第j个簇的簇中心位置的离线次数,表示第l个簇的簇中心位置的延时时间,表示第j个簇的簇中心位置的延时时间,表示第l个簇的簇中心位置的当前网络分叉次数,表示第j个簇的簇中心位置的当前网络分叉次数,表示当前累积信用值的权重值,表示历史等级数值的权重值,表示离线次数的权重值,表示延时时间的权重值,表示当前网络分叉次数的权重值。
[0037]
在上述技术方案中,优选地,所述迭代计算每个解决方案与前一解决方案的相似比,并分别在迭代次数和相似比相对于相应的预设阈值的情况下,采用不同的模拟鹰行为对当前解决方案进行优化的具体过程包括:
[0038]
利用公式(6)计算当前第m个解决方案与前一解决方案的相似比τ:
[0039][0040]
其中,τ表示当前解决方案与前一次解决方案的相似比,xj表示当前解决方案的第j个节点信用等级划分评价要素,x
′j表示前一次解决方案的第j个节点信用等级划分评价要素,ξ表示单个解决方案的维度;
[0041]
在当前迭代次数且相似比τ≥υ1时,通过公式(7)模拟鹰的高空飞行快速确定最佳解决方案的搜索范围:
[0042][0043]
其中,x

表示完成调整后的解决方案,xc表示由解决方案x平均值组成大小为ξ
×
1的向量,xb表示当前迭代过程中最佳解决方案,r1表示由0到1 范围内中的随机数;
[0044]
在当前迭代次数且相似比τ<υ1时,通过公式(8)模拟鹰的轮廓飞行进一步缩小当前搜索范围:
[0045]
x

=xb×
l xd (d
1-d2)
×
r1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0046]
其中,l表示莱维运动的随机值,xd表示在解决方案矩阵x中随机选择的解决方案,d1和d2表示模拟鹰螺旋搜索的随机值向量;
[0047]
在当前迭代次数且相似比τ≥υ2时,通过公式(9)模拟鹰的低空飞行进行全局最优解的快速靠近:
[0048]
x

=(x
b-xe)
×
λ
1-r2 ((up-lp)
×
r1 lp)
×
λ2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0049]
其中,xe表示解决方案矩阵x在不同维度上的平均值向量,λ1和λ2表示 0到1范围内的解决方案搜寻参数,r2表示由0到1范围内中的随机数组成大小为ξ
×
1的向量,up表示由不同维度的最大值组成大小为ξ
×
1的向量,lp表示由不同维度的最小值组成大小为ξ
×
1的向量;
[0050]
在当前迭代次数且相似比τ<υ2时,通过公式(10)计算用于保证准确搜索的质量函数,并结合公式(11)模拟鹰的飞行捕获准确搜寻最优簇中心位置:
[0051][0052]
x

=f
×
x
b-(g1×
x
×
r1)-g2×
l r2×
g1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0053]
其中,f表示质量函数值,g1表示模拟鹰捕获猎物过程中的随机值,g2表示模拟鹰捕获猎物过程中的飞行斜率;
[0054]
迭代计算至当前解决方案m达到阈值ζ、当前迭代次数it达到最大迭代次数maxit。
[0055]
在上述技术方案中,优选地,所述根据迭代优化后的解决方案所形成的簇,计算每个簇的评价值的具体过程包括:
[0056]
利用公式(12)计算每个簇的评价值,将最低评价值的簇中节点信用等级确认为劣,其他簇中节点信用等级确认为优:
[0057][0058]
其中,c
l
表示第l个簇的评价值,表示第l个簇内第k个样本的当前累积信用值,θ1表示当前累积信用值的权重值,表示第l个簇内第k个样本的历史等级数值,θ2表示历史等级数值的权重值,表示第l个簇内第k个样本的离线次数,θ3表示离线次数的权重值,表示第l个簇内第k个样本的延时时间,θ4表示延时时间的权重值,表示第l个簇内第k个样本的当前网络分叉次数,θ5表示当前网络分叉次数的权重值。
[0059]
在上述技术方案中,优选地,所述根据预设的节点收益分配方法,结合所述节点信
用等级对本轮节点集群的收益进行分配的具体过程包括:
[0060]
令c
t
表示目标节点集群的总算力,co表示其他节点集群的总算力,ce表示恶意节点集群的总算力,ca表示全网总算力,即ce co c
t
=ca。其中,恶意节点集群的总算力ce由用于诚实共识的算力与用于发动faw攻击的算力所组成,即
[0061][0062]
其中,pi表示单个节点的算力,h
ie
表示节点i根据恶意节点集群的指派进行诚实共识的指示符,d
ie
表示节点i根据恶意节点集群的指派对目标节点集群进行faw攻击的指示符。
[0063]
根据每个节点信用等级的节点对应的收益分配权重,根据公式(14)和(15) 计算恶意节点集群的总算力以及所述恶意节点集群获得的总收益。恶意节点集群的收益分为三个部分:一是其自身诚实共识算力进行区块寻找,获得诚实共识收益,二是发动faw攻击算力进行区块截留攻击,不为目标节点集群提供完整工作量证明,此时目标节点集群将其诚实共识收益分配给该攻击算力,三是当其他节点集群中一个有效区块,发动faw攻击算力立即公布自身之前发现的区块,进行自私共识攻击,达到网络分叉,则该攻击算力让目标节点集群获得该区块收益的概率为其中v表示恶意节点所提交区块成功上链的概率。目标节点集群将其获得的收益分配给该攻击算力。因此恶意节点集群的总收益re为
[0064][0065]
其中,c
t
表示目标节点集群的总算力,ce co c
t
=1,h
ie
表示节点i根据恶意节点集群的指派进行诚实共识的指示符,ui表示可检测恶意节点的目标节点集群内节点i的权重因子,可表示为:
[0066][0067]
其中,μ1和μ2表示收益分配权重,不可检测恶意节点的目标节点集群t内节点i的收益分配权重μ1和μ2均为1;
[0068]
根据公式(16)-(18)计算目标节点集群的总收益以及其他节点集群诚实共识获得的收益:
[0069]
目标节点集群在恶意节点集群的faw攻击下仍可获得诚实共识收益与网络分叉收益,因此目标节点集群的总收益r
t

[0070][0071]
其中,t
ih
表示节点i根据诚实节点集群的指派进行诚实共识。
[0072]
而其他节点集群则始终通过诚实共识获得收益,即
[0073][0074]
由于节点集群中节点进行诚实共识faw攻击的时候,需要消耗电力、水、设备破损等资源,因此令单位算力进行诚实共识消耗的成本为th,单位算力进行faw攻击的成本为tf,则三类节点集群的净收益为其总收益需要减去其算力消耗的成本,且考虑到节点集群中节点的分配收益是根据其提供的算力进行分配,即三类节点集群内节点收益模型,可表示为
[0075][0076]
其中,r
′e表示恶意节点集群内单个节点的净收益,r

t
表示目标节点集群内单个节点的净收益,r

表示其他节点集群内单个节点的净收益,ne表示恶意节点集群所能指派的节点数量,n
t
表示目标节点集群所能指派的节点数量,no表示其他节点集群所能指派的节点数量。
[0077]
最终,目标节点集群根据每个节点的权重因子,通过公式(19)计算其节点收益,可表示为
[0078][0079]
其中,表示目标节点集群内等级为优的节点集群i的收益,表示目标节点集群内等级为优的节点集群i的算力,表示目标节点集群内等级为优的节点集群i的算力,表示目标节点集群内等级为劣的节点集群i的收益。
[0080]
本发明还提出一种基于节点共识行为的区块链faw攻击防护系统,应用如上述技术方案中任一项公开的基于节点共识行为的区块链faw攻击防护系统,包括:
[0081]
节点数据清洗模块,用于针对节点发送来的节点数据进行数据清洗以及基于预设参数的简单验证,以初步筛选得到执行faw攻击的恶意节点;
[0082]
节点信用评估模块,用于基于行为奖惩机制,计算每个节点的表现值,并根据前一次节点的工作情况更新每个节点的累积表现值,以及结合信用评分模型将所述累积表现值转化为累积信用值;
[0083]
解决方案确定模块,用于根据所述节点数据获取所述累积信用值及其他评估要素确定不同维度的最大值与最小值,构建搜索空间,将随机产生的簇中心位置作为一个解决方案,并将解决方案添加至解决方案矩阵中;
[0084]
模拟鹰行为优化模块,用于计算不同解决方案的适应度,并选择适应度最高的解决方案作为当前最佳解决方案,迭代计算每个解决方案与前一解决方案的相似比,并分别在迭代次数和相似比相对于相应的预设阈值的情况下,采用不同的模拟鹰行为对当前解决方案进行优化;
[0085]
信用等级评价模块,用于根据迭代优化后的解决方案所形成的簇,计算每个簇的评价值,并根据预设阈值将节点信用等级划分为优等和劣等,给予相应等级的节点对应的收益分配权重;
[0086]
节点收益分配模块,用于在当前网络产生分叉且目标节点集群获得区块奖励、或当前网络未产生分叉且目标节点集群成功寻找到区块时,根据预设的节点收益分配方法,结合所述节点信用等级对本轮节点集群的收益进行分配。
[0087]
在上述技术方案中,优选地,基于节点共识行为的区块链faw攻击防护系统还包括:参数初始化模块,用于对预设参数进行初始化;
[0088]
其中,所需初始化参数包括最大迭代次数、当前迭代次数it=0、相似度阈值υ1和υ2、信用评分模型参数λ1和λ2、表现值更新因子κ、当前累积信用值的权重值历史等级数值的权重值离线次数的权重值延时时间的权重值以及当前网络分叉次数的权重值
[0089]
在上述技术方案中,优选地,基于节点共识行为的区块链faw攻击防护系统还包括:节点数据分析模块,用于对节点数据进行数据分析,以得到网络是否分叉、网络分叉次数、节点集群是否获得区块奖励、节点集群是否成功寻找到区块、节点数据错误次数、历史等级数值、离线次数及延时时间。
[0090]
与现有技术相比,本发明的有益效果为:通过提出行为奖惩机制和合理的信用评分模型,可合理评价节点的区块共识行为,为恶意节点的检测提供数据支持,同时可调动节点参与共识的积极性。还提出一种基于鹰优化的节点信用等级划分方法,考虑了簇内外距离,改进适应度计算方法,引入多个权重参数改进距离计算方法,模拟鹰捕食行为优化簇中心选择,改进不同优化阶段的解更新机制,充分和快速检测执行faw攻击的恶意节点,提高收敛速度,从而获得节点集群内恶意节点的分布情况,给予合理的收益分配权重,并以此计算恶意节点集群有效算力、共识成本及收益,建立faw攻击下的每一个节点的收益模型,分配节点集群的收益。通过本发明的faw攻击防护方法,能够全面高效和快速地检测目标节点集群内发动faw攻击的恶意节点,从而降低恶意节点的收益,且尽可能提高非恶意算力的累积收益,从而达到防御faw攻击的目的。
附图说明
[0091]
图1为本发明一种实施例公开的基于节点共识行为的区块链faw攻击防护方法的流程示意图;
[0092]
图2为本发明一种实施例公开的基于节点共识行为的区块链faw攻击防护系统的模块示意图。
[0093]
图中,各组件与附图标记之间的对应关系为:
[0094]
11.节点数据清洗模块,12.节点信用评估模块,13.解决方案确定模块,14. 模拟鹰行为优化模块,15.信用等级评价模块,16.节点收益分配模块,17.参数初始化模块,18.节点数据分析模块。
具体实施方式
[0095]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0096]
下面结合附图对本发明做进一步的详细描述:
[0097]
如图1所示,根据本发明提供的一种基于节点共识行为的区块链faw攻击防护方法,包括:
[0098]
针对节点发送来的节点数据进行数据清洗以及基于预设参数的简单验证,以初步筛选得到执行faw攻击的恶意节点;
[0099]
基于行为奖惩机制,计算每个节点的表现值,并根据前一次节点的工作情况更新每个节点的累积表现值,以及结合信用评分模型将累积表现值转化为累积信用值;
[0100]
根据节点数据获取累积信用值及其他评估要素确定不同维度的最大值与最小值,构建搜索空间,将随机产生的簇中心位置作为一个解决方案,并将解决方案添加至解决方案矩阵中;
[0101]
计算不同解决方案的适应度,并选择适应度最高的解决方案作为当前最佳解决方案,迭代计算每个解决方案与前一解决方案的相似比,并分别在迭代次数和相似比相对于相应的预设阈值的情况下,采用不同的模拟鹰行为对当前解决方案进行优化;
[0102]
根据迭代优化后的解决方案所形成的簇,计算每个簇的评价值,并根据预设阈值将节点信用等级划分为优等和劣等,给予相应等级的节点对应的收益分配权重;
[0103]
在当前网络产生分叉且目标节点集群获得区块奖励、或当前网络未产生分叉且目标节点集群成功寻找到区块时,根据预设的节点收益分配方法,结合节点信用等级对本轮节点集群的收益进行分配。
[0104]
在该实施例中,通过提出行为奖惩机制和合理的信用评分模型,可合理评价节点的区块共识行为,为恶意节点的检测提供数据支持,同时可调动节点参与共识的积极性。还提出一种基于鹰优化的节点信用等级划分方法,考虑了簇内外距离,改进适应度计算方法,引入多个权重参数改进距离计算方法,模拟鹰捕食行为优化簇中心选择,改进不同优化阶段的解更新机制,充分和快速检测执行faw攻击的恶意节点,提高收敛速度,从而获得节点集群内恶意节点的分布情况,给予合理的收益分配权重,并以此计算恶意节点集群有效算力、共识成本及收益,建立faw攻击下的每一个节点的收益模型,分配节点集群的收益。通过本发明的faw攻击防护方法,能够全面高效和快速地检测目标节点集群内发动faw攻击的恶意节点,从而降低恶意节点的收益,且尽可能提高非恶意算力的累积收益,从而达到防御faw攻击的目的。
[0105]
具体地,上述实施例公开的基于节点共识行为的区块扣留后分叉攻击防护方法,
主要包括如下步骤:
[0106]
步骤1):网络启动,初始化最大迭代次数maxit,当前迭代次数it=0,相似度阈值υ1和υ2,模型参数λ1和λ2、表现值更新因子κ、当前累积信用值的权重值历史等级数值的权重值离线次数的权重值延时时间的权重值当前网络分叉次数的权重值等参数;
[0107]
步骤2):节点集群管理者通过对节点所上报数据采用正态分布的离群点检测方法进行数据清洗,发现错误值,并采用正常值的均值进行代替。同时根据数据,进行简单验证,即如果节点上报数据中错误的次数和离线次数等信息中任何一个大于第一验证阈值ν1,或通信延时低于第二验证阈值ν2,则直接将其的节点信用等级认定为劣等,且给予相应的收益分配权重;
[0108]
步骤3):根据前一次节点的工作情况,节点集群管理者执行行为奖惩机制进行工作量证明奖励,更新每个节点的累积表现值,同时结合公式(3)的信用值评分模型将累积表现值转化为累积信用值。其中,所述行为奖惩机制包括如下步骤:
[0109]
3.1)节点集群管理者通过公式(1)计算此次区块寻找过程中各个节点i的表现值δi:
[0110][0111]
其中,α表示节点i成功完成完整工作量证明后其累积表现值增加的表现分,β表示节点i每完成一个部分工作量证明后其累积表现值增加的表现分,χ表示当其余节点集群成功完成完整工作量证明后当前节点集群内全部节点的累积表现值扣除的表现分,ε表示节点i所提交的区块导致网络分叉后该节点的累积表现值扣除的表现分,φi表示节点i完成的部分工作量证明数量,θi表示节点i是否完成完整工作量证明的标志符,γ表示节点i所在节点集群是否完成完整工作量证明的标志符,η表示节点i所提交的区块是否导致网络分叉的标志符。
[0112]
3.2)节点集群管理者通过公式(2)计算各个节点i的累积表现值ιi:
[0113]
ιi=κι
′i δiꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0114]
其中,ιi表示节点i的累积表现值,ι
′i表示上一个时刻的节点i的累积表现值,κ表示表现值更新因子。
[0115]
3.3)节点集群管理者通过公式(3)计算各个节点i的累积信用值oi:
[0116][0117]
其中,oi表示节点i的累积信用值,λ1和λ2表示信用评分模型参数;
[0118]
在经过预设轮次的区块共识后,将全部节点的累积表现值和累积信用值进行清除,并进行新一轮次的更新。
[0119]
步骤4):节点集群管者根据节点所上报的数据,获得当前累计信用值、历史等级数值、离线次数、延时时间和当前网络分叉次数等评估要素,结合上述节点信用等级评价要素,确定不同维度的最大值与最小值,构建搜索空间,且在搜索空间内随机产生k个簇中心位置作为1个解决方案x,并将ζ个解决方案组成解决方案矩阵x。
[0120]
通过公式(4)计算不同解决方案的适应度,并从中选择适应度最大的解决方案作
为最佳解决方案xb[0121][0122]
其中,fz表示第z个解决方案的适应度值,k表示簇的个数,sn表示簇内样本的数量,c
l
与cj分别表示由第z个解决方案得到第l个簇与第j个簇的簇中心位置,x
k,l
表示第l个簇内第k个样本,d(x
k,l
,c
l
)表示第k个样本与第 l个簇的簇中心位置的距离,b(c
l
,cj)表示第l个簇的簇中心位置与第j个簇的簇中心位置的距离。
[0123]
具体地,d(x
kl
,c
l
)和b(c
l
,cj)的具体公式如下:
[0124][0125]
其中,表示第l个簇内第k个样本的当前累积信用值,表示第l个簇内第k个样本的历史等级数值,表示第l个簇内第k个样本的离线次数,表示第l个簇内第k个样本的延时时间,表示第l个簇内第k个样本的当前网络分叉次数,表示第l个簇的簇中心位置的当前累积信用值,表示第j个簇的簇中心位置的当前累积信用值,表示第l个簇的簇中心位置的历史等级数值,表示第j个簇的簇中心位置的历史等级数值,表示第l个簇的簇中心位置的离线次数,表示第j个簇的簇中心位置的离线次数,表示第l个簇的簇中心位置的延时时间,表示第j个簇的簇中心位置的延时时间,表示第l个簇的簇中心位置的当前网络分叉次数,表示第j个簇的簇中心位置的当前网络分叉次数,表示当前累积信用值的权重值,表示历史等级数值的权重值,表示离线次数的权重值,表示延时时间的权重值,表示当前网络分叉次数的权重值。
[0126]
步骤5):利用公式(6)计算当前第m个解决方案与前一解决方案的相似比τ,在不同迭代中针对解决方案进行调整:
[0127][0128]
其中,τ表示当前解决方案与前一次解决方案的相似比,xj表示当前解决方案的第j个节点信用等级划分评价要素,x
′j表示前一次解决方案的第j个节点信用等级划分评价要素,ξ表示单个解决方案的维度;
[0129]
步骤6):在当前迭代次数且相似比τ≥υ1时,通过公式(7)模拟鹰的高空飞行快速确定最佳解决方案的搜索范围,跳转到步骤10),否则跳转到步骤7):
[0130][0131]
其中,x

表示完成调整后的解决方案,xc表示由解决方案x平均值组成大小为ξ
×
1的向量,xb表示当前迭代过程中最佳解决方案,r1表示由0到1 范围内中的随机数;
[0132]
步骤7):在当前迭代次数且相似比τ<υ1时,通过公式(8)模拟鹰的轮廓飞行进一步缩小当前搜索范围,跳转到步骤10),否则跳转到步骤 8):
[0133]
x

=xb×
l xd (d
1-d2)
×
r1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0134]
其中,l表示莱维运动的随机值,xd表示在解决方案矩阵x中随机选择的解决方案,d1和d2表示模拟鹰螺旋搜索的随机值向量;
[0135]
步骤8):在当前迭代次数且相似比τ≥υ2时,通过公式(9) 模拟鹰的低空飞行进行全局最优解的快速靠近,跳转到步骤10),否则跳转到步骤9):
[0136]
x

=(x
b-xe)
×
λ
1-r2 ((up-lp)
×
r1 lp)
×
λ2ꢀꢀꢀꢀꢀꢀꢀ
(9)
[0137]
其中,xe表示解决方案矩阵x在不同维度上的平均值向量,λ1和λ2表示0到1范围内的解决方案搜寻参数,r2表示由0到1范围内中的随机数组成大小为ξ
×
1的向量,up表示由不同维度的最大值组成大小为ξ
×
1的向量,lp表示由不同维度的最小值组成大小为ξ
×
1的向量;
[0138]
步骤9):在当前迭代次数且相似比τ<υ2时,通过公式(10) 计算用于保证准确搜索的质量函数,并结合公式(11)模拟鹰的飞行捕获准确搜寻最优簇中心位置,跳转到步骤10):
[0139][0140]
x

=f
×
x
b-(g1×
x
×
r1)-g2×
l r2×
g1ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0141]
其中,f表示质量函数值,g1表示模拟鹰捕获猎物过程中的随机值,g2表示模拟鹰捕获猎物过程中的飞行斜率;
[0142]
在上述步骤6)至步骤9)中,针对不同迭代阶段和相似比,采用不同的模拟鹰行为,比如,在迭代次数且相似比τ≥υ1时,模拟鹰的高空飞行,能够快速确定最佳解决方案的搜索范围,通过上述模拟不同鹰行为的迭代优化,能够快速地、针对性地实现对最佳解决方案的确定。
[0143]
步骤10):判断当前解决方案编号m是否超过阈值ζ,如果是,当前迭代次数it加1,跳到步骤11),否则开始计算下一个解决方案与前一次解决方案的相似比,当前解决方案编号m加1,跳到步骤5)。
[0144]
步骤11):判断当前迭代次数it是否超过最大迭代次数maxit,如果是,跳到步骤12),否则跳到步骤5)。
[0145]
步骤12):根据迭代优化后的解决方案所形成的簇,利用公式(12)计算每个簇的评价值,将最低评价值的簇中节点信用等级确认为劣,其他簇中节点信用等级确认为优,并对优和劣信用等级的节点给予收益分配权重分别为μ1和μ2。经过h轮区块共识后,将全部节点的累积表现值和累积信用值进行清除,开始新一轮的累积表现值获取:
[0146][0147]
其中,c
l
表示第l个簇的评价值,表示第l个簇内第k个样本的当前累积信用值,θ1表示当前累积信用值的权重值,表示第l个簇内第k个样本的历史等级数值,θ2表示历史等级数值的权重值,表示第l个簇内第k个样本的离线次数,θ3表示离线次数的权重值,表示第l个簇内第k个样本的延时时间,θ4表示延时时间的权重值,表示第l个簇内第k个样本的当前网络分叉次数,θ5表示当前网络分叉次数的权重值。
[0148]
步骤13):如果网络中出现网络分叉,跳到步骤14),否则跳到步骤15);
[0149]
步骤14):判断目标节点集群是否获得区块奖励,如果是,则节点集群管理者根据区块上链结果与每个节点的收益分配权重,采用节点收益分配方法进行节点集群收益分配,然后跳到步骤2),否则直接跳到步骤2);其中,节点收益分配方法包括如下步骤:
[0150]
14.1)令c
t
表示目标节点集群的总算力,co表示其他节点集群的总算力, ce表示恶意节点集群的总算力,ca表示全网总算力,即ce co c
t
=ca。其中,恶意节点集群的总算力ce由用于诚实共识算力与用于发动faw攻击算力所组成,即
[0151][0152]
其中,pi表示单个节点的算力,h
ie
表示节点i根据恶意节点集群的指派进行诚实共识的指示符,d
ie
表示节点i根据恶意节点集群的指派对目标节点集群进行faw攻击的指示符。
[0153]
14.2)获得恶意节点集群获得的总收益为:
[0154][0155]
其中,c
t
表示目标节点集群的总算力,ce co c
t
=1,h
ie
表示节点i 根据恶意节点集群的指派进行诚实共识的指示符,表示恶意节点集群自身诚实共识的算力,
表示恶意节点集群进行区块截留攻击发动的 faw攻击算力,v表示恶意节点所提交区块称为成功上链的概率,表示faw攻击算力让目标节点集群获得该区块收益的概率。
[0156]
14.3)令可检测恶意节点的目标节点集群内节点i的权重因子ui为:
[0157][0158]
其中,μ1和μ2表示收益分配权重。不可检测恶意节点的目标节点集群t 内节点i的收益分配权重μ1和μ2均为1。
[0159]
14.4)获得目标节点集群的总收益为:
[0160][0161]
其中,r
t
表示目标节点集群的总收益。
[0162]
14.5)获得其他节点集群通过诚实共识获得收益为:
[0163][0164]
其中,ro表示诚实共识获得收益。
[0165]
14.6)由于节点集群中节点进行诚实共识faw攻击的时候,需要消耗电力、水、设备破损等资源,因此令单位算力进行诚实共识消耗的成本为th,单位算力进行faw攻击的成本为tf,且考虑到节点集群中节点的分配收益是根据其提供的算力进行分配,即三类节点集群内节点收益模型,则令节点的收益为:
[0166][0167]
其中,r
′e表示恶意节点集群内单个节点的净收益,r

t
表示目标节点集群内单个节点的净收益,r

表示其他节点集群内单个节点的净收益,ne表示恶意节点集群所能指派的节点数量,n
t
表示目标节点集群所能指派的节点数量, no表示其他节点集群所能指派的节点数量。
[0168]
步骤15):判断目标节点集群是否成功寻找到区块,如果是,则节点集群管理者结合每个节点的收益分配权重,通过公式(19)分配其节点收益,可表示为
[0169][0170]
其中,表示目标节点集群内等级为优的节点集群i的收益,表示目标节点集群内等级为优的节点集群i的算力,表示目标节点集群内等级为优的节点集群i的算力,表示目标节点集群内等级为劣的节点集群i的收益。
[0171]
步骤16):节点集群管理者根据节点上报的信息,及时检测发起faw攻击的恶意节点,降低其收益分配权重,跳到步骤2)。
[0172]
如图2所示,本发明还提出一种基于节点共识行为的区块链faw攻击防护系统,应用如上述实施例中任一项公开的基于节点共识行为的区块链faw 攻击防护系统,包括:
[0173]
节点数据清洗模块11,用于针对节点发送来的节点数据进行数据清洗以及基于预设参数的简单验证,以初步筛选得到执行faw攻击的恶意节点;
[0174]
节点信用评估模块12,用于基于行为奖惩机制,计算每个节点的表现值,并根据前一次节点的工作情况更新每个节点的累积表现值,以及结合信用评分模型将累积表现值转化为累积信用值;
[0175]
解决方案确定模块13,用于根据节点数据获取累积信用值及其他评估要素确定不同维度的最大值与最小值,构建搜索空间,将随机产生的簇中心位置作为一个解决方案,并将解决方案添加至解决方案矩阵中;
[0176]
模拟鹰行为优化模块14,用于计算不同解决方案的适应度,并选择适应度最高的解决方案作为当前最佳解决方案,迭代计算每个解决方案与前一解决方案的相似比,并分别在迭代次数和相似比相对于相应的预设阈值的情况下,采用不同的模拟鹰行为对当前解决方案进行优化;
[0177]
信用等级评价模块15,用于根据迭代优化后的解决方案所形成的簇,计算每个簇的评价值,并根据预设阈值将节点信用等级划分为优等和劣等,给予相应等级的节点对应的收益分配权重;
[0178]
节点收益分配模块16,用于在当前网络产生分叉且目标节点集群获得区块奖励、或当前网络未产生分叉且目标节点集群成功寻找到区块时,根据预设的节点收益分配方法,结合节点信用等级对本轮节点集群的收益进行分配。
[0179]
在上述实施例中,优选地,基于节点共识行为的区块链faw攻击防护系统还包括:参数初始化模块17,用于对预设参数进行初始化;
[0180]
其中,所需初始化参数包括最大迭代次数、当前迭代次数it=0、相似度阈值υ1和υ2、信用评分模型参数λ1和λ2、表现值更新因子κ、当前累积信用值的权重值历史等级数值的权重值离线次数的权重值延时时间的权重值以及当前网络分叉次数的权重值
[0181]
在上述实施例中,优选地,基于节点共识行为的区块链faw攻击防护系统还包括:节点数据分析模块18,用于对节点数据进行数据分析,以得到网络是否分叉、网络分叉次数、节点集群是否获得区块奖励、节点集群是否成功寻找到区块、节点数据错误次数、历史
等级数值、离线次数及延时时间。
[0182]
根据上述实施例公开的基于节点共识行为的区块链faw攻击防护系统,其各模块所要实现的功能与上述实施例公开的区块链faw攻击防护方法的各步骤分别对应,因此,对于上述区块链faw攻击防护系统中各模块的具体实现步骤在此不再赘述。
[0183]
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献