掌桥专利:专业的专利平台
掌桥专利
首页

基于图卷积注意力网络的区块链异常节点检测方法及系统

文献发布时间:2024-04-18 19:58:53


基于图卷积注意力网络的区块链异常节点检测方法及系统

技术领域

本发明属于区块链技术和人工智能领域,具体涉及一种基于图卷积注意力网络的区块链异常节点检测方法及系统。

背景技术

区块链使得整个系统中的所有节点能够在去信任的环境中自由地交换数据,解决了交易信任问题,但这同时也产生了交易安全问题。由于交易双方用户无须公开身份来建立信任,不法分子可能入侵进行非法交易。因此,检测区块链中的异常节点问题成为一个亟需解决的安全问题。

最近的研究开始引入机器学习方法来进行区块链异常检测,基于机器学习的异常检测方法能够较准确的识别出异常节点,并且还能发现一些传统方法无法发现的规律,提高异常检测的准确率。但是基于机器学习的检测方法的性能往往取决于数据的特征信息,而如何提取有用的数据特征是一项困难的任务。区块链数据信息组成复杂且维度较高,简单的机器学习模型很难学习到这些复杂信息隐含的潜在信息,导致模型效果较差。图神经网络可以有效且准确的学习数据的特征信息,但是大规模的图神经网络模型训练需要大量计算资源,导致内存消耗过大的问题。

发明内容

本发明基于上述背景和现有技术所存在的问题,本发明采用了如下技术方案:第一方面,提供了一种基于图卷积注意力网络的区块链异常节点检测方法,其能够利用层相关重要采样算法LADIES和图卷积注意力网络对区块链网络中异常节点进行检测,获得检测异常节点和正常节点的分类模型。步骤包括:

步骤1,根据区块链节点的图结构特征和区块链节点关联的属性特征数据构建区块链节点的特征图,使用邻接矩阵存储特征图中区块链节点的图结构信息,特征矩阵存储特征图中区块链节点的属性特征信息;

步骤2,特征图采样,利用层相关重要采样算法LADIES对特征图进行采样,获得层间采样邻接矩阵和层间采样特征矩阵;

步骤3,构建图卷积注意力网络模型,将层间采样邻接矩阵和层间采样特征矩阵输入到图卷积注意力网络模型中进行训练,以学习最终的节点表示,其中图卷积注意力网络模型包括图卷积网络和图注意力网络;

步骤4,构建异常节点分类模型,将最终的节点表示输入到分类模型进行分类,实现对异常节点的检测。

作为一种可实施方式,所述根据区块链节点的图结构特征和区块链节点关联的属性特征信息构建关于区块链节点网络的特征图,包括以下步骤:

获取区块链节点之间交易流的图结构特征数据和区块链节点关联的属性特征数据,其中,区块链节点之间交易流的图结构特征数据表示区块链节点之间的邻接关系,区块链节点关联的属性特征数据表示每个区块链节点的属性特征;

基于区块链节点之间的图结构特征和区块链节点的属性特征构建区块链节点网络的特征图。

作为一种可实施方式,所述获取区块链节点之间交易流的图结构特征数据和区块链节点关联的属性特征数据,包括以下步骤:

将区块链节点与其它所有区块链节点之间是否存在交易流的状态,作为节点与其他节点之间交易流的图结构特征,若存在交易流,状态记录为1,否则为0;

将区块链节点每月交易频率、节点交易对象ID分布和月交易总金额次数,作为节点属性特征。

作为一种可实施方式,所述利用层相关重要采样算法LADIES对所述特征图进行采样,得到特征子图并形成层间采样邻接矩阵和层间采样特征矩阵,包括以下步骤:

基于特征图,随机初始化采样节点;

根据初始采样节点选取在图中的所有邻居节点作为当前层的采样节点;

基于当前层的采样节点的度计算采样概率,通过所述采样概率对固定数量的节点进行采样,进而构建层间采样邻接矩阵和层间采样特征矩阵。

作为一种可实施方式,所述将所述层间采样邻接矩阵和层间采样特征矩阵输入至图卷积注意力网络模型中,输出节点表示,包括以下步骤:

将层间采样邻接矩阵和层间采样特征矩阵输入到图卷积网络,图卷积网络通过卷积方式来学习特征子图中每个区块链节点及相邻区块链节点的信息,以获得区块链节点的新特征表示;

将所述新特征表示输入到图注意力网络,通过新特征表示计算区块链节点之间的相关性,相关性表示给节点之间的边分配的权重;

基于所述权重聚合区块链节点的邻居信息以获得最终的节点表示;

其中,所述图卷积注意力网络模型包括图卷积网络和图注意力网络,图卷积网络和图注意力网络通过随机梯度下降法来进行训练,经过多次迭代训练得到图卷积注意力网络模型。

作为一种可实施方式,所述分类模型为逻辑回归模型;

