CN114782051A - 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 - Google Patents
基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 Download PDFInfo
- Publication number
- CN114782051A CN114782051A CN202210484477.6A CN202210484477A CN114782051A CN 114782051 A CN114782051 A CN 114782051A CN 202210484477 A CN202210484477 A CN 202210484477A CN 114782051 A CN114782051 A CN 114782051A
- Authority
- CN
- China
- Prior art keywords
- node
- phishing
- network
- matrix
- transaction
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法,涉及以太坊交易网络的安全领域。该装置包括数据采集模块、以太坊钓鱼诈骗网络构建模块、以太坊钓鱼诈骗网络初始化模块、特征提取模块、账户类别平衡模块和分类模块。该方法包括采集以太坊钓鱼诈骗相关数据;构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A;初始化该网络的节点特征和边特征,获得初始节点特征矩阵F和初始边特征矩阵X;根据A、F和X提取每个节点的相关特征,并为各特征分配注意力系数;对该网络中的账户类别进行平衡处理后,使用图神经网络更新节点的节点特征,并基于交叉熵损失函数训练分类器,区分出钓鱼诈骗账户和正常账户。该装置及方法准确度和安全性均较高且节约资源。
Description
技术领域
本发明涉及区块链中以太坊交易网络的安全领域,更具体地,涉及一种基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法。
背景技术
区块链具有去中心化、匿名性、可追溯性等特点,其解决了电子支付中过度依赖可信第三方的问题,实现了电子支付的去中心化,创造了一个新的加密货币世界。但同时由于区块链去中心化的性质和缺乏第三方机构监管的交易环境,使得不法分子将互联网诈骗的阵地转移到了加密货币交易市场中,不同于普通的发生在互联网中的违法犯罪行为,发生在加密货币中的违法犯罪行为更难被追踪和审查,一旦用户向不法分子的转账行为被区块链确认,用户失去的加密货币几乎不可能再被寻回。
近年来,伴随着区块链的发展,钓鱼诈骗在区块链生态系统中开始迅速滋生,成为区块链上常见的欺诈手段。钓鱼诈骗罪犯一般通过伪装成一个值得信赖的实体,来骗取用户的敏感信息或加密货币,严重威胁到区块链上的金融安全。而在众多的区块链金融诈骗中,有50%以上的可以归类为以加密货币作为钓鱼目标进行的钓鱼诈骗。
以太坊是目前支持智能合约的最大的公共区块链平台,它通过提供去中心化的虚拟机来处理点对点交易。据统计,以太坊的累计用户已经超过3587万人,日均活跃人数多达20万人,日交易次数可达64万笔,因此,以太坊成为了钓鱼诈骗的温床。这就必须提出一套在以太坊交易网络中检测钓鱼诈骗账户的装置及方法,将该装置及方法嵌入到用户的加密钱包(用于管理区块链生态系统中账户和交易的工具)中,以确保用户在与不熟悉的账户交易时提醒潜在的风险,为用户提供金融风险预警功能。
文献号为CN113344562B的中国专利《基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置》首先通过网络爬虫和以太坊节点构建以太坊钓鱼诈骗二阶子网络;从中分析并提取出以太坊钓鱼诈骗的账户交易序列特征、账户状态特征和账户交易网络特征,构建以太坊钓鱼诈骗账户数据集ETHScam;然后构建一个基于FCN-LSTM网络和BP神经网络的深度学习模型MFL,根据输入的以太坊钓鱼诈骗账户数据集ETHScam进行特征提取:将账户交易序列特征投入FCN和LSTM并置的网络中提取出交易的数值特征向量和时序特征向量,将账户状态特征和账户交易网络特征投入BP神经网络学习得到统计特征向量;将所提取的统计特征向量、数值特征向量和时序特征向量进行拼接,然后将其输入到全连接神经网络构建的分类器中进行分类,得到账户是否为钓鱼账户的分类结果。但是该专利所保护的技术方案忽视了以太坊钓鱼诈骗网络中所存在的钓鱼诈骗账户和正常账户类别不平衡问题(经统计钓鱼诈骗账户和正常账户的比例超过1:26000),会使分类器表现出对正常账户的“偏好”,对钓鱼诈骗账户的区分能力降低,从而导致无法准确地识别钓鱼诈骗账户;同时该方法在特征提取过程中仅考虑到数值信息和时序信息,忽略了以太坊钓鱼诈骗网络作为一个动态有向图的图结构信息,得到的节点特征并不全面,从而降低了分类器的分类结果准确率。
文献号为CN113283909A的中国专利申请《一种基于深度学习的以太坊钓鱼账户检测方法》结合交易时间和权值特征,将以太坊交易网络建模为时序加权有向图,有效捕捉到更全面的动态交易网络的性质;然后采用Skip-Gram模型得到时序加权有向图中各账户节点的图嵌入特征向量,相对于传统手工特征,该模型得到的图嵌入特征向量能自适应捕捉到各账户间的隐含特性;最终将上述得到的图嵌入特征向量输入至结合了无监督学习中的k-means聚类算法和监督学习中的支持向量机算法的分类器,得到账户是否为钓鱼诈骗账户的分类结果。但是该专利申请所保护的技术方案仅通过结合无监督学习中的k-means聚类算法和监督学习中的支持向量机算法构建分类器提高在少量标签数据的情况下分类结果的鲁棒性,没有从本质上解决账户类别不平衡问题对账户分类结果所带来的影响;同时该方法使用传统的Skip-Gram模型得到时序加权有向图中各账户节点的图特征向量,仅仅保留了一部分的图的特性,忽略了重要的图结构信息,得到的节点特征并不全面,降低了分类器的分类结果准确率。
发明内容
针对上述现有技术存在的不足,本发明提供基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法,旨在克服现有技术未充分利用以太坊钓鱼诈骗网络中的有效信息导致分类不准确的缺陷,以及消除以太坊钓鱼诈骗网络中账户类别不平衡问题对账户分类结果所带来的影响。
本发明的技术方案为:
本发明第一方面提供基于多特征学习的以太坊钓鱼诈骗账户检测装置,该装置包括:
数据采集模块,用于采集被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;每条所述交易记录数据包括:发送方、接收方、交易金额和交易时间;
以太坊钓鱼诈骗网络构建模块,用于根据数据采集模块采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络并确定该网络的邻接矩阵;所述节点包括钓鱼节点和正常节点两类,其中钓鱼节点对应钓鱼诈骗账户的地址,正常节点对应正常账户的地址;
以太坊钓鱼诈骗网络初始化模块,用于根据数据采集模块采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵和初始边特征矩阵;
特征提取模块,用于从所述以太坊钓鱼诈骗网络提取节点的图特征、节点的序列特征和节点的时序特征,获得节点的图特征矩阵、节点的序列特征矩阵和节点的时序特征矩阵,并将图特征矩阵、序列特征矩阵和时序特征矩阵进行组合,将得到的组合特征矩阵发送给账户类别平衡模块;
账户类别平衡模块,用于根据从特征提取模块接收的组合特征矩阵对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,并将类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵发送给分类模块;
分类模块,用于根据从账户类别平衡模块输出的类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵进行节点分类,从而识别出钓鱼诈骗账户和正常账户。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,所述节点的图特征指的是在所述以太坊钓鱼诈骗网络中通过图神经网络聚合邻居节点信息后的节点特征;所述节点的序列特征指的是在所述以太坊钓鱼诈骗网络中通过随机游走算法捕获节点间的序列关系,提取每个节点对应的节点序列,根据节点序列通过Skip-Gram模型所提取的节点特征;所述时序特征指的是在所述以太坊钓鱼诈骗网络中通过LSTM神经网络捕获每个节点的所有交易在时间上的分布规律及演变规律所提取的节点特征。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,所述特征提取模块进一步包括:
图特征提取模块,用于将以太坊钓鱼诈骗网络构建模块输出的邻接矩阵和以太坊钓鱼诈骗网络初始化模块输出的初始节点特征矩阵输入图神经网络中提取每个节点的图特征,获得图特征矩阵,并将该图特征矩阵发送给注意力嵌入模块;
序列特征提取模块,用于首先根据以太坊钓鱼诈骗网络构建模块输出的邻接矩阵使用基于交易时间的偏置随机游走算法从所述以太坊钓鱼诈骗网络获取每个节点对应的节点序列,然后根据获取的节点序列使用Skip-Gram模型提取节点的序列特征,获得序列特征矩阵,并将该序列特征矩阵发送给注意力嵌入模块;
时序特征提取模块,用于首先根据所述以太坊钓鱼诈骗网络初始化模块输出的初始边特征矩阵提取每个节点的交易时间序列,然后使用循环神经网络RNN提取每个节点的时序特征,获得时序特征矩阵,并将该时序特征矩阵发送给注意力嵌入模块;
注意力嵌入模块,用于接收所述图特征提取模块发送的图特征矩阵、所述序列特征提取模块发送的序列特征矩阵、所述时序特征提取模块发送的时序特征矩阵,并为所述图特征矩阵、序列特征矩阵和时序特征矩阵分配不同的注意力系数,得到组合特征矩阵,且将该组合特征矩阵发送给账户类别平衡模块。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,所述账户类别平衡模块进一步包括:
节点合成模块,用于根据注意力嵌入模块输出的组合特征矩阵,使用过采样方法对所述以太坊钓鱼诈骗网络中的钓鱼节点进行过采样合成新的钓鱼节点直至账户类别平衡,得到类别平衡后的节点特征矩阵;将类别平衡后的节点特征矩阵同时发送给边生成模块和分类模块;
边生成模块,用于根据节点合成模块输出的类别平衡后的节点特征矩阵预测新合成的钓鱼节点与其他节点之间是否有边的连接,从而得到类别平衡后的邻接矩阵,并将该类别平衡后的邻接矩阵发送给分类模块。
本发明第二方面提供基于多特征学习的以太坊钓鱼诈骗账户检测方法,该方法包括下述步骤:
步骤1:采集以太坊钓鱼诈骗相关数据,包括被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;
步骤2:根据采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A;
步骤3:根据已采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵A初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵F和初始边特征矩阵X;
步骤4:根据以太坊钓鱼诈骗网络G的邻接矩阵A和初始节点特征矩阵F,提取每个节点的图特征,构建图特征矩阵Fgraph;根据以太坊钓鱼诈骗网络G的邻接矩阵A提取每个节点的序列特征,构建序列特征矩阵Fsequence;根据以太坊钓鱼诈骗网络G的初始边特征矩阵X,提取每个节点的时序特征,构建时序特征矩阵Ftime;
步骤5:利用注意力机制为图特征矩阵Fgraph、序列特征矩阵Fsequence和时序特征矩阵Ftime分配不同的注意力系数,从而得到组合特征矩阵Z;
步骤6:根据组合特征矩阵Z和邻接矩阵A,对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,获得类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew;
步骤7:根据类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew,使用图神经网络更新节点的节点特征,得到更新后的节点特征矩阵Zn′ew;根据更新后的节点特征矩阵Zn′ew基于交叉熵损失函数训练一个分类器,对类别平衡后的太坊钓鱼欺诈网络中节点对应的账户进行分类,区分出钓鱼诈骗账户和正常账户。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,所述构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A的方法为:
首先以各钓鱼节点作为中心节点,根据中心节点的交易记录提取与当前中心节点有过交易的另一方账户地址作为一阶节点,然后再以一阶节点为中心节点,根据交易记录提取与当前中心节点有过交易的另一方账户地址作为二阶节点,构建本以太坊钓鱼诈骗网络G={V,E,Y};其中,V={v1,v2,...,vn}表示所述以太坊钓鱼诈骗网络的节点集合,n为节点总数;E={e1,e2,...,em}表示所述以太坊钓鱼诈骗网络的边集合,m为边总数;Y={y1,y2,…,yn}表示所述以太坊钓鱼诈骗网络中各节点对应账户的类别标签集合,账户的类别包括钓鱼诈骗账户和正常账户两类;
设(vi,vj)表示从节点vi到节点vj的边,遍历节点集合V,根据公式(1)确定以太坊钓鱼诈骗网络G的网络邻接矩阵A∈Rn×n;
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征的方法为:定义节点相关数值属性和边相关数值属性,分别按照定义的节点相关数值属性、边相关数值属性分别遍历对应的节点集合V、边集合E及对应的历史交易记录数据,获得以太坊钓鱼诈骗网络G的初始节点特征矩阵F和初始边特征矩阵X。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,所述节点相关数值属性包括:
入度,为任一节点的入边数量,定义为发送到任一节点的交易数量;
出度,为任一节点的出边数量,定义为任一节点发送给其他节点的交易数量;
度,为与任一节点相连的边的总数量,定义为任一节点发生的交易总数;
发送以太币总数,定义为发送到任一节点的以太币总量;
接收以太币总数,定义为任一节点接收的以太币总量;
交易以太币总数,定义为任一节点的以太币交易总量;
邻居数量,定义为与任一节点相连的节点数量;
交易频率的倒数,定义为任一节点第一笔交易和最后一笔交易之间的时间间隔除以该节点的度;
所述边相关数值属性包括:
交易时间,定义为交易发起时间;
交易金额,定义为在一次交易中,由发送方向接收方转移的以太币数量;
交易方向,定义为在一笔交易中,若当前节点为发送方,则将交易方向记作1,若当前节点为接收方,则将交易方向记作-1。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,所述步骤4进一步包括如下步骤:
步骤4.1:将以太坊钓鱼诈骗网络的邻接矩阵A和初始节点特征矩阵F输入图神经网络,为目标节点v∈V传递和融合其邻居节点的初始节点特征,获取目标节点v的保存有节点数值信息和图结构信息的图特征,这样遍历以太坊钓鱼诈骗网络的节点集合V,获得图特征矩阵Fgraph;
步骤4.2:根据以太坊钓鱼诈骗网络的邻接矩阵A,通过基于交易时间的偏置随机游走算法捕获节点之间的序列关系,提取每个节点对应的节点序列,将以太坊钓鱼诈骗网络转化为一组节点序列;根据所获得的节点序列,利用Skip-Gram模型获取节点的序列特征矩阵;
步骤4.3:根据以太坊钓鱼诈骗网络的初始边特征矩阵X和历史交易记录,利用滑动窗口方法进行采样获取每个节点的交易序列,进而通过LSTM神经网络获取时序特征矩阵Ftime。
进一步地,根据所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,所述基于交易时间的偏置随机游走算法的核心思想为:设节点v∈V为源节点,将节点v每条边对应的交易时间映射至离散的时间步长,基于交易双方的最新交易时间改进游走时的节点转移概率,改进后的节点转移概率为当前节点与其一邻居节点最近一次交易的交易时间占当前节点与其所有邻居节点最近一次交易时间之和的比值,与当前节点有着最新交易的邻居节点有更大的可能性被选择为游走的下一个节点。
与现有技术相比,本发明提出的技术方案具有以下有益效果:
(1)高准确度:本发明装置及方法通过充分利用以太坊钓鱼诈骗网络信息提取节点特征,提高了以太坊钓鱼诈骗账户检测的准确度;同时通过对钓鱼节点进行过采样消除了以太坊钓鱼诈骗账户检测中账户类别不平衡问题对账户分类结果所带来的影响。
(2)高安全性:本发明装置及方法能够准确地将以太坊交易网络中的钓鱼诈骗账户区分出来,同时还能预防钓鱼诈骗账户的异常行为,因此将本发明装置及方法嵌入到用户的加密钱包中,以确保用户在与不熟悉的账户交易时提醒潜在的风险,为用户提供了金融风险预警功能,提高了以太坊交易网络的安全性。
(3)节约资源:本发明装置及方法采用图神经网络例如GraphSAGE、随机游走算法和LSTM神经网络将以太坊交易网络的节点特征和边特征映射到较低维度的特征空间中,可节省深度学习中所消耗的大量算力。
附图说明
图1为本实施方式基于多特征学习的以太坊钓鱼诈骗账户检测装置的结构示意图;
图2为本实施方式基于多特征学习的以太坊钓鱼诈骗账户检测方法的流程图;
图3为本实施方式以太坊钓鱼诈骗网络构建方法的流程示意图,其中(a)图为本实施方式由钓鱼节点构建其一阶节点的流程示意图;(b)图为本实施方式由所述一阶节点构建以太坊钓鱼诈骗网络的流程示意图;
图4为本实施方式基于交易时间的偏置随机游走算法的示例图;
图5为本实施方式针对少数类节点进行过采样合成新的少数类节点的方法示意图。
具体实施方式
下面将结合附图和实施例,对本发明作进一步描述。
本发明的目的是提供基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法,充分利用以太坊钓鱼诈骗网络信息,通过图神经网络例如GraphSAGE、随机游走算法和LSTM神经网络分别获取节点的图特征、序列特征和时序特征,并利用注意力机制为三种特征分配不同的注意力系数,得到组合特征;然后在账户节点的特征空间中使用过采样方法例如SMOTE(Synthetic Minority Oversampling Techniques,合成少数类过采样技术)算法合成新的少数类节点,即与钓鱼诈骗账户对应的钓鱼节点,并使用边生成器预测新合成的少数类节点与原有节点之间的关系,即是否存在边,从而生成类别平衡的以太坊钓鱼诈骗网络,解决以太坊钓鱼诈骗网络中所存在的账户类别不平衡问题。本发明装置及方法可克服现有技术无法充分利用以太坊钓鱼诈骗网络中的有效信息导致分类不准确的缺陷,也可以消除以太坊钓鱼诈骗账户检测中类别不平衡问题对账户分类结果所带来的影响。
图1为本实施方式基于多特征学习的以太坊钓鱼诈骗账户检测装置的结构示意图。如图1所示,所述基于多特征学习的以太坊钓鱼诈骗账户检测装置,包括:
数据采集模块,用于采集以太坊钓鱼诈骗相关数据,包括被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;每条所述交易记录数据包括:发送方、接收方、交易金额和交易时间;本实施方式中,具体是,首先通过以太坊区块链浏览器例如Etherscan获取被标注的钓鱼诈骗账户的地址数据,然后从以太坊中获取所有历史交易记录;再从所有历史交易记录中提取所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;
以太坊钓鱼诈骗网络构建模块,用于根据数据采集模块采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络并确定该网络的邻接矩阵;
以太坊钓鱼诈骗网络初始化模块,用于根据数据采集模块采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵和初始边特征矩阵;
特征提取模块,用于从所述以太坊钓鱼诈骗网络提取节点的图特征、节点的序列特征和节点的时序特征,获得节点的图特征矩阵、节点的序列特征矩阵和节点的时序特征矩阵,并将图特征矩阵、序列特征矩阵和时序特征矩阵进行组合,将得到的组合特征矩阵发送给账户类别平衡模块;所述节点的图特征指的是在所述以太坊钓鱼诈骗网络中通过图神经网络聚合邻居节点信息后的节点特征;所述节点的序列特征指的是在所述以太坊钓鱼诈骗网络中通过随机游走算法捕获节点间的序列关系,提取每个节点对应的节点序列,根据节点序列通过Skip-Gram模型所提取的节点特征;所述时序特征指的是在所述以太坊钓鱼诈骗网络中通过LSTM神经网络捕获每个节点的所有交易在时间上的分布规律及演变规律所提取的节点特征;
账户类别平衡模块,用于根据从特征提取模块接收的组合特征矩阵对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,并将类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵发送给分类模块;
分类模块,用于根据从账户类别平衡模块输出的类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵进行节点分类,从而识别出钓鱼诈骗账户和正常账户。
所述特征提取模块进一步包括:
图特征提取模块,用于将以太坊钓鱼诈骗网络构建模块输出的邻接矩阵和以太坊钓鱼诈骗网络初始化模块输出的初始节点特征矩阵输入图神经网络例如GraphSAGE神经网络中提取每个节点的图特征,获得图特征矩阵,并将该图特征矩阵发送给注意力嵌入模块;
序列特征提取模块,用于首先根据以太坊钓鱼诈骗网络构建模块输出的邻接矩阵使用基于交易时间的偏置随机游走算法从所述以太坊钓鱼诈骗网络获取每个节点对应的节点序列,然后根据获取的节点序列使用Skip-Gram模型提取节点特征,获得序列特征矩阵,并将该序列特征矩阵发送给注意力嵌入模块;
时序特征提取模块,用于首先根据以太坊钓鱼诈骗网络初始化模块输出的初始边特征矩阵提取每个节点的交易时间序列,然后使用循环神经网络RNN例如LSTM(LongShort-Term Memory,长短期记忆网络)神经网络提取每个节点的时序特征,获得时序特征矩阵,并将该时序特征矩阵发送给注意力嵌入模块;
注意力嵌入模块,用于接收所述图特征提取模块发送的图特征矩阵、所述序列特征提取模块发送的序列特征矩阵、所述时序特征提取模块发送的时序特征矩阵,并为所述图特征矩阵、序列特征矩阵和时序特征矩阵分配不同的注意力系数,得到组合特征矩阵,且将该组合特征矩阵发送给账户类别平衡模块。
所述账户类别平衡模块进一步包括:
节点合成模块,用于根据注意力嵌入模块输出的组合特征矩阵,使用过采样方法例如SMOTE算法对少数类节点即钓鱼节点进行过采样从而合成新的少数类节点直至账户类别平衡,得到类别平衡后的节点特征矩阵;将类别平衡后的节点特征矩阵同时发送给边生成模块和分类模块;
边生成模块,用于根据节点合成模块输出的类别平衡后的节点特征矩阵预测新合成的少数类节点与其他节点之间是否有边的连接,从而得到类别平衡后的邻接矩阵,并将该类别平衡后的邻接矩阵发送给分类模块。
图2为本实施方式基于多特征学习的以太坊钓鱼诈骗账户检测方法的流程示意图,如图2所示,所述基于多特征学习的以太坊钓鱼诈骗账户检测方法包括以下步骤:
步骤1:采集以太坊钓鱼诈骗相关数据,包括被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;
在本实施方式中,首先根据以太坊区块链浏览器Etherscan提供的API(ApplicationProgrammingInterface,应用程序接口),通过网络爬虫技术爬取被标注的钓鱼诈骗账户的十六进制的地址数据,例如
0x71C7656EC7ab88b098defB751B7401B5f6d8976F。然后在本地服务器运行一个以太坊全节点,通过与以太坊网络进行同步获取所有历史交易记录;再从所有历史交易记录中提取所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;每条所述交易记录数据包括:发送方、接收方、交易金额和交易时间;在本实施方式中所述交易记录以四元组形式进行表示,例如某次交易为(Src,Dst,t,w),表示发送方Src在时刻t将w数量的加密货币传输给接收方Dst。
进一步的优选实施方式是,从以太坊网络获取所有历史交易记录后,可以先按照启发式过滤规则对获取的所有历史交易记录进行过滤,再从过滤后的历史交易记录中提取所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据。
所述启发式过滤规则包括:
1)过滤发送方或接收方为智能合约的交易记录;
2)由于在少于一定数量例如10条或多余一定数量例如1000条交易记录的地址中,仅有极少例如1个地址被标注为钓鱼诈骗账户地址,因此过滤少于所述数量例如10条或多余所述数量例如1000条交易记录;
3)由于在某日期例如2016--08-02之前没有出现过钓鱼诈骗账户地址,因此过滤该日期之前产生的交易记录。
步骤2:根据采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A;
在本实施方式中所述节点包括钓鱼节点和正常节点两类,其中钓鱼节点对应钓鱼诈骗账户的地址,正常节点对应正常账户的地址。首先以各钓鱼节点作为中心节点,如图3(a)所示根据中心节点的交易记录提取与当前中心节点有过交易的另一方账户地址作为一阶节点,然后再以一阶节点为中心节点,根据交易记录提取与当前中心节点有过交易的另一方账户地址作为二阶节点,构建本实施方式的以太坊钓鱼诈骗网络G={V,E,Y},如图3(b)所示;其中,V={v1,v2,…,vn}表示所述以太坊钓鱼诈骗网络的节点集合,n为节点总数;E={e1,e2,...,em}表示所述以太坊钓鱼诈骗网络的边集合,m为边总数,Y={y1,y2,...,yn}表示所述以太坊钓鱼诈骗网络中各节点对应账户的类别标签集合,账户的类别包括钓鱼诈骗账户和正常账户两类。设(vi,vj)表示从节点vi到节点vj的边,遍历节点集合V,根据公式(1)获取以太坊钓鱼诈骗网络G的网络邻接矩阵A∈Rn×n。
步骤3:根据已采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵A初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵F和初始边特征矩阵X;
在本实施方式中,通过定义8个节点相关数值属性初始化所述以太坊钓鱼诈骗网络中的节点特征,获得初始节点特征矩阵F;以及通过定义3个边相关数值属性初始化所述以太坊钓鱼诈骗网络中的边特征,获得初始边特征矩阵X。
所述8个节点相关数值属性分别为:
①入度,即任一节点的入边数量,在本实施方式指的是发送到任一节点的交易数量;
②出度,即任一节点的出边数量,在本实施方式指的是任一节点发送给其他节点的交易数量;
③度,即与任一节点相连的边的总数量,在本实施方式指任一节点发生的交易总数;
④发送以太币总数,在本实施方式指发送到任一节点的以太币总量;
⑤接收以太币总数,在本实施方式指任一节点接收的以太币总量;
⑥交易以太币总数,在本实施方式指任一节点的以太币交易总量;
⑦邻居数量,在本实施方式指与任一节点相连的节点数量;
⑧交易频率的倒数,在本实施方式定义为任一节点第一笔交易和最后一笔交易之间的时间间隔除以该节点的度。
按照上述定义的8个节点相关数值属性遍历节点集合V和历史交易记录数据,获得以太坊钓鱼诈骗网络G的初始节点特征矩阵F∈Rn×d,d为节点特征维数。
所述3个边相关数值属性为:
交易时间:交易发起时间,通过交易时间可以获取账户参与的所有交易在时间上的分布规律;钓鱼账户往往在发展期涉及少量低频交易,在爆发期涉及大量、高频的交易,在结束期涉及少量的交易。
交易金额:指在一次交易中,由发送方向接收方转移的以太币数量。以以太币的最小计量单位wei来记录每次交易转移的以太币数量,一个以太币等于1018wei。
交易方向:在一笔交易中,若当前节点为发送方,则将交易方向记作1,若当前节点为接收方,则将交易方向记作-1。
按照上述定义的3个边相关数值属性遍历边集合E和历史交易记录数据,获取以太坊钓鱼诈骗网络G的初始边特征矩阵X∈Rm×l,l为边特征维数。
步骤4:根据以太坊钓鱼诈骗网络G的邻接矩阵A和初始节点特征矩阵F,提取每个节点的图特征,构建图特征矩阵Fgraph;根据以太坊钓鱼诈骗网络G的邻接矩阵A提取每个节点的序列特征,构建序列特征矩阵Fsequence;根据以太坊钓鱼诈骗网络G的初始边特征矩阵X,提取每个节点的时序特征,构建时序特征矩阵Ftime。
步骤4.1:根据以太坊钓鱼诈骗网络G的邻接矩阵A和初始节点特征矩阵F,提取每个节点的图特征,构建图特征矩阵Fgraph。
在本实施方式中,将以太坊钓鱼诈骗网络的邻接矩阵A和初始节点特征矩阵F输入图神经网络例如单层GraphSAGE神经网络,按照公式(2)为目标节点v∈V传递和融合其邻居节点的初始节点特征,获取目标节点v的保存有节点数值信息和图结构信息的图特征。再依据公式(2)遍历以太坊钓鱼诈骗网络的节点集合V,获得图特征矩阵Fgraph。
步骤4.2:根据以太坊钓鱼诈骗网络的邻接矩阵A,通过基于交易时间的偏置随机游走算法捕获节点之间的序列关系,提取每个节点对应的节点序列,将以太坊钓鱼诈骗网络转化为一组节点序列;根据所获得的节点序列,利用Skip-Gram模型获取节点的序列特征矩阵。
基于交易时间的偏置随机游走算法的核心思想:设节点v∈V为源节点,将节点v每条边对应的交易时间映射至离散的时间步长,基于交易双方的最新交易时间改进游走时的节点转移概率,改进后的节点转移概率如公式(3)所示为当前节点与其一邻居节点最近一次交易的交易时间占当前节点与其所有邻居节点最近一次交易时间之和的比值,与当前节点有着最新交易的邻居节点有更大的可能性被选择为游走的下一个节点。图4为基于交易时间的偏置随机游走算法的一个示例图,根据基于交易时间的偏置随机游走算法的核心思想,由节点v转移至节点u1的概率为1/6,由节点v转移至节点u2的概率为1/3,由节点v转移至节点u3的概率为1/2,由于节点v和节点u3最近一次交易时间占节点v与其所有邻居节点最近交易时间之和的比值最大,因此节点u3最有可能被选择为游走的下一个节点。
上式中,PT(v,u)表示从节点v转移到节点u的概率,u'为节点v的一阶邻居,Vv为节点v的一阶邻居节点集合,T(v,u)为节点v和u最近的一次交易时间的时间步长。
如公式(4)所示根据改进后的节点转移概率选择源节点v的邻居节点作为下一个节点进行节点采样,重复此过程,直至得到固定长度的节点序列Wv。不断重复上述过程,将以太坊钓鱼诈骗网络G转化为一组节点序列W|v|。
其中,ci代表当前节点;ci+1代表采样的下一个节点;PT(v,u)为从节点v到节点u的节点转移概率;E为以太坊钓鱼欺诈网络的边集合。
利用Skip-Gram模型获取节点的序列特征矩阵的方法为:利用Skip-gram模型通过随机梯度下降的方法优化公式(5)所示的映射函数,使得节点v在节点映射Φ(v)的条件下,节点v的邻域Wv中其他节点共同出现的概率的对数最大化如公式(6)所示,充分捕获节点间的序列关系,进而得到节点的序列特征矩阵Fsequence。
max∑logPr(Wv|Φ(v)) (6)
步骤4.3:根据以太坊钓鱼诈骗网络的初始边特征矩阵X和历史交易记录,利用滑动窗口方法进行采样获取每个节点的交易序列,进而通过LSTM神经网络获取时序特征矩阵Ftime。
具体是,首先根据以太坊钓鱼诈骗网络的初始边特征矩阵X,遍历节点集合V和历史交易记录,获取每个节点v∈V参与的所有交易记录;然后对于每个节点的交易记录,采用滑动窗口方法进行采样,提取预设长度的交易序列,其中,对于小于预设长度的交易序列,则在该交易序列末尾填充0,使其达到预设长度;对于超过预设长度的交易序列,则利用滑动窗口方法进行多次采样,使达到预设长度;每个时间步内包含3个特征值,分别为交易时间、交易金额和交易方向;最后将提取的每个节点的交易序列输入至LSTM神经网络,学习每个节点的交易在时间上的分布规律及演变规律,获取时序特征矩阵Ftime。
步骤5:利用注意力机制为图特征矩阵Fgraph、序列特征矩阵Fsequence和时序特征矩阵Ftime分配不同的注意力系数,从而得到组合特征矩阵Z。
Z=γG·Fgraph+γS·Fsequence+γT·Ftime (7)
其中,γG为图特征矩阵Fgraph的注意力系数;γS为序列特征矩阵Fsequence的注意力系数;γT为时序特征矩阵Ftime的注意力系数;Z表示组合特征矩阵。
步骤6:根据组合特征矩阵Z和邻接矩阵A,对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,获得类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew。
步骤6.1:根据组合特征矩阵Z,在特征空间中使用过采样方法对钓鱼节点进行过采样合成新的钓鱼节点直至账户类别平衡,获得类别平衡后的节点特征矩阵Znew。
在特征空间中使用过采样方法例如SMOTE算法对少数类节点即钓鱼节点进行过采样从而合成新的少数类节点,具体是指在特征空间中随机选择一个少数类节点v,如图5所示,按照公式(8)寻找与少数类节点v的账户类别标签相同且欧氏距离最近的最近邻同类节点nn(v),在少数类节点v与最近邻同类节点nn(v)的连线上随机选取一点,合成新的少数类节点v',如公式(9)所示。
其中,znn(v)为最近邻同类节点nn(v)的组合特征,zu为节点v在特征空间中的同类节点u的组合特征,zv为少数类节点v的组合特征,Yu和Yv分别为节点u和节点v的账户类别标签。
zv′=(1-δ)·zv+δ·znn(v) (9)
其中,δ表示一个随机变量,在[0,1]范围内呈均匀分布,zv′为新的少数类节点v'的组合特征。
步骤6.2:利用组合特征矩阵Z和邻接矩阵A训练一个边生成器,根据类别平衡后的节点特征矩阵Znew利用该边生成器预测新合成的钓鱼节点与其他节点之间是否有边的连接,获得类别平衡后的邻接矩阵Anew,从而获得类别平衡的以太坊钓鱼欺诈网络。
在本实施方式中是利用组合特征矩阵Z和邻接矩阵A按照公式(11)训练公式(10)所示的边生成器:
Hv,u=softmax(σ(Zv·S·Zu)) (10)
其中Hv,u表示节点v和节点u之间的存在边的概率,S是用来捕获节点之间相互作用的参数矩阵。
训练边生成器的损失函数具体公式如下所示:
其中,Ledge为以太坊钓鱼欺诈网络中每对节点之间存在边的概率矩阵,即Hv,u的集合。
训练好边生成器后,根据类别平衡后的节点特征矩阵Znew,使用公式(12)预测新合成的少数类节点和其他节点之间是否有边连接,从而获取类别平衡后的邻接矩阵Anew。
步骤7:根据类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew,使用图神经网络更新节点的节点特征,得到更新后的节点特征矩阵Z′new;根据更新后的节点特征矩阵Z′new基于交叉熵损失函数训练一个分类器,对类别平衡后的太坊钓鱼欺诈网络中节点对应的账户进行分类,区分出钓鱼诈骗账户和正常账户。
首先按照式(13)使用图神经网络例如GraphSAGE更新节点的节点特征:
其中,Znew[v,:]表示账户类别平衡后的节点集合中任一节点v的节点特征;Anew[:,v]表示类别平衡后的邻接矩阵Anew中节点v对应的列;表示更新后的节点v的节点特征;W2表示权重参数;σ表示激活函数,如ReLU。
然后根据式(14)使用更新后的节点特征矩阵Z'new计算每个节点对应的账户类别标签的概率分布,得到概率分布矩阵P:
P=softmax(σ(W·Zn'ew+B)) (14)
其中,P是节点对应的账户类别标签的概率分布矩阵;W为可训练的权重参数;Z'new为更新后的节点特征矩阵;B为偏置矩阵。
最后,利用式(15)所示的交叉熵损失函数通过不断迭代训练式(14)所示的分类器,最后利用训练后的分类器对未知账户类别标签的节点进行分类。
其中,v表示账户类别平衡后的节点集合中任一节点;c为节点对应的账户类别标签中的一类;Pv[c]表示节点v对应的账户类别标签是c的概率。
上述对本发明的一个实施例进行了详细说明。显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例;上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。
Claims (10)
1.基于多特征学习的以太坊钓鱼诈骗账户检测装置,其特征在于,该装置包括:
数据采集模块,用于采集被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;每条所述交易记录数据包括:发送方、接收方、交易金额和交易时间;
以太坊钓鱼诈骗网络构建模块,用于根据数据采集模块采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络并确定该网络的邻接矩阵;所述节点包括钓鱼节点和正常节点两类,其中钓鱼节点对应钓鱼诈骗账户的地址,正常节点对应正常账户的地址;
以太坊钓鱼诈骗网络初始化模块,用于根据数据采集模块采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵和初始边特征矩阵;
特征提取模块,用于从所述以太坊钓鱼诈骗网络提取节点的图特征、节点的序列特征和节点的时序特征,获得节点的图特征矩阵、节点的序列特征矩阵和节点的时序特征矩阵,并将图特征矩阵、序列特征矩阵和时序特征矩阵进行组合,将得到的组合特征矩阵发送给账户类别平衡模块;
账户类别平衡模块,用于根据从特征提取模块接收的组合特征矩阵对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,并将类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵发送给分类模块;
分类模块,用于根据从账户类别平衡模块输出的类别平衡后的节点特征矩阵和类别平衡后的邻接矩阵进行节点分类,从而识别出钓鱼诈骗账户和正常账户。
2.根据权利要求1所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,其特征在于,所述节点的图特征指的是在所述以太坊钓鱼诈骗网络中通过图神经网络聚合邻居节点信息后的节点特征;所述节点的序列特征指的是在所述以太坊钓鱼诈骗网络中通过随机游走算法捕获节点间的序列关系,提取每个节点对应的节点序列,根据节点序列通过Skip-Gram模型所提取的节点特征;所述时序特征指的是在所述以太坊钓鱼诈骗网络中通过LSTM神经网络捕获每个节点的所有交易在时间上的分布规律及演变规律所提取的节点特征。
3.根据权利要求1所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,其特征在于,所述特征提取模块进一步包括:
图特征提取模块,用于将以太坊钓鱼诈骗网络构建模块输出的邻接矩阵和以太坊钓鱼诈骗网络初始化模块输出的初始节点特征矩阵输入图神经网络中提取每个节点的图特征,获得图特征矩阵,并将该图特征矩阵发送给注意力嵌入模块;
序列特征提取模块,用于首先根据以太坊钓鱼诈骗网络构建模块输出的邻接矩阵使用基于交易时间的偏置随机游走算法从所述以太坊钓鱼诈骗网络获取每个节点对应的节点序列,然后根据获取的节点序列使用Skip-Gram模型提取节点的序列特征,获得序列特征矩阵,并将该序列特征矩阵发送给注意力嵌入模块;
时序特征提取模块,用于首先根据所述以太坊钓鱼诈骗网络初始化模块输出的初始边特征矩阵提取每个节点的交易时间序列,然后使用循环神经网络RNN提取每个节点的时序特征,获得时序特征矩阵,并将该时序特征矩阵发送给注意力嵌入模块;
注意力嵌入模块,用于接收所述图特征提取模块发送的图特征矩阵、所述序列特征提取模块发送的序列特征矩阵、所述时序特征提取模块发送的时序特征矩阵,并为所述图特征矩阵、序列特征矩阵和时序特征矩阵分配不同的注意力系数,得到组合特征矩阵,且将该组合特征矩阵发送给账户类别平衡模块。
4.根据权利要求1所述的基于多特征学习的以太坊钓鱼诈骗账户检测装置,其特征在于,所述账户类别平衡模块进一步包括:
节点合成模块,用于根据注意力嵌入模块输出的组合特征矩阵,使用过采样方法对所述以太坊钓鱼诈骗网络中的钓鱼节点进行过采样合成新的钓鱼节点直至账户类别平衡,得到类别平衡后的节点特征矩阵;将类别平衡后的节点特征矩阵同时发送给边生成模块和分类模块;
边生成模块,用于根据节点合成模块输出的类别平衡后的节点特征矩阵预测新合成的钓鱼节点与其他节点之间是否有边的连接,从而得到类别平衡后的邻接矩阵,并将该类别平衡后的邻接矩阵发送给分类模块。
5.基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,该方法包括下述步骤:
步骤1:采集以太坊钓鱼诈骗相关数据,包括被标注的钓鱼诈骗账户的地址数据、所述钓鱼诈骗账户的历史交易记录数据、所述钓鱼诈骗账户的一阶邻居的历史交易记录数据;
步骤2:根据采集的钓鱼诈骗账户地址数据和历史交易记录数据,以参与交易的账户地址为节点、以账户间的交易为边构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A;
步骤3:根据已采集的历史交易记录数据和所述以太坊钓鱼诈骗网络的邻接矩阵A初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征,获得初始节点特征矩阵F和初始边特征矩阵X;
步骤4:根据以太坊钓鱼诈骗网络G的邻接矩阵A和初始节点特征矩阵F,提取每个节点的图特征,构建图特征矩阵Fgraph;根据以太坊钓鱼诈骗网络G的邻接矩阵A,提取每个节点的序列特征,构建序列特征矩阵Fsequence;根据以太坊钓鱼诈骗网络G的初始边特征矩阵X,提取每个节点的时序特征,构建时序特征矩阵Ftime;
步骤5:利用注意力机制为图特征矩阵Fgraph、序列特征矩阵Fsequence和时序特征矩阵Ftime分配不同的注意力系数,从而得到组合特征矩阵Z;
步骤6:根据组合特征矩阵Z和邻接矩阵A,对所述以太坊钓鱼诈骗网络中的账户类别进行平衡处理,获得类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew;
步骤7:根据类别平衡后的节点特征矩阵Znew和类别平衡后的邻接矩阵Anew,使用图神经网络更新节点的节点特征,得到更新后的节点特征矩阵Z′new;根据更新后的节点特征矩阵Z′new基于交叉熵损失函数训练一个分类器,对类别平衡后的太坊钓鱼欺诈网络中节点对应的账户进行分类,区分出钓鱼诈骗账户和正常账户。
6.根据权利要求5所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,所述构建以太坊钓鱼诈骗网络G并确定该网络的邻接矩阵A的方法为:
首先以各钓鱼节点作为中心节点,根据中心节点的交易记录提取与当前中心节点有过交易的另一方账户地址作为一阶节点,然后再以一阶节点为中心节点,根据交易记录提取与当前中心节点有过交易的另一方账户地址作为二阶节点,构建本以太坊钓鱼诈骗网络G={V,E,Y};其中,V={v1,v2,...,vn}表示所述以太坊钓鱼诈骗网络的节点集合,n为节点总数;E={e1,e2,...,em}表示所述以太坊钓鱼诈骗网络的边集合,m为边总数;Y={y1,y2,...,yn}表示所述以太坊钓鱼诈骗网络中各节点对应账户的类别标签集合,账户的类别包括钓鱼诈骗账户和正常账户两类;
设(vi,vj)表示从节点vi到节点vj的边,遍历节点集合V,根据公式(1)确定以太坊钓鱼诈骗网络G的网络邻接矩阵A∈Rn×n;
7.根据权利要求6所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,初始化所述以太坊钓鱼诈骗网络中的节点特征和边特征的方法为:定义节点相关数值属性和边相关数值属性,分别按照定义的节点相关数值属性、边相关数值属性分别遍历对应的节点集合V、边集合E及对应的历史交易记录数据,获得以太坊钓鱼诈骗网络G的初始节点特征矩阵F和初始边特征矩阵X。
8.根据权利要求7所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,所述节点相关数值属性包括:
入度,为任一节点的入边数量,定义为发送到任一节点的交易数量;
出度,为任一节点的出边数量,定义为任一节点发送给其他节点的交易数量;
度,为与任一节点相连的边的总数量,定义为任一节点发生的交易总数;
发送以太币总数,定义为发送到任一节点的以太币总量;
接收以太币总数,定义为任一节点接收的以太币总量;
交易以太币总数,定义为任一节点的以太币交易总量;
邻居数量,定义为与任一节点相连的节点数量;
交易频率的倒数,定义为任一节点第一笔交易和最后一笔交易之间的时间间隔除以该节点的度;
所述边相关数值属性包括:
交易时间,定义为交易发起时间;
交易金额,定义为在一次交易中,由发送方向接收方转移的以太币数量;
交易方向,定义为在一笔交易中,若当前节点为发送方,则将交易方向记作1,若当前节点为接收方,则将交易方向记作-1。
9.根据权利要求7所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,所述步骤4进一步包括如下步骤:
步骤4.1:将以太坊钓鱼诈骗网络的邻接矩阵A和初始节点特征矩阵F输入图神经网络,为目标节点v∈V传递和融合其邻居节点的初始节点特征,获取目标节点v的保存有节点数值信息和图结构信息的图特征,这样遍历以太坊钓鱼诈骗网络的节点集合V,获得图特征矩阵Fgraph;
步骤4.2:根据以太坊钓鱼诈骗网络的邻接矩阵A,通过基于交易时间的偏置随机游走算法捕获节点之间的序列关系,提取每个节点对应的节点序列,将以太坊钓鱼诈骗网络转化为一组节点序列;根据所获得的节点序列,利用Skip-Gram模型获取节点的序列特征矩阵;
步骤4.3:根据以太坊钓鱼诈骗网络的初始边特征矩阵X和历史交易记录,利用滑动窗口方法进行采样获取每个节点的交易序列,进而通过LSTM神经网络获取时序特征矩阵Ftime。
10.根据权利要求9所述的基于多特征学习的以太坊钓鱼诈骗账户检测方法,其特征在于,所述基于交易时间的偏置随机游走算法的核心思想为:设节点v∈V为源节点,将节点v每条边对应的交易时间映射至离散的时间步长,基于交易双方的最新交易时间改进游走时的节点转移概率,改进后的节点转移概率为当前节点与其一邻居节点最近一次交易的交易时间占当前节点与其所有邻居节点最近一次交易时间之和的比值,与当前节点有着最新交易的邻居节点有更大的可能性被选择为游走的下一个节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210484477.6A CN114782051A (zh) | 2022-05-06 | 2022-05-06 | 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210484477.6A CN114782051A (zh) | 2022-05-06 | 2022-05-06 | 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114782051A true CN114782051A (zh) | 2022-07-22 |
Family
ID=82434671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210484477.6A Pending CN114782051A (zh) | 2022-05-06 | 2022-05-06 | 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114782051A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115907770A (zh) * | 2022-11-18 | 2023-04-04 | 北京理工大学 | 一种基于时序特征融合的以太坊钓鱼欺诈识别与预警方法 |
CN116361719A (zh) * | 2023-03-27 | 2023-06-30 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
CN116738201A (zh) * | 2023-02-17 | 2023-09-12 | 云南大学 | 基于图对比学习的非法账户识别方法 |
-
2022
- 2022-05-06 CN CN202210484477.6A patent/CN114782051A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115907770A (zh) * | 2022-11-18 | 2023-04-04 | 北京理工大学 | 一种基于时序特征融合的以太坊钓鱼欺诈识别与预警方法 |
CN115907770B (zh) * | 2022-11-18 | 2023-09-29 | 北京理工大学 | 一种基于时序特征融合的以太坊钓鱼欺诈识别与预警方法 |
CN116738201A (zh) * | 2023-02-17 | 2023-09-12 | 云南大学 | 基于图对比学习的非法账户识别方法 |
CN116738201B (zh) * | 2023-02-17 | 2024-01-16 | 云南大学 | 基于图对比学习的非法账户识别方法 |
CN116361719A (zh) * | 2023-03-27 | 2023-06-30 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
CN116361719B (zh) * | 2023-03-27 | 2024-02-02 | 烟台大学 | 一种以太坊网络钓鱼用户的检测方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020249125A1 (zh) | 用于自动训练机器学习模型的方法和系统 | |
CN108009915B (zh) | 一种欺诈用户社区的标记方法及相关装置 | |
CN110188198B (zh) | 一种基于知识图谱的反欺诈方法及装置 | |
CN114782051A (zh) | 基于多特征学习的以太坊钓鱼诈骗账户检测装置及方法 | |
US20160364794A1 (en) | Scoring transactional fraud using features of transaction payment relationship graphs | |
US20080071721A1 (en) | System and method for learning models from scarce and skewed training data | |
WO2022121145A1 (zh) | 一种基于图分类的以太坊网络钓鱼诈骗检测方法及装置 | |
CN109165950A (zh) | 一种基于金融时间序列特征的异常交易识别方法,设备及可读存储介质 | |
CN108734380A (zh) | 风险账户判定方法、装置及计算设备 | |
CN113364748B (zh) | 一种基于交易子图网络的以太坊钓鱼节点检测方法及系统 | |
CN113283902B (zh) | 一种基于图神经网络的多通道区块链钓鱼节点检测方法 | |
CN114818999B (zh) | 基于自编码器和生成对抗网络的账户识别方法及系统 | |
CN111145027A (zh) | 一种疑似洗钱交易识别方法及装置 | |
CN115378629A (zh) | 基于图神经网络的以太坊网络异常检测方法、系统和存储介质 | |
WO2023045691A1 (zh) | 对象识别方法、装置、电子设备及存储介质 | |
CN110019841A (zh) | 构建债务人知识图谱的数据分析方法、装置及系统 | |
CN116402509A (zh) | 基于图神经网络的以太坊诈骗账户检测装置及方法 | |
CN113538126A (zh) | 基于gcn的欺诈风险预测方法及装置 | |
CN112085586B (zh) | 一种基于密集子图的银行信用卡反套现方法 | |
Dawar et al. | Supervised learning methods for identifying credit card fraud | |
KR102199587B1 (ko) | 암호화폐 거래 분석 방법 및 장치 | |
CN111475566A (zh) | 一种区块链资金可疑交易模式的识别方法及装置 | |
CN114723554B (zh) | 异常账户识别方法及装置 | |
CN111245815A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN115438751A (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 |