APP下载

基于权力指数的DPoS 共谋攻击检测与预防

2023-01-27付晓东漆鑫鑫刘骊彭玮丁家满代飞

通信学报 2022年12期
关键词:共谋权重区块

付晓东,漆鑫鑫,刘骊,彭玮,丁家满,代飞

(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.昆明理工大学云南省计算机应用技术重点实验室,云南 昆明 650500;3.西南林业大学大数据与智能工程学院,云南 昆明 650224)

0 引言

2008 年,中本聪提出一种P2P 形式的加密货币——比特币[1]。比特币出现之后,其底层区块链技术便迅速引起了学术界与各个行业的关注。区块链技术因具有去中心化、难以篡改、集体维护等特点广泛应用于金融、物联网、交通等领域[2-3]。共识机制[4]作为区块链的重要组成部分,其性能的好坏直接影响区块链系统的安全性、事务处理能力以及可扩展性。然而,由于区块链技术结构的复杂性以及缺乏安全管控,针对区块链系统共识机制层面的攻击也在逐年增加[5-6]。

区块链中常见的共识机制有工作量证明(PoW,proof of work)[7]、权益证明(PoS,proof of stake)[8-9]和委托权益证明(DPoS,delegate proof of stake)[10]等。比特币采用PoW 的共识机制,通过节点“挖矿”来竞争记账权。虽然PoW 算法简单且容易实现,但是它在通过“挖矿”达成共识的过程中需要消耗大量计算资源[11]。为了解决PoW 资源浪费的问题,PoS 被提出[9]。由于PoS 在一定程度上缩短了达成共识的时间,而且不再需要消耗大量资源,因此PoS 一经提出就引起广泛关注。虽然PoS 可避免资源浪费,但是达成共识的过程容易产生垄断,并面临币龄累计攻击[12]、51%攻击[13-14]以及无利害攻击[15]等各种不同攻击的风险。为了解决PoS 中参与验证与记账的节点数量过多的问题,DPoS 被提出,共识时间进一步缩短,被以太坊[16]、EOSIO[17]等平台作为共识机制。然而,与PoS 类似,DPoS依然存在易被攻击的问题。

DPoS 作为PoS 共识机制的衍生体,其核心在于拥有权益的节点通过投票选出k个委托节点,每轮选举结束就由这k个节点轮流生成区块,DPoS共识机制模型如图1 所示。由于DPoS 节点的投票权重不同,该投票过程本质上是加权投票,与PoS相比,DPoS 减少了共识时间以及资源的消耗。虽然DPoS 对PoW 和PoS 存在的问题进行了改进,但DPoS 在投票过程中可能存在恶意节点与其他节点串通并选择傀儡委托节点的共谋行为,这种行为也被称为共谋攻击[18]。共谋攻击使恶意节点可操纵选举,被操纵选举出的委托节点会进一步影响共识结果,降低DPoS 区块链系统的安全性。考虑到目前的研究没有解决DPoS 共识机制遭受共谋攻击的问题,本文提出了一种基于权力指数(PI,power index)的DPoS 共谋攻击检测与预防方法来解决上述问题。本文主要贡献如下。

图1 DPoS 共识机制模型

1) 针对DPoS 中共谋攻击的特点,建立加权投票博弈模型并借鉴博弈理论[19]中的权力指数[20],分析共谋攻击存在的可能性以及恶意节点发起共谋的行为动机。通过计算各个节点在投票过程中的权力指数值,得到每个节点对选举结果影响程度的大小。

2) 对DPoS 中共谋攻击进行检测与预防。由于恶意节点在加权投票博弈过程中权力指数可能出现异常,可以根据权力指数变化幅度判别投票节点的加权投票博弈中是否存在共谋攻击。为了对DPoS 中共谋攻击进行预防,本文通过Softsign 激活函数抑制恶意节点的权力指数,同时抑制恶意节点的行为动机。

