一种基于LSTM-Blacklist的动态信任度证明机制

徐超 ,  雷锦涛 ,  陈勇

武汉大学学报(理学版) ›› 2023, Vol. 69 ›› Issue (2) : 156 -168.

PDF (2709KB)
武汉大学学报(理学版) ›› 2023, Vol. 69 ›› Issue (2) : 156 -168. DOI: 10.14188/j.1671-8836.2022.0189

一种基于LSTM-Blacklist的动态信任度证明机制

作者信息 +

A Mechanism of Proof-of-Dynamic-Trust Based on LSTM and Blacklist

Author information +
文章历史 +
PDF (2773K)

摘要

针对区块链网络中共识节点的恶意行为导致的区块链系统安全问题,提出一种基于LSTM(long short-term memory)-Blacklist的动态信任度证明机制(PoDT-LSTMB)。该动态信任度证明机制通过前向注意力机制的两层LSTM神经网络学习并分析参与共识节点的行为数据,预测节点行为倾向。以节点信任度为基础构建黑名单,剔除低于信任度阈值的节点,提高全网节点的总体可信性。以正常区块上链率以及节点信任度的变化为主要评估指标,与信任度证明PoT(Proof of Trust)机制以及不带黑名单的PoDT-LSTM机制进行了对比实验。实验结果表明,基于前向注意力机制的两层LSTM神经网络结构准确率可达0.915 1,本文提出的PoDT-LSTMB机制比PoT机制的正常区块上链率提高30%~33%。

Abstract

Aiming at the security problem of blockchain system caused by the malicious behavior of consensus nodes in the blockchain network, a dynamic trust proof mechanism (PoDT-LSTMB) based on LSTM (long short-term memory) and Blacklist is proposed. The dynamic trust proof mechanism learns and analyzes the behavior data of participating consensus nodes through the two-layer LSTM neural network of the forward attention mechanism, and predicts the behavior tendency of nodes. A blacklist is built based on node trust, eliminating nodes below the trust threshold to improve the overall trust of nodes in the entire network. Taking the normal block chaining rate and the change of node trust as the main evaluation indicators, we conducted comparative experiments with the PoT (Proof of Trust) mechanism and the PoDT-LSTM mechanism without blacklists. The experimental results show that the accuracy of the two-layer LSTM neural network based on the forward attention mechanism can reach 0.915 1. The PoDT-LSTMB mechanism proposed in this paper improves the chain-up ratio of normal block by 30%~33% over the PoT mechanism.

Graphical abstract

关键词

区块链 / 共识机制 / 动态信任度 / 长短期记忆 / 黑名单机制

Key words

blockchain / consensus mechanism / dynamic trust / long short-term memory / blacklist mechanism

引用本文

引用格式 ▾
徐超,雷锦涛,陈勇. 一种基于LSTM-Blacklist的动态信任度证明机制[J]. 武汉大学学报(理学版), 2023, 69(2): 156-168 DOI:10.14188/j.1671-8836.2022.0189

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

作为比特币底层关键技术之一的区块链,因其去中心化、不可篡改性、可追溯性等特点,近年来受到人们越来越多的关注。我们以参与区块链网络的一个用户公私钥为一个节点,在理想状态下,全网节点共同维护一个账本,网络中的节点在无需第三方的情况下,能安全可靠地完成交易、身份验证、数据传输存储等传统网络的功能。共识机制是区块链网络数据的维护和安全与稳定的重要保证,它要求系统对外提供一份统一的账本,确保数据有据可查,不被篡改[1]。但参与共识过程的节点通常是匿名的,存在恶意节点破坏共识威胁网络安全的可能,如何合理地设计共识机制,在保障节点参与积极性的同时提高节点可信性,降低节点攻击系统的概率,是目前学术界研究的一个重点方向[2~4]

在现实生活中,为提高人们对社会的信任度,通常会在信用体系上建立“黑名单”制度。它是以声誉惩罚为基础的处罚机制[5],通过对失信行为进行惩处,提高失信成本,使社会朝着信用社会的方向发展。而区块链和人类社会一样,网络中的节点也构成了一个“信用社会”,共识过程中各节点需要对区块、数据以及节点身份进行验证,只有大部分节点争做可信节点,区块链网络才能稳定。

与此同时,区块链中每个节点的操作都具有目的性和时序性,因此,其整体行为具有倾向性。如果可以根据节点的历史行为预测其未来的可信性,进而采取相应的预防措施,这将极大提高区块链网络的稳定性。对于时序相关事件的趋势预测,文献[6]提出了一种基于传统循环神经网络的长短期记忆(long short-term memory,LSTM)网络模型,在处理时序性问题、解决传统模型捕获和存储有效信息少的问题上发挥着重要作用。

因此,本文以黑名单机制和LSTM模型为基础,结合区块链系统的特性,提出一种基于LSTM-Blacklist的动态信任度证明机制PoDT-LSTMB(Proof-of-Dynamic-Trust Based on LSTM Model and Blacklist)。该机制主要面向公有链,首先收集所有节点在每轮共识中的行为数据,然后采用LSTM模型,根据节点历史行为预测其行为倾向,实时评估节点信任度,并以此为基础,构建黑名单机制及时剔除信任度低于信任度阈值的节点。本方法的主要贡献表现在以下三个方面:一是解决了如何在节点动态变化下保证系统安全稳定,及时识别并剔除恶意节点的问题;二是利用动态信任度解决节点积极性不足的问题;三是解决贿赂攻击和权益粉碎攻击等攻击问题。

为便于论述,本文给出如下术语定义:

1) 正常行为:节点的行为完全符合区块链的共识协议,如对合法的区块予以签名或者验证通过,将合法的交易打包进区块等。

