一种基于深度学习的以太坊钓鱼账户检测方法技术

技术编号:29760266 阅读:61 留言:0更新日期:2021-08-20 21:13
本发明专利技术提供一种基于深度学习的以太坊钓鱼账户检测方法,该方法结合交易时间和权值特征,将以太坊交易网络建模为时序加权有向图,能够有效捕捉到更全面的动态交易网络的性质;然后采用skip‑gram模型得到时序加权有向图中各账户节点的图嵌入特征向量,相对于传统手工特征,该模型得到的图嵌入特征向量能自适应捕捉到各账户间的隐含特性;最终将上述得到的图嵌入特征向量输入分类器,该分类器有效结合无监督学习中的k‑means聚类算法和监督学习中的支持向量机算法,在少量标签数据的情况下能够得到更加鲁棒的钓鱼账户分类结果;所提出的方法能够准确将钓鱼账户从大量账户中分类出来,保证了以太坊交易平台的生态安全。

【技术实现步骤摘要】
一种基于深度学习的以太坊钓鱼账户检测方法
本专利技术涉及区块链中以太坊交易网络的安全领域,更具体地,涉及一种基于深度学习的以太坊钓鱼账户检测方法。
技术介绍
区块链技术作为数字货币的底层技术,具有数据隐私保护、去中心化和不可篡改的特性,受到全世界研究学者的重点关注。而以太坊作为第二代的区块链平台,具有智能合约功能,并通过其专用加密货币以太币提供去中心化的以太虚拟机来处理点对点合约。由于以太坊的开源性,会导致包括安全漏洞在内的所有漏洞都可见,一旦这些漏洞被网络犯罪者攻击利用,会造成很大的安全隐患问题。而越是功能强大的智能合约,逻辑越是复杂,也越容易出现逻辑上的漏洞。其中,网络钓鱼是网络犯罪者最大的收入来源,有效检测和预防网络钓鱼犯罪对于以太坊分析生态系统来说是非常重要的。由于区块链的开放性,研究人员能够自主访问以太坊交易记录,对这些交易记录的分析能够发现以太坊交易网络中账户存在的异常行为,从而能够进一步检测出钓鱼账户。针对交易记录的传统方法大多结合依赖于手工特征,然而这些传统手工特征泛化能力差,灵活性差,难以保证在不同场景下的适用性。在数量庞大的交易记录基础上,使用深度学习技术来进行钓鱼账户检测已经成为趋势,目前的方法大多使用有向加权图建模以太坊交易网络,其中以以太坊交易账户为节点,两个账户之间的一次交易作为边,然后使用深度学习技术提取各个账户节点的隐含特征,最后使用分类算法对正常账户和钓鱼账户进行正确分类。现有技术中有从交易历史记录中提取节点及一阶邻居节点并构建交易的有向加权图,并提取各节点的交易特征;采用网络表示学习方法得到各节点结构特征相应的网络表示学习向量;将得到的网络表示向量输入oneclassSVM单分类模型进行分类,分类出最终的钓鱼账户节点。但是该方法在建模有向加权图的时候,将一对账户之间的多笔交易合并为一条边,忽略了账户之间的多样性和动态性,难以全面地分析交易行为;还有构建时间序列型与网络序列型两种小规模的子网络进行训练;采用垂直联邦学习策略,由服务器经注意力机制组合各个边缘段钓鱼检测模型的网络嵌入;服务端利用组合得到的网络嵌入训练自身的检测模型,并下发边缘端检测模型。但是该方法在训练钓鱼检测模型时使用全连接神经网络作为分类器,而该分类器的效果在具有大量训练数据的基础上才能够得到保证,以太坊交易网络中的钓鱼账户节点相对于正常账户节点在数量上是极少的,在样本不平衡的情况下神经网络模型并不能得到鲁棒的分类结果。综上所述,上述钓鱼账户检测方法要么忽略了账户之间的多样性和动态性从而导致片面地交易行为分析,要么没有提供一个鲁棒的分类模型。因此,研究同时满足这些优势,并充分发挥以太坊交易网络庞大的事务信息的钓鱼账户检测方法是一个热点问题。
技术实现思路
本专利技术提供一种基于深度学习的以太坊钓鱼账户检测方法,该方法能够准确将钓鱼账户从大量账户中分类出来,保证了以太坊交易平台的生态安全。为了达到上述技术效果,本专利技术的技术方案如下:一种基于深度学习的以太坊钓鱼账户检测方法,包括以下步骤:S1:通过以太坊区块资源管理平台来获取以太坊交易网络各交易账户的历史交易数据,并采用K序子图采样方法获得各交易账户的本地结构;S2:将采集到的历史交易数据抽象为网络结构,并构造成一个时间加权有向图来表示以太坊交易网络各账户之间的多重交互关系;S3:在构成的时间加权有向图中随机游走获得随机游走序列,然后使用这些序列来当作skip-gram模型的训练数据,最终交易网络中账户的隐含特征即图嵌入特征向量包含在skip-gram模型中隐藏层的权重矩阵中;S4:将得到图特征向量输入到分类器中,分类器利用k-means聚类算法和支持向量机算法,得到了鲁棒的钓鱼账户分类结果。进一步地,所述步骤S1的具体过程是:通过以太坊区块资源管理平台Etherscan的API来获取目标账户的历史交易数据,由于交易记录的大小非常大,采用k阶子图采样方法,得到目标账户的局部结构,从而得到目标账号的交易数据,其中,k阶子图采样方法中的控制中心向内采样参数Kin设置为2,控制中心向外采样参数Kout设置为3。进一步地,步骤S2中,根据数据收集获得的交易数据,交易数据包含TxHash、TimeStamp、From、To、Value,将历史交易数据中的TimeStamp、From、To、Value抽象为四元组(src,dst,w,t),即发送方src在时刻t将w以太币传输给接收方dst,将账户之间的多重交互建模为时间加权有向图。进一步地,所述步骤S3中,游走序列的生成过程是:使用基于TBS+WBS游走策略的随机漫步算法去生成游走序列:TBS游走策略假设两个频繁交易的节点具有强关联性,被选取到的概率更大,概率计算如下:其中,T(e)表示边e的时间戳,表示一个降序函数;WBS游走策略假设相似的节点间的边带有比较大的权重,被选取到的概率更大,使用线性升序函数对权值进行预处理,弱化权值差异较大下的影响,对权重值概率计算如下:其中,W(e)表示边e的权重值,表示一个升序函数,在TBS和WBS游走策略上,采用改进的TBS+WBS游走策略,同时考虑交易的频繁程度和节点之间的权值,概率计算如下:PTBS+WBS(e)=PTBS(e)a*PWBS(e)(1-a)其中,a表示超参数,a设置为0.5;根据上述TBS+WBS游走策略得出的概率去选择下一跳节点,若节点漫步序列为{v1,v2,v3,v4,v5,v6},则它的边漫步序列为{e1,e2,e3,e4,e5},其中T(e1)<T(e2)<T(e3)<T(e4)<T(e5),w(e1)>w(e2)>.w(e3)>w(e4)>w(e5);当t时刻到达vi点,则下一节点vi+1的选择由具有时间属性t和权值w的边ei决定,对应的侯选边有Nt+w(u)={e|Src(e)=u,T(e)≥t,W(e)≥w},若t=T(e5),w=W(e5),则Nt+w(A1)={e5,e6,e10};采用TBS+WBS来计算从候选边选取的概率;若T(e5)<T(e6)<T(e10),W(e5)>W(e6)>W(e10),则PTBS+WBS(e5)>PTBS+WBS(e6)>PTBS+WBS(e10),则e5有最大机会被选取成为下一条边,通过迭代选取,最终生成的序列长度为10,生成的游走序列后供后续模型的使用。进一步地,所述步骤S3中,skip-gram模型的训练过程是:在获得最终的图嵌入特征向量前,先训练了一个伪任务,该伪任务的目标是最大化序列上下文窗口中节点出现的概率,对应的目标函数是:其中,i表示输入训练序列中的当前位置,k表示skip-gram的窗口大小,vi,vj表示在对应i,j位置上的序列值,θ是当前skip-gram模型的参数;使用随机游走产生的游走序列作为训练数据,设定的嵌入维度为128,sk本文档来自技高网
...