3) 对权力指数的单调性以及Softsign函数的饱和性进行理论证明,验证了DPoS 存在共谋攻击以及攻击预防方法的合理性。实验验证了DPoS 中共谋攻击存在的合理性,以及DPoS 共谋攻击检测与预防方法的有效性与优越性。

1 相关工作

近年来,为了提高区块链共识层面的安全性,国内外学者展开了一系列的研究。针对非DPoS 区块链系统的研究中,Yang 等[21]提出了一种将矿工历史加权信息与计算难度相结合的方案,以缓解PoW中 51%攻击。为了减轻 PoS 中的远程攻击,AlMallohi 等[22]提出了一种在区块链技术中实施检查点的方法。本文将提高DPoS 区块链系统安全性的相关研究分为理论与策略分析和共识机制的改进研究2 个层面。

为了对DPoS 的安全问题进行理论与策略分析,Wang 等[23]提出了一种DPoS 的博弈分析方法。该方法通过构建扩展的DPoS 博弈树,理论上可以有效地分析是否存在恶意攻击。田国华等[24]根据区块链层次结构对现有的区块链攻击进行分类,并针对已知的区块链系统设计了各种攻击和防御手段。魏松杰等[25]以比特币与以太坊为例,对区块链系统的安全威胁进行分类和总结。

针对DPoS中投票选举的中心化问题,Luo等[26]提出了一种DPoS 共识机制选举算法,该算法改进了基于环的协调器选举算法,不仅降低了交易成本,而且达到了杜绝垄断和去中心化的效果。Yao等[27]在DPoS 委托节点的选择阶段通过节点分组实现了组间隔离,提高了选择过程中委托节点的公平性;此外,该研究利用鱼群算法提高了区块链网络的安全性能和容错率。为了提高DPoS 节点投票的积极性,Wang 等[28]提出一种基于聚类算法的激励机制,由于传统的聚类算法存在需要预测聚类数量、无法处理异常值等问题,该研究还提出一种Hegselmann-Krause 意见动力学聚类算法来满足奖励分配机制的需求。

通过对目前的DPoS 共识机制的安全研究进行分析可以看到,一方面,现有研究主要以理论分析为主对DPoS 面临的各种恶意攻击进行梳理,总结出DPoS 共识机制遭受的各种攻击的基本原理,提出一些建议与防御措施,但这种理论分析缺乏具体的实验加以验证。另一方面,现有研究主要利用特殊方法与技术对DPoS 进行改进,激励节点的投票积极性以及隔绝恶意节点的攻击行为。然而,DPoS 共识机制的关键在于如何保证委托节点选举的安全性。一旦委托节点的选举过程被操纵,DPoS 共识机制的安全性与一致性也就无法保证。虽然部分文献提出了新的选举算法,但未验证针对DPoS 的共谋攻击进行检测与预防的有效性。而且,以上研究都没有对DPoS 的共谋攻击行为进行分析。考虑到博弈中的个体理性,应通过建立分析模型并找到恶意节点的行为动机解决DPoS 中面临共谋攻击的问题。针对上述研究中没有考虑到的问题以及不足,本文提出了一种基于权力指数的DPoS 共谋攻击检测与预防方法,通过建立加权投票博弈模型对恶意节点的行为动机进行分析。同时,根据分析结果对DPoS中的共谋攻击进行检测与预防,最终提高DPoS 区块链的安全性。

2 DPoS 共谋攻击的检测与预防

权力指数是加权投票博弈中衡量个体影响博弈结果能力的指标。目前,Shapley-Shubik[29-30]和Banzhaf[29,31]权力指数是加权投票博弈较常见的2 个权力指数。Shapley-Shubik 权力指数的核心是将沙普利值应用于投票领域,其主要思想是计算某一特定个体对任意联盟的价值的期望贡献。Banzhaf 权力指数是在所有联盟出现概率相同的情形下,计算某一特定个体对任何联盟的平均边际贡献。权力指数的值越大,特定个体影响投票结果的能力就越大。