2) 恶意行为:节点的行为违背区块链的共识协议,如对合法区块不予以签名、验证不通过、合法交易不予以打包,对非法区块予以签名、验证通过、将非法交易或伪造交易打包进区块。

3) 正常节点:主动恶意行为的概率非常小的节点。

4) 恶意节点:主动恶意行为概率较大的节点。本文实验时将该概率最小值设置为50%。

本文第1节介绍共识机制的相关方法和研究现状,第2节介绍本文所提出的基于LSTM-Blacklist的动态信任度证明机制,第3节分析本文共识机制的复杂度,第4节分析本文共识机制的安全性,第5节通过对比实验验证了所提共识机制的有效性,最后总结全文。

1  相关工作与技术

对于信任度,目前的研究主要分为两大类,一类是基于节点个体行为构建的模型,一类是基于节点交互行为构建的模型。

基于节点个体行为构建的信任度模型,包括基于节点资源、网络贡献量、历史数据上传量构建的信任度模型[78]、基于节点共识行为的信任度模型[9~12]、基于节点参与度的信任度模型[13]、基于节点合作情况的信任度模型[14]。该类方法能够基于个体的历史行为对节点信任度进行调节,具有一定的自适应能力,但如何有效将历史行为用于信任度的计算,是该研究的一个难点。

基于节点交互行为构建的模型,主要是利用博弈的思想,通过互评价度量信任度。这类模型的机制包括基于买房评价的信用评价机制[15]、基于挖矿行为满意度评价的信用评价机制[16],基于节点本身信用网络的信用评价机制[17]。以上这些方法,虽然在博弈过程中可以有效减少恶意性评价现象的出现,但是互评具有一定主观性,容易出现信任度高的节点群垄断挖矿,攻击者通过贿赂等方式提高信任度评价,新节点难以进入矿池等现象。

因此,目前改进的共识机制虽然在提高其攻击成本,促使节点间正常合作上取得了不错的效果,但是无论正常节点还是恶意节点,均存在攻击系统的可能。

2  信任度证明机制

2.1 总体框架

共识过程主要包含挖矿、交易的验证与打包以及签名确认三个子过程,本文从削弱挖矿节点权利、提高区块可信度和共识效率的角度出发,依据共识过程的三个阶段,将全网节点分成三个节点群,分别为挖矿节点群(mining group,MG),签名交易打包节点群(signature and transaction group,STG)和验证区块节点群(validation group,VG)。其中,MG中节点负责空区块生成,仅拥有挖矿权;STG中节点拥有交易验证打包权,负责对空区块进行合法性验证和将交易池中交易打包进入空区块;VG中节点负责对上链的区块进行二次合法性验证。基本交互过程为:首先MG中的节点进行挖矿操作,对哈希问题进行求解,将计算出符合条件的空区块,附带一笔矿工头和MGt集合中其他挖矿节点的奖励交易一起发送给STG中的节点进行验证,然后STG中的节点将自己的签名和交易池中合法的交易打包进通过验证的空区块中,当空区块验证通过的签名数超过STG节点数的2/3后,将含有交易的区块发送给VG进行二次验证。最后,如果VG验证通过,则加入交易的根Hash值重新计算,并更新区块的Hash值,以确保交易的不可篡改。

在每轮共识前,全网节点会依据节点的信任度重新分配。具体来说,每个节点的信任度与其地址绑定,并存在于区块链中,但其值是由系统自动计算并写入的,正常节点只会读该数据,并不修改它。因此,区块链中的每个节点均能获取其他节点的信任度。每次分配节点群时,信任度最高的t个节点会将低于阈值的节点放入到黑名单中,剩下的节点按照给定的节点群分配比例,以上一区块的Hash值为随机种子,随机生成节点群分配方案,并广播给其他节点。为节省通信开销,广播给其他节点的只是伪随机计算方法,包括被划定为黑名单节点的地址列表。其他节点在收到节点群计算方法后,将计算具体的分配方案,然后按照超过半数的原则,确定系统中各节点所属的节点群,参与新一轮的共识。

为限制每类节点的权利,提升作恶成本,本文结合动态信任度证明机制和黑名单机制提出了基于LSTM-Blacklsit的动态信任度证明机制(PoDT-LSTMB),通过该机制对作恶节点进行限制,以提升整个系统的稳定性。PoDT-LSTMB机制的主要步骤如图1所示,包括5个部分。

① 第t轮共识前,第t-1轮挖矿节点群MGt-1、签名交易打包节点群STGt-1和验证节点群VGt-1的行为特征将输入到LSTM模型,该模型将结合各节点的历史行为特征及当前行为特征,生成动态信任度计算函数,更新各个节点的信任度。系统中信任度最高的t个节点确定节点群分配方案,并分发给所有节点,组成第t轮共识节点群。在确定节点群分配方案时,信任度最高的t个节点会先剔除低于信任度阈值节点,并将其移入黑名单中,再对白黑名单中的节点进行分配。

② 挖矿节点群MGt中的节点通过调整随机值,解决目标哈希问题,率先计算出目标值的节点记为矿工头m,其余节点记为普通矿工节点。矿工头m计算出的空区块记为bjt,其中包含前一个区块的哈希值bpre_ hash、矿工头地址addrm、本区块在区块链的高度height、随机值nonce以及时间戳timestamp。同时,为保障该矿工头及MGt集合中其他挖矿节点的收益,该空区块中将携带一个发给自身及MGt集合中其他挖矿节点的交易,作为该区块的第一笔交易数据。