【技术保护点】
1.一种基于深度学习的以太坊钓鱼账户检测方法,其特征在于,包括以下步骤:/nS1:通过以太坊区块资源管理平台来获取以太坊交易网络各交易账户的历史交易数据,并采用K序子图采样方法获得各交易账户的本地结构;/nS2:将采集到的历史交易数据抽象为网络结构,并构造成一个时间加权有向图来表示以太坊交易网络各账户之间的多重交互关系;/nS3:在构成的时间加权有向图中随机游走获得随机游走序列,然后使用这些序列来当作skip-gram模型的训练数据,最终交易网络中账户的隐含特征即图嵌入特征向量包含在skip-gram模型中隐藏层的权重矩阵中;/nS4:将得到图特征向量输入到分类器中,分类器利用k-means聚类算法和支持向量机算法,得到了鲁棒的钓鱼账户分类结果。/n

【技术特征摘要】
1.一种基于深度学习的以太坊钓鱼账户检测方法,其特征在于,包括以下步骤:
S1:通过以太坊区块资源管理平台来获取以太坊交易网络各交易账户的历史交易数据,并采用K序子图采样方法获得各交易账户的本地结构;
S2:将采集到的历史交易数据抽象为网络结构,并构造成一个时间加权有向图来表示以太坊交易网络各账户之间的多重交互关系;
S3:在构成的时间加权有向图中随机游走获得随机游走序列,然后使用这些序列来当作skip-gram模型的训练数据,最终交易网络中账户的隐含特征即图嵌入特征向量包含在skip-gram模型中隐藏层的权重矩阵中;
S4:将得到图特征向量输入到分类器中,分类器利用k-means聚类算法和支持向量机算法,得到了鲁棒的钓鱼账户分类结果。


