CN115510948A - 一种基于鲁棒图分类的区块链钓鱼检测方法 - Google Patents

一种基于鲁棒图分类的区块链钓鱼检测方法 Download PDF

Info

Publication number
CN115510948A
CN115510948A CN202211016797.5A CN202211016797A CN115510948A CN 115510948 A CN115510948 A CN 115510948A CN 202211016797 A CN202211016797 A CN 202211016797A CN 115510948 A CN115510948 A CN 115510948A
Authority
CN
China
Prior art keywords
transaction
evolution
address
graph
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202211016797.5A
Other languages
English (en)
Inventor
陈晋音
马浩男
熊海洋
张敦杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN202211016797.5A priority Critical patent/CN115510948A/zh
Publication of CN115510948A publication Critical patent/CN115510948A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提出一种基于鲁棒图分类的区块链钓鱼检测方法,该方法通过利用目标用户的多个时间切片构建交易演化图,在保留区块链用户地址的空间结构与时间信息的基础上,设计一种快速的非参数钓鱼检测器来缩小可疑地址的搜索空间;基于鲁棒图分类的钓鱼检测器提取交易演化图中包含空间和时间信息的整个演变过程,提高了钓鱼检测的性能,也提高了目标用户地址不断演化的交易行为表征提取的准确度。

Description

