CN115375480A - 基于图神经网络的异常虚拟币钱包地址检测方法 - Google Patents

基于图神经网络的异常虚拟币钱包地址检测方法 Download PDF

Info

Publication number
CN115375480A
CN115375480A CN202211115412.0A CN202211115412A CN115375480A CN 115375480 A CN115375480 A CN 115375480A CN 202211115412 A CN202211115412 A CN 202211115412A CN 115375480 A CN115375480 A CN 115375480A
Authority
CN
China
Prior art keywords
address
transaction
wallet
virtual coin
abnormal
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
Application number
CN202211115412.0A
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.)
East China Normal University
Original Assignee
East China Normal University
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 East China Normal University filed Critical East China Normal University
Priority to CN202211115412.0A priority Critical patent/CN115375480A/zh
Publication of CN115375480A publication Critical patent/CN115375480A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于图神经网络的异常虚拟币钱包地址检测方法,方法包括:1)处理虚拟币历史交易数据;2)基于一批异常虚拟币钱包地址构建虚拟币交易异常检测网络;3)为虚拟币交易异常检测网络中每个钱包地址添加特征;4)构建基于图神经网络的分类模型,在虚拟币交易异常检测网络上训练模型,并预测未发现的异常虚拟币钱包地址。整个方法架构有五层,该方法能够根据已有的若干异常虚拟币钱包地址,建立虚拟币交易异常检测网络,通过训练由多层感知器MLP、图卷积神经网络GCN、图注意力网络GAT组成的图神经网络分类模型,挖掘出更为隐蔽的异常虚拟币钱包地址。

Description