③ 将产生的空区块bjt交由签名交易打包节点群STGt进行处理。STGt的所有节点依次对区块进行验证和打包处理。验证过程是逐个进行的,每个STG节点一旦收到一个空的区块,则会验证该空区块的合法性。其中,判断区块是否合法主要是将收到的区块数据与该节点本地保留的数据进行比对,包括区块头中的前一个区块的Hash值以及各节点信任度字段等。若比对一致则认为区块合法,该节点签名并将部分交易打包进入区块,然后再将该区块随机转发给下一个STG的节点进行验证。因为验证是依次进行的,每当一个STG节点进行验证时,都能够通过该区块已经添加的节点标记信息知道当前已经完成了多少节点的验证,而在节点群分配时,每个节点都知道哪些是STG节点。因此,当区块签名数量达到集合中节点数2/3时,它将在剩余未进行验证的节点中挑选信任度最高和次高的节点,若二者验证均不通过则返回步骤①,若二者任一验证通过,则该节点将交易池中交易尽可能多地打包,生成最终MerkleTree[18],并将打包后的区块b¯jt提交至验证节点群VGt中,进行二次验证操作;同时,为避免STG各个节点争做主打包节点,验证通过后,区块签名和打包奖励将均分给所有的STG节点,所以主打包节点其实不会获得额外的收益。如果主打包节点想将某些不合法的数据打包上链,也还是要接受验证节点群的验证才能真正上链,因此STG节点群中主打包节点和一般的签名节点从利益上看并没有太大的区别,不会出现STG节点争做主打包节点而选择不验证交易。此外,由于整个打包验证过程是逐个依次进行的,而且每次都是随机选择下一个验证节点,因此也不会造成信誉中心化问题。

④ 将签名打包后的区块b¯jt提交至验证节点群VGt中,进行区块上链验证。若收到VGt集合节点总数2/3的验证通过信息,即拥有上链资格,反之则返回步骤①。

⑤ 若只产生了一个区块,则直接上链,进入下一轮共识。若出现分叉,则分别计算每个拥有上链资格区块的信任度,即累计签名节点的信任度,区块信任度最高的区块上链成功,进入下一轮共识。

2.2 前向注意力机制的两层LSTM模型

共识中节点的操作行为具有一定时序性,历史行为为判定该节点行为倾向提供了信息参考。LSTM模型具有较好时序处理能力,因此借助LSTM模型,通过对最近T轮共识过程每个节点的历史行为特征的分析,有利于构建较精准的恶意行为识别模型,提高对节点恶意行为的识别率,增强区块链网络的稳定性和安全性。我们将采集特征分为节点群本身特征和共性特征,如表1表2所示。

由于不同节点群的操作事项不一,比如挖矿节点群中节点主要进行产生区块的操作,签名与交易节点群中节点主要对区块和交易进行签名验证,并将交易打包进入区块,验证节点群中节点主要对需要上链的区块进行二次验证。因此,为了表征不同节点群中节点的行为特征,本文构建表1所示的8个面向节点特性的特征属性。

此外,节点的恶意行为情况、节点在线情况以及节点历史信任度对于判断其信任度高低也是十分重要的因素。因此,在表1的8个特征属性基础上,增加了最近T轮共识恶意率、最近T轮共识在线率以及上轮共识节点信任度这3个节点共性特征,如表2所示。其中,最近T轮共识恶意率为节点在最近的T轮共识过程中,累计恶意行为次数的占比;最近T轮共识在线率为节点在最近的T轮共识过程中累计网络在线次数的占比。

在模型的构建上,LSTM模型虽然具有记忆性,能够捕捉长距离的特征信息,但是随着层数的增加和输入层输入维数的增多,依然存在重要信息经过迭代更新后出现梯度消失的问题,同时输入数据具有一定稀疏性。为解决上述问题,本文在LSTM模型基础上引入注意力机制[19,20],提出了一种基于注意力机制的两层单向LSTM模型,模型结构如图2所示。

输入层的输入数据为节点i在第t轮共识时,最近T轮共识的历史数据集合Xit=Xi,t-T+1t,,Xi,t-1tXi,tt,其中Xi,t-T+1t=xi,1t-T+1,xi,2t-T+1,,xi,Kt-T+1记录节点i在第t-T+1轮共识时的K个行为特征。模型从输入层获取T个时间点的序列数据,其中每个时间点含有K个特征,经过一层注意力机制和两层隐含层的迭代学习更新参数,输出维数为一维的节点恶意率。依据恶意率越大信任度越小的原则,基于Logistic函数建立恶意率转换公式(1)计算节点信任度。

trustit=11+ecmaliciousit-λ

其中,c为惩罚系数,取值范围大于0;模型输出恶意率maliciousit取值范围为0,1λ为恶意率阈值,取值范围为0,1。恶意率转换公式的值域为0,1。为了将(1)式的输出值平滑化,基于加权平均函数将上轮信任度即历史信任度与本轮信任度结合,得到最终信任度更新函数,如下式:

Trustit=β*trustit+1-β*Trustit-1

其中,β为权重系数,β越小表明历史共识行为越受关注。共识过程是一个长期的过程,其历史行为更能说明其信任度的高低,因此β值不宜设置过大。我们在实验时将其值设置为0.1。设置节点初始信任度Trusti0=11+e0-0.30.57,其中节点初始恶意率maliciousi0=0,惩罚系数为1,恶意率阈值λ=0.3

2.3 区块产生

挖矿即区块的产生作为区块链共识过程的首要事项,其策略的设置关系到网络的效率以及安全。在公有链中,区块产生主要有基于工作量的方法和基于权益的方法。前者将率先解出哈希问题的节点作为区块的产生节点,而后者将根据网络中节点权益的高低确定区块的产生节点。第一种方法赋予率先解决问题的节点多个权利,同时拥有挖矿权和交易打包权,并且比特币网络中每产生21万个区块代币补偿减少一半,随着可获取的代币补偿不断减少以致难以弥补成本,节点利用交易打包权实施恶意行为的可能性逐渐增大。第二种方法由于记账权的决定因素并不是算力,所以制作区块成本较低,因此,对于那些权益低的节点来说,它虽然没有记账权,但在系统出现分叉时,可以通过在所有分叉上都添加自己的区块,利用手续费而获取较高收益,从而造成权益粉碎攻击、累计攻击等恶意攻击行为,使网络处于不稳定和不安全的状态。