考虑到DPoS 委托节点的选举就是通过加权投票得到的,本文将Shapley-Shubik 与Banzhaf权力指数作为DPoS 投票节点在加权投票博弈中影响委托节点选举结果能力的指标。由于DPoS中的共谋攻击就是恶意节点串通其他节点合并成串通同盟的过程,且在存在恶意节点的博弈中,恶意节点会从自身成本角度出发,逐步从小权重节点开始共谋。串通同盟形成过程将导致在同一加权投票博弈中的最小权重且不参与共谋的节点的权力指数变化与不存在恶意节点的博弈中最小权重且不参与共谋的节点的权力指数变化不同。因此,可根据异常的权力指数变化对DPoS 加权投票中的共谋攻击进行检测。此外,为了预防DPoS 中的共谋攻击,本文使用Softsign 激活函数在检测过程中对恶意节点的共谋攻击行为进行惩罚。为更清晰地阐述本文方法,表1 展示了本文方法涉及的符号及其含义。

表1 符号及其含义

2.1 DPoS 的加权投票博弈

假设DPoS 在投票过程中有n个投票节点N={nd1,nd2,…,ndn},投票节点根据币龄通过最小值化公式进行等比缩小,当缩小到最小投票节点的币龄为正整数1 时,再全部取整转成权重集合W={w1,w2,…,wn}进行加权投票。加权投票博弈是投票领域的一种联盟博弈[32]形式,所以,DPoS 中的加权投票博弈可以看成一个简单的联盟博弈的扩展。定义四元组(N,W,q,v)为DPoS 的一个加权投票博弈,其中价值函数v具体描述为当联盟S的权重达到或者超过阈值q时,联盟S获胜,即

2.2 DPoS 中Shapley-Shubik 与Banzhaf 权力指数

由于Shapley-Shubik 权力指数反映的是投票个体在包含其联盟中的平均力量,仅反映了个体对联盟的影响。而Banzhaf 权力指数只从联盟的角度考虑,投票个体的“权力”是其作为获胜联盟中关键加入者的个数。总而言之,虽然2 个权力指数都能反映投票个体在群体决策中的实际权力,但其中任何一个权力指数都无法从多个角度完整反映出个体对投票结果的实际影响能力值。为了能更好地分析DPoS 共谋攻击中各个投票节点在多个角度下实际权力的变化,本文结合Shapley-Shubik 与Banzhaf权力指数对DPoS 共谋攻击进行检测和防范。

2.3 基于PI 的DPoS 共谋攻击检测

一个加权投票博弈只能讨论和分析DPoS 在投票过程中选出一位委托节点的情况下是否存在共谋攻击。然而,DPoS 在加权投票阶段会选择k个委托节点。因此,本文在k个加权投票博弈下对DPoS 共谋攻击进行分析与检测。

在加权投票博弈中,恶意节点为了形成新的恶意节点会串通投票过程中权重较小的节点,导致攻击发起后最小权重且不参与共谋的节点发生改变。根据分析过程中的多次模拟,可以计算DPoS 恶意节点在共谋攻击发起前后的最小权重且不参与共谋的节点的权力指数的变化幅度,进而得到DPoS在k个加权投票博弈中检测存在共谋攻击的范围。如果一个加权投票博弈的变化幅度在设置的范围内,则认定加权投票博弈中存在恶意节点的共谋攻击。为了对检测效果进行具体评估,本文共谋攻击检测的对比实验将在相同条件下通过皮尔逊相关系数比较不同方法得到测试值。

为了对k个加权投票博弈分区中存在的共谋攻击进行统计,设Ml与Mh分别是存在恶意节点的加权投票博弈中最小权重且不参与共谋的节点的权力指数最小值与最大值的变化幅度,Dk(Mk)为第k个加权投票博弈中是否存在共谋攻击的结果。如果存在,结果为1,否则为0,即