基于图神经网络的异常虚拟币钱包地址检测方法
技术领域
本发明属于图学习和区块链应用安全技术领域,涉及一种基于图神经网络的异常虚拟币钱包地址检测方法。
背景技术
虚拟币是区块链技术发展带来的产物,区块链是一种集成分布式数据存储、点对点传输、共识机制、加密算法等多种技术的新型技术。虚拟币的代表是比特币(Bitcoin)。它不依靠特定货币机构发行,依据特定算法,通过大量的计算产生,使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量造币来人为操控币值。基于密码学的设计可以使虚拟币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。
虚拟币交易中也存在许多异常交易行为,这些异常交易多与黑灰产有关,扰乱虚拟币交易所的交易秩序,影响交易所的服务能力,使交易所蒙受名誉和财产的损失。因此对异常交易的钱包地址进行检测尤为重要。由于虚拟币网络的复杂性以及密集的交易结构,对其进行检测并不是一件容易的事。利用机器学习可以处理这些复杂的数据,并训练检测模型,从而将模型应用到异常的检测。虚拟币钱包地址之间的交易可以构成图形数据,因此,针对虚拟币图数据的研究得到很多的关注。《Anti-money Laundering in Bitcoin:Experimenting with Graph Convolutional Networks for Financial Forensics》对图卷积网络在比特币网络中检测非法交易做了探索,运用GCN方法来对给定数据集进行非法交易的检测,但是并没有取得很好的效果。《Competence of graph ConvolutionalNetworks for Anti-Money Laundering in Bitcoin Blockchain》对经典的图卷积网络进行了改进,通过将图卷积层获得的节点嵌入与从节点特征矩阵的线性变换中获得的单个隐藏层相连接,在深度学习中提出了特征协整的思想。
发明内容
本发明的目的是根据已有的异常虚拟币钱包地址,挖掘出更为隐蔽的异常虚拟币钱包地址。为此提出一种基于图神经网络的区块链异常识别方法,包括如下步骤:。
步骤1:从区块链公链上收集虚拟币的所有流水存入Elasticsearch交易流水库;从区块链浏览器上收集合约地址、交易所大地址信息存入MySQL地址信息库;将已有的异常虚拟币钱包地址,也存入MySQL地址信息库;从交易所得到提币数据及交易所注册信息,存入MongoDB交易所数据信息库,交易所注册信息包括用户的身份证号及手机号,身份证号和手机号作为敏感信息,存入交易所数据信息库前先使用SHA-256哈希加密进行脱敏处理;具体为包括:
步骤1.1:将已有的异常虚拟币钱包地址以集合形式存储,记作S0;加载交易所数据信息库中的提币信息,将其以键值对形式存储,记作Mdraw,键为脱敏后的身份证号,值为该身份证号所属人发起过提币操作的对手钱包地址集合;
步骤1.2:读取交易所注册信息,同样以键值对形式存储,记作Mregister,键为脱敏后的身份证号,值为该身份证号所属人交易所里注册的所有虚拟币钱包地址集合;
步骤1.3:从地址信息库中得到异常钱包地址、合约地址、交易所大地址列表,将这些数据以键值对形式存储,记作Mlabel,用于判断钱包地址的标签;键为钱包地址,值为地址的标签,标签类型有异常地址、合约地址、交易所大地址及无标签四种,其中无标签类型为不属于异常地址、合约地址、交易所大地址这三种类型的其他所有钱包地址的标签。
步骤2:根据步骤1收集到的数据信息,将若干异常虚拟币钱包地址为初始钱包地址节点加入虚拟币交易异常检测网络中;再从区块链上的虚拟币交易流水中找到初始钱包地址节点的所有交易对手,从中选择出对手数小于10的个人钱包地址或匿名钱包地址添加至虚拟币交易异常检测网络中,再去寻找这些交易对手的对手,循环往复,直至将初始钱包地址节点的十阶邻居添加至虚拟币交易异常检测网络中,完成虚拟币交易异常检测网络的构建;具体包括:
步骤2.1:在公链上查询集合S0中每个钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和钱包地址之间连一条边,称为原始交易边;如果该对手不在集合S0中,即标签不为异常地址,就将该对手加入集合S1,集合S1即为集合S0中所有钱包地址一阶新增邻居的集合;
步骤2.2:根据步骤1得到的交易流水库,查询集合S1中每个钱包地址的出项对手数和入项对手数,将出项对手数和入项对手数均小于10的钱包地址作为有效钱包地址,拓展出集合S1的一阶新增邻居;然后在交易流水库上查询每个有效钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和有效钱包地址之间连一条边,同样称为原始交易边;如果该对手既不在集合S0中也不在集合S1中,就将该对手加入集合S2,集合S2即为集合S1中所有钱包地址一阶新增邻居的集合,也是集合S0的二阶新增邻居的集合;
步骤2.3:重复步骤2.2,直到得到集合S10,即集合S0的十阶新增邻居的集合;将集合S0到S10的所有节点合并到一个大集合S中,集合S代表所有异常钱包地址十阶内的所有新增邻居;
步骤2.4:遍历步骤1.1得到的键值对Mdraw,其每个键Kdraw代表一个脱敏后的身份证号,值Vdraw代表Kdraw所属人发起过提币操作的对手钱包地址集合;找到既在集合Vdraw,又在集合S中的钱包地址,将这些钱包地址集合记作Sdraw,再通过步骤1.2得到的键值对Mregister,找到键Kdraw注册过的所有虚拟币钱包地址Vregister,既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址集合记作Sregister;将集合Sdraw和集合Sregister中的每个钱包地址两两之间添加一条边,代表实际发生的,却未在区块链公链流水上体现出来的交易关系;
步骤2.5:遍历步骤1.2得到的键值对Mregister,其每个键Kregister代表一个脱敏后的身份证号,值Vregister代表键Kregister所属人在交易所里注册的所有虚拟币钱包地址集合;找到既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址两两之间添加一条边,代表这些钱包地址同属于一个人,它们之间被认为发生了交易,却不会在区块链公链流水上体现出来;
步骤2.6:找到集合S中所有节点组成的最大连通子图,作为最终得到的虚拟币交易异常检测网络,记作G=(N,E),N代表虚拟币交易异常检测网络中的钱包地址节点,E代表钱包地址之间的关联边。
步骤3:结合步骤1得到的交易流水库,计算出虚拟币交易异常检测网络中每个节点的交易对手数、交易金额、交易时间及余额信息,作为虚拟币钱包地址的交易特征;具体包括:
对于步骤2.6得到的虚拟币交易异常检测网络G=(N,E)中的所有钱包地址节点N,根据交易流水库中的信息,提取出它们的19维特征,分别是每个钱包地址的总交易次数、转入交易次数、转出交易次数、转入转出交易总额、转入交易总额、转出交易总额、最近一次交易时间、第一次交易时间、当前余额、转入转出交易次数比率、转入转出交易总金额比率、转入对手数、转出对手数、转入转出对手数比率、历史最大余额、历史最大余额出现日期、历史最大余额持续天数、钱包地址使用持续天数及历史最大余额持续天数占钱包地址使用持续天数的比率,并对19维特征进行最大值最小值归一化。
步骤4:将虚拟币交易异常检测网络中的所有节点,按照60%、20%、20%划分为训练集、验证集、测试集,保证训练集、验证集和测试集服从同一数据分布;采用MLP-GCN-GAT模型在虚拟币交易异常检测网络上进行半监督节点分类任务,输出异常概率最高且仍未被发现的钱包地址以及对应的异常概率;具体包括:
步骤4.1:构建MLP-GCN-GAT模型,模型由两层多层感知器MLP、一层图卷积神经网络GCN和一层图注意力网络GAT组成;首先使用多层感知器MLP模块对数据集进行特征过滤,剔除影响力小的数据;然后利用图卷积神经网络GCN模块对图数据的处理能力进行特征提取;之后通过MLP模块重新对数据进行学习,以保证数据被充分利用;再将数据导入图注意力网络GAT模块以提高对图数据的提取精度;最后通过线性层对是否异常进行划分;
步骤4.2:定义损失函数为交叉熵损失,通过计算并通过梯度下降不断优化模型识别结果在训练集上的损失,来学习获取模型参数,并将模型参数用于在验证集和测试集中钱包地址的预测,通过模型在准确率即Accuracy、精准率即Precision、召回率即Recall、F1值四方面的表现来评价模型在验证集和测试集中识别出异常虚拟币钱包地址识别的能力;
步骤4.3:F1值代表整个模型的综合训练效果,通过验证集上的F1值判定模型的表现,并据此调整超参数的选择;在得到能够较好拟合验证集的一组超参数后,用测试集上的F1值来评价模型的泛化能力;比较多组超参数在用测试集上的F1值,选择F1值最高的一组超参数作为模型的最终超参数,即该组超参数拥有最佳泛化能力;
步骤4.4:利用模型的最终参数对虚拟币交易异常检测网络G中的所有无标签钱包地址节点进行是否异常的预测,最终通过Softmax函数输出异常的预测概率;按照异常概率大小,将对应的虚拟币钱包地址降序输出,作为后续重点监控对象。
本发明的作用是,根据已有的异常虚拟币钱包地址,准确高效地挖掘出更多同类异常虚拟币钱包地址,有助于对虚拟币交易行为进行有效地管理。
附图说明
图1为实施本发明方法架构图;
图2为本发明实施例中虚拟币交易异常检测网络构建流程图;
图3为本发明实施例中有效钱包地址拓展一阶新增邻居流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
参阅图1,本发明提出一种基于图神经网络的异常虚拟币钱包地址检测方法,包括以下步骤:
步骤1:从区块链公链上收集虚拟币的所有流水存入Elasticsearch交易流水库;从区块链浏览器上收集合约地址、交易所大地址信息存入MySQL地址信息库;将已有的异常虚拟币钱包地址,也存入MySQL地址信息库;从交易所得到提币数据及交易所注册信息,存入MongoDB交易所数据信息库,交易所注册信息包括用户的身份证号及手机号,身份证号和手机号作为敏感信息,存入交易所数据信息库前先使用SHA-256哈希加密进行脱敏处理;
步骤2:根据步骤1收集到的数据信息,将若干异常虚拟币钱包地址为初始钱包地址节点加入虚拟币交易异常检测网络中;再从区块链上的虚拟币交易流水中找到初始钱包地址节点的所有交易对手,从中选择出对手数小于10的个人钱包地址或匿名钱包地址添加至虚拟币交易异常检测网络中,再去寻找这些交易对手的对手,循环往复,直至将初始钱包地址节点的十阶邻居添加至虚拟币交易异常检测网络中,完成虚拟币交易异常检测网络的构建,具体流程如图2所示;
步骤3:结合步骤1得到的交易流水库,计算出虚拟币交易异常检测网络中每个节点的交易对手数、交易金额、交易时间及余额信息,作为虚拟币钱包地址的交易特征;
步骤4:将步骤2得到的虚拟币交易异常检测网络中的所有节点,按照60%、20%、20%划分为训练集、验证集、测试集,保证训练集、验证集和测试集服从同一数据分布;采用MLP-GCN-GAT模型在该图上进行半监督节点分类任务,输出最有可能异常且仍未被发现的钱包地址以及对应的异常概率;
进一步地,在本实施例中,步骤1中处理虚拟币历史交易数据,构建虚拟币异常数据集,具体过程包括:
步骤1.1:将已有的208个异常虚拟币钱包地址以集合形式存储,记作S0;加载交易所数据信息库中的提币信息,将其以键值对形式存储,记作Mdraw,键为脱敏后的身份证号,值为该身份证号所属人发起过提币操作的对手钱包地址集合;
步骤1.2:读取交易所注册信息,同样以键值对形式存储,记作Mregister,键为脱敏后的身份证号,值为该身份证号所属人交易所里注册的所有虚拟币钱包地址集合;
步骤1.3:从地址信息库中得到异常钱包地址、合约地址、交易所大地址列表,将这些数据以键值对形式存储,记作Mlabel,用于判断钱包地址的标签;键为钱包地址,值为地址的标签,标签类型有异常地址、合约地址、交易所大地址及无标签四种,其中无标签类型为不属于异常地址、合约地址、交易所大地址这三种类型的其他所有钱包地址的标签;
进一步地,在本实施例中,步骤2中基于异常人员信息构建虚拟币交易异常检测网络,具体过程包括:
步骤2.1:在公链上查询集合S0中每个钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和钱包地址之间连一条边,称为原始交易边;如果该对手不在集合S0中,即标签不为异常地址,就将该对手加入集合S1,集合S1即为集合S0中所有钱包地址一阶新增邻居的集合;
步骤2.2:根据步骤1得到的交易流水库,查询集合S1中每个钱包地址的出项对手数和入项对手数,将出项对手数和入项对手数均小于10的钱包地址作为有效钱包地址,拓展出集合S1的一阶新增邻居;然后在交易流水库上查询每个有效钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和有效钱包地址之间连一条边,同样称为原始交易边;如果该对手既不在集合S0中也不在集合S1中,就将该对手加入集合S2,集合S2即为集合S1中所有钱包地址一阶新增邻居的集合,也是集合S0的二阶新增邻居的集合,具体流程如图3所示;
步骤2.3:重复步骤2.2,直到得到集合S10,即集合S0的十阶新增邻居的集合;将集合S0到S10的所有节点合并到一个大集合S中,集合S代表所有异常钱包地址十阶内的所有新增邻居;
步骤2.4:遍历步骤1.1得到的键值对Mdraw,其每个键Kdraw代表一个脱敏后的身份证号,值Vdraw代表Kdraw所属人发起过提币操作的对手钱包地址集合;找到既在集合Vdraw,又在集合S中的钱包地址,将这些钱包地址集合记作Sdraw,再通过步骤1.2得到的键值对Mregister,找到键Kdraw注册过的所有虚拟币钱包地址Vregister,既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址集合记作Sregister;将集合Sdraw和集合Sregister中的每个钱包地址两两之间添加一条边,代表实际发生的,却未在区块链公链流水上体现出来的交易关系;
步骤2.5:遍历步骤1.2得到的键值对Mregister,其每个键Kregister代表一个脱敏后的身份证号,值Vregister代表键Kregister所属人在交易所里注册的所有虚拟币钱包地址集合;找到既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址两两之间添加一条边,代表这些钱包地址同属于一个人,它们之间被认为发生了交易,却不会在区块链公链流水上体现出来;
步骤2.6:找到集合S中所有节点组成的最大连通子图,作为最终得到的虚拟币交易异常检测网络,记作G=(N,E),N代表虚拟币交易异常检测网络中的钱包地址节点,共有17079个,其中标签类型为异常的有150个;E代表钱包地址之间的关联边,共23404条,分别为21101条原始交易边、2954条调证边和549条个人边;
进一步地,在本实施例中,步骤3中为虚拟币交易异常检测网络中每个钱包地址添加特征,具体过程包括:
对于步骤2.6得到的虚拟币交易异常检测网络G=(N,E)中的所有钱包地址节点N,根据交易流水库中的信息,提取出它们的19维特征,分别是每个钱包地址的总交易次数、转入交易次数、转出交易次数、转入转出交易总额、转入交易总额、转出交易总额、最近一次交易时间、第一次交易时间、当前余额、转入转出交易次数比率、转入转出交易总金额比率、转入对手数、转出对手数、转入转出对手数比率、历史最大余额、历史最大余额出现日期、历史最大余额持续天数、钱包地址使用持续天数及历史最大余额持续天数占钱包地址使用持续天数的比率,并对19维特征进行最大值最小值归一化;
进一步地,在本实施例中,步骤4中预测未发现的异常虚拟币钱包地址,具体过程包括:
步骤4.1:构建MLP-GCN-GAT模型,模型由两层多层感知器MLP、一层图卷积神经网络GCN和一层图注意力网络GAT组成;首先使用多层感知器MLP模块对数据集进行特征过滤,剔除影响力小的数据;然后利用图卷积神经网络GCN模块对图数据的处理能力进行特征提取;之后通过MLP模块重新对数据进行学习,以保证数据被充分利用;再将数据导入图注意力网络GAT模块以提高对图数据的提取精度;最后通过线性层对是否异常进行划分;
步骤4.2:定义损失函数为交叉熵损失,通过计算并通过梯度下降不断优化模型识别结果在训练集上的损失,来学习获取模型参数,并将模型参数用于在验证集和测试集中钱包地址的预测,通过模型在准确率即Accuracy、精准率即Precision、召回率即Recall、F1值四方面的表现来评价模型在验证集和测试集中识别出异常虚拟币钱包地址识别的能力;
在本实施例中,希望对异常钱包地址的漏判尽可能少,对误判的容忍度较高。因此修改F1-score计算方式,为召回率赋予更多的注意力,适度降低精确率的重要程度。修改后的F-score计算公式为:
Figure BDA0003845318710000071
在评估时,β为权重,值越高,越能够降提高召回率的重要程度,同时降低精准率的重要程度,故选取β=5。
步骤4.3:F1值代表整个模型的综合训练效果,通过验证集上的F1值判定模型的表现,并据此调整超参数的选择;在得到能够较好拟合验证集的一组超参数后,用测试集上的F1值来评价模型的泛化能力;比较多组超参数在用测试集上的F1值,选择F1值最高的一组超参数作为模型的最终超参数,即该组超参数拥有最佳泛化能力;
步骤4.4:利用模型的最终参数对虚拟币交易异常检测网络G中的所有无标签钱包地址节点进行是否异常的预测,最终通过Softmax函数输出异常的预测概率;按照异常概率大小,将对应的虚拟币钱包地址降序输出,作为后续重点监控对象。
该实施例最终的模型预测结果评估如下表1所示:
表1模型预测结果评估表
准确率(Accuracy) 精准率(Precision) 召回率(Recall) F1值
91.72% 87.76% 9.42% 0.6649