基于以上的分析,本文的区块产生策略以工作量证明机制(Proof-of-Work,PoW)为基础,将挖矿节点的挖矿权和交易打包权进行了分权处理,使得挖矿节点仅拥有挖矿权。具体的,挖矿节点将根据上一个区块的哈希值hashbpre_ hash、挖矿节点地址addrm、区块高度height以及时间戳timestamp,调整随机值nonce来获得满足公式(3)的有效nonce值,(3)式中,D为目标难度值。

hash(hash(bpre_ hash),addrm,height,timestamp,
nonce)<D

率先计算出满足条件的nonce值的节点将获得挖矿权。此时,它将以上一个区块的哈希值hashbpre_ hash、挖矿节点地址addrm、区块高度height、时间戳timestamp以及计算出的nonce值作为区块头,构建新的空区块bjt,然后将其提交至签名与交易节点群STGt中进行合法性验证以及交易打包。

2.4 区块签名与交易打包

区块产生后,将由签名与交易节点群STGt对产生的区块进行签名和交易打包。其流程如图3所示。

签名与交易节点群STGt接收空区块bjt后,节点对其进行验证签名和交易打包操作。STGt内的节点随机打乱顺序,通过(3)式,节点依次对bjt的合法性进行验证。若合法,则节点对其签名,同时将交易池中待打包交易的交易打包进区块;若非法,则不对其进行签名操作。STGt中的节点数为NSTG,当bjt的签名数达到2NSTG/3时,在剩下还未对区块进行验证操作的节点中,选择信任度最高和次高的节点分别记为主打包节点fst和备用打包节点backupst

主打包节点fstbjt的合法性进行验证,若合法则签名,同时将尽可能多的交易全部以MerkleTree的形式打包到区块中,并添加MerkleTree的根Hash到区块头中,该轮区块签名和交易打包操作结束;若不合法,则由备用打包节点backupst验证bjt是否合法,若合法则进行上述操作提交b¯jt,该轮验证签名和交易打包操作结束;若bjt依旧不合法,则判定bjt为不合法区块,所有对区块签名的节点在此轮共识中判定为恶意签名,同时矿工头m判定为恶意挖矿,此轮共识结束,返回步骤①,更新节点信任度并剔除低于阈值的节点,同时更新节点的白名单和黑名单,重新进行挖矿操作。

2.5 区块上链

通过STGt中节点的验证签名后,区块b¯jt上链之前,还需要对其进行二次验证,防止出现区块bjt不合法同时STGt恶意节点占多数使其签名通过的情况。区块上链流程图如图4所示。

验证节点群VGt节点有NVG个,当收到的二次验证通过数达到2NVG/3以上即验证通过,区块b¯jt拥有上链资格。此时,结合区块头中的交易根Hash,更新该区块的Hash值,然后直接上链。若出现分叉,即拥有上链资格的区块大于1个,则通过比较区块信任度大小,将区块信任度最大的区块上链,本轮共识结束,系统进入下一轮共识。其中,区块信任度为签名节点信任度的累加值,计算公式如下:

BlockTrustjt=i=1NSTGαi,jtTrustit-1/NSTG

其中,αi,jt为第i个节点在第t轮共识中对第j个区块bjt是否签名,取值为0,1Trustit-1为第i个节点在第t-1轮共识后的信任度更新值。

3  复杂度分析

PoDT-LSTMB共识过程主要包括5个步骤,下面分步骤分析其各自的时间复杂度和通信复杂度。

步骤1:节点群的划分。该步骤首先是从信任度满足要求的节点中,由信任度最高的t个节点按照节点群的比例关系,随机划分3个节点群,然后向其他所有节点进行广播。其时间复杂度Otime1和通信开销Ocom1分别为:Otime1=O(n)Ocom1=O(n)

步骤2:挖出空块。由于本共识机制挖矿只是确定可用空区块,因此设置的挖矿难度为一个较低值,其时间复杂度为O(1)。

步骤3:区块打包与验证。其时间复杂度为O(2/3*NSTG)。而每次进行验证时,区块是点对点传播依次打包验证,因此通信开销也为O(2/3*NSTG)。

步骤4:区块上链。区块上链过程与打包过程类似,其时间复杂度和通信复杂度都为O(2/3*NVG)。

步骤5:区块分叉处理。如果没有分叉,上链为时间复杂度为O(1)。如果有分叉,需要累计前面节点的信任度,其时间复杂度为签名节点个数O(NVG)。

综上所述,PoDT-LSTMB共识机制的时间复杂度可表示为O(n)+O(1)+O(2/3*NSTG)+O(2/3*NVG)+O(1),由于n>NSTGn>NVG,则其时间复杂度为O(n),同理,该共识机制的通信复杂度也为O(n)

4  安全性分析

4.1 贿赂攻击

在PoW、PoS(Proof-of-Stake)等共识机制网络中,双花攻击的成功实施需要节点控制51%以上的算力或者51%的权益生成侧链,以侧链替代主链。虽然Eyal等[21]认为攻击者达到上述条件非常困难,但是目前算力在不断优化提升,同时以矿池为依托的挖矿行为成为了主流,双花攻击成功可能性大幅提高。解决方法之一是将算力达到一定程度的矿池分割成小矿池,抑制矿池算力过度增加。但该方法难以抵制贿赂攻击。攻击者可以利用自身财力等优势贿赂其余节点,为其攻击提供帮助。PoDT-LSTMB机制中LSTM模型通过节点历史行为的分析,不断调整其信任度,借助信任度和黑名单机制加强对网络正常行为的引导。对于被行贿方来说,如果节点尝试帮助行贿方实施攻击,他虽然能够获得一定的贿赂资金,但可能会被发现而使得其信任度低于信任度阈值,从而被列入黑名单,无法继续进入网络参与共识。因此,被行贿方为能够参与共识获得持续收益,会偏向不接受贿赂。