2.根据权利要求1所述的基于深度学习的以太坊钓鱼账户检测方法,其特征在于,所述步骤S1的具体过程是:
通过以太坊区块资源管理平台Etherscan的API来获取目标账户的历史交易数据,由于交易记录的大小非常大,采用k阶子图采样方法,得到目标账户的局部结构,从而得到目标账号的交易数据。


3.根据权利要求2所述的基于深度学习的以太坊钓鱼账户检测方法,其特征在于,其中,k阶子图采样方法中的控制中心向内采样参数Kin设置为2,控制中心向外采样参数Kout设置为3。


4.根据权利要求3所述的基于深度学习的以太坊钓鱼账户检测方法,其特征在于,步骤S2中,根据数据收集获得的交易数据,交易数据包含TxHash、TimeStamp、From、To、Value,将历史交易数据中的TimeStamp、From、To、Value抽象为四元组(src,dst,w,t),即发送方src在时刻t将w以太币传输给接收方dst,将账户之间的多重交互建模为时间加权有向图。


5.根据权利要求4所述的基于深度学习的以太坊钓鱼账户检测方法,其特征在于,所述步骤S3中,游走序列的生成过程是:
使用基于TBS+WBS游走策略的随机漫步算法去生成游走序列:
TBS游走策略假设两个频繁交易的节点具有强关联性,被选取到的概率更大,概率计算如下:



其中,T(e)表示边e的时间戳,表示一个降序函数;WBS游走策略假设相似的节点间的边带有比较大的权重,被选取到的概率更大,使用线性升序函数对权值进行预处理,弱化权值差异较大下的影响,对权重值概率计算如下:



其中,W(e)表示边e的权重值,表示一个升序函数,在TBS和WBS游走策略上,采用改进的TBS+WBS游走策略,同时考虑交易的频繁程度和节点之间的权值,概率计算如下:
PTBS+WBS(e)=PTBS(e)a*PWBS(e)(1-a)
其中,a表示超参数;
根据上述TBS+WBS游走策略得出的概率去选择下一跳节点,若节点漫步序列为{v1,v2,v3,v4,v5,v6},则它的边漫步序列为{e1,e2,e3,e4,e5},其中T(e1)<T(e2)<T(e3)<T(e4)<T(e5),w(e1)>w(e2)>.w(e3)>w(e4)>w(e5);当t时刻到达vi点,则下一节点vi+1的选择由具有时间属性t和权值w的边ei决定,对应的侯选边有Nt+w(u)={e|Src(e)=u,T(e)≥...

【专利技术属性】
技术研发人员:凌捷刘梦庭罗玉陈家辉谢锐
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1