技术领域
本发明涉及区块链交易平台领域,更具体地,涉及一种基于异构图神经网络的以太坊非法账户检测方法及系统。
背景技术
当前区块链技术广受关注,被誉为引发新一轮科技革命和产业变革的重要基础信息技术之一,比特币、以太坊等以区块链技术作为底层支撑的数字货币交易平台在世界范围内获得极大发展。但是,以太坊的发展也引来了网络犯罪者的关注。基于以太坊的钓鱼骗局、庞氏骗局等非法行为频发,给社会治理和市场监管带来了巨大挑战。有效检测以太坊的非法账户和行为,是以太坊生态健康发展的必要条件。
近年来,图神经网络也被用于以太坊非法账户的识别,图神经网络可以对非欧氏空间的图结构生成欧式空间的向量表征,并运用到各种下游任务中,进行检测。公开号为CN113111930A(公开日为2021-07-13)提出一种端到端的以太坊钓鱼账户检测方法和系统,包括:S1:从交易记录中采样目标账户的二阶交易网络,账户包括钓鱼账户和非钓鱼账户;S2:从智能合约调用历史记录中筛选出经常被调用的合约,并为所有二阶网络的中的账户提取合约调用特征;S3:通过图神经网络学习账户的交易行为模式,并实现端到端的账户分类,将钓鱼账户分类出来,能够降低计算数据规模,并且能够区分钓鱼账户和非钓鱼账户,帮助数字货币平台和用户规避诈骗风险。
然而,上述这种图神经网络学习账户的交易行为模式,是将交易图当成同构图,并没有完全充分考虑到不同账户和不同信息的影响,在以太坊非法账户检测上的效果还不够理想。
发明内容
本发明为克服上述现有技术没有完全充分考虑到不同账户和不同信息的影响,在以太坊非法账户检测上的效果还不够理想的缺陷,提供一种基于异构图神经网络的以太坊非法账户检测方法。
为解决上述技术问题,本发明的技术方案如下:
第一个方面,本发明提出一种基于异构图神经网络的以太坊非法账户检测方法,包括以下步骤:
S1:从以太坊网络收集目标节点和邻居节点的数据信息;
S2:统计目标节点和邻居节点的数据信息,通过神经网络模型获取深层信息,分别生成目标节点的特征表示向量和邻居节点的特征表示向量;
S3:聚合同一类型邻居节点的特征表示向量,得到对应类型的邻居节点的表示向量;
S4:聚合不同类型邻居节点的表示向量和目标节点的特征表示向量,通过异构图的图神经网络得到目标节点的表示向量;
S5:将目标节点的表示向量输入分类模型,得到目标节点的以太坊非法账户检测结果。
优选地,目标节点包括正常账户和异常账户。
优选地,正常账户包括正常用户账户和正常合约账户,所述异常账户包括异常用户账户和异常合约账户。
优选地,S2步骤具体包括以下步骤:
S2.1:统计正常用户账户信息和异常用户账户信息;
S2.2:统计正常合约账户信息和异常合约账户信息;
S2.3:将正常用户账户信息、异常用户账户信息、正常合约账户信息和异常合约账户信息分别通过神经网络模型获取相应的深层信息,得到d维度的目标节点的特征表示向量和邻居节点的特征表示向量。
优选地,正常用户账户信息和异常用户账户信息,分别包括送交易总额、接收交易总额、发送交易数、接收交易数、发送最大交易额、接收最大交易额、平均发送交易额、平均接收交易额、平均发送交易时间间隔和平均接收交易时间间隔。
优选地,正常合约账户信息和异常合约账户信息,分别包括合约操作码频次统计、合约创建时间、合约销毁时间、合约调用次数和平均调用间隔。
优选地,S3步骤所述邻居节点包括:
用户账户的邻居节点,其中包括交易发送方为目标节点的平均交易额最大的前k个邻居节点,交易接收方为目标节点的平均交易额最大的前k个邻居节点,调用次数最多的前k个智能合约账户;其中k的取值范围为5~10;
合约账户的邻居节点,其中包括合约创捷邻居节点,调用次数最多的前k个合约调用邻居节点;其中k的取值范围为5~10。
优选地,S3步骤包括对目标节点中对应的每种类型的k个邻居节点,利用聚合函数进行聚合,得到每一类型的d维度的邻居节点的表示向量。
优选地,S4步骤包括将不同类型的邻居节点的表示向量和目标节点的特征表示向量进行拼接,利用三层全连接网络进行聚合,通过异构图的图神经网络得到目标节点的表示向量。
第二个方面,本发明还提出一种基于异构图神经网络的以太坊非法账户检测系统,应用于上述任一方案提出的一种基于异构图神经网络的以太坊非法账户检测方法,其包括:
节点信息收集模块,用于从以太坊网络收集目标节点和邻居节点的数据信息;
特征表示向量生成模块,用于统计目标节点和邻居节点的数据信息,通过神经网络模型获取深层信息,分别生成目标节点的特征表示向量和邻居节点的特征表示向量;
邻居节点表示向量生成模块,用于聚合同一类型邻居节点的特征表示向量,得到对应类型的邻居节点的表示向量;
目标节点表示向量生成模块,用于聚合不同类型邻居节点的表示向量和目标节点的特征表示向量,通过异构图的图神经网络得到目标节点的表示向量;
检测模块,用于将目标节点的表示向量输入分类模型,得到目标节点的以太坊非法账户检测结果。
与现有技术相比,本发明技术方案的有益效果是:采用异构图神经网络,应用于以太坊非法账户检测,将以太坊不同类型邻居节点进行不同的特征提取,可以充分考虑到不同账户和不同信息的影响,在以太坊非法账户检测的效果上更加理想,能够有效识别不同类型非法账户。
附图说明
图1为异构图神经网络的以太坊非法账户检测方法的流程图。
图2为异构图神经网络的以太坊非法账户检测系统的原理图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本实施例提出一种异构图神经网络的以太坊非法账户检测方法,参阅图1,包括以下步骤:
S1:从以太坊网络收集目标节点和邻居节点的数据信息;
本实施例中,目标节点包括正常账户和异常账户。
本实施例中,正常账户包括正常用户账户和正常合约账户,所述异常账户包括异常用户账户和异常合约账户。
S2:统计目标节点和邻居节点的数据信息,通过神经网络模型获取深层信息,分别生成目标节点的特征表示向量和邻居节点的特征表示向量;
本实施例中,S2步骤具体包括以下步骤:
S2.1:统计正常用户账户信息和异常用户账户信息;
S2.2:统计正常合约账户信息和异常合约账户信息;
S2.3:将正常用户账户信息、异常用户账户信息、正常合约账户信息和异常合约账户信息分别通过神经网络模型获取相应的深层信息,得到d维度的目标节点的特征表示向量和邻居节点的特征表示向量。
本实施例中,正常用户账户信息和异常用户账户信息,分别包括送交易总额、接收交易总额、发送交易数、接收交易数、发送最大交易额、接收最大交易额、平均发送交易额、平均接收交易额、平均发送交易时间间隔和平均接收交易时间间隔。
本实施例中,正常合约账户信息和异常合约账户信息,分别包括合约操作码频次统计、合约创建时间、合约销毁时间、合约调用次数和平均调用间隔。
S3:聚合同一类型邻居节点的特征表示向量,得到对应类型的邻居节点的表示向量;
本实施例中,S3步骤所述邻居节点包括:
用户账户的邻居节点:交易发送方为目标节点的平均交易额最大的前5个邻居节点,交易接收方为目标节点的平均交易额最大的前5个邻居节点,调用次数最多的前5个智能合约账户;
合约账户的邻居节点:合约创捷邻居节点,调用次数最多的前5个合约调用邻居节点;
本实施例中,S3步骤包括选择Bi-LSTM作为聚合函数,对于用户账户节点,对用户账户节点中对应的每种类型的5个邻居节点进行聚合;对于合约账户节点,对合约调用邻居节点进行聚合,从而得到每一类型的d维度的邻居节点的表示向量。
S4:聚合不同类型邻居节点的表示向量和目标节点的特征表示向量,得到目标节点的表示向量;
本实施例中,S4步骤包括将不同类型的邻居节点的表示向量和目标节点的特征表示向量进行拼接,利用三层全连接网络进行聚合,通过异构图的图神经网络得到目标节点的表示向量。其中,不同类型节点的全连接网络参数也不相同。
S5:通过分类模型预测账户。
本实施例中,S5步骤包括将目标节点的表示向量输入分类模型,得到节点的预测结果,实现对以太坊非法用户账户和非法智能合约账户的识别。分类模型选择三层全连接网络,输出为目标节点是非法账户的概率。
本实施例考虑节点在异构交易图中的不同类型邻居节点的影响,使用异构图神经网络来生成节点的向量表示,用到下游的识别任务。通过采用异构图神经网络的以太坊非法账户检测方法,将以太坊不同类型邻居节点进行不同的特征提取,可以充分考虑到不同账户和不同信息的影响,在以太坊非法账户检测的效果上更加理想,能够有效识别不同类型非法账户。
实施例2
本实施例中,提出一种基于异构图神经网络的以太坊非法账户检测系统,应用于上述实施例1中提出的一种基于异构图神经网络的以太坊非法账户检测方法,参阅图2,其包括:
节点信息收集模块,用于从以太坊网络收集目标节点和邻居节点的数据信息;
特征表示向量生成模块,用于统计目标节点和邻居节点的数据信息,通过神经网络模型获取深层信息,分别生成目标节点的特征表示向量和邻居节点的特征表示向量;
邻居节点表示向量生成模块,用于聚合同一类型邻居节点的特征表示向量,得到对应类型的邻居节点的表示向量;
目标节点表示向量生成模块,用于聚合不同类型邻居节点的表示向量和目标节点的特征表示向量,通过异构图的图神经网络得到目标节点的表示向量;
检测模块,用于将目标节点的表示向量输入分类模型,得到目标节点的以太坊非法账户检测结果。
本实施例中,节点信息收集模块从以太坊网络收集目标节点和邻居节点的数据信息;特征表示向量生成模块根据收集的数据信息,统计不同类型账户信息,将统计信息通过神经网络模型获取深层信息,得到d维度的目标节点的特征表示向量和邻居节点的特征表示向量;邻居节点表示向量生成模块聚合同一类型邻居节点的特征表示向量,得到对应类型的邻居节点的表示向量;对目标节点中对应的每种类型的k个邻居节点,利用Bi-LSTM聚合函数进行聚合,得到每一类型的d维度的邻居节点的表示向量。目标节点表示向量生成模块将不同类型的邻居节点的表示向量和目标节点的特征表示向量进行拼接,利用三层全连接网络进行聚合,通过异构图的图神经网络得到目标节点的表示向量。检测模块,将目标节点的表示向量输入分类模型,得到节点的预测结果,实现对以太坊非法用户账户和非法智能合约账户的识别。分类模型选择三层全连接网络,输出为目标节点是非法账户的概率。
通过采用节点信息收集模块、特征表示向量生成模块、邻居节点表示向量生成模块、目标节点表示向量生成模块和检测模块组成的检测系统,考虑节点在异构交易图中的不同类型邻居节点的影响,使用异构图神经网络来生成节点的向量表示,用到下游的识别任务,将以太坊不同类型邻居节点进行不同的特征提取,可以充分考虑到不同账户和不同信息的影响,在以太坊非法账户检测的效果上更加理想,能够有效识别不同类型非法账户。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
机译: 基于集群识别非法账户的系统和方法
机译: 基于规则动态识别非法账户的系统和方法
机译: 基于聚类识别非法账户的系统和方法