因此,在PoDT-LSTMB机制的约束下,实施贿赂攻击的概率以及贿赂攻击成功的概率,都将降低。

4.2 权益粉碎攻击

PoS机制用权益替代PoW机制算力的方法解决后者因挖矿导致的资源浪费问题,但是带来了针对前者的权益粉碎攻击(即权益占比低的节点为了分叉而不断攻击共识网络,同时自身利益不受损或者损失低)。权益粉碎攻击使得网络一直处在不稳定状态。在PoDT-LSTMB机制下,一方面,无论是新加入的节点还是网络中已有的节点,只要其信任度高于信任度阈值,即可不受限制参与共识过程并获取相应回报,大大提高节点参与共识的积极性,降低了权益者攻击网络的概率;另一方面,挖矿节点经过分权处理后只拥有挖矿权而没有打包交易权,签名交易打包节点属于合作关系,分叉的区块需通过区块信任度排名才能决定上链的最终区块。同时,信任度更新函数LSTM模型利用节点最近T次共识的行为输出个人信任度,阻止信任度低的节点在网络中继续操作。所以权益低的节点攻击网络,在PoDT-LSTMB机制中会面临节点强制退出机制的风险,损失大大提高。

4.3 双花攻击和分叉攻击

双花攻击和分叉攻击成功实施都需要某个节点占据绝对优势,利用侧链替代主链。在PoDT-LSTMB共识机制下,每个节点是根据其历史信任度进行分配的,而且挖矿、打包交易以及验证是分开进行的,每次共识均是基于上一个区块的Hash值随机选择不同阶段的节点,一个节点想操控所有阶段的可能性微乎其微,而且必须进行贿赂攻击,因此双花攻击、分叉攻击难以实施。

4.4 女巫攻击

女巫攻击主要通过构建多个虚拟节点达到增加其权益的目的。在PoDT-LSTMB共识机制下,一方面,我们可以结合工作量证明机制,比如进入时必须提供一定的算力作为加入条件,增加节点准入资格;另一方面,刚加入的节点其信任度较低,一旦有恶意行为,将立即被归为黑名单,无法达到其攻击网络的目的。

5  实验与结果分析

为验证PoDT-LSTMB机制的有效性,本文以Intel Core i7-4720HQ CPU 2.60 GHz + 8 GB内存为基础硬件,以Windows8操作系统+Python 3.5为软件环境,构建了仿真实验平台。将PoDT-LSTMB机制与PoT机制[10]以及不带黑名单的PoDT-LSTM机制进行了对比实验。由于本文主要在于验证共识机制,所以在构建仿真实验平台时,我们采用随机的方式产生100 000条交易数据,并认为所有的交易均是正确数据。同时生成1 000个线程,作为参与共识的节点。实验主要分为三大部分:

1) 确定LSTM模型的结构及其相关参数;

2) 对比PoDT-LSTMB、PoDT-LSTM、PoT三种共识机制的性能。

3) 对比在PoDT-LSTMB和PoDT-LSTM共识机制下恶意节点的作恶成本。

5.1 LSTM模型训练及结果分析

为获得最优的LSTM模型结构及参数,本文通过模拟区块链挖矿→区块验证及交易打包→区块二次检验→区块上链全过程,对比不同LSTM模型结构下对节点行为的检测效果,评估其结构的优劣。

实验设置节点数为1 000,其中正常节点800个,恶意节点200个。然后将这些节点分为挖矿节点群、签名与交易打包节点群和验证节点群三类,其比例分别为3∶3∶4,共识轮数为100轮(注:此节点仅仿真本文提出的共识机制,并不对整个区块链网络进行仿真,因此这些节点并不是功能完全的区块链节点,仅由一个轻量级的线程来实现,每个节点仅完成其所属节点群的工作,所以每个节点的实际开销较低,可在本硬件环境下完成)。采集的数据特征中含有8个属性特征,先将其使用One-Hot独热编码预处理,以适应于LSTM模型的分析。通过实验模拟生成10万条待打包数据,将实验数据按7∶3的比例随机分成训练数据集和测试数据集,其中训练数据集中40%的数据用作验证数据集,每批次使用512条节点行为数据进行模型训练(即batch_size=512),共进行Epoch=100轮,实验所设置的学习率初始值learning_ rate=0.001,衰减率decay=0.001/Epochdropout=0.2。为确定最佳LSTM模型结构及其参数,本文对9种不同LSTM模型分别进行了实验,采用精确率(Precision)、召回率(Recall)、F1分数(F1_score)、准确率(Accuracy)四种指标量化评估模型效果,实验结果如表3所示。其中L代表层,D代表单向LSTM模型,A代表在LSTM模型最后一层加入注意力机制,BA代表在LSTM模型之前加入注意力机制。

根据表3,通过对比9种LSTM模型可以发现,2L1D+BA模型即基于前向注意力机制的两层单向LSTM模型要优于其他8个LSTM模型,其所有指标值均优于其他模型。因此,本文的恶意行为检测模型将采用LSTM模型中的2L1D+BA结构进行构建。