一种基于鲁棒图分类的区块链钓鱼检测方法
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于鲁棒图分类的区块链钓鱼检测方法。
背景技术
图是一种能在复杂的实体之间建立模型的强大工具,其通常由链路、节点以及全局信息构成,是一种具有强大表征能力的数据结构。近年来,图神经网络巧妙地地从图数据中提取特征,并在众多图数据分析任务中表现出令人满意的性能。其中,以识别区块链交易平台中潜在钓鱼地址为目的的钓鱼检测任务是图神经网络成功应用的实际场景之一。
区块链作为一种去中心化和分布式的账本,具有全程留痕、不可伪造、可以追溯、公开透明、集体维护等特征,应用于在金融、科技、文化等众多领域。但区块链的去中心化在带来便利的同时,也产生了大量的金融钓鱼诈骗。钓鱼诈骗的攻击者利用欺骗性的电子邮件和伪造的Web站点进行诈骗活动,来骗取受骗者的财务信息,如区块链的私钥、账户用户名等。因此,区块链上的钓鱼检测引起了广泛的关注。钓鱼检测的目的是学习一种映射函数,将地址的历史交易行为映射为二进制输出0或1,分别表示目标地址是正常/异常的。虽然已有大量的方法被提出用于训练这类模型,但仍然存在几个挑战。
一方面,如何平衡结构信息和时间信息是一个难点。之前的模型往往侧重于结构信息或时间信息,这会导致相当大的信息丢失。更好地平衡结构与时间信息将有助于达到更出色的检测性能。由于采样序列长度限制导致的结构信息不完整,游走策略很难达到这种平衡。而静态子图将目标地址及其邻居地址在所有时期内的交易合并为一条,无法保留交易的时间信息。另一方面,钓鱼检测的鲁棒性也值得考虑,钓鱼诈骗犯或许可以通过与特定地址交易来绕过钓鱼检测。
为了解决上述提到的挑战,提出一种新的钓鱼检测方法是非常有必要的。
发明内容
针对现有技术的不足,本发明提供一种基于鲁棒图分类的区块链钓鱼方法。具体来说,就是对数据进行预处理,构建交易演化图TEGs,利用GNN模型提取特征以及图池化,通过修改模型参数最小化损失函数,达到钓鱼检测的目的。
本发明是通过以下技术方案来实现的:
一种基于鲁棒图分类的区块链钓鱼检测方法,该方法包括如下步骤:
(1)获取数据集及训练模型:将Xblock平台获取的以太坊交易数据集作为训练数据集Dataoracle,将所述训练数据集给定一系列动态快照图序列
Figure BDA0003812841140000021
和对应的标签Y={y1,...,yT}作为输入,输入至图神经网络模型
Figure BDA0003812841140000022
中,其中动态图的第p个快照用Gp表示,其拓扑结构表示为邻接矩阵{A1,...,An};
(2)构建交易演化图:对步骤(1)中的训练数据集Dataoracle进行多次预处理直至获取目标地址K阶邻居地址集和交易集,且K≥2;并且保留、利用交易集的前Q笔交易得到交易集来限制交易演化图的图规模;最后再对交易集进行预处理,计算其交易的交易演化时间,再将交易集平均划分到T个时间切片中,来模拟中心地址在T个时间中的交易演化过程,并且将训练数据中原始邻接矩阵{A1,...,An}根据T划分为交易演化图的邻接矩阵{A1,...,AT};将相同地址间的多笔交易合并为一笔交易,并将它们的交易金额总和与平均时间戳作为新的交易信息;最后根据最终得到的交易记录构建T个有向加权图,即交易演化图TEGs;
(3)演化特征提取:将第t个演化时间段的图结构信息映射到d维节点上得到当前结构特征Zt,当前结构特征Zt与前一时间的交易演化特征ht-1计算更新门zt与重置门rt,通过重置门rt存储前一时间的交易演化特征ht-1,并记忆当前时刻的状态来计算候选隐藏状态ht,通过候选隐藏状态ht与历史交易演化特征ht-1更新当前的交易演化特征ht,再利用当前的交易演化特征ht计算其当前的聚类分配矩阵Ct
(4)构建当前交易演化图:演化图池化重复步骤(3)T次,分别得到地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT};根据交易演化图的邻接矩阵{A1,...,AT},地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}构建当前交易演化图,并对p时刻的演化图中邻接矩阵{A1,...,AT}和地址交易演化特征{h1,...,hT}池化;
(5)训练模型:交易行为识别通过步骤(4)得到的N个地址簇的演化特征
Figure BDA0003812841140000023
利用特征聚合机制为不同时间的演化特征分配各自的时间系数,以此将T个演化特征聚合为目标地址唯一的演化特征hi,将目标地址和演化特征hi输入至由多层感知机构成的动态图分类模型中,并利用损失函数优化动态图分类模型,由步骤(2)得到的交易演化图TEGs和步骤(5)中的损失函数L对动态图分类模型的参数进行优化训练,降低模型的损失函数值,得到基于鲁棒图分类的钓鱼检测器;
(6)使用钓鱼检测器:对需要输入钓鱼检测器动态图分类的数据Dreal进行预处理,构建经过预处理的交易演化图TEGs;将得到的经过预处理的交易演化图TEGs输入到步骤(5)得到基于鲁棒图分类的钓鱼检测器,得到相应的任务结果。
进一步地,所述步骤(1)中动态快照图的第p个快照用Gp=(V,Ep,X)来表示,具体为,在区块链交易网络中,V={v1,...,vN}是具有|V|=N个用户钱包地址的集合;ei,j=<vi,vj>∈Ep表示地址vi与vj在固定时间跨度[Tp-1,Tp]间存在交易;X∈RN×D是节点属性矩阵,其中D表示X的维度;第p个快照图Gp的拓扑结构可以用邻接矩阵Ap∈RN×N表示,其中,如果地址vi将金额为value的物品转出至地址vj,则Ap,ij=value。
具体地,所述步骤(2)包括以下子步骤:
(2.1)对训练数据集Dataoracle预处理,即对于每个用户地址vi∈V,首先将vi视作中心地址,并提取其交易伙伴作为一阶交易地址,将地址间第一笔交易e0的时间戳将被定义为开始时间。
(2.2)保留一阶交易地址在开始时间后的交易伙伴,并重复步骤(1.1)直到获取目标地址vi的K阶邻居地址集Ni和交易集Ei,且K≥2;并且保留交易集Ei的前Q笔交易得到交易集Ei={e1,...,eQ},并利用得到交易集Ei={e1,...,eQ}限制交易演化图的图规模。
(2.3)从步骤(2.2)中获取的交易集Ei={e1,...,eQ}进行预处理,即对于目标地址vi,计算其交易ej的交易演化时间,其中ej∈Ei,其公式如下,
Figure BDA0003812841140000031
其中ti是ei的初始时间戳,tmax和tmin分别表示交易集合E中最大与最小时间戳。
其中,ET是个整体演化时间,
Figure BDA0003812841140000032
表示对于目标地址vi,ej交易的演化时间。
ti是ei的初始时间戳,tmax和tmin分别表示交易集Ei中最大与最小时间戳。
(2.4)根据步骤(2.3)中的交易演化时间,将交易集Ei平均划分到T个时间切片中,来模拟中心地址vi在T个时间中的交易演化过程,并且将邻接矩阵{A1,...,An}根据T划分为{A1,...,AT},其中T<n,即把n划分为了T段,同一段的邻接矩阵叠加。
(2.5)将相同地址间的多笔交易合并为一笔交易,并将它们的交易金额总和与平均时间戳作为新的交易信息;然后根据最终得到的交易记录构建T个有向加权图,即交易演化图TEGs。
具体地,所述步骤(3)包括以下子步骤:
(3.1)将第t个演化时间段的图结构信息映射到d维节点上得到当前结构特征Zt,其中t∈{1,...,T}其表达式为:
Figure BDA0003812841140000041
其中,
Figure BDA0003812841140000042
At是第t个演化时间段的邻接矩阵且At∈RN×N
Figure BDA0003812841140000043
是添加自连接的Gt的邻接矩阵且
Figure BDA0003812841140000044
IN(t)是图网络Gt的自连边矩阵,
Figure BDA0003812841140000045
Figure BDA0003812841140000048
的度值矩阵且
Figure BDA0003812841140000047
ht-1表示t-1时刻的用户行为特征;对于最初的交易模式图,采用节点属性作为图卷积第一层的输入,即h0=X,W0和W1分别表示隐藏层维度为H的隐藏层和输出层的权重参数,其中W0=RN×H,W1=RH×d;σ是激活函数,通常采用Relu函数;
(3.2)从步骤(3.1)得到的当前结构特征Zt与前一时间的交易演化特征ht-1计算更新门zp与重置门rt,其公式如下,
zp=σ(ZtWz+ht-1Uz)
rt=σ(ZtWr+ht-1Ur)
其中,Wz,Wr与Uz,Ur分别表示更新门与重置门的权重参数,其中Wr∈RN×d,Ur∈Rd×d。更新门决定到底要将多少过去的ht-1传递到未来,重置门主要决定有多少ht-1需要遗忘;
(3.3)通过重置门rp存储前一时间的交易演化特征hp-1,并记忆当前时刻的状态来计算候选隐藏状态hp,其公式如下,
hp=tanh(WhZt+(rt⊙ht-1)Uh)
其中Wh和Uh为权重参数,其中,Wh∈RN×d,Uh∈Rd×d;⊙表示矩阵元素相乘;
(3.4)利用步骤(3.3)得到的候选隐藏状态ht与历史交易演化特征ht-1更新当前的交易演化特征ht,其公式如下,
ht=(1-zt)⊙ht-1+zt⊙ht
(3.5)利用步骤(3.4)得到的当前的交易演化特征hp计算其当前的聚类分配矩阵Cp,其公式如下,
Figure BDA0003812841140000051
其中GNNpool选择任意的GNN方法,再选择与演化特征提取结构相同的GCN模块;Cp将N个地址分配到N个新地址簇,且
Figure BDA0003812841140000052
N=N×ra,ra是人为设定的分配比。
具体地,所述步骤(4)包括以下子步骤:
(4.1)重复步骤(3.1)到(3.5)T次,分别得到地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}。
(4.2)根据交易演化图的邻接矩阵{A1,...,AT},地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}构建当前交易演化图,p时刻的演化图中邻接矩阵{A1,...,AT}和地址交易演化特征{h1,...,hT}池化过程如下:
Figure BDA0003812841140000053
Figure BDA0003812841140000054
其中,d表示每个地址的演化特征维度,上述公式分别生成了N个地址簇的演化特征
Figure BDA0003812841140000055
与邻接矩阵
Figure BDA0003812841140000056
它们将作为下一层演化特征提取器的输入,以聚合原始地址的演化特征。
具体地,所述步骤(5)包括以下子步骤:
(5.1)所述N个地址簇的演化特征
Figure BDA0003812841140000057
其中,
Figure BDA0003812841140000058
利用特征聚合机制为不同时间的演化特征分配各自的时间系数α=[α1,...,αT],以此将T个演化特征聚合为目标地址vi唯一的演化特征hi,其公式如下,
Figure BDA0003812841140000059
其中
Figure BDA00038128411400000510
是p时刻的演化特征。
(5.2)将目标地址vi和演化特征hi输入至由多层感知机构成的动态图分类模型(MLP模型)中,并利用损失函数优化动态图分类模型,其损失函数为的标签Y的预测交叉熵,其公式如下:
Figure BDA0003812841140000061
Figure BDA0003812841140000062
其中,
Figure BDA00038128411400000610
表示在训练集
Figure BDA0003812841140000064
中目标地址vi的交易演化图;Y={y1,...,yn}表示演化图的标签集合;
Figure BDA0003812841140000065
为Softmax函数,如果
Figure BDA0003812841140000066
属于标签yi,则Yij=1,否则Yij=0;Yij表示
Figure BDA0003812841140000067
的预测置信度的第j项,以及作为
Figure BDA0003812841140000068
的邻接矩阵与节点属性Ai和Xi的函数,利用Yij(Ai,Xi)来表示;
(5.3)由取得的交易演化图TEGs和步骤(5.2)中的损失函数L对动态图分类模型的参数进行优化训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,降低模型的损失函数值,得到基于鲁棒图分类的钓鱼检测器。
本发明的有益效果如下:
发明首先为目标用户的多个时间切片构建交易演化图,旨在更好地保留区块链用户地址的空间结构与时间信息。其次,设计一种快速的非参数钓鱼检测器来缩小可疑地址的搜索空间。最后,提出基于鲁棒图分类的钓鱼检测器提取交易演化图中包含的空间和时间信息的演变过程,来提高目标用户地址不断演化的交易行为表征提取的准确度,最终提高钓鱼检测的性能。
附图说明
图1是交易演化图的构建流程;
图2是基于鲁棒图分类的区块链钓鱼检测器的框架图;
图3是基于鲁棒图分类的区块链钓鱼检测的方法流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
本发明实施例提供了一种基于鲁棒图分类的区块链钓鱼检测方法,请参考图1,图2,包括以下步骤:
(1)将Xblock平台获取的以太坊交易数据集作为训练数据集Dataoracle
(1.1)所述的图神经网络模型
Figure BDA0003812841140000069
执行的下游任务为动态图分类任务,并采用标记的动态图
Figure BDA0003812841140000071
和相应的标签Y={y1,...,yn}作为输入,输入至图神经网络模型
Figure BDA0003812841140000072
中,其中动态图的第p个快照用Gp表示,其拓扑结构表示为邻接矩阵{A1,...,An}。
(1.2)获取步骤(1.1)中用于模型
Figure BDA0003812841140000073
训练的数据集Dataoracle,所述训练模型的数据集为Xblock平台上发布的真实世界以太坊交易数据集,该数据可从网络上进行下载。
该数据集为针对动态图分类任务,给定一系列快照图
Figure BDA0003812841140000074
其中Gp=(V,Ep,X)表示动态图的第p个快照。在区块链交易网络中,V={v1,...,vN}是具有|V|=N个用户钱包地址的集合。ei,j=<vi,vj>∈Ep表示地址vi与vj在固定时间跨度[Tp-1,Tp]间存在交易;X是节点属性矩阵,且X∈RN×D,其中D表示X的维度;第p个快照图Gp的拓扑结构可以用邻接矩阵Ap表示,且Ap∈RN×N,其中,当地址vi将金额为value的物品转出至地址vj,则Ap,ij=value。
(2)构建交易演化图
(2.1)从步骤(1.2)中的训练数据集Dataoracle预处理,即对于每个用户地址vi∈V,首先将vi视作中心地址,并提取其交易伙伴作为一阶交易地址,这些地址间第一笔交易e0的时间戳将被定义为开始时间。
(2.2)使用步骤(2.1)的方法保留一阶交易地址在开始时间后的交易伙伴,并重复步骤(2.1)直到获取vi的K阶邻居地址集Ni和交易集Ei,且K大于等于2,并且保留交易集Ei的前Q笔交易得到交易集Ei={e1,...,eQ},并利用得到交易集Ei={e1,...,eQ}来限制交易演化图(TEGs)的图规模。
(2.3)从步骤(2.2)中获取的交易集E={e1,...,e|E|}进行预处理,即对于目标地址vi,计算其交易ei∈E的交易演化时间,其公式如下,
Figure BDA0003812841140000076
其中ti是ei的初始时间戳,ET是个整体演化时间,
Figure BDA0003812841140000077
表示对于目标地址vi,ej交易的演化时间,tmax和tmin分别表示交易集合E中最大与最小时间戳。
(2.4)将相同地址间的多笔交易合并为一笔交易,并将它们的交易金额总和与平均时间戳作为新的交易信息;然后根据最终得到的交易记录构建T个有向加权图,作为最终的交易演化图。
(3)演化特征提取
(3.1)采用双层GCN的结构作为特征提取器,具体为将第p个演化时间段的图结构信息映射到d维节点上得到当前结构特征Zt,其表达式为:
Figure BDA0003812841140000081
其中
Figure BDA0003812841140000082
Ap∈RN×N是第p个演化时间段的邻接矩阵,
Figure BDA0003812841140000083
是添加自连接的Gp的邻接矩阵,IN(p)是图网络Gp的自连边矩阵,
Figure BDA0003812841140000084
Figure BDA0003812841140000085
的度值矩阵。hp-1表示p-1时刻的用户行为特征。对于最初的交易模式图,采用节点属性作为图卷积第一层的输入,即h0=X。W0=RN×H和W1=RH×d分别表示隐藏层维度为H的隐藏层和输出层的权重参数。σ是激活函数,通常采用Relu函数。
(3.2)从步骤(3.1)得到的当前结构特征Zt与前一时间的交易演化特征hp-1计算更新门zp与重置门rp,其公式如下,
zp=σ(ZpWz+hp-1Uz)
rp=σ(ZpWr+hp-1Ur)
其中,Wz,Wr∈RN×d与Uz,Ur∈Rd×d分别表示更新门与重置门的权重参数。更新门决定到底要将多少过去的hp-1传递到未来,重置门主要决定有多少hp-1需要遗忘。
(3.3)通过重置门rp存储前一时间的交易演化特征hp-1,并记忆当前时刻的状态来计算候选隐藏状态hp,其公式如下,
hp=tanh(WhZp+(rp⊙hp-1)Uh)
其中Wh∈RN×d和Uh∈Rd×d为权重参数。⊙表示矩阵元素相乘。
(3.4)利用步骤(3.3)得到的候选隐藏状态hp与历史交易演化特征hp更新当前的交易演化特征hp,其公式如下,
hp=(1-zp)⊙hp-1+zp⊙hp
(4)演化图池化
(4.1)利用步骤(3.4)得到的当前的交易演化特征hp计算其当前的聚类分配矩阵Cp,其公式如下,
Figure BDA0003812841140000091
其中GNNpool可以是任意的GNN方法,本发明选择演化特征提取器结构相同的GCN模块。
Figure BDA0003812841140000092
将N个地址分配到N个新地址簇,N=N×ra,ra是人为设定的分配比。
(4.2)根据的邻接矩阵{A1,...,AT},地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}构建当前交易演化图,p时刻的演化图池化过程如下,
Figure BDA0003812841140000093
Figure BDA0003812841140000094
其中d表示每个地址的演化特征维度。上述公式分别生成了N个地址簇的演化特征
Figure BDA0003812841140000095
与邻接矩阵
Figure BDA0003812841140000096
它们将作为下一层演化特征提取器的输入,以聚合原始地址的演化特征。
(5)交易行为识别
(5.1)从步骤(4.2)中得到的N个地址簇的演化特征
Figure BDA0003812841140000097
Figure BDA0003812841140000098
利用特征聚合机制为不同时间的演化特征分配各自的时间系数α=[α1,...,αT],以此将T个演化特征聚合为目标地址vi唯一的演化特征hi,其公式如下,
Figure BDA0003812841140000099
其中
Figure BDA00038128411400000910
是p时刻的演化特征。
(5.2)将目标地址vi和演化特征hi输入至带有Softmax分类器的MLP模型中(即多层感知机构成的动态图分类模型),利用损失函数优化带有Softmax分类器的MLP层得到,其损失函数为步骤(1.1)中的标签Y上的预测交叉熵,其公式如下,
Figure BDA00038128411400000911
Figure BDA00038128411400000912
其中
Figure BDA00038128411400000917
表示在训练集
Figure BDA00038128411400000914
中目标地址vi的交易演化图;Y={y1,...,yn}表示演化图的标签集合。如果
Figure BDA00038128411400000915
属于标签yi,则Yij=1,否则Yij=0。Yij表示
Figure BDA00038128411400000916
的预测置信度的第j项,并且可以考虑作为
Figure BDA0003812841140000101
的邻接矩阵与节点属性Ai和Xi的函数,因此可以表示为Yij(Ai,Xi)。
(5.3)从步骤(2.4)取得的演化图TEGs和步骤(5.2)中的损失函数L对MLP模型的参数进行优化,训练目标是通过梯度的前向和反向传播调整网络的结构参数,不断降低模型的损失函数值,得到基于鲁棒图分类的钓鱼检测器;所述MLP模型为带有Softmax分类器的MLP模型;
(6)钓鱼检测器的使用
(6.1)对需要输入钓鱼检测器动态图分类的数据Dreal进行预处理,再构建经过预处理的交易演化图TEGs。
(6.2)将步骤(6.1)获取经过预处理的交易演化图TEGs输入至完成训练的基于鲁棒图分类的钓鱼检测器中,即得到相应的任务结果。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (6)