同时,设定m维向量D=(D1,D2,…,Dm),其中Dm为k个加权投票博弈中存在DPoS 共谋攻击的加权投票博弈分区数量,即

2.4 基于Softsign 激活函数的DPoS 共谋攻击预防

基于权力指数对DPoS 共谋攻击进行检测的最终目的是对面临的攻击进行预防。为了抑制恶意节点在形成恶意攻击同盟过程中权力指数的增加,本文采用Softsign 激活函数作为恶意节点的抑制函数。激活函数常用于神经网络[33]中神经元输入端映射到输出端的函数,可分为饱和的激活函数与非饱和的激活函数。其中,饱和的激活函数是指随着输入值x的不断增加,输出值y逐渐不再变化。目前,较常见的饱和的激活函数有Softsign、Sigmoid 和Tanh 等。由于Softsign 激活函数的饱和性质可以降低恶意节点通过串通其他节点以大幅增长其权力指数的可能性,以及该激活函数的抑制效果相比Sigmoid 和Tanh 更加显著,因此本文选择在检测DPoS 共谋攻击的阶段加入Softsign 激活函数对恶意节点的同盟进行抑制,即在共谋攻击发起过程中,如果恶意节点在检测的时候被识别,其同盟不断增加的权重通过Softsign 激活函数进行饱和计算,使恶意节点串通同盟的权重趋于定值,最终其权力指数也将被抑制,恶意节点无法操纵选举结果会使其行为动机被削弱,最终对DPoS 共谋攻击达到预防的效果。假设wc为恶意节点串通同盟C⊆N的权重,定义Softsign 激活函数为

3 基于PI 的DPoS 共谋攻击检测与预防理论分析

本节通过权力指数的合并单调性[29,34]对DPoS共谋攻击的存在合理性进行证明;同时,通过Softsign 激活函数的饱和性对预防DPoS 共谋攻击的有效性进行证明。

性质1Shapley-Shubik 权力指数的单调性。当q不变时,给定一个 DPoS 的加权投票博弈(N,W,q,v),节点i,j∈S′以及联盟S′⊆N,有

证明详见附录1。

性质2Banzhaf 权力指数的单调性。当q不变时,给定一个DPoS 的加权投票博弈(N,W,q,v),节点i,j∈S′以及联盟S′⊆N,有

证明详见附录1。

根据性质1 与性质2,DPoS 中恶意节点发起共谋攻击的动机在于利用权力指数的合并单调性提升自身对选举结果的影响力,最终达到操纵选举的目的。换句话说,DPoS 共谋攻击的存在是合理的。同时,权力指数的合并单调性使在DPoS恶意节点发起共谋攻击的过程中可以找到异常权力指数变化值,从而通过异常变化值可检测DPoS中的共谋攻击。

性质3Softsign 激活函数的饱和性。

证明详见附录1。

根据性质3,在恶意节点串通同盟的权重不断增加的过程中,由于Softsign 激活函数的饱和性,恶意节点串通同盟的权重最后趋于不再变化的值,从而使其权力指数不再增加。

总而言之,本文通过理论证明权力指数的合并单调性,直观地分析出恶意节点发起DPoS 共谋攻击的动机,即恶意节点可通过共谋攻击提高权力指数来操纵投票选举。同时,计算出存在共谋攻击博弈与不存在共谋攻击博弈中权力指数的不同变化幅度值,最终通过存在共谋攻击的博弈的异常权力指数变化幅度,有效检测出DPoS中的共谋攻击。最后,基于Softsign 激活函数的饱和性,在DPoS 遭受共谋攻击的过程中抑制恶意节点串通同盟的权力指数,以起到预防该攻击的效果。

4 实验研究与分析

为验证本文基于PI 的DPoS 共谋攻击检测与预防方法的有效性,设计了相关实验。实验环境为Windows10 操作系统、Core i7-11700k 处理器、16 GB内存,开发环境为PyCharm 2021,编程语言为python 3。