为确定最佳的恶意率阈值,尽可能区分正常节点和恶意节点,本文以2L1D+BA结构的LSTM模型为基础,在正常节点与恶意节点比例不同环境下(normal_ratio分别为0.3, 0.5, 0.7, 0.8, 0.9),取不同的恶意率阈值(0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8)分别进行分类效果实验测试,实验结果如图5所示。由图5可以看出,当恶意率阈值在0.3左右时,基于注意力机制的两层单项LSTM模型(即2L1D+BA模型)能够取得的准确率均已超过60%,而且大部分情况下(除normal_ratio为0.3的情况)可达到80%以上,较好地划分正常节点与恶意节点。

5.2 性能对比

根据图5准确率的变化以及上述分析,将恶意率转换公式(1)参数λ设置为0.3。为了说明PoDT-LSTMB机制的性能,实验以区块信任度和正常区块上链率为性能评估指标,对PoDT-LSTMB、PoDT-LSTM、PoT[10]三种共识机制进行比较。其中,PoDT-LSTM机制为不设黑名单机制的PoDT-LSTMB机制,其参数λ也设置为0.3,对于PoDT-LSTMB机制中黑名单信任度阈值τ,由于节点的初始信任度约为0.57(见2.2节最后一段),而初始节点通常不应被纳入黑名单,但如果是女巫攻击,进来后主要进行恶意行为,则表明该节点应该被划为黑名单,因此黑名单信任度阈值应比节点的初始信任度略小,所以我们将τ设置为0.5。实验中,共识轮数Consensus_num=50轮,节点数N=10,节点在线概率为0.9。之所以将其设置为0.9,主要因为加入网络的节点其实是更愿意参与共识的节点,因此会以较高的概率出现在该共识网络,假设在PoDT-LSTMB机制下,当总节点数因节点进入黑名单而低于N时,下一轮共识前会有新节点加入并使得总节点数维持在N。此外,由于系统中存在多个节点,为衡量系统整体的信任度水平,本文以STG节点群的信任度为基础,构建了系统整体信任度水平,其计算方法如下式所示:

Trustsys=xkSTGTrustxk/NSTG

考虑到不同正常节点比率对整个系统性能评估的影响,在正常节点与恶意节点比例,即normal_ratio分别为0.8和0.6时,本文对系统性能分别进行了对比实验,实验结果如图6所示。

通过对比图6(a)和图6(b)发现,在不同的环境下,PoDT-LSTM机制相较PoDT-LSTMB机制的区块信任度表现为在一定范围内上下波动,且波动幅度较大,PoDT-LSTMB机制下的区块信任度呈现波动上升的趋势,且波动幅度小于前者。原因在于,在前者网络下存在着恶意节点进行恶意行为而未被剔除出网络,不断干扰网络的稳定性的情况,而PoDT-LSTMB机制,在新一轮共识前,基于节点最近的T次共识过程历史行为,利用前向注意力机制两层LSTM模型输出其恶意率并更新信任度,结合黑名单机制将低于信任度阈值的节点剔除网络,所以其区块信任度表现为波动上升,因此从侧面反映出网络中的节点整体情况趋好,节点进行恶意行为的概率不断下降。

PoDT-LSTMB机制与PoT机制相比,虽然后者区块信任度总体都高于前者,且进行一段时间共识后区块信任度趋于稳定,但是通过比较图6(c)和图6(d)可以发现,在相同的一段共识轮数内,PoT机制的区块高度明显低于PoDT-LSTMB机制的区块高度。在理想状态下,区块高度与共识轮数应呈y=x线性正比关系。实验结果对比表明,PoDT-LSTMB机制比PoT机制更能接近理想状态。

正常区块上链提升率rxy计算方法如下式:

rxy=Hx-Hy/Hy

其中,Hx 表示A机制下的区块上链高度,Hy 表示B机制下的区块上链高度。

通过式(6)计算得到,在normal_ratio=0.6normal_ratio=0.8不同环境下,在第50次共识后,PoDT-LSTMB机制的正常区块上链率比PoDT-LSTM机制分别提高约24%和19%,比PoT机制分别提高约33%和30%。

PoDT-LSTMB机制拥有更高上链率的原因在于,它能将低于阈值的节点,即对系统安全稳定有更大威胁的节点剔除,而另外两种机制没有该项操作,使得网络稳定安全受到威胁的程度并未大幅降低。

由于节点的强制退出、新节点的加入,以及节点信任度动态更新等原因,PoDT-LSTMB机制下的网络,在某些时间点存在一定幅度波动,但从总体上看,PoDT-LSTMB的区块高度比其他两个机制均要高。因此,PoDT-LSTMB机制的网络稳定性以及安全性上比其他两个机制表现更优,抗恶意节点攻击的能力更强。

为进一步评估PoDT-LSTMB机制性能,本文度量了网络节点数对PoDT-LSTMB机制网络的影响。实验主要参数设置如下,网络节点数N10,100,1 000,共识轮数Consensus_num=200,正常节点比例normal_ratio=0.8。结果如图7所示。

通过图7可以发现,网络中节点数越多,区块信任度增长过程的波动幅度越小。这表明,节点数的增加将有利于系统的稳定。其中主要原因是,节点数少的网络中参与共识过程的节点较少,那么实施贿赂攻击、女巫攻击等安全攻击的成功率会有所增加。同时,节点数少使得节点进行恶意行为的成本较低,网络中尝试性攻击系统事件发生的概率较高。但是在黑名单机制配合下,系统中恶意节点不断清除出网络,区块信任度随后表现出总体波动缓慢上升且波动幅度逐渐变小。

图8为在节点数不同的网络中,恶意节点占比变化曲线图。可以发现节点数为1 000和100的网络相较节点数为10的网络,能更快识别和剔除恶意节点,并促使所有节点维护网络正常运行,将网络中恶意节点的比例控制在一个很低的范围内,可使恶意节点成功实施恶意行为的概率进一步降低。随着网络节点数的增加,PoDT-LSTMB机制不仅能够使得网络更加安全稳定,同时还能提高正常区块的上链率,促进共识效率。

