CN113111930A - 一种端到端的以太坊钓鱼账户检测方法和系统 - Google Patents
一种端到端的以太坊钓鱼账户检测方法和系统 Download PDFInfo
- Publication number
- CN113111930A CN113111930A CN202110359953.7A CN202110359953A CN113111930A CN 113111930 A CN113111930 A CN 113111930A CN 202110359953 A CN202110359953 A CN 202110359953A CN 113111930 A CN113111930 A CN 113111930A
- Authority
- CN
- China
- Prior art keywords
- account
- phishing
- network
- accounts
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
- G06F18/2414—Smoothing the distance, e.g. radial basis function networks [RBFN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种端到端的以太坊钓鱼账户检测方法,包括:(S1):从交易记录中采样目标账户的二阶交易网络,账户包括钓鱼账户和非钓鱼账户;(S2):从智能合约调用历史记录中筛选出经常被调用的合约,并为所有二阶网络的中的账户提取合约调用特征;(S3):通过图神经网络学习账户的交易行为模式,并实现端到端的账户分类,将钓鱼账户分类出来。本发明还提供一种端到端的以太坊钓鱼账户检测系统,包括:网络提取模块、特征提取模块、数据整合模块,训练模块、钓鱼账户检测模块。本发明能够有效降低计算数据规模,并且能够有效区分钓鱼账户和非钓鱼账户,帮助数字货币平台和用户规避诈骗风险。
Description
技术领域
本发明涉及以太坊区块链平台,尤其涉及一种端到端的以太坊钓鱼账户检测方法和系统。
背景技术
区块链是一种实现去中心化、加密和防篡改功能的基础技术,受益于其的匿名性,近年来,基于区块链技术的加密货币的收到了广泛的关注。截至第一季度到2021年,将有8700多种加密货币,总市值达到17,210亿美元。人们只需要创建一个假名帐户就可以执行交易,而且账户的创建基本都是免费的。因此,在如此大量交易的背景下,区块链加密货币系统也已成为非法和犯罪行为的温床,包括各种骗局(庞氏骗局、采矿骗局、骗局钱包、欺诈交易等)、洗钱、滥用机器人帐户以及漏洞攻击等等。
以太坊作为当前市值第二高的加密货币也避免不了这些问题,其中钓鱼诈骗是一种常见的非法行为,诈骗者通过将网站设计成和一些知名钱包、交易所一致来钓取用户信息,甚至还会通过“空投”、“赠送数字资产”的方式诱骗毫无戒心、不明真相的散户自愿提供个人敏感信息,进而牟取不当利益。由于其与普通钓鱼诈骗的差异性,常见的基于电子邮件检测和网站检测的钓鱼诈骗检测方式并不适用于这一背景。因此得益于区块链交易数据完全公开且不可篡改的特性,我们考虑结合网络科学领域的方法,从交易网络中学习钓鱼账户和正常账户的行为模式的差异性,进而实现钓鱼诈骗的检测。
现有的一些基于网络的钓鱼诈骗分析手段主要是基于手工特征和图嵌入算法,手工特征通常需要充分的专业知识,分类性能取决于特征设计;图嵌入算法在如此大规模的数据上需要庞大的计算资源和存储资源,而且需要再额外训练一个分类器配合进行。
公开号为CN111447179A的一种针对以太网钓鱼诈骗的网络表示学习方法,通过提取钓鱼账户的一阶交易网络并利用tran2vec方法生成账户的嵌入向量,该方法提取的一阶交易网络需要全部组合成一个大的网络,因为tran2vec方法中需要在这个大网络中进行游走,所以这是十分消耗计算空间与时间的,其次该方法训练生成的账户嵌入向量仍然需要再训练一个分类器来进行钓鱼账户的检测,不能实现端到端的快捷性。
发明内容
本发明要克服上述现有技术所述的不足,提供一种端到端的以太坊钓鱼账户检测方法,不仅从交易子图的角度出发减小资源的损耗,同时实现了端到端的问题解决方案。
本发明提供一种端到端的以太坊钓鱼账户检测方法,包括如下步骤:
S1:从交易记录中采样目标账户的二阶交易网络,账户包括钓鱼账户和非钓鱼账户;
S2:从智能合约调用历史记录中筛选出经常被调用的合约,并为所有二阶网络的中的账户提取合约调用特征;
S3:通过图神经网络学习账户的交易行为模式,并实现端到端的账户分类,将钓鱼账户分类出来。
优选地,所述步骤S1具体包括:
S1-1:从目标账户开始采样其二阶交易网络,如果目标账户的交易对象账户数量少于20个,保留这些交易对象账户并分别计算它们和目标账户的总交易量作为边的权重;如果目标账户的交易对象账户多于20个,则以它们和目标账户之间的总交易量进行倒序采样前20个交易量最大的交易对象账户,并分别计算它们和目标账户的总交易量作为边的权重,该采样方法也适用于通过一阶交易对象账户采样二阶交易对象账户;
S1-2:某个目标账户的二阶交易网络可以用一个三元组表示为G=(V,F,y),其中V为该网络的节点集合且节点数量少于400,E为带权边集合,其中的边都以(vi,vj,eij)形式保存,其中vi,vj∈V,eij为该边的权重对应于两个节点间的交易总量,y是该网络对应目标账户的实际标签,y=0表示这是一个非钓鱼账户的二阶交易网络,y=1表示这是一个钓鱼账户的二阶交易网络。
优选地,所述步骤S2具体包括:
S2-1:统计以太坊部署的智能合约和被外部用户调用的次数,忽略合约之间的调用,并保留前10000个被调用次数最多的智能合约;
S2-2:从合约调用历史记录中统计所有S1中采样所得二阶交易网络中的节点对这10000个智能合约的调用情况,每个节点的合约调用特征可以表示为每一个二阶交易网络的合约调用特征矩阵可以表示为其中|V|表示该节点集合的节点数量。
优选地,所述步骤S3具体包括:
其中ejk为节点vj,vk∈Vi之间的边的权重;
S3-2:将所有邻接矩阵和对应的特征矩阵和标签进行一一对应组成n个数据样本,每个数据样本可以表示为一个三元组Si=(Ai,Xi,yi),并将所有数据样本S={S1,S2,…,Sn}划分为训练集和测试集,训练集数据通过两个图卷积层聚合账户特征信息:
其中是归一化后的邻接矩阵,增加自环后的邻接矩阵按列求和所得向量转化的对角矩阵,Dmax也是一个对角矩阵, 即对角位置为邻接矩阵A对应行的最大值,和为可训练的权重矩阵,p和q为中间层维度,ReLU为非线性的激活函数,最终通过一个最大池化层将节点特征池化为图特征,并进一步训练一个全连接层利用特征区分钓鱼账户和非钓鱼账户:
上述所有可训练参数通过最小化如下目标损失函数函数并利用梯度下降法优化更新:
其中zi为第i个样本检测为钓鱼账户的概率。
本发明还提供一种端到端的以太坊钓鱼账户检测系统,包括:网络提取模块、特征提取模块、数据整合模块,训练模块、钓鱼账户检测模块;
所述网络提取模块用于对输入的目标账户提取二阶交易网络;
所述特征提取模块用于从合约调用记录中提取所有二阶交易网络节点的合约调用特征;
所述整合模块用于整合网络结构数据和特征数据并统一放入数据池之中;
所述训练模块用于从数据池中抽取训练数据训练用来检测钓鱼账户的图神经网络;
所述钓鱼账户检测模块用于从数据池中抽取需要检测的目标账户,并通过训练好的图神经网络来预测它是否是一个钓鱼账户;
本发明的有益效果为:
1.通过提取账户的二阶交易网络有效避免了使用完整网络数据所需要的庞大存储损耗和运算损耗;
2.通过深度图神经网络有效避免了对专业知识的高要求,简便高效;
3.通过图神经网络实现了端到端的钓鱼账户检测方案,从整体上解决钓鱼账户检测问题,不需要拆分进行多次训练,提高资源的利用率。
4.本发明提出的钓鱼账户检测方法精度优于现有的手工特征和图嵌入的检测方法。
附图说明
图1为本发明方法的流程图和系统结构图;
图2为本发明方法的图神经网络结构示意图。
具体实施方式
下面将结合本实施例中的附图,对本发明实施例中的技术方法进行清楚完整地描述。对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1所示,本发明提供一种端到端的以太坊钓鱼账户检测方法及系统,包括以下步骤:
S1:从交易记录中采样目标账户的二阶交易网络,账户包括1660个钓鱼账户和1700个非钓鱼账户,具体包括:
S1-1:从目标账户开始采样其二阶交易网络,如果目标账户的交易对象账户数量少于20个,保留这些交易对象账户并分别计算它们和目标账户的总交易量作为边的权重;如果目标账户的交易对象账户多于20个,则以它们和目标账户之间的总交易量进行倒序采样前20个交易量最大的交易对象账户,并分别计算它们和目标账户的总交易量作为边的权重,该采样方法也适用于通过一阶交易对象账户采样二阶交易对象账户;
S1-2:某个目标账户的二阶交易网络可以用一个三元组表示为G=(V,E,y),其中V为该网络的节点集合且节点数量少于400,E为带权边集合,其中的边都以(vi,vj,eij)形式保存,其中vi,vj∈V,eij为该边的权重对应于两个节点间的交易总量,y是该网络对应目标账户的实际标签,y=0表示这是一个非钓鱼账户的二阶交易网络,y=1表示这是一个钓鱼账户的二阶交易网络;
S2:从智能合约调用历史记录中筛选出经常被调用的合约,并为所有二阶网络的中的账户提取合约调用特征,具体包括:
S2-1:统计以太坊部署的智能合约和被外部用户调用的次数,忽略合约之间的调用,并保留前10000个被调用次数最多的智能合约;
S2-2:从合约调用历史记录中统计所有S1中采样所得二阶交易网络中的节点对这10000个智能合约的调用情况,每个节点的合约调用特征可以表示为每一个二阶交易网络的合约调用特征矩阵可以表示为其中|V|表示该节点集合的节点数量;
S3:通过图神经网络学习账户的交易行为模式,并实现端到端的账户分类,将钓鱼账户分类出来,具体包括:
其中ejk为节点vj,vk∈Vi之间的边的权重;
S3-2:将所有邻接矩阵和对应的特征矩阵和标签进行一一对应组成3360个数据样本,每个数据样本可以表示为一个三元组Si=(Ai,Xi,yi),并将所有数据样本S={S1,S2,…,Sn}按照1:1的比例划分为训练集和测试集,训练集数据通过两个图卷积层聚合账户特征信息:
其中是归一化后的邻接矩阵,增加自环后的邻接矩阵按列求和所得向量转化的对角矩阵,Dmax也是一个对角矩阵, 即对角位置为邻接矩阵A对应行的最大值,和为可训练的权重矩阵,p和q为中间层维度,ReLU为非线性的激活函数,最终通过一个最大池化层将节点特征池化为图特征,并进一步训练一个全连接层利用特征区分钓鱼账户和非钓鱼账户:
上述所有可训练参数通过最小化如下目标损失函数函数并利用梯度下降法优化更新:
其中zi为第i个样本检测为钓鱼账户的概率;
经过训练后的图神经网络在测试数据中检测钓鱼账户的精度能够达到85.9%;
本发明还提供一种端到端的以太坊钓鱼账户检测系统,包括:网络提取模块、特征提取模块、数据整合模块,训练模块、钓鱼账户检测模块;
所述网络提取模块用于对输入的目标账户提取二阶交易网络;
所述特征提取模块用于从合约调用记录中提取所有二阶交易网络节点的合约调用特征;
所述整合模块用于整合网络结构数据和特征数据并统一放入数据池之中;
所述训练模块用于从数据池中抽取训练数据训练用来检测钓鱼账户的图神经网络;
所述钓鱼账户检测模块用于从数据池中抽取需要检测的目标账户,并通过训练好的图神经网络来预测它是否是一个钓鱼账户;
本发明不仅从交易子图的角度出发减小资源的损耗,同时实现了钓鱼账户检测的端到端解决方案。
Claims (5)
1.一种端到端的以太坊钓鱼账户检测方法,其特征在于:包括:
S1:从交易记录中采样目标账户的二阶交易网络,账户包括钓鱼账户和非钓鱼账户;
S2:从智能合约调用历史记录中筛选出经常被调用的合约,并为所有二阶网络的中的账户提取合约调用特征;
S3:通过图神经网络学习账户的交易行为模式,并实现端到端的账户分类,将钓鱼账户分类出来。
2.如权利要求1所述的端到端的以太坊钓鱼账户检测方法,其特征在于,所述S1具体包括:
S1-1:从目标账户开始采样其二阶交易网络,如果目标账户的交易对象账户数量少于20个,保留这些交易对象账户并分别计算它们和目标账户的总交易量作为边的权重;如果目标账户的交易对象账户多于20个,则以它们和目标账户之间的总交易量进行倒序采样前20个交易量最大的交易对象账户,并分别计算它们和目标账户的总交易量作为边的权重,该采样方法也适用于通过一阶交易对象账户采样二阶交易对象账户;
S1-2:某个目标账户的二阶交易网络可以用一个三元组表示为G=(V,E,y),其中V为该网络的节点集合且节点数量少于400,E为带权边集合,其中的边都以(vi,vj,eij)形式保存,其中vi,vj∈V,eij为该边的权重对应于两个节点间的交易总量,y是该网络对应目标账户的实际标签,y=0表示这是一个非钓鱼账户的二阶交易网络,y=1表示这是一个钓鱼账户的二阶交易网络。
4.如权利要求1所述的端到端的以太坊钓鱼账户检测方法,其特征在于,所述S3具体包括:
其中ejk为节点vj,vk∈Vi之间的边的权重;
S3-2:将所有邻接矩阵和对应的特征矩阵和标签进行一一对应组成n个数据样本,每个数据样本可以表示为一个三元组Si=(Ai,Xi,yi),并将所有数据样本S={S1,S2,...,Sn}划分为训练集和测试集,训练集数据通过两个图卷积层聚合账户特征信息:
其中是归一化后的邻接矩阵,增加自环后的邻接矩阵按列求和所得向量转化的对角矩阵,Dmax也是一个对角矩阵, 即对角位置为邻接矩阵A对应行的最大值,和为可训练的权重矩阵,p和q为中间层维度,ReLU为非线性的激活函数,最终通过一个最大池化层将节点特征池化为图特征,并进一步训练一个全连接层利用特征区分钓鱼账户和非钓鱼账户:
Z=Softmax(MaxPooling(X′)W(2)+b) (6)
上述所有可训练参数通过最小化如下目标损失函数函数并利用梯度下降法优化更新:
其中zi为第i个样本检测为钓鱼账户的概率。
5.实现权利要求1所述的一种端到端的以太坊钓鱼账户检测系统,包括:网络提取模块、特征提取模块、数据整合模块,训练模块、钓鱼账户检测模块;
所述网络提取模块用于对输入的目标账户提取二阶交易网络;
所述特征提取模块用于从合约调用记录中提取所有二阶交易网络节点的合约调用特征;
所述整合模块用于整合网络结构数据和特征数据并统一放入数据池之中;
所述训练模块用于从数据池中抽取训练数据训练用来检测钓鱼账户的图神经网络;
所述钓鱼账户检测模块用于从数据池中抽取需要检测的目标账户,并预测它是否是一个钓鱼账户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110359953.7A CN113111930A (zh) | 2021-04-02 | 2021-04-02 | 一种端到端的以太坊钓鱼账户检测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110359953.7A CN113111930A (zh) | 2021-04-02 | 2021-04-02 | 一种端到端的以太坊钓鱼账户检测方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113111930A true CN113111930A (zh) | 2021-07-13 |
Family
ID=76713730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110359953.7A Pending CN113111930A (zh) | 2021-04-02 | 2021-04-02 | 一种端到端的以太坊钓鱼账户检测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111930A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344562A (zh) * | 2021-08-09 | 2021-09-03 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113689188A (zh) * | 2021-08-23 | 2021-11-23 | 交通银行股份有限公司 | 基于以太坊智能合约的去中心化信息管理系统及其方法 |
CN113783852A (zh) * | 2021-08-29 | 2021-12-10 | 复旦大学 | 一种基于神经网络的智能合约庞氏骗局检测算法 |
CN113821798A (zh) * | 2021-08-23 | 2021-12-21 | 中山大学 | 一种基于异构图神经网络的以太坊非法账户检测方法及系统 |
-
2021
- 2021-04-02 CN CN202110359953.7A patent/CN113111930A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113344562A (zh) * | 2021-08-09 | 2021-09-03 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113344562B (zh) * | 2021-08-09 | 2021-11-02 | 四川大学 | 基于深度神经网络的以太坊钓鱼诈骗账户检测方法与装置 |
CN113689188A (zh) * | 2021-08-23 | 2021-11-23 | 交通银行股份有限公司 | 基于以太坊智能合约的去中心化信息管理系统及其方法 |
CN113821798A (zh) * | 2021-08-23 | 2021-12-21 | 中山大学 | 一种基于异构图神经网络的以太坊非法账户检测方法及系统 |
CN113783852A (zh) * | 2021-08-29 | 2021-12-10 | 复旦大学 | 一种基于神经网络的智能合约庞氏骗局检测算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113111930A (zh) | 一种端到端的以太坊钓鱼账户检测方法和系统 | |
CN110298663B (zh) | 基于序列宽深学习的欺诈交易检测方法 | |
Save et al. | A novel idea for credit card fraud detection using decision tree | |
Xing et al. | Employing latent dirichlet allocation for fraud detection in telecommunications | |
Badr et al. | Detection of false-reading attacks in smart grid net-metering system | |
CN113283902B (zh) | 一种基于图神经网络的多通道区块链钓鱼节点检测方法 | |
US11263644B2 (en) | Systems and methods for detecting unauthorized or suspicious financial activity | |
CN112132233A (zh) | 一种基于有效影响因子的服刑人员危险行为预测方法及系统 | |
CN109919202A (zh) | 分类模型训练方法及装置 | |
CN112700324A (zh) | 基于CatBoost与受限玻尔兹曼机结合的用户借贷违约预测方法 | |
Li et al. | Transaction fraud detection using gru-centered sandwich-structured model | |
CN114187112A (zh) | 账户风险模型的训练方法和风险用户群体的确定方法 | |
CN113657990A (zh) | 一种蚁狮算法优化narx神经网络风险预测系统及方法 | |
CN111222583B (zh) | 一种基于对抗训练与关键路径提取的图像隐写分析方法 | |
CN115545886A (zh) | 逾期风险识别方法、装置、设备及存储介质 | |
Javaid et al. | Employing a machine learning boosting classifiers based stacking ensemble model for detecting non technical losses in smart grids | |
CN111402028A (zh) | 一种信息处理方法、装置及设备 | |
CN114584406A (zh) | 一种联邦学习的工业大数据隐私保护系统及方法 | |
CN114240659A (zh) | 一种基于动态图卷积神经网络的区块链异常节点识别方法 | |
CN116993490B (zh) | 一种基于人工智能的银行场景自动处理方法及系统 | |
CN111507461B (zh) | 可解释性信息确定方法及装置 | |
CN115333957B (zh) | 基于用户行为和企业业务特征的业务流量预测方法及系统 | |
Fu et al. | Applying DEA–BPN to enhance the explanatory power of performance measurement | |
CN115510948A (zh) | 一种基于鲁棒图分类的区块链钓鱼检测方法 | |
CN115834251A (zh) | 基于超图Transformer威胁狩猎模型建立方法 |
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 |