Claims (5)

1.一种基于图神经网络的异常虚拟币钱包地址检测方法,其特征在于,该方法包括以下步骤:
步骤1:从区块链公链上收集虚拟币的所有流水存入Elasticsearch交易流水库;从区块链浏览器上收集合约地址、交易所大地址信息存入MySQL地址信息库;将已有的异常虚拟币钱包地址,也存入MySQL地址信息库;从交易所得到提币数据及交易所注册信息,存入MongoDB交易所数据信息库,交易所注册信息包括用户的身份证号及手机号,身份证号及手机号作为敏感信息,存入交易所数据信息库前先使用SHA-256哈希加密进行脱敏处理;
步骤2:根据步骤1收集到的数据信息,将若干异常虚拟币钱包地址为初始钱包地址节点加入虚拟币交易异常检测网络中;再从区块链上的虚拟币交易流水中找到初始钱包地址节点的所有交易对手,从中选择出对手数小于10的个人钱包地址或匿名钱包地址添加至虚拟币交易异常检测网络中,再去寻找这些交易对手的对手,循环往复,直至将初始钱包地址节点的十阶邻居添加至虚拟币交易异常检测网络中,完成虚拟币交易异常检测网络的构建;
步骤3:结合步骤1得到的交易流水库,计算出虚拟币交易异常检测网络中每个节点的交易对手数、交易金额、交易时间及余额信息,作为虚拟币钱包地址的交易特征;
步骤4:将虚拟币交易异常检测网络中的所有节点,按照60%、20%、20%划分为训练集、验证集、测试集,保证训练集、验证集和测试集服从同一数据分布;采用MLP-GCN-GAT模型在虚拟币交易异常检测网络上进行半监督节点分类任务,输出异常概率最高且仍未被发现的钱包地址以及对应的异常概率。
2.根据权利要求1所述基于图神经网络的异常虚拟币钱包地址检测方法,其特征在于,所述步骤1具体包括:
步骤1.1:将已有的异常虚拟币钱包地址以集合形式存储,记作S0;加载交易所数据信息库中的提币信息,将其以键值对形式存储,记作Mdraw,键为脱敏后的身份证号,值为该身份证号所属人发起过提币操作的对手钱包地址集合;
步骤1.2:读取交易所注册信息,同样以键值对形式存储,记作Mregister,键为脱敏后的身份证号,值为该身份证号所属人交易所里注册的所有虚拟币钱包地址集合;
步骤1.3:从地址信息库中得到异常钱包地址、合约地址、交易所大地址列表,将这些数据以键值对形式存储,记作Mlabel,用于判断钱包地址的标签;键为钱包地址,值为地址的标签,标签类型有异常地址、合约地址、交易所大地址及无标签四种,其中无标签类型为不属于异常地址、合约地址、交易所大地址这三种类型的其他所有钱包地址的标签。
3.根据权利要求1基于图神经网络的异常虚拟币钱包地址检测方法,其特征在于,所述步骤2具体包括:
步骤2.1:在公链上查询集合S0中每个钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和钱包地址之间连一条边,称为原始交易边;如果该对手不在集合S0中,即标签不为异常地址,就将该对手加入集合S1,集合S1即为集合S0中所有钱包地址一阶新增邻居的集合;
步骤2.2:根据步骤1得到的交易流水库,查询集合S1中每个钱包地址的出项对手数和入项对手数,将出项对手数和入项对手数均小于10的钱包地址作为有效钱包地址,拓展出集合S1的一阶新增邻居;然后在交易流水库上查询每个有效钱包地址的对手,用步骤1.3得到的键值对Mlabel判断对手的标签是否为合约地址和交易所大地址,如果对手标签为合约地址或者交易所大地址,则忽略这个对手;否则就将这个对手和有效钱包地址之间连一条边,同样称为原始交易边;如果该对手既不在集合S0中也不在集合S1中,就将该对手加入集合S2,集合S2即为集合S1中所有钱包地址一阶新增邻居的集合,也是集合S0的二阶新增邻居的集合;
步骤2.3:重复步骤2.2,直到得到集合S10,即集合S0的十阶新增邻居的集合;将集合S0到S10的所有节点合并到一个大集合S中,集合S代表所有异常钱包地址十阶内的所有新增邻居;
步骤2.4:遍历步骤1.1得到的键值对Mdraw,其每个键Kdraw代表一个脱敏后的身份证号,值Vdraw代表Kdraw所属人发起过提币操作的对手钱包地址集合;找到既在集合Vdraw,又在集合S中的钱包地址,将这些钱包地址集合记作Sdraw,再通过步骤1.2得到的键值对Mregister,找到键Kdraw注册过的所有虚拟币钱包地址Vregister,既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址集合记作Sregister;将集合Sdraw和集合Sregister中的每个钱包地址两两之间添加一条边,代表实际发生的,却未在区块链公链流水上体现出来的交易关系;
步骤2.5:遍历步骤1.2得到的键值对Mregister,其每个键Kregister代表一个脱敏后的身份证号,值Vregister代表键Kregister所属人在交易所里注册的所有虚拟币钱包地址集合;找到既在集合Vregister中,又在集合S中的钱包地址,将这些钱包地址两两之间添加一条边,代表这些钱包地址同属于一个人,它们之间被认为发生了交易,却不会在区块链公链流水上体现出来;
步骤2.6:找到集合S中所有节点组成的最大连通子图,作为最终得到的虚拟币交易异常检测网络,记作G=(N,E),N代表虚拟币交易异常检测网络中的钱包地址节点,E代表钱包地址之间的关联边。
4.根据权利要求1所述基于图神经网络的异常虚拟币钱包地址检测方法,其特征在于,所述步骤3具体包括:
对于步骤2.6得到的虚拟币交易异常检测网络G=(N,E)中的所有钱包地址节点N,根据交易流水库中的信息,提取出它们的19维特征,分别是每个钱包地址的总交易次数、转入交易次数、转出交易次数、转入转出交易总额、转入交易总额、转出交易总额、最近一次交易时间、第一次交易时间、当前余额、转入转出交易次数比率、转入转出交易总金额比率、转入对手数、转出对手数、转入转出对手数比率、历史最大余额、历史最大余额出现日期、历史最大余额持续天数、钱包地址使用持续天数及历史最大余额持续天数占钱包地址使用持续天数的比率,并对19维特征进行最大值最小值归一化。
5.根据权利要求1所述基于图神经网络的异常虚拟币钱包地址检测方法,其特征在于,所述步骤4具体包括:
步骤4.1:构建MLP-GCN-GAT模型,模型由两层多层感知器MLP、一层图卷积神经网络GCN和一层图注意力网络GAT组成;首先使用多层感知器MLP模块对数据集进行特征过滤,剔除影响力小的数据;然后利用图卷积神经网络GCN模块对图数据的处理能力进行特征提取;之后通过MLP模块重新对数据进行学习,以保证数据被充分利用;再将数据导入图注意力网络GAT模块以提高对图数据的提取精度;最后通过线性层对是否异常进行划分;
步骤4.2:定义损失函数为交叉熵损失,通过计算并通过梯度下降不断优化模型识别结果在训练集上的损失,来学习获取模型参数,并将模型参数用于在验证集和测试集中钱包地址的预测,通过模型在准确率即Accuracy、精准率即Precision、召回率即Recall及F1值四方面的表现来评价模型在验证集和测试集中识别出异常虚拟币钱包地址识别的能力;
步骤4.3:F1值代表整个模型的综合训练效果,通过验证集上的F1值判定模型的表现,并据此调整超参数的选择;在得到能够较好拟合验证集的一组超参数后,用测试集上的F1值来评价模型的泛化能力;比较多组超参数在用测试集上的F1值,选择F1值最高的一组超参数作为模型的最终超参数,即该组超参数拥有最佳泛化能力;
步骤4.4:利用模型的最终参数对虚拟币交易异常检测网络G中的所有无标签钱包地址节点进行是否异常的预测,最终通过Softmax函数输出异常的预测概率;按照异常概率大小,将对应的虚拟币钱包地址降序输出,作为后续重点监控对象。
CN202211115412.0A 2022-09-14 2022-09-14 基于图神经网络的异常虚拟币钱包地址检测方法 Pending CN115375480A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211115412.0A CN115375480A (zh) 2022-09-14 2022-09-14 基于图神经网络的异常虚拟币钱包地址检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211115412.0A CN115375480A (zh) 2022-09-14 2022-09-14 基于图神经网络的异常虚拟币钱包地址检测方法