5.3 节点信任度

上述实验以整个网络效果的优劣为评估对象对PoDT-LSTMB机制进行测试,图9从节点出发,通过对比PoDT-LSTMB机制在网络中实施正常行为和恶意行为的两类节点,以及PoDT-LSTM机制节点的信任度和恶意率变化,说明PoDT-LSTMB机制在提高节点恶意行为成本上的作用。

首先从共识轮数为200轮,节点数为1 000的PoDT-LSTMB机制网络中,随机抽取上述两类节点中各一个节点进行对比,其中No.124代表的是实施正常行为的节点,其信任度变化如图9(a)所示;No.799代表的是中途实施恶意行为的节点(即原本为节点实施的是正常行为,中途逐步开始实施恶意行为,转化为恶意节点),其信任度变化如图9(b)所示。然后再从PoDT-LSTM机制中任取一节点No.500,其信任度变化如图9(c)所示。从图9(a)可以发现,始终实施正常行为的节点,其信任度以抛物线形式增长,即增长速度先快后慢,之后维持在0.95左右。对比图9(b),虽然No.799在前序的共识过程中无恶意行为,信任度增长过程类似于图9(a),但是后续操作中因受到贿赂攻击等攻击行为,在第55轮进行了恶意行为,其信任度增长开始快速下降。实施恶意行为被系统识别后,并在随后10轮左右共识中No.799的恶意率始终在10%以上,即使保持实施正常行为到第80轮,信任度仍然未达到实施恶意行为前的信任度水平,说明恶意行为的影响时间将会在25轮共识以上。再一次进行恶意行为后,信任度快速下降直至低于信任度阈值,最终该节点进入黑名单中,无法进行后续操作。而在无黑名单的PoDT-LSTM机制中,由于系统无法让恶意节点强制退出网络,恶意节点能够不断攻击系统,从图9(c)可以发现,节点保持实施一段时间的正常行为,信任度达到一定值后实施一次攻击,循环往复影响系统安全稳定。

上述实验说明PoDT-LSTMB机制能够大幅提高进行恶意行为的成本,维护系统安全稳定。即使存在有节点实施恶意行为后,其信任度高于阈值的情况,但是想让自己维护的不合法区块有竞争力,前提是先提高自己的信任度,需要正常参与25~50轮共识才能将其信任度恢复至实施恶意行为前的信任度水平,这就大大提高了节点实施恶意行为的成本,从而任意一个理性节点都不会选择继续攻击网络。

5.4 优势分析

与现有的动态信任度机制PoT[10]方法相比,本文通过实验验证了基于前向注意力机制两层LSTM模型构建的恶意行为识别模型,其识别的准确率和速度均较优。同时,由于加入了黑名单机制,使得每个节点在作恶前都需要考虑一旦被发现,将会使得自身面临很长一段时间无法继续参与网络共识的风险,促使每个节点会积极采用健康方式参与共识。此外,由于节点信任度与其历史信任度成正比,而信任度高的节点将拥有更大的概率来参与共识过程获得相关收益,促使节点参与共识,解决节点积极性不足的问题。

对于区块链的去中心化特性,本文通过分权的方式,将挖矿、交易验证与打包、签名确认三个阶段进行了分群决策,任何一个阶段少数节点的时效均不会影响共识过程。对于共识的性能,由第3节的复杂度分析可以看出,每个阶段的时间复杂度均与当前节点数呈线性关系,同时由于将整个共识过程分为了多个阶段,各阶段之间可以流水并行执行,具有较好的伸缩性。

6  结 语

本文分析了现有共识机制的特点,提出动态信任度证明机制PoDT-LSTMB。该机制利用LSTM模型,通过对节点最近T轮共识行为的分析,构建节点的信任度评估模型,对节点的信任度进行动态评估。同时结合强制退出网络的黑名单机制,剔除信任度低于信任度阈值的网络节点,达到维护网络良性运行的目的。实验表明,PoDT-LSTMB机制不但能快速准确识别并剔除网络中恶意节点,降低网络中恶意节点占比,使其难以成功攻击网络,而且相比PoT机制和PoDT-LSTM机制,本机制抗恶意节点能力更强。在正常节点比例为0.6和0.8的情况下,PoDT-LSTMB机制的正常区块上链率比PoDT-LSTM机制分别提高约24%和19%,比PoT机制分别提高约33%和30%。对于维护整个区块链网络的安全稳定具有显著的成效。如何在此共识机制的基础上,进一步降低共识开销,提升共识效率,是未来我们需要研究的方向。

参考文献

[1]

蔡晓晴, 邓尧, 张亮, . 区块链原理及其核心技术[J]. 计算机学报202144(1): 84-131. DOI: 10.11897/SP.J.1016.2021.00084 .

[2]

CAI X QDENG YZHANG Let al. The principle and core technology of blockchain[J]. Chinese Journal of Computers202144(1): 84-131(Ch). DOI: 10.11897/SP.J.1016.2021.00084 .

[3]

尚燕敏, 曹亚男, 韩毅, . 基于主题和大众影响的用户动态行为倾向预测[J]. 计算机学报201841(7): 1431-1447. DOI: 10.11897/SP.J.1016.2018.01431 .

[4]

SHANG Y MCAO Y NHAN Yet al. Recommending the right items for user temporal interests with matrix factorization through topic model[J]. Chinese Journal of Computers201841(7): 1431-1447. DOI: 10.11897/SP.J.1016.2018.01431(Ch ).

[5]

任家东, 刘新倩, 王倩, . 基于KNN离群点检测和随机森林的多层入侵检测方法[J]. 计算机研究与发展201956(3): 566-575. DOI: 10.7544/issn1000-1239.2019.20180063 .

[6]

