主页 > imtoken浏览器可以下载 > 一种以太坊钓鱼行为账户特征分析方法技术

一种以太坊钓鱼行为账户特征分析方法技术

imtoken浏览器可以下载 2023-02-07 05:24:39

本发明专利技术设计了一种以太坊钓鱼账户特征分析方法,涉及区块链计算机技术领域; 初始特征集是通过前期对钓鱼账户的金额、数量、账户交易相关特征的研究得到的; 基于采集到的初始特征集对账户交易图进行特征提取,以两个账户节点为单位进行全局查询遍历,根据查询结果得到对应的账户特征数据集; 对得到的账户特征数据集进行特征工程数据预处理,包括特征离散化、特征标注、特征选择,得到账户特征数据子集; 用多个分类器对得到的多账户特征子集进行交叉分类测试实验并分析结果; 根据结果​​分析,得到能够代表钓鱼行为的账户的最佳特征子集。 克服了目前恶意行为账户特征分析缺乏集中性和泛化性的缺陷。 泛化缺陷。

所有详细技术资料下载

【技术实现步骤摘要】

一种以太坊钓鱼账户特征分析方法

本专利技术涉及区块链计算机

以太坊账户模型,尤其涉及一种分析以太坊钓鱼行为账户特征的方法。

技术介绍

[0002] 在区块链广泛应用于虚拟货币交易场所的同时,区块链钓鱼等恶意行为账户也开始大量出现并进行恶意攻击,造成区块链交易场所的不安全性。 当存在大量恶意行为账户攻击时,只有在区块链上不断检测识别恶意行为账户并进行标记,才能维护区块链交易环境的安全。 检测和识别恶意行为账户的主要技术之一是分析恶意行为账户的特征,并在此基础上对能够代表恶意行为账户的特征子集进行分类和检测,可以有效地检测和识别恶意行为账户 1 . 为避免恶意交易的发生,为用户提供良好的交易环境。

[0003] “施普林格,2020,12161:94

-

10 Detecting malicious accounts on the Ethereum blockchain with supervised learning》提出了恶意行为账户特征分析的方法,主要针对外部和智能合约异常账户的交易行为,利用监督机器学习对恶意节点进行检测和表征分析。根据信息增益对恶意行为的特征进行选择排序,分别用XGboost分类器模型对前5、10、20、30、40个特征进行训练和测试,根据测试结果,对外部表示最好的恶意账户特征集为前30名,智能合约账户最佳特征集为前10名。

[0004] “施普林格,2020,12161:94

-

《10 Detecting malicious accounts on the Ethereum blockchain with supervised learning》中描述的方法主要是在进行特征分析时,根据恶意行为账户的特征子集进行相应的分类检测,提取若干不同的特征子集,分别用XGboost进行分类。使用分类器模型进行分类训练和测试,分析结果得到能够检测和识别恶意行为账户的最佳特征子集。集中,且存在单一 偶而得到的最佳特征子集存在一定的误差。

技术实现思路

[0005] 针对现有技术的不足,本专利技术设计了一种以太坊钓鱼行为账户特征分析方法。

一种以太坊钓鱼行为账户的特征分析方法,具体包括以下步骤:

第一步:通过研究过往钓鱼行为账户的金额、数量、账户交易相关特征,得到初始特征集; 从以太坊上的爬虫和正常账户交易数据集中同时获取对齐的钓鱼行为账户相关的交易数据集,总交易数为A笔交易,其中钓鱼交易:a1笔交易,正常交易:a2笔交易交易; 其中A为正整数,a1+a2=A;

第二步:将采集到的交易数据集存入Neo4j图数据库,得到账户交易图G=(V, E),其中节点V代表地址账户,边E代表账户之间的交易,交易端有相应的交易属性,例如交易发送方from和交易接收方to交易属性; 账户交易图基于收集到的初始

利用原始特征集进行特征提取,以两个账户节点为单位进行全局查询遍历,根据查询结果得到对应的账户特征数据集; 总特征数据集包括B账号,其中正常账号为b1,钓鱼账号为b2; 其中B为正整数,b1+b2=B;

其中,在进行图数据库查询遍历提取账户特征数据集时,针对数据集的大小设置不同的遍历查询方式,对于15万以下的小数据集,采用python语言对其进行间接查询遍历,对于大数据集,间接查询会带来大量的存储和时间消耗,因此采用cypher语言直接查询图数据库,提高查询效率,提取账户特征数据集;

步骤三:对得到的账户特征数据集进行特征工程数据预处理,包括特征离散化、特征标注和特征选择,得到账户特征数据子集;

步骤3.1:对数据集采取了等频离散化方式,针对数据集大小的不同,取不同的k值进行离散化,对整个大数据集取区间数K进行离散化; 其中K为正整数,与B的值有关;

步骤3.2:根据账户特征数据集的类别对其进行人工“标签”标注,其中正常账户为1,钓鱼账户为0;