Publications (1)

Publication Number Publication Date
CN115375480A true CN115375480A (zh) 2022-11-22

Family

ID=84071398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211115412.0A Pending CN115375480A (zh) 2022-09-14 2022-09-14 基于图神经网络的异常虚拟币钱包地址检测方法

Country Status (1)

Country Link
CN (1) CN115375480A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522583A (zh) * 2024-01-08 2024-02-06 江苏通付盾科技有限公司 一种基于余额分析的链上合约攻击交易检测方法
CN118134646A (zh) * 2024-05-06 2024-06-04 中科链安(北京)科技有限公司 一种基于调证数据的资金链路辅助调查方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117522583A (zh) * 2024-01-08 2024-02-06 江苏通付盾科技有限公司 一种基于余额分析的链上合约攻击交易检测方法
CN117522583B (zh) * 2024-01-08 2024-04-26 江苏通付盾科技有限公司 一种基于余额分析的链上合约攻击交易检测方法
CN118134646A (zh) * 2024-05-06 2024-06-04 中科链安(北京)科技有限公司 一种基于调证数据的资金链路辅助调查方法及***

Similar Documents

Publication Publication Date Title
Ryman-Tubb et al. How Artificial Intelligence and machine learning research impacts payment card fraud detection: A survey and industry benchmark
Sahin et al. Detecting credit card fraud by ANN and logistic regression
US11263644B2 (en) Systems and methods for detecting unauthorized or suspicious financial activity
Lee et al. Toward detecting illegal transactions on bitcoin using machine-learning methods
CN107085812A (zh) 区块链数字资产的反洗钱***及方法
CN115375480A (zh) 基于图神经网络的异常虚拟币钱包地址检测方法
CN114818999B (zh) 基于自编码器和生成对抗网络的账户识别方法及***
CN114782161A (zh) 识别风险用户的方法、装置、存储介质及电子装置
CN114240659A (zh) 一种基于动态图卷积神经网络的区块链异常节点识别方法
Mahootiha et al. Designing a new method for detecting money laundering based on social network analysis
Khodabakhshi et al. Fraud detection in banking using knn (k-nearest neighbor) algorithm
Pandey et al. A review of credit card fraud detection techniques
CN112966728A (zh) 一种交易监测的方法及装置
Nijwala et al. Extreme gradient boost classifier based credit card fraud detection model
CN111260372B (zh) 资源转移用户群确定方法、装置、计算机设备和存储介质
CN110619564B (zh) 一种反欺诈特征生成方法和装置
Xiao et al. Explainable fraud detection for few labeled time series data
Jose et al. Detection of credit card fraud using resampling and boosting technique
Jena et al. A comparative analysis of financial fraud detection in credit card by decision tree and random forest techniques
Xu et al. An ensemble fraud detection approach for online loans based on application usage patterns
Yang et al. Automatic Feature Engineering‐Based Optimization Method for Car Loan Fraud Detection
Smiles et al. Data mining based hybrid latent representation induced ensemble model towards fraud prediction
Panigrahi et al. Teju: fraud detection and improving classification performance for bankruptcy datasets using machine learning techniques
WO2021086365A1 (en) Method and system for assessing the reputation of a merchant
Gupta et al. Machine Learning For Detecting Credit Card Fraud

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