由于随机模拟节点权重等相关数据进行实验不能保证实验结果的真实性,本文采用公开的X-block 数据集[35-36]。该数据集包含被标记的以太坊节点的隐私数据以及节点间的交易数据。被标记的以太坊节点的隐私数据有2 880 个节点,节点的隐私数据包含物理地址、钱包余额等敏感信息。而节点间的交易数据包含几十万条以太坊节点间的历史交易数据。

根据以太坊的隐私数据,实验将其中各个节点的币龄通过最小值化以及取整,转换成各个节点的权重,最后将得到的权重来模拟DPoS 加权投票博弈中共谋攻击的过程。考虑到基于支持向量机的方法可以有效识别及检测类似共谋攻击,且文献[37]将支持向量机的检测方法OSVM(one class support vector machine)融入自选异常数据检测的算法中对DPoS 中恶意节点的自私行为进行识别检测,以提高DPoS 的安全性。因此,本节通过以太坊的节点数据,将本文方法与基于支持向量机的检测方法进行对比实验。而在DPoS 共谋攻击的预防实验中,为了显示Softsign 激活函数的抑制效果的优越性,对Sigmoid以及Tanh激活函数在检测过程中的抑制结果进行对比验证。

4.1 DPoS 共谋攻击分析实验

根据第3 节对权力指数的相关定义可知,节点权力指数越大,其对加权投票博弈选举结果的影响力也就越大。因此,本文在选出k个委托节点的加权投票过程中,用权力指数得到恶意节点发起共谋攻击过程中的变化值。由于DPoS 区块链系统一般会选出k=21 个委托节点,本文对21 个不同的加权投票博弈进行实验。此外,按照总权重递增的顺序模拟了DPoS 区块链中选出21 个委托节点的难度。本文实验将2 880 个以太坊节点分成21 个博弈分区。为了得到合理的分析结果,本文实验在这些加权投票博弈中随机选择权重相同的恶意攻击节点。同时,由于恶意节点发起共谋攻击时其本身的权重未知,不同权重的攻击者在发起共谋攻击时,恶意节点联盟的形成过程不同,而不同的过程将影响最终结果的判断,为了能够在不同权重下合理分析出攻击者的行为动机,本文将攻击者权重大于博弈中投票节点的平均权重的类型定义为较大权重的攻击者,反之,则为较小权重的攻击者。图2 为恶意节点有较大权重时,共谋攻击发起前后的2 个权力指数。图3 为恶意节点有较小权重时,共谋攻击发起前后的2 个权力指数。图2 与图3 中的SSI-B 与SSI-A 表示恶意节点发起共谋攻击前后的Shapley-Shubik 权力指数,PBI-B 与 PBI-A 表示攻击发起前后的Banzhaf 权力指数。

图2 恶意节点有较大权重时,共谋攻击发起前后的2 个权力指数

图3 恶意节点有较小权重时,共谋攻击发起前后的2 个权力指数

由图2 与图3 可知,恶意节点发起攻击之后,与其他节点共谋并形成一个权重较大且新的恶意节点,增加了恶意节点对联盟的贡献,这使它发起攻击后的Shapley-Shubik 与Banzhaf 权力指数的曲线都在它发起攻击前的2 个权力指数的曲线之上。同时,无论发起共谋攻击的恶意节点的权重多大,恶意节点的Shapley-Shubik 与Banzhaf 权力指数在发起共谋攻击之后都会增加。此外,恶意节点权力指数增加就是恶意节点通过串通攻击前的其他节点增加了恶意节点对获胜联盟的影响,是导致其权力指数增加的主要原因。也就是说,恶意节点可以通过共谋并吸收其他节点权重增加其在加权投票博弈中的权力指数,实现操纵投票选举。同时,从恶意节点的个体理性的角度证实了DPoS 中共谋攻击存在的可能性,恶意节点发起攻击后,其2 个权力指数的增加也从侧面证明了权力指数的合并单调性。

