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

一种基于图分类的深度图卷积模型钓鱼账户识别方法

2022-07-10 07:21:12 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,尤其涉及一种以太坊钓鱼账户检测方法。


背景技术:

2.随着计算机技术的发展以及互联网应用的普及,电子货币开始兴起并逐渐成为电子金融领域的一大组成部分。基于区块链技术的电子货币的发展首先是由中本聪提出的一个基于p2p网络的去中心化的加密电子货币系统开始的,这也标志着比特币系统正式开始运行。区块链是一个分布式账簿技术,能够在非互信环境中保证实时节点之间的可信中介交易。区块链技术被广泛应用于各个领域之中,其中加密货币技术是区块链应用最为广泛的领域之一。区块链技术在去中心化、开放性等方面都具有突出的优势。通过加密货币技术,账户可以在不依赖于传统第三方的条件下,进行自由的货币和信息交易;两个地址之间的交易也会被永久地记录在一个公共的区块中,并广播到全网,具有公开、透明的安全性保障。但是,由于区块链具有匿名性以及无监督组织的特性,近年来加密货币市场不可避免地滋生了许多网络犯罪事件。
3.以太坊是仅次于比特币的第二大加密货币平台,也是最大的基于区块链的智 能合约支持平台。智能合约是一段不可篡改、过程透明且在执行时不能中断的 代码。以太坊支持用户通过智能合约的形式进行图灵完备语言编程,极大地丰 富了加密货币贸易的层次和场景,进而衍生出区块链技术在经济金融领域的多 项应用。虽然在区块链中设置的哈希机制可以防止交易被篡改,但到目前为止 还没有可用的内部工具可以检测出网络上的非法帐户和可疑交易。因此,网络 钓鱼诈骗已经成为以太坊的一个关键问题,值得长期关注和研究并采取有效的 对策。
4.由于以太坊上的钓鱼诈骗手段与传统的钓鱼账户的差异性,常见的基于电子邮件检测和网站检测的方式并不适用于这一背景。因此我们考虑使用基于网络数据挖掘领域的相关算法,从交易网络拓扑结构中提取和学习有效信息,区分出钓鱼账户和正常账户在交易行为上的差异性,实现对钓鱼诈骗行为的检测。
5.目前已存在一些基于网络数据挖掘技术识别钓鱼账户的方法。公开号为cn112600810 a的中国专利申请提供了一种基于图分类的以太坊网络钓鱼诈骗检测方法,从所述以太坊网络中提取目标节点和预置的一阶和二阶交易邻居节点,利用图嵌入的算法学习到图表示向量,再通过分类器进行学习和分类。公开号为cn 112734425 a的中国专利申请提出了一种利用交易拓扑网络和智能合约提取交易特征,然后再输入到分类器中进行识别的方法。上述两种方法提取出特征之后仍需要再次训练一个分类器来进行钓鱼账户的检测,不能实现端到端的快捷性。公开号为cn 113111930 a中国专利申请的方法是从交易子图的角度出发,筛选出目标节点交易量最大的20个邻居信息并构建二阶交易网络,训练图神经网络并预测是否为钓鱼账户。


技术实现要素:

6.本发明要克服了上述技术中存在的不足,提出一种基于图分类的深度图卷积模型钓鱼账户识别方法,利用图卷积神经网络技术挖掘出交易网络的潜在信息来识别钓鱼账户,不仅提升了网络分析的计算效率,同时保证了端到端的快捷性。
7.本发明提供一种基于图分类的深度模型钓鱼账户识别方法,包括以下步骤:
8.s1:构建轻量数据集。从公开的以太坊交易记录中进行采样,对大规模数据进行轻量化后,构建二阶交易子图网络并提取出该网络中账户的特征。其中目标账户包含已被标记的钓鱼节点和非钓鱼节点;交易对象包括目标节点的一阶邻居节点和二阶邻居节点;特征包括轻量化后的数据集中钓鱼账户和非钓鱼账户的指定特征;
9.s2:对交易子图进行采样,综合考虑了网络的拓扑结构,根据网络平均度值、网络密度、节点数、连边数的属性构建了目标节点邻居数量的计算公式,得到大小均匀且合理的子图规模k。当邻居数量小于k时,则保留全部邻居节点;若邻居数量大于k,则对目标节点的邻居节点进行交易金额和交易次数的属性排序后保留k个邻居,得到采样后的小规模子图;
10.s3:通过chebyshev的图卷积深度神经网络,学习账户潜在的交易行为模式,并实现端到端的钓鱼账户的识别。
11.进一步地,上述步骤s1具体包括:
12.s1.1:以目标账户地址为起始点,通过二阶宽度优先搜索算法(bfs)提取小规模化的交易数据;
13.s1.2:在上述步骤s1.1的轻量化数据的基础上,利用随机游走采样算法对数据集进行再一次轻量的操作。游走算法首先随机选择一个账户作为起始节点,并由它为起点向前采样获取一段长度固定的游走序列。若在采样过程中序列还未达到预定长度时,某个账户已经不存在交易账户,则需要随机选取一个序列中已被访问的账户重新开始游走。
14.s1.3:分别对钓鱼和非钓鱼的二阶交易网络中的账户提取特征。
15.进一步地,上述步骤s2具体包括:
16.s2.1:在构建交易网络时,过大的交易样本规模会引起较大的时间复杂度而影响计算效率,因此需要对邻居数量和邻域阶数有一定的约束。本专利提出一种邻居数量的计算公式,对h阶的邻居排序并取得k个邻居节点,邻居节点数量k的计算公式如下:
[0017][0018]
其中,表示网络的平均度值,density表示网络密度,表示对
·
向上取整, |v|和|e|分别表示网络的节点数和连边数。
[0019]
进一步地,上述步骤s3具体包括:
[0020]
s3.1:用向量集合的形式表示每个账户的二阶交易网络。每个目标账户的二阶交易网络都可以用g=(v,e,a,x,y)表示。其中v为交易网络包含的所有节点的集合。e为交易网络中有向边的集合,定义为 a为交易网络的邻接矩阵,表示为a∈rn×n。x为节点特征,可用x∈rn×d表示,其中d表示特征的维度,n表示节点的总数。y表示目标节点是否为钓鱼账户, y=1表示目标节点是一个钓鱼账户,y=0表示目标节点不是钓鱼账户。
[0021]
s3.2:利用chebyshevgcn的图卷积层自动聚合节点领域信息,chebyshevgcn的卷积层形式定义为:
[0022][0023]
其中,βk是chebyshev多项式对应的系数,这些参数将在训练中迭代更新,x是二阶交易网络的节点特征向量。是k阶的chebyshev多项式,由于tk(x)=cos(k
·
arccos(x)),因此特征值的对角矩阵需要被固定在[-1,1]之间,表示为:
[0024][0025]
这里λ
max
利用幂迭代法求出,l为拉普拉斯矩阵这样变换的好处在于计算过程无需再进行特征向量分解。由于提取的二阶交易子图为有权有向的网络,因此将拉普拉斯矩阵变形为:其中a为交易子图的邻接矩阵,是邻接矩阵与其转置的和,为经变形后的邻接矩阵的度矩阵,是一个对角阵。σ(
·
)为激活函数,这里选择relu(
·
)=max(0,
·
)作为激活函数。
[0026]
在实际运算过程中,可以利用chebyshev多项式的性质,得到递推式:
[0027][0028][0029]
本方案采用两层chebyshevgcn聚合目标节点的邻域信息,以目标账户u为中心提取的交易子图特征表示为ou=gs。
[0030]
s3.3:采用池化函数提取出步骤s3.2中经两层chebyshevgcn卷积后的特征信息。这里的池化函数采取平均池化函数,通过平均池化层将节点特征池化为图特征,定义为:
[0031]ypooling
=avgpooling(ou)(6)
[0032]
s3.4:进一步训练一个全连接层利用特征区分钓鱼账户和非钓鱼账户:
[0033][0034]
其中w和b分别为可训练的权重矩阵和偏置矩阵,为最终预测结果的概率矩阵。
[0035]
上述所有可训练参数通过最小化如下交叉熵损失函数函数并利用梯度下降法优化更新:
[0036][0037]
本发明的优势在于:
[0038]
1.通过提取账户的二阶交易网络以及动态选取邻居数量的方法有效避免了使用完整网络数据所需要的庞大存储损耗和运算损耗;
[0039]
2.通过深度图神经网络减轻了对专业知识的高要求;
[0040]
3.通过图神经网络辨别了钓鱼账户,有效预测出虚拟货币领域的钓鱼诈骗行为。
[0041]
4.本发明提出的钓鱼账户检测方法精度优于现有的游走和图嵌入等检测方法。
附图说明
[0042]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
[0043]
图1是本发明的流程图。
[0044]
图2是本发明的采样方法。
[0045]
图3是本发明的二阶交易子图采样过程示意图。
具体实施方式
[0046]
为了使本技术领域的人员更好地理解本技术方案,下面将对本发明中的实施方法进行详细的说明,所描述的仅仅是本发明的一部分实施例,而不是全部的实施例。该说明不应被认为是对本发明的限制,而应该是对本发明的某些方面和实施方案的更详细的描述。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]
实施例1
[0048]
本技术方案专门针对以太坊交易信息,提出了基于深度网络模型对交易网络中钓鱼账户的识别方法,具体包括以下步骤:
[0049]
s1:构建轻量数据集。从公开的以太坊交易记录中进行采样,对大规模数据进行轻量化,构建二阶交易子图网络并提取出该网络中账户的特征。
[0050]
s1.1:从以太坊区块链浏览器etherscan.io的标签云中收集了1165个钓鱼账户,以目标账户地址为起始点,通过二阶宽度优先搜索算法(bfs)提取轻量化的交易数据。轻量后的数据集共有1686003个账户以及4380616条交易记录。上述提取的交易数据集共有167个弱连通分量,在这里我们仅使用最大弱连通分量,共有1684164个账户和4378716条交易记录;
[0051]
s1.2:在上述轻量化数据的基础上,利用随机游走采样算法对数据集进行再一次轻量的操作。从一个节点开始随机游走,共获得五个不同规模的网络,见表1:
[0052]
数据集节点数连边数钓鱼节点数量g120000131189242g230000172011363g340000202595462g450000227854556g560000250402604
[0053]
表1五个数据集信息
[0054]
s1.3:分别对钓鱼和非钓鱼的交易网络中的账户提取特征。
[0055]
s2:对交易子图进行采样,综合考虑了网络的拓扑结构,根据网络平均度值、网络密度、节点数、连边数的属性构建了目标节点邻居数量的计算公式,得到大小均匀且合理的子图规模k。当邻居数量小于k时,则保留全部邻居节点;若邻居数量大于k,则根据交易金额和交易次数的属性,对目标节点的邻居节点进行排序后保留k个邻居,得到采样后的小规模子图;
[0056]
s2.1:在构建交易网络时,过大的交易样本规模会引起较大的时间复杂度而影响
计算效率,因此需要对邻居数量和邻域阶数有一定的约束。对h阶的邻居排序并取得k个邻居节点,邻居节点数量k的计算公式如下:
[0057][0058]
其中,表示网络的平均度值,density表示网络密度,表示对
·
向上取整,|v|和|e|分别表示网络的节点数和连边数。
[0059]
s3:通过chebyshev的图卷积深度神经网络,学习账户潜在的交易行为模式,并实现端到端的钓鱼账户的识别。
[0060]
s3.1:用向量集合的形式表示每个账户的二阶交易网络。每个目标账户的二阶交易网络都可以用g=(v,e,a,x,y)表示。其中v为交易网络包含的所有节点的集合。e为交易网络中有向边的集合,定义为a为交易网络的邻接矩阵,表示为a∈rn×n。x为节点特征,可用x∈rn×d表示,其中d表示特征的维度,n表示节点的总数。y表示目标节点是否为钓鱼账户,y=1表示目标节点是一个钓鱼账户,y=0表示目标节点不是钓鱼账户。
[0061]
s3.2:利用chebyshevgcn的图卷积层自动聚合节点领域信息,chebyshevgcn的卷积层形式定义为:
[0062][0063]
其中,βk是chebyshev多项式对应的系数,这些参数将在训练中迭代更新,x是二阶交易网络的节点特征向量。是k阶的chebyshev多项式,由于tk(x)=cos(k
·
arccos(x)),因此特征值的对角矩阵需要被固定在[-1,1]之间,表示为:
[0064][0065]
这里λ
max
利用幂迭代法求出,l为拉普拉斯矩阵这样变换的好处在于计算过程无需再进行特征向量分解。由于提取的二阶交易子图为有权有向的网络,因此将拉普拉斯矩阵变形为:其中a为交易子图的邻接矩阵,是邻接矩阵与其转置的和,为经变形后的邻接矩阵的度矩阵,是一个对角阵。σ(
·
)为激活函数,这里选择relu(
·
)=max(0,
·
)作为激活函数。
[0066]
在实际运算过程中,可以利用chebyshev多项式的性质,得到递推式:
[0067][0068][0069]
本方案采用两层chebyshevgcn聚合目标节点的邻域信息,以目标账户u为中心提取的交易子图特征表示为ou=gs。
[0070]
s3.3:采用池化函数提取出步骤s3.2中经两层chebyshevgcn卷积后的特征信息。
这里的池化函数采取平均池化函数,通过平均池化层将节点特征池化为图特征,定义为:
[0071]ypooling
=avgpooling(ou)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0072]
s3.4:进一步训练一个全连接层利用特征区分钓鱼账户和非钓鱼账户:
[0073][0074]
其中w和b分别为可训练的权重矩阵和偏置矩阵,为最终预测结果的概率矩阵。
[0075]
上述所有可训练参数通过最小化如下交叉熵损失函数函数并利用梯度下降法优化更新:
[0076][0077]
将我们的算法模型pdgnn(phishing scans detection in ethereum usinggraph neutral network),与features(fe)、line、deepwalk(dw)、node2vec(n2v)、 t-edge、graph2vec(g2v)、i2bgnn七种对比算法进行对比试验。训练集和测试集的划分比例为8:2,,每个算法的钓鱼账户检测实验将重复五次并取平均值,由f1-score作为评价指标衡量预测结果,实验结果见表2。
[0078][0079]
表2钓鱼账户检测对比实验结果
[0080]
根据实验结果分析,简单的特征提取方法fe效果最差,而游走算法n2v 和dw由于添加了网络结构信息,效果相比而言较好,而line由于智能聚合二阶邻居信息因此效果不好。g2v、i2bgnn、pdgnn都是图分类算法,比起节点分类算法性能更优。而我们的方法pdgnn在图分类算法中表现最好。
再多了解一些

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

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

相关文献