1.一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,该方法包括如下步骤:
(1)获取数据集及训练模型:将Xblock平台获取的以太坊交易数据集作为训练数据集Dataoracle,将所述训练数据集给定一系列动态快照图序列
Figure FDA0003812841130000011
和对应的标签Y={y1,...,yT}作为输入,输入至图神经网络模型
Figure FDA0003812841130000012
中,其中动态图的第p个快照用Gp表示,其拓扑结构表示为邻接矩阵{A1,...,An};
(2)构建交易演化图:对步骤(1)中的训练数据集Dataoracle进行多次预处理直至获取目标地址K阶邻居地址集和交易集,且K≥2;并且保留、利用交易集的前Q笔交易得到交易集来限制交易演化图的图规模;最后再对交易集进行预处理,计算其交易的交易演化时间,再将交易集平均划分到T个时间切片中,来模拟中心地址在T个时间中的交易演化过程,并且将训练数据中原始邻接矩阵{A1,...,An}根据T划分为交易演化图的邻接矩阵{A1,...,AT};将相同地址间的多笔交易合并为一笔交易,并将它们的交易金额总和与平均时间戳作为新的交易信息;最后根据最终得到的交易记录构建T个有向加权图,即交易演化图TEGs;
(3)演化特征提取:将第t个演化时间段的图结构信息映射到d维节点上得到当前结构特征Zt,当前结构特征Zt与前一时间的交易演化特征ht-1计算更新门zt与重置门rt,通过重置门rt存储前一时间的交易演化特征ht-1,并记忆当前时刻的状态来计算候选隐藏状态ht,通过候选隐藏状态ht与历史交易演化特征ht-1更新当前的交易演化特征ht,再利用当前的交易演化特征ht计算其当前的聚类分配矩阵Ct
(4)构建当前交易演化图:演化图池化重复步骤(3)T次,分别得到地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT};根据交易演化图的邻接矩阵{A1,...,AT},地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}构建当前交易演化图,并对p时刻的演化图中邻接矩阵{A1,...,AT}和地址交易演化特征{h1,...,hT}池化;
(5)训练模型:交易行为识别通过步骤(4)得到的N个地址簇的演化特征
Figure FDA0003812841130000013
利用特征聚合机制为不同时间的演化特征分配各自的时间系数,以此将T个演化特征聚合为目标地址唯一的演化特征hi,将目标地址和演化特征hi输入至由多层感知机构成的动态图分类模型中,并利用损失函数优化动态图分类模型,由步骤(2)得到的交易演化图TEGs和步骤(5)中的损失函数L对动态图分类模型的参数进行优化训练,降低模型的损失函数值,得到基于鲁棒图分类的钓鱼检测器;
(6)使用钓鱼检测器:对需要输入钓鱼检测器动态图分类的数据Dreal进行预处理,构建经过预处理的交易演化图TEGs;将得到的经过预处理的交易演化图TEGs输入到步骤(5)得到基于鲁棒图分类的钓鱼检测器,得到相应的任务结果。
2.根据权利要求1所述的一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,所述步骤(1)中动态快照图的第p个快照用Gp=(V,Ep,X)来表示,具体为,在区块链交易网络中,V={v1,...,vN}是具有|V|=N个用户钱包地址的集合;ei,j=<vi,vj>∈Ep表示地址vi与vj在固定时间跨度[Tp-1,Tp]间存在交易;X∈RN×D是节点属性矩阵,其中D表示X的维度;第p个快照图Gp的拓扑结构可以用邻接矩阵Ap∈RN×N表示,其中,如果地址vi将金额为value的物品转出至地址vj,则Ap,ij=value。
3.根据权利要求1所述的一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,所述步骤(2)包括以下子步骤:
(2.1)对训练数据集Dataoracle预处理,即对于每个用户地址vi∈V,首先将vi视作中心地址,并提取其交易伙伴作为一阶交易地址,将地址间第一笔交易e0的时间戳将被定义为开始时间;
(2.2)保留一阶交易地址在开始时间后的交易伙伴,并重复步骤(1.1)直到获取目标地址vi的K阶邻居地址集Ni和交易集Ei,且K≥2;并且保留交易集Ei的前Q笔交易得到交易集Ei={e1,...,eQ},并利用得到交易集Ei={e1,...,eQ}限制交易演化图的图规模;
(2.3)从步骤(2.2)中获取的交易集Ei={e1,...,eQ}进行预处理,即对于目标地址vi,计算其交易ej的交易演化时间,其中ej∈Ei,其公式如下,
Figure FDA0003812841130000021
其中ti是ei的初始时间戳,tmax和tmin分别表示交易集合E中最大与最小时间戳;
其中,ET是个整体演化时间,ETej(vi,Ei)表示对于目标地址vi,ej交易的演化时间;
ti是ei的初始时间戳,tmax和tmin分别表示交易集Ei中最大与最小时间戳;
(2.4)根据步骤(2.3)中的交易演化时间,将交易集Ei平均划分到T个时间切片中,来模拟中心地址vi在T个时间中的交易演化过程,并且将邻接矩阵{A1,...,An}根据T划分为{A1,...,AT},其中T<n,即把n划分为了T段,同一段的邻接矩阵叠加;
(2.5)将相同地址间的多笔交易合并为一笔交易,并将它们的交易金额总和与平均时间戳作为新的交易信息;然后根据最终得到的交易记录构建T个有向加权图,即交易演化图TEGs。
4.根据权利要求1所述的一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,所述步骤(3)包括以下子步骤:
(3.1)将第t个演化时间段的图结构信息映射到d维节点上得到当前结构特征Zt,其中t∈{1,...,T}其表达式为:
Figure FDA0003812841130000031
其中,
Figure FDA0003812841130000032
At是第t个演化时间段的邻接矩阵且At∈RN×N
Figure FDA0003812841130000033
是添加自连接的Gt的邻接矩阵且
Figure FDA0003812841130000034
IN(t)是图网络Gt的自连边矩阵,
Figure FDA0003812841130000035
Figure FDA0003812841130000036
的度值矩阵且
Figure FDA0003812841130000037
ht-1表示t-1时刻的用户行为特征;对于最初的交易模式图,采用节点属性作为图卷积第一层的输入,即h0=X,W0和W1分别表示隐藏层维度为H的隐藏层和输出层的权重参数,其中W0=RN×H,W1=RH×d;σ是激活函数,通常采用Relu函数;
(3.2)从步骤(3.1)得到的当前结构特征Zt与前一时间的交易演化特征ht-1计算更新门zp与重置门rt,其公式如下,
zp=σ(ZtWz+ht-1Uz)
rt=σ(ZtWr+ht-1Ur)
其中,Wz,Wr与Uz,Ur分别表示更新门与重置门的权重参数,其中Wr∈RN×d,Ur∈Rd×d;更新门决定到底要将多少过去的ht-1传递到未来,重置门主要决定有多少ht-1需要遗忘;
(3.3)通过重置门rp存储前一时间的交易演化特征hp-1,并记忆当前时刻的状态来计算候选隐藏状态hp,其公式如下,
hp=tanh(WhZt+(rt⊙ht-1)Uh)
其中Wh和Uh为权重参数,其中,Wh∈RN×d,Uh∈Rd×d;⊙表示矩阵元素相乘;
(3.4)利用步骤(3.3)得到的候选隐藏状态ht与历史交易演化特征ht-1更新当前的交易演化特征ht,其公式如下,
ht=(1-zt)⊙ht-1+ztht
(3.5)利用步骤(3.4)得到的当前的交易演化特征hp计算其当前的聚类分配矩阵Cp,其公式如下,
Figure FDA0003812841130000041
其中GNNpool选择任意的GNN方法,再选择与演化特征提取结构相同的GCN模块;Cp将N个地址分配到N个新地址簇,且
Figure FDA0003812841130000042
N=N×ra,ra是人为设定的分配比。
5.根据权利要求1所述的一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,所述步骤(4)包括以下子步骤:
(4.1)重复步骤(3.1)到(3.5)T次,分别得到地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT};
(4.2)根据交易演化图的邻接矩阵{A1,...,AT},地址交易演化特征{h1,...,hT}和分配矩阵{C1,...,CT}构建当前交易演化图,p时刻的演化图中邻接矩阵{A1,...,AT}和地址交易演化特征{h1,...,hT}池化过程如下:
Figure FDA0003812841130000043
Figure FDA0003812841130000044
其中,d表示每个地址的演化特征维度,上述公式分别生成了N个地址簇的演化特征
Figure FDA0003812841130000045
与邻接矩阵
Figure FDA0003812841130000046
它们将作为下一层演化特征提取器的输入,以聚合原始地址的演化特征。
6.根据权利要求1所述的一种基于鲁棒图分类的区块链钓鱼检测方法,其特征在于,所述步骤(5)包括以下子步骤:
(5.1)所述N个地址簇的演化特征
Figure FDA0003812841130000051
其中,
Figure FDA0003812841130000052
利用特征聚合机制为不同时间的演化特征分配各自的时间系数α=[α1,...,αT],以此将T个演化特征聚合为目标地址vi唯一的演化特征hi,其公式如下,
Figure FDA0003812841130000053
其中
Figure FDA0003812841130000054
是p时刻的演化特征;
(5.2)将目标地址vi和演化特征hi输入至由多层感知机构成的动态图分类模型中,即输入MLP模型,并利用损失函数优化动态图分类模型,其损失函数为的标签Y的预测交叉熵,其公式如下:
Figure FDA0003812841130000055
Figure FDA0003812841130000056
其中,
Figure FDA0003812841130000057
表示在训练集
Figure FDA0003812841130000058
中目标地址vi的交易演化图;Y={y1,...,yn}表示演化图的标签集合;
Figure FDA0003812841130000059
为Softmax函数,如果
Figure FDA00038128411300000510
属于标签yi,则Yij=1,否则Yij=0;Yij表示
Figure FDA00038128411300000511
的预测置信度的第j项,以及作为
Figure FDA00038128411300000512
的邻接矩阵与节点属性Ai和Xi的函数,利用Yij(Ai,Xi)来表示;
(5.3)由取得的交易演化图TEGs和步骤(5.2)中的损失函数L对动态图分类模型的参数进行优化训练,训练目标是通过梯度的前向和反向传播调整网络的结构参数,降低模型的损失函数值,得到基于鲁棒图分类的钓鱼检测器。
CN202211016797.5A 2022-08-24 2022-08-24 一种基于鲁棒图分类的区块链钓鱼检测方法 Withdrawn CN115510948A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211016797.5A CN115510948A (zh) 2022-08-24 2022-08-24 一种基于鲁棒图分类的区块链钓鱼检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211016797.5A CN115510948A (zh) 2022-08-24 2022-08-24 一种基于鲁棒图分类的区块链钓鱼检测方法