从图2 和图3 还能看到,随着加权投票博弈的总权重增加,恶意节点在共谋攻击发起前的Shapley-Shubik 权力指数相比Banzhaf 权力指数更加具有单调性,即恶意节点发起共谋攻击前的Shapley-Shubik 权力指数逐渐变小。从Shapley-Shubik权力指数的角度上讲,由于恶意攻击节点越想操纵加权投票博弈分区序号越大的选举,就越会降低恶意节点在总权重较大博弈分区中的影响力,其操纵的难度就会越大。总而言之,恶意节点可通过提高本身的权力指数形成有效的共谋攻击。

4.2 DPoS 共谋攻击检测实验

为了验证本文DPoS 共谋攻击检测方法的性能,将实验分成横向参照对比和方法对比两类。其中,横向参照对比是通过在21 个DPoS 的加权投票博弈中随机设定存在共谋攻击博弈分区,然后通过本文方法检测的结果与设定值比较。方法对比是通过皮尔逊相关系数对比本文方法与OSVM 方法的检测效果。

由于在21 个加权投票博弈中设定存在共谋攻击的博弈数量过少,无法充分证明本文检测方法的具体效果;设定的博弈数量过多,将导致在获取相同利益的前提下攻击成本上升,不符合恶意节点从个体理性出发的利益需求。因此,在横向参照对比的实验中,本文通过设定5 组不同数量且存在共谋攻击的博弈分区来展示检测结果,且检测结果进行多次实验求平均值,如图4 所示。从图4 中可知,无论恶意节点的类型如何,5 组存在共谋攻击的博弈分区的设定值与本文方法检测的测试值没有太大区别。

图4 横向参照对比检测

虽然图4 的结果表明本文方法的检测效果不错,但缺乏其他方法检测DPoS 共谋攻击的结果对比,因此仍然需要相关指标进行方法对比。OSVM方法的实验数据是从几十万条以太坊的历史节点交易数据中随机选择5 000 条数据分别作为两类恶意节点类型的训练集。设定m维向量A=(A1,A2,…,Am),其中,Am为设定的k个加权投票博弈中存在DPoS 共谋攻击的加权投票博弈数量。如果检测方法得到的检测值Am越接近设定存在共谋攻击的加权投票博弈数量值mD,则说明检测效果越好。皮尔逊相关系数、欧几里得距离以及余弦相似度经常用于度量2 个变量之间的相关性,当变量是多维向量时,皮尔逊相关系数比欧几里得距离更能展示向量间的运动趋势,且与余弦相似度相比,其能弥补在维度计算上的缺陷。所以,为了突出本文方法的优越性,本文将皮尔逊相关系数作为方法间的检测指标。根据皮尔逊相关系数的定义,本文方法的皮尔逊相关系数PI_PCC 为

利用皮尔逊相关系数,在不同维度上对本文基于PI 方法以及文献[37]中OSVM 方法的检测效果如图5 所示。

图5 检测方法对比

图5 中,PI_PCC_low 与OSVM_PCC_low 表示在恶意节点有较小权重时,本文方法和OSVM 方法得到的皮尔逊相关系数;PI_PCC_high 与OSVM_PCC_high 表示在恶意节点有较大权重时,2 种方法得到的皮尔逊相关系数。基于皮尔逊相关系数的性质可知,其值越接近1,2 个向量越呈正相关。从图5 的结果可知,不管恶意节点的类型如何,基于PI 的DPoS 共谋攻击检测的皮尔逊相关系数总是不小于OSVM 方法,也就是说,本文方法的检测效果优于OSVM 方法。

4.3 DPoS 共谋攻击的预防实验