所述逻辑回归模型的输出为区块链节点异常和正常概率,若异常的概率不小于正常的概率,则输出为异常节点;否则为正常节点。

第二方面,提供了一种基于图卷积注意力网络的区块链异常节点检测系统,其特征在于,包括特征图构建模块、第一处理模块、第二处理模块及分类判断模块:

所述特征图构建模块,用于根据区块链节点的图结构特征和区块链节点关联的属性特征数据构建关于区块链节点的特征图,其中,特征图中的区块链节点表示区块链中的交易并包括对应的属性特征信息,特征图的边界表示两个交易之间是否存在交易流的图结构特征信息;

所述第一处理模块,利用层相关重要采样算法LADIES对所述特征图进行采样,得到特征子图并形成层间采样矩阵;

所述第二处理模块,用于将所述层间采样矩阵输入至图卷积注意力网络模型中,输出节点表示;

所述分类判断模块,用于将所述节点表示输入到分类模型中,得到节点表示的分类结果,进而判断节点表示对应的区块链节点的检测是否异常。

第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下所述的方法:

根据区块链节点的图结构特征和区块链节点关联的属性特征数据构建关于区块链节点的特征图,其中,特征图中的区块链节点表示区块链中的交易并包括对应的属性特征信息,特征图的边界表示两个交易之间是否存在交易流的图结构特征信息;

利用层相关重要采样算法LADIES对所述特征图进行采样,得到特征子图并形成层间采样邻接矩阵和层间采样特征矩阵,其中,邻接矩阵用于存储图结构特征信息,特征矩阵用于存储属性特征信息;

将所述层间采样邻接矩阵和层间采样特征矩阵输入至图卷积注意力网络模型中,输出节点表示;

将所述节点表示输入到分类模型中,得到节点表示的分类结果,进而判断节点表示对应的区块链节点的检测是否异常。

第四方面,提供一种基于图卷积注意力网络的区块链异常节点检测装置,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下所述的方法:

根据区块链节点的图结构特征和区块链节点关联的属性特征数据构建关于区块链节点的特征图,其中,特征图中的区块链节点表示区块链中的交易并包括对应的属性特征信息,特征图的边界表示两个交易之间是否存在交易流的图结构特征信息;

利用层相关重要采样算法LADIES对所述特征图进行采样,得到特征子图并形成层间采样邻接矩阵和层间采样特征矩阵,其中,邻接矩阵用于存储图结构特征信息,特征矩阵用于存储属性特征信息;

将所述层间采样邻接矩阵和层间采样特征矩阵输入至图卷积注意力网络模型中,输出节点表示;

将所述节点表示输入到分类模型中,得到节点表示的分类结果,进而判断节点表示对应的区块链节点的检测是否异常。

本发明至少包括以下有益效果:

(1)提出一种基于图卷积注意力网络的区块链异常节点检测方法及系统,为区块链节点的安全问题提供了一种新思路,有效捕获了区块链中异常节点,提高了区块链异常节点检测的准确率和可靠性;

(2)提出一种基于图卷积注意力网络的区块链异常节点检测方法及系统,通过图采样算法在一定程度上解决了图神经网络因计算量过大而产生的耗费内存的问题。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

图1为本发明基于图卷积注意力网络的区块链异常节点检测方法步骤示意图;

图2为本发明基于图卷积注意力网络的区块链异常节点检测方法流程图;

图3为本发明基于图卷积注意力网络的区块链异常节点检测系统的系统拓扑图。

具体实施方式

为了清晰地阐述本发明,使本发明实施例的目的、技术方案和优点更加清楚,下面结合了本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,以令本领域技术人员参照说明书文字能够据以实施。下面将附图结合具体实施方式对本发明的技术加以详细说明。

本发明应用于区块链异常节点检测的方法,发明的步骤示意图如图1所示,具体步骤如下:

(1)在公共数据集Elliptic上构建基于区块链节点的特征图。将区块链的每一个交易作为图中的一个节点,连接两个节点的边表示两个节点间存在交易流,每个节点还包含了166个关联的属性特征,图2为区块链异常节点检测方法的流程图。图2A是特征图构建过程,图上节点分为正常节点和异常节点,每个节点包含节点属性信息,节点与节点之间通过关系连接为边,节点和边构成的图结构特征以及节点属性特征共同组成节点特征图。

(2)对区块链网络的特征图进行图采样处理,为后续图卷积注意力网络模型的训练做输入准备。区块链节点交易数据信息转换为图数据结构,图数据通过邻接矩阵和特征矩阵转变为满足模型输入的形式。邻接矩阵表示图结构,描述了节点间是否存在关系,特征矩阵表示节点属性特征,包含的属性特征有区块链节点每月交易频率、节点交易对象ID分布和月交易总金额次数。