Publications (1)

Publication Number Publication Date
CN115510948A true CN115510948A (zh) 2022-12-23

Family

ID=84501541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211016797.5A Withdrawn CN115510948A (zh) 2022-08-24 2022-08-24 一种基于鲁棒图分类的区块链钓鱼检测方法

Country Status (1)

Country Link
CN (1) CN115510948A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527313A (zh) * 2023-03-23 2023-08-01 中国科学院信息工程研究所 一种区块链钓鱼行为检测方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527313A (zh) * 2023-03-23 2023-08-01 中国科学院信息工程研究所 一种区块链钓鱼行为检测方法及装置
CN116527313B (zh) * 2023-03-23 2024-04-19 中国科学院信息工程研究所 一种区块链钓鱼行为检测方法及装置

Similar Documents

Publication Publication Date Title
CN110298663B (zh) 基于序列宽深学习的欺诈交易检测方法
Matijaš et al. Load forecasting using a multivariate meta-learning system
CN111079931A (zh) 一种基于图神经网络的状态空间概率性多时间序列预测方法
CN110503531A (zh) 时序感知的动态社交场景推荐方法
CN113362160A (zh) 一种用于***反欺诈的联邦学习方法和装置
Esquivel et al. Spatio-temporal prediction of Baltimore crime events using CLSTM neural networks
CN112685504B (zh) 一种面向生产过程的分布式迁移图学习方法
CN111292195A (zh) 风险账户的识别方法及装置
CN109272332B (zh) 一种基于递归神经网络的客户流失预测方法
CN111785014A (zh) 一种基于dtw-rgcn的路网交通数据修复的方法
CN113297936B (zh) 一种基于局部图卷积网络的排球群体行为识别方法
CN113283902B (zh) 一种基于图神经网络的多通道区块链钓鱼节点检测方法
CN111582538A (zh) 一种基于图神经网络的社群价值预测方法及***
CN110889560A (zh) 一种具有深度可解释性的快递序列预测的方法
CN117061322A (zh) 物联网流量池管理方法及***
CN110991247B (zh) 一种基于深度学习与nca融合的电子元器件识别方法
Tian et al. Genetic algorithm based deep learning model selection for visual data classification
CN115510948A (zh) 一种基于鲁棒图分类的区块链钓鱼检测方法
Chatterjee et al. Non-dominated sorting genetic algorithm—II supported neural network in classifying forest types
CN113409157B (zh) 一种跨社交网络用户对齐方法以及装置
CN117808214A (zh) 水利工程数据分析***
CN111783688B (zh) 一种基于卷积神经网络的遥感图像场景分类方法
CN116258504B (zh) 银行客户关系管理***及其方法
CN114265954B (zh) 基于位置与结构信息的图表示学习方法
CN114417938B (zh) 一种利用知识向量嵌入的电磁目标分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20221223