REN J DLIU X QWANG Qet al. An multi-level intrusion detection method based on KNN outlier detection and random forests[J]. Journal of Computer Research and Development201956(3): 566-575. DOI: 10.7544/issn1000-1239.2019.20180063(Ch ).

[7]

HUANG J QKONG L HCHEN G Het al. Towards secure industrial IoT: Blockchain system with credit-based consensus mechanism[J]. IEEE Transactions on Industrial Informatics201915(6): 3680-3689. DOI: 10.1109/TII.2019.2903342 .

[8]

王顺. “黑名单”制度法律属性探究及其行政法规制——以《上海市单用途预付消费卡管理规定》第25条为视角[J]. 东南大学学报(哲学社会科学版)201921(S1): 88-93. DOI: 10.13916/j.cnki.issn1671-511x.2019.s1.018 .

[9]

WANG S. A probe into the legal nature of the “blacklist” system and its administrative regulations—From the perspective of article 25 of the regulations of Shanghai municipality on the administration of single-use prepaid consumer cards[J]. Journal of Southeast University (Philosophy and Social Science)201921(S1): 88-93. DOI: 10.13916/j.cnki.issn1671-511x.2019.s1.018(Ch ).

[10]

HOCHREITER SSCHMIDHUBER J. Long short-term memory[J]. Neural computation19979(8): 1735-1780. DOI: 10.1162/neco.1997.9.8.1735 .

[11]

GUPTA MJUDGE PAMMAR M. A Reputation System for Peer-to-Peer Networks[EB/OL].[2022-08-12].DOI: 10.1145/776322.776346 .

[12]

KAMVAR S DSCHLOSSER M TGARCIA-MOLINA H. The Eigentrust Algorithm for Reputation Management in P2P Networks[EB/OL].[2013-06-16].Management_in_P2P_Networks/links/0046351b0f1a8dd2a6000000/The-EigenTrust-Algorithm-for-Reputation-Management-in-P2P-Networks.pdf.

[13]

GAI F YWANG B SDENG W Pet al. Proof of reputation: A reputation-based consensus protocol for peer-to-peer network[M]// Database Systems for Advanced Applications. Cham:Springer International Pressing, 2018: 666-681. DOI: 10.1007/978-3-319-91458-9_41 .

[14]

黄建华, 夏旭, 李忠诚, . 基于动态授权的信任度证明机制[J]. 软件学报201930(9): 2593-2607. DOI: 10.13328/j.cnki.jos.005772 .

[15]

HUANG J HXIA XLI Z Cet al. Proof of trust: Mechanism of trust degree based on dynamic authorization[J]. Journal of Software201930(9): 2593-2607. DOI: 10.13328/j.cnki.jos.005772(Ch ).

[16]

王缵, 田有亮, 李秋贤, . 基于信用模型的工作量证明算法[J]. 通信学报201839(8): 185-198. DOI: 10.11959/j.issn.1000-436x.2018138 .

[17]

WANG ZTIAN Y LLI Q Xet al. Proof of work algorithm based on credit model[J]. Journal on Communications201839(8): 185-198. DOI: 10.11959/j.issn.1000-436x.2018138(Ch ).

[18]

BUGDAY AOZSOY AÖZTANER S Met al.Creating consensus group using online learning based reputation in blockchain networks[J]. Pervasive and Mobile Computing201959: 101056. DOI: 10.1016/j.pmcj.2019.101056 .

[19]

OTTE PDE V MPOUWELSE J. Trustchain: A Sybil-resistant scalable blockchain[J]. Future Generation Computer Systems2020107: 770-780. DOI: 10.1016/j.future.2017.08.048 .

[20]

DOUCEUR J R. The sybil attack[M]//Peer-to-Peer Systems. Berlin: Springer, 2002: 251-260. DOI: 10.1007/3-540-45748-8_24 .

[21]

LIU D XALAHMADI ANI J Bet al. Anonymous reputation system for IIoT-enabled retail marketing atop PoS blockchain[J]. IEEE Transactions on Industrial Informatics201915(6): 3527-3537. DOI: 10.1109/TII.2019.2898900 .

[22]

TANG C BWU L YWEN G Het al. Incentivizing honest mining in blockchain networks: A reputation approach[J]. IEEE Transactions on Circuits and Systems Ⅱ: Express Briefs202067(1): 117-121. DOI: 10.1109/TCSII.2019.2901746 .

[23]

BAHRI LGIRDZIJAUSKAS S. Trust mends blockchains: Living up to expectations[C]//2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS). New York: IEEE Press, 2019: 1358-1368. DOI: 10.1109/ICDCS.2019.00136 .

[24]

SZYDLO M. Merkle tree traversal in log space and time[M]//Advances in Cryptology - EUROCRYPT 2004. Berlin: Springer, 2004: 541-554. DOI: 10.1007/978-3-540-24676-3_32 .

[25]

VASWANI ASHAZEER NPARMAR Net al. Attention is all you need[C]//Proceedings of the 31st International Conference on Neural Information Processing Systems. New York: ACM, 2017: 6000-6010. DOI: 10.5555/3295222.3295349 .

[26]

BAHDANAU D CHO KBENGIO Y. Neural machine translation by jointly learning to align and translate[EB/OL].[2014-09-01].DOI: 10.3115/v1/w14-4012 .

[27]

EYAL ISIRER E G. Majority is not enough: Bitcoin mining is vulnerable[M]// Financial Cryptography and Data Security. Berlin:Springer, 2014: 436-454. DOI: 10.1007/978-3-662-45472-5_28 .

基金资助

国家自然科学基金面上项目(71972102)

教育部人文社会科学研究规划基金(19YJAZH100)

江苏省高校自然科学重大项目(20KJA520002)

AI Summary AI Mindmap
PDF (2709KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/