使用图神经网络训练区块链数据存在计算量过大导致耗费大量内存的问题,所以在此之前我们先使用用于训练深度和大型图卷积网络的层相关重要采样算法LADIES对图进行采样处理,获得新的特征子图。LADIES既可以确保密集的计算图,又可以避免感受野的急剧扩张。如图2B的图采样所示,在特征图上随机初始化采样节点,基于该采样节点,LADIES选择其邻域节点,构造二分子图并计算重要性相应的概率。然后,它根据计算出的概率对固定数量的节点进行采样,并每层递归地执行此过程以构造整个新的子图。该子图包含的图结构数据和节点属性数据分别使用邻接矩阵和特征矩阵描述,以满足模型的输入要求。LADIES的使用显著降低了图神经网络的计算时间和内存成本。

最后,根据公开数据集节点的标签,对已知属性的区块链节点按照异常节点和正常节点贴标签,形成图卷积注意力模型的训练集和测试集,其中训练集和测试集按照7:3的比例随机划分,为了减少随机划分数据集带来的偏差,随机划分过程重复10次。

(3)构建图卷积注意力网络模型,本发明构建一个多层的半监督节点分类图卷积注意力模型,如图2C所示,将图采样后的邻接矩阵和特征矩阵输入到图卷积注意力网络模型的卷积层,模型中的多个卷积层通过卷积操作学习节点新的特征表示,图卷积网络将输入的F维特征重新映射为F'维特征,图的结构在卷积层之间共享,标签用y

图卷积网络的基本思想是通过卷积方式聚合来自邻居的节点信息来学习节点低维表示,同时保留图的结构信息。具体来说,图卷积网络的消息传播规则用公式表示为:

其中,H

其中A为图的邻接矩阵,表示任意两个顶点之间的邻接关系,存在关联矩阵值为1,否则为0。D为A的度矩阵,其对角线上的值是顶点的度,表示该顶点连接的顶点个数,

根据图卷积网络的消息传播规则,经过多次迭代,可以得到多个F'维特征表示。多层图卷积层可以很好地捕获异构图中的信息,但是图卷积网络没有考虑到不同节点的特征表示贡献不同的问题。因此,我们引入了图注意力网络来进一步改进节点表示,其重视不同节点邻居对节点表示的贡献,从而得到更准确的节点表示。

计算节点j到节点i的注意力系数如下:

其中

其中att是注意力权重系数,N

接下来,我们将注意力系数与它们对应的特征进行线性组合,并将它们相加,从而得到每个节点的最终节点表示。

(4)构建分类模型,分类模型采用逻辑回归模型,该模型将节点的最终表示作为输入,通过线性回归运算得到回归值,然后将回归值输入到sigmoid函数中得到[0,1]区间中的一个概率值。进一步计算逻辑回归的损失,也称为对数似然损失,其公式为:

其中y为真实值,h

综上所述,本发明提供的基于图卷积注意力网络的区块链异常节点检测方法及系统为区块链异常节点检测提供了一种技术支持,本发明利用特征图来描述区块链网络中节点的交易情况,又利用图卷积注意力网络对进行采样后的特征图进行学习,最后通过异常节点分类模型检测节点类型,提高了模型异常节点检测的准确性和可靠性。

实施例2:

一种基于图卷积注意力网络的区块链异常节点检测系统,包括特征图构建模块、第一处理模块、第二处理模块及分类判断模块;

所述特征图构建模块,用于根据区块链节点的图结构特征和区块链节点关联的属性特征数据构建关于区块链节点的特征图,其中,特征图中的区块链节点表示区块链中的交易并包括对应的属性特征信息,特征图的边界表示两个交易之间是否存在交易流的图结构特征信息;

所述第一处理模块,利用层相关重要采样算法LADIES对所述特征图进行采样,得到特征子图并形成层间采样邻接矩阵和层间采样特征矩阵;

所述第二处理模块,用于将所述层间采样邻接矩阵和层间采样特征矩阵输入至图卷积注意力网络模型中,输出节点表示;

所述分类判断模块,用于将所述节点表示输入到分类模型中,得到节点表示的分类结果,进而判断节点表示对应的区块链节点的检测是否异常。

在不脱离本发明的精神和范围的情况下做出的各种变化和变型,所有等同的技术方案也属于本发明的范畴。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同、相似的部分互相参见即可。

本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式,本发明系统拓扑图如图3所示,其中区块链节点的图结构特征数据和属性特征数据通过输入设备存储在存储器中,然后数据被处理器的四个模块处理,处理结果再次存储到存储器,最后通过输出设备输出区块链节点的检测结果。

本发明是参照根据本发明的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

需要说明的是:

说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。

上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。

相关技术
  • 基于并联图注意力网络的云平台系统异常检测方法及装置
  • 基于并联图注意力网络的云平台系统异常检测方法及装置
技术分类

06120116511930