通过DPoS 共谋攻击分析与检测实验可知,恶意节点主要通过增加自身的权力指数来操纵DPoS中的投票选举。为了显示Softsign 激活函数在DPoS共谋攻击环境下对恶意节点权力指数的抑制效果,本文使用Sigmoid 以及Tanh 激活函数进行DPoS 共谋攻击的预防实验。为了和上述实验保持一致性,预防实验同样在2 种不同类型的恶意节点下进行。同时,实验从21 个DPoS 的加权投票博弈中随机选择在检测出共谋攻击的博弈分区中加入激活函数并计算加入激活函数前后的权力指数的变化。最后,对这些博弈分区的权力指数平均值,本文将Sigmoid 以及Tanh 激活函数作为对比,图6 与图7具体展示了加入3 种激活函数下,恶意节点有较大权重和较小权重时的2 个权力指数的变化情况。

图6 恶意节点有较大权重时,加入激活函数后的2 个权力指数

图7 恶意节点有较小权重时,加入激活函数后的2 个权力指数

由图6 可以看出,当恶意节点有较大权重时,Sigmoid 与Tanh 激活函数的曲线比较相近,也就是说,这2 个激活函数在抑制恶意节点的效果方面相差不大。但是,与Softsign 激活函数相比,Sigmoid和Tanh 激活函数的曲线都在Softsign 激活函数的上方,即Softsign 激活函数的抑制效果明显更好。

此外,之前的实验表明,当恶意节点有较小权重且未加入激活函数时,恶意节点的权力指数增加了十倍甚至几十倍。而加入Softsign 激活函数后,图7 中恶意节点权力指数增加的倍数最多不超过3.5 倍。而且从图7 可知,当恶意节点有较小权重时,相比Tanh 激活函数,Softsign 激活函数的曲线变化更频繁,表明Softsign激活函数值的收敛比Tanh激活函数值的更慢,但由于Softsign 激活函数的曲线一直在其他曲线下方,说明其在抑制效果方面仍然比Tanh 激活函数要好。

图8 展示了加入Softsign 激活函数前后,检测存在共谋攻击的博弈分区数量。实验结果最终分成恶意节点有较大与较小权重2 种类型,实验通过比较加入Softsign 激活函数前后检测出DPoS 中存在共谋攻击的博弈分区数量,展示恶意节点的抑制效果。从图8 可知,加入Softsign 激活函数后,检测存在共谋攻击的博弈分区不超过2 个,说明其能在一定程度上抑制恶意节点在DPoS 加权投票阶段中的共谋攻击,使恶意节点共谋行为的动机降低,对DPoS 共谋攻击起到预防效果。

图8 加入Softsign 激活函数前后,检测存在共谋攻击的博弈分区数量

5 结束语

本文针对DPoS 共识机制中恶意节点发起共谋攻击来操纵委托节点的选举导致DPoS 区块链的安全性无法保证的问题,通过结合博弈理论中加权投票模型以及权力指数,提出了一种基于权力指数的DPoS 共谋攻击检测与预防方法。首先通过定义权力指数来度量投票节点在加权投票博弈过程中影响结果的能力,接着对权力指数异常变化的恶意节点博弈分区进行DPoS 共谋攻击检测,然后采用Softsign 激活函数抑制恶意节点的行为来预防攻击,最后通过理论分析与实验验证了本文方法的合理性与有效性。

现阶段本文采用Softsign 激活函数虽然可以有效抑制恶意节点的权力指数,但Softsign 激活函数存在抑制速率较慢的问题。因此,后续研究将继续探索新的DPoS 共谋攻击预防方法,进一步提升DPoS 区块链系统的安全性。

附录1 权力指数的单调性及Softsign 激活函数的饱和性证明

性质1 的证明。首先,根据Shapley-Shubik 权力指数原理与式(2)可得

猜你喜欢

共谋权重区块
区块链:一个改变未来的幽灵
权重常思“浮名轻”
区块链:主要角色和衍生应用
监督中的共谋与纵容
因地制宜惠民生 共谋福祉稳发展
为党督政勤履职 代民行权重担当
区块链将给媒体业带来什么
区块链+媒体业的N种可能
基于局部权重k-近质心近邻算法
共谋共同正犯否定论