一种基于子图对比的以太坊账户身份推理方法及系统技术方案

技术编号:37264714 阅读:20 留言:0更新日期:2023-04-20 23:36
一种基于子图对比的以太坊账户身份推理方法,包括以下步骤:S1:将以太坊账户的交易数据构造成轻量化的交互图,并提取目标账户的二阶交易子图;S2:对每一个交易子图进行图数据增强处理,生成多视角的增强图;S3:通过图卷积神经网络聚合账户学习账户的潜在模式和交易信息,实现以太坊平台上的账户身份推理任务。还包括实施一种基于子图对比的以太坊账户身份推理方法的系统。本发明专利技术引入了图数据增强技术与对比学习手段,通过图数据增强技术可以生成弱标注数据增加训练可用的数据量并丰富样本的结构特征,利用对比学习可以捕获同类样本间的结构相似性与关联性,相比以往的方法,本发明专利技术有着更高的精度的同时也极大地节省了内存和时间资源。存和时间资源。存和时间资源。

【技术实现步骤摘要】
一种基于子图对比的以太坊账户身份推理方法及系统


[0001]本专利技术涉及区块链和图领域,特别涉及一种基于子图对比的以太坊账户身份推理方法及系统。

技术介绍

[0002]区块链技术具有分布式、去中心化等特点,被广泛应用于数字货币、供应链管理、金融服务、电子票据等行业,对实体经济及社会环境产生深远影响。作为一种分布式数据库技术,区块链实现了去中心化、加密和防篡改等功能。得益于这些特点,以比特币(Bitcoin)、以太坊(Ethereum)为代表的基于区块链技术的加密货币蓬勃发展,截至2021年8月,据相关市场分析网站统计,现有的虚拟货币种类达11000种左右,总市值达1.9万亿美元。
[0003]区块链上的安全监管面临的最大难题就是匿名性,在公有链上,用户只需要创建一个假名账户就可以进行交易,并且一个用户还可以拥有多个账户来提高自己的匿名性。近年来,基于以太坊的身份推断需求,大量工作聚焦于使用区块链上公开的信息去分析账户行为模式、挖掘账户的信息并推断账户可能的身份。现有的账户身份推断方法主要集中于手工特征工程、图建模与图嵌入算法,效果可观但存在诸多缺陷。首先,手工特征工程依赖于设计人员的先验知识,无法捕获区块链数据中的深层次信息,如交易模式,导致特征利用率低,表达能力不佳。其次,交易图在账户和交易数量上规模巨大,将基于随机游走或图神经网络的图嵌入算法应用于大规模交互图时,内存和时间消耗较大。

技术实现思路