步骤3.3:对离散化处理后的账户特征数据集进行标注,进行基于信息增益infogain的特征选择过程,得到的特征按照信息增益值大小从大到小对账户特征数据集进行排序,进行特征剔除在账户特征数据集上得到不同的账户特征子集;

步骤4:将步骤3得到的多个账户特征子集与随机森林分类器Random Forest分类器、决策树分类器Decision Tree分类器、逻辑回归分类器Logistic Regression分类器多个分类器进行交叉分类测试实验并分析结果;

步骤4.1:首先对特征工程预处理后的账户特征子集进行随机扰动,其目的是与原始特征数据集保持均匀分布,使随机得到的特征数据子集按比例分布;

步骤4.2:其次将账户特征子集按比例划分为训练集和测试集,训练集用于训练分类器,测试集用于对训练好的分类器进行分类测试;

步骤4.3:由于账户特征子集不均衡,采用Recall,F1

-

分数评估测试结果; 召回和F1

-

score的计算公式如(1)(2)(3)所示:

[0018] [0019] [0020] [0021] 其中,TP为模型预测为正常账户的正常账户样本,FN为模型预测为钓鱼账户的正常账户样本,FP为钓鱼账户模型预测为普通账户账户样本; 根据召回,F1

-

score值对多个分类器的测试结果进行集中分析,对结果进行比较,得到能够最大限度识别钓鱼账户的账户特征子集;

为了得到更好的分类测试结果,加入了c钓鱼行为账户的相关特征进行分类测试,并根据结果进行对比分析,能够更好表征钓鱼行为账户的最优特征子集为得到,c为

正整数。

本专利技术的有益技术效果:

[0024] 本专利技术的目的在于提出一种集中交叉实验,得到一种泛化性强,能够表征钓鱼恶意行为账号特征子集的特征分析方法。 对交易提取的特征子集进行特征工程预处理后,根据信息增益的大小进行排序,采用逆序剔除的方法得到不同的特征子集,并用多个进行交叉分类测试实验分类器。 根据对结果的分析,得到能够表征钓鱼行为账户的最佳特征子集。 克服了目前恶意行为账户特征分析缺乏集中性和泛化性的缺陷。

图纸说明

[0016] 图1为本专利技术实施例的一种以太坊钓鱼行为账户的特征分析方法技术方案的总体框图;

图2本专利技术实施例基于前30个特征子集的随机森林分类器分类结果,以每个fearure_num的横坐标为基准,第一列纵坐标为召回值,第二列纵坐标为f1

-

分数

【技术保护要点】

【技术特点概要】

1、一种以太坊钓鱼账户特征分析方法,其特征在于,具体包括以下步骤: 步骤1:通过研究钓鱼账户过往的金额、数量、账户交易相关特征,得到初始特征集; 上层爬虫获取同时对齐的钓鱼账户相关交易数据集和正常账户交易数据集; 第二步:将采集到的交易数据集存入Neo4j图数据库,得到账户交易图G = (V, E ),其中节点V代表地址账户,有向边E代表账户之间的交易。 交易边上有对应的交易属性,交易发送者from和交易接收者to交易属性; 账户交易图根据收集到的初始特征集进行特征提取,以两个账户节点为单位进行全局查询遍历,根据查询结果得到对应的账户特征数据集; 步骤3:对得到的账户特征数据集进行特征工程数据预处理,包括特征离散化、特征标注、特征选择等,得到账户特征数据子集; 第四步:将第三步得到的多个账户特征子集与Random Forest classifier、Decision Tree classifier、Decision Tree classifier、Logistic Regression classifier Logistic Regression classifier 多个分类器进行交叉分类测试实验并分析结果。 2.根据权利要求1所述的一种以太坊钓鱼行为账户特征分析方法,其特征在于,步骤1获取总交易量A交易,其中钓鱼交易:a1交易,正常交易:a2交易; 其中A为正整数,a1+a2=A。 3.根据权利要求1所述的一种以太坊钓鱼行为账户的特征分析方法,其特征在于以太坊账户模型,步骤2获取总特征数据集包括B个账户,其中正常账户为b1,钓鱼账户b2; 其中B为正整数,b1+b2=B。 4.根据权利要求1所述的一种以太坊钓鱼行为账户的特征分析方法,其特征在于,步骤2是在进行图数据库查询遍历提取账户特征数据集时,设置不同的不同参数数据集大小 遍历查询方式,对于15万以下的小数据集,使用python语言间接查询遍历,对于大数据集,使用cypher语言直接查询图数据库,提高查询效率,抽取账户特征数据集。 5.根据权利要求1,以太坊钓鱼账户的特征...

【专利技术性质】

技术研发人员:季娜、张建中、高瑞杰、宁晓勇、叶初涵、刘源、王兴伟、刘晓峰、

申请人(专利权):东北大学,

类型:发明

国家省市:

下载所有详细技术资料 我是该专利的所有者