[0004]本专利技术为克服现有技术的上述缺点,提供一种基于子图对比的以太坊账户身份推理方法及系统。本专利技术引入了图数据增强技术和对比学习手段,能够在以太坊平台上较为精确地推断出账户身份。数据增强本质上是基于有限的现有数据通过一定的修改生成更多的等价数据,同时需要保持图或节点的语义信息或标签不发生变化,从而提高模型的范化能力。
[0005]本专利技术收集整理了以太坊中大量的交易、合约调用数据,并通过爬虫技术从相关网站爬取公开的账户标签数据,构建交互图,并设计采样账户交易子图的策略,通过图卷积神经网络聚合账户的邻域交易特征,最终利用池化层将交易子图中的节点级特征压缩到图级实现账户分类目标。同时,为了避免模型发生过拟合问题以及缓解标签数据稀少带来的影响,本专利技术引入了图数据增强技术与对比学习手段,通过图数据增强技术可以生成弱标注数据增加训练可用的数据量并丰富样本的结构特征,利用对比学习可以捕获同类样本间的结构相似性与关联性,最终将它们结合构建了一个新的端到端框架实现身份推断任务。本专利技术在以太坊平台上实验,发现提出的方法明显优于传统的图神经网络方法。
[0006]为了实现上述目标本专利技术提供如下的技术方案:
[0007]一种基于子图对比的以太坊账户身份推理方法,包括如下步骤:
[0008]S1:在以太坊平台上获取账户的交易数据和标签信息,构造轻量化的交互图,提取账户的智能合约调用特征,并依据与目标账户的交易次数、交易总额大小分别提取以目标账户为中心的二阶交易子图;
[0009]S2:对每一个交易子图进行图数据增强处理,生成多视角的增强图,进一步提升图卷积层提取的特征向量的表征效果,同时约束模型的拟合状态;
[0010]S3:使用图卷积神经网络聚合账户的邻域交易特征,采用基于图卷积网络(Graph Convolutional Network,简称GCN)的模型学习隐藏在交易网络中的潜在模式和特征信息,通过池化层将交易子图中的节点级特征压缩到图级得到对应的图嵌入向量,结合目标节点的交易子图和增强图的图嵌入向量进行对比学习,利用全连接层根据图的特征向量进行分类,最终实现以太坊平台上的账户身份推理任务。
[0011]优选地,所述步骤S1具体包括:
[0012]S1.1:构建轻量化交互图的具体步骤如下,在以太坊的所有交易记录中,将两个账户间的交互进行有向合并,最终至多剩下两条方向相反的交易边,从而构建成有向有权交互网络G1,其中G1=(V,E),V代表账户,E代表交互关系,其权重信息为交易次数以及交易金额。
[0013]S1.2:目标账户节点的二阶交易子图是对交互网络进行采样得到的,其具体构造方法如下,根据交互图保留的权重信息设计相应的采样策略,即,根据交易次数排序采样数值最大的K个邻居或根据交易额度排序采样金额最大的K个邻居。一个完整的二阶子图采样流程通过广度优先搜索算法实现,包括:a.采样目标节点的一阶邻域;b.通过一阶邻域节点采样二阶邻域;c.将子图完善为采样所得节点集合的导出子图。目标节点的交易子图网络拓扑结构特征通过邻接矩阵A表示。
[0014]S1.3:以太坊账户智能合约调用特征提取。统计以太坊部署的智能合约和被外部用户调用的次数,忽略合约之间的调用,并保留前N个被调用次数最多的智能合约。从合约调用历史记录中统计所有S1中采样所得二阶交易网络中的节点对这N个智能合约的调用情况,目标节点的二阶交易网络的合约调用特征矩阵可以表示为其中|V|表示该节点集合的节点数量。
[0015]优选地,步骤S1.2中K的默认值为20,步骤S1.3中N=14885。
[0016]优选地,所述步骤S2具体包括:
[0017]图数据增强处理,对于采样获得的子图,通过采取对邻接矩阵A进行随机节点删除(Node Dropping,简称ND)以及对特征矩阵X进行随机特征掩盖(Future Masking,简称FM)的方式,为该子图生成两个新样本,也可以看做对比学习的两个视角。
[0018]优选地,所述步骤S3具体包括:
[0019]S3.1:通过两层图卷积层聚合账户的邻接交易特征并生成节点级的向量具体公式如下:
[0020][0021]其中,是归一化后的A
v
或A
t
,A
v
是根据交易额度进行采样获得的子图,A
t
是根据交易次数进行采样获得的子图。与分别是两个图卷基层的
可训练权重参数。另外,由于提取得到的交易子图是带权且有向的,因此的处理与原GCN有一些差别,具体公式如下:
[0022][0023][0024][0025]是由采样获得的有向有权邻接矩阵A与其转置相加得到的无向图的邻接矩阵,最终通过该邻接矩阵的列权值和对角矩阵D
sum
代替度值对角矩阵进行归一化。
[0026]S3.2:获取图嵌入向量,通过最大池化层(MaxPooling)将节点级特征池化为图级特征来表示该图:
[0027]Z
pool
=MaxPooling(Z)(5)
[0028]最大池化操作通过选取所有节点在各个特征维度的最大值,将Z压缩为从而得到图嵌入向量。
[0029]S3.3:使用全连接层对图嵌入向量进行分类,具体的全连接层设置如下:
[0030]Y=softmax(ZpoolW
(2)
+b)(6)
[0031]其中和分别是全连接层的可训练参数和偏置。
[0032]最终本专利技术的前向本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于子图对比的以太坊账户身份推理方法,其特征在于,包括如下步骤:S1:在以太坊平台上获取账户的交易数据和标签信息,构造轻量化的交互图,提取账户的智能合约调用特征,并依据与目标账户的交易次数、交易总额大小分别提取以目标账户为中心的二阶交易子图;S2:对每一个交易子图进行图数据增强处理,生成多视角的增强图,进一步提升图卷积层提取的特征向量的表征效果,同时约束模型的拟合状态;S3:使用图卷积神经网络聚合账户的邻域交易特征,采用基于图卷积网络GCN的模型学习隐藏在交易网络中的潜在模式和特征信息,通过池化层将交易子图中的节点级特征压缩到图级得到对应的图嵌入向量,结合目标节点的交易子图和增强图的图嵌入向量进行对比学习,利用全连接层根据图的特征向量进行分类,最终实现以太坊平台上的账户身份推理任务。2.如权利要求1所述的一种基于子图对比的以太坊账户身份推理方法,其特征在于,所述步骤S1具体包括:S1.1:构建轻量化交互图的具体步骤如下,在以太坊的所有交易记录中,将两个账户间的交互进行有向合并,最终至多剩下两条方向相反的交易边,从而构建成有向有权交互网络G1,其中G1=(V,E),V代表账户,E代表交互关系,其权重信息为交易次数以及交易金额;S1.2:目标账户节点的二阶交易子图是对交互网络进行采样得到的,其具体构造方法如下,根据交互图保留的权重信息设计相应的采样策略,即,根据交易次数排序采样数值最大的K个邻居或根据交易额度排序采样金额最大的K个邻居;一个完整的二阶子图采样流程通过广度优先搜索算法实现,包括:a.采样目标节点的一阶邻域;b.通过一阶邻域节点采样二阶邻域;c.将子图完善为采样所得节点集合的导出子图,目标节点的交易子图网络拓扑结构特征通过邻接矩阵A表示;S1.3:以太坊账户智能合约调用特征提取;统计以太坊部署的智能合约和被外部用户调用的次数,忽略合约之间的调用,并保留前N个被调用次数最多的智能合约;从合约调用历史记录中统计所有S1中采样所得二阶交易网络中的节点对这N个智能合约的调用情况,目标节点的二阶交易网络的合约调用特征矩阵可以表示为其中|V|表示该节点集合的节点数量。3.如如权利要求2所述的一种基于子图对比的以太坊账户身份推理方法,其特征在于,步骤S1.2中K的默认值为20,步骤S1.3中N=14885。4.如权利要求1或2所述的一种基于子图对比的以太坊账户身份推理方法,其特征在于,所述步骤S2具体包括:图数据增强处理,对于采样获得的子图,通过采取对邻接矩阵A进行随机节点删除以及对特征矩阵X进行随机特征掩盖的方式,为该子图生成两个新样本,也可以看做对比学习的两个视角。5.如权利要求4所述的一种基于子图对比的以太坊账户身份推理方法,其特征在于,所述步骤S3具体包括:S3.1:通过两层图卷积层聚合账户的邻接交易特征并生成节点级的向量具体公式如下:
其中,是归一化后的A
v
或A

【专利技术属性】
技术研发人员:宣琦胡宸恺徐嘉影周嘉俊沈杰俞山青
申请(专利权)人:浙江工业大学
类型:发明
国别省市:

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

1