一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的区块链加密货币地址身份识别方法与流程

2022-04-24 22:00:41 来源:中国专利 TAG:


1.本发明涉及区块链加密货币识别技术领域,具体来说,涉及一种基于深度学习的区块链加密货币地址身份识别方法。


背景技术:

2.随着区块链技术的发展,人们逐渐意识到基于区块链技术可以实现价值的便捷、安全和低成本传输,由信息流主导的移动互联网发展到由价值流主导的互联网时代。
3.加密货币作为区块链技术最成功的应用之一发展的尤为迅速,加密货币如火如荼发展的同事也带来了一系列风险,加密货币中节点身份信息不需要公开或验证,信息传递可以匿名进行,这也为洗钱、欺诈交易等违法行为带来便利;对于监管机构来说,识别加密货币地址背后“人”的身份变得尤为重要。
4.传统的加密货币地址识别方式主要包括人工标注及源代码分析等方式,前者需要耗费大量人力,面对上亿地址几乎不可能;后者是通过智能合约源代码判断该合约是否有漏洞或者留后门,从而给与之相关联的地址打上标签,这种方法具有较高的精确度但是实现起来难度很大,且很多智能合约代码并未公布。近年来,利用人工智能、大数据等其他技术与区块链相结合的手段越来越成为主流。
5.现有技术中,采用深度学习的方法构建图网络结构,基于社区发现模型划分成每个子图,然后采用图卷积神经网络建立多层神经网络进行半监督学习。再运用人工智能的手段对加密货币地址打标记,从而达到识区块链上每个地址对应类别。但该方法的缺陷在于在构建社区发现模型这一过程中,面对庞大的地址数据,计算量大、耗时较久;且由于加密货币地址数量繁多,种类复杂,目前标签库虽说覆盖种类很多,但对于尚未出现在标签库中的地址类别识别不出。
6.针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现要素:

7.针对相关技术中的问题,本发明提出一种基于深度学习的区块链加密货币地址身份识别方法,以克服现有相关技术所存在的上述技术问题。
8.为此,本发明采用的具体技术方案如下:
9.一种基于深度学习的区块链加密货币地址身份识别方法,该方法包括以下步骤:
10.s1、获取一定时间范围内加密货币初始数据,构建图网络结构;
11.s2、利用社区发现算法对所述图网络结构进行子图划分;
12.s3、构建子图中节点的特征;
13.s4、对构建特征数据进行数据预处理;
14.s5、采用半监督学习方法完成模型的构建与训练,输出标签;
15.s6、识别输出结果并进行反馈。
16.进一步的,所述初始数据为一定时间范围内所有的加密货币地址之间的交易转账
信息。
17.进一步的,所述图网络结构包括节点与边;
18.其中,节点表示当前方案中加密货币地址,边表示两个加密货币地址有交易转账信息所形成的连线。
19.进一步的,所述利社区发现算法对所述图网络结构进行子图划分包括以下步骤:
20.s21、初始化相关参数,超参数随机跳转概率,将每个节点作为一个社团;
21.s22、使用随机游走对图网络结构中的节点进行采样,得到一个序列,计算平均编码长度,取平均编码长度下降幅度最大的社团作为当前社团,若平均编码长度没有下降,则当前社团不变;
22.s23、重复步骤s22直到社团不再发生变化;
23.s24、每个社团作为子图网络结构。
24.进一步的,所述构建子图中节点的特征包括主观构建与客观构建;
25.所述主观构建的方法为采用专家经验的方式,从加密货币地址的业务角度出发,结合加密货币地址的局部特征和聚合特征两部分进行构建;所述客观构建的方法为采用机器学习的方式进行特征衍生。
26.进一步的,所述对构建特征数据进行数据预处理包括缺失值处理、异常值处理及数据归一化处理;
27.所述缺失值处理的方法包括零值填充、均值填充及最大最小填充;
28.所述异常值处理的方法包括3倍方差法则与箱线图分析;
29.所述数据归一化处理包括最大/最小归一化、零-均值归一化。
30.进一步的,所述模型的构建与训练,输出标签包括以下步骤:
31.s51、对子图中出现在标签库中的加密货币地址进行标记;
32.s52、将图网络结构和节点的特征输入到图卷积神经网络模型中,并训练模型,所述图卷积神经网络模型的公式如下:
[0033][0034]
其中,a

表示子图的邻接矩阵加上单位矩阵;
[0035]
d表示a

的度矩阵,
[0036]hl
表示第l层的激活单元矩阵,h0=x;
[0037]wl
表示每一层的参数矩阵;
[0038]
σ表示非线性激活函数。
[0039]
进一步的,所述图卷积神经网络模型的构建方法包括以下步骤:
[0040]
s521、计算子图的度矩阵d,求出子图的邻接矩阵加上单位矩阵a


[0041]
s522、初始输入激活单元矩阵h0为加密货币地址的特征矩阵,构建卷积层数量和大小,设置激活函数;
[0042]
s523、输入子图数据,针对部分有标签的数据计算损失函数;
[0043]
s524、保存训练网络架构和参数,输出无标签数据预测结果。
[0044]
进一步的,所述识别输出结果并进行反馈的方法为判断子图损失函数计算偏差,
若偏差过大则修改划分子图方式,进一步的划分子图,计算公式如下:
[0045][0046][0047]
其中,x为节点特征矩阵;
[0048]
表示对邻接矩阵标准化后的矩阵;
[0049]
z表示经过两个网络层处理后的向量;
[0050]wl
表示每一层的参数矩阵;
[0051]a′
表示子图的邻接矩阵加上单位矩阵;
[0052]
d是a

的度矩阵。
[0053]
进一步的,所述子图损失函数的计算公式如下:
[0054][0055]
其中,损失函数采用交叉熵函数,y表示具有标签节点的集合;
[0056]
k表示有标签的节点;
[0057]
f表示有几种标签预测分类;
[0058]ykf
表示节点k的标签类型;
[0059]zkf
表示节点k预测为标签类型是f的概率。
[0060]
本发明的有益效果为:
[0061]
1、通过采用人工智能的手段,把无监督和半监督学习的理念融合到区块链加密货币地址种类识别中,通过无监督学习把加密货币地址图网络结构划分成单独的子图网络结构,这种前置划分大大减少了后续模型的算法复杂度;通过半监督学习的方法构建图卷积神经网络模型,学习前者划分后子图网络,提高了识别准确度,实现区块链上加密货币地址类别的标注。
[0062]
2、通过结合深度学习的方式批量识别区块链上数字货币地址的类别,深层次的挖掘了加密货币地址的背后的身份,相对与传统人工核查的方式客观、高效、准确、快速;同时结合了社区发现算法 图卷积神经网络的方法,缩短了在对大规模数据训练过程中的时间,提高了训练效率。
附图说明
[0063]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0064]
图1是根据本发明实施例的一种基于深度学习的区块链加密货币地址身份识别方法的流程图;
[0065]
图2是根据本发明实施例的一种基于深度学习的区块链加密货币地址身份识别方
法的功能流程示意图。
具体实施方式
[0066]
根据本发明的实施例,提供了一种基于深度学习的区块链加密货币地址身份识别方法。
[0067]
现结合附图和具体实施方式对本发明进一步说明,如图1-图2所示,根据本发明实施例的基于深度学习的区块链加密货币地址身份识别方法,该方法包括以下步骤:
[0068]
s1、获取一定时间范围内加密货币初始数据,构建图网络结构;
[0069]
其中,所述初始数据为一定时间范围内所有的加密货币地址之间的交易转账信息。
[0070]
所述图网络结构包括节点与边;
[0071]
其中,节点表示当前方案中加密货币地址,边表示两个加密货币地址有交易转账信息所形成的连线(若两个加密货币地址有交易信息,则两个加密货币地址之间就有一条连线,即为图中的边)。
[0072]
s2、采用无监督学的方法,利用社区发现(infomap)算法对所述图网络结构进行子图划分;
[0073]
其中,infomap算法通过构造出一种转移概率,然后使用点在图上进行随机游走,并生成序列的向量结果,通过对这些向量进行层次编码后,得到的结果进行聚类,从而将更相似的向量聚合在一起。
[0074]
所述利社区发现(infomap)算法对所述图网络结构进行子图划分包括以下步骤:
[0075]
s21、初始化相关参数,超参数随机跳转概率,将每个节点作为一个社团;
[0076]
s22、使用随机游走对图网络结构中的节点进行采样,得到一个序列,计算平均编码长度(群组类的编码所需的平均长度和群内部节点所需要的平均长度),取平均编码长度下降幅度最大的社团作为当前社团,若平均编码长度没有下降,则当前社团不变;
[0077]
s23、重复步骤s22直到社团不再发生变化;
[0078]
s24、每个社团作为子图网络结构。
[0079]
s3、构建子图中节点的特征;
[0080]
其中,所述构建子图中节点的特征包括主观构建与客观构建;
[0081]
所述主观构建的方法为采用专家经验的方式,从加密货币地址的业务角度出发,结合加密货币地址的局部特征和聚合特征两部分进行构建;所述客观构建的方法为采用机器学习的方式进行特征衍生。
[0082]
所述局部特征包括节点的出/入度,时间跨度、交易支出/入、手续费等交易行为特征(例如对于任意一个加密货币地址,在上述所固定时间范围内所转入/出的金额、次数等),所述聚合特征包括从节点到中心节点距离、节点聚合邻居节点交易的最大、最小、标准差及相关系数(例如对于任意一个加密货币地址,和该地址有直接交易的其他地址发生的最大/小交易金额、平均金额等);
[0083]
特征衍生的方式包括one-hot编码、暴力交叉(对多个特征通过数学运算进行组合)及合成特征(通过将单独特征进行组合、从线性模型映射到非线性的过程)。
[0084]
s4、对构建特征数据进行数据预处理;
[0085]
其中,所述对构建特征数据进行数据预处理包括缺失值处理、异常值处理及数据归一化处理;
[0086]
所述缺失值处理的方法包括零值填充、均值填充及最大最小填充;
[0087]
所述异常值处理的方法包括3倍方差法则与箱线图分析;
[0088]
所述数据归一化处理包括最大/最小归一化、零-均值(z-score)归一化。
[0089]
s5、采用半监督学习方法完成模型的构建与训练,输出标签;
[0090]
其中,所述模型的构建与训练,输出标签包括以下步骤:
[0091]
s51、对子图中出现在标签库中的加密货币地址进行标记;
[0092]
s52、将图网络结构和节点的特征输入到图卷积神经网络(gcn)模型中(gcn模型是一个多层的图卷积神经网络,每个卷积层仅处理一阶邻域信息,通过叠加若干卷积层可实现多阶邻域的信息传递),并训练模型,所述图卷积神经网络模型的公式(卷积层的传递方式)如下:
[0093][0094]
其中,a

表示子图的邻接矩阵加上单位矩阵;
[0095]
d表示a

的度矩阵,
[0096]hl
表示第l层的激活单元矩阵,h0=x;
[0097]wl
表示每一层的参数矩阵;
[0098]
σ表示非线性激活函数。
[0099]
其中,所述图卷积神经网络模型的构建方法包括以下步骤:
[0100]
s521、计算子图的度矩阵d,求出子图的邻接矩阵加上单位矩阵a


[0101]
s522、初始输入激活单元矩阵h0为加密货币地址的特征矩阵,构建卷积层数量和大小,设置激活函数;
[0102]
s523、输入子图数据,针对部分有标签的数据计算损失函数;
[0103]
s524、保存训练网络架构和参数,输出无标签数据预测结果。
[0104]
s6、识别输出结果并进行反馈。
[0105]
根据上述训练流程,每个子图都会训练出一个网络架构和参数并且子图中无标签节点都会对应一个分类结果(例如改地址类型可分为:正常、欺诈、营销、黑客等);若子图(gi)损失函数计算偏差过大,则可能原因是子图中有标签节点数量过少或子图划分不均匀等因素,可综合原因修改划分子图方式,进一步划分子图。假设构建网络层数为2层,激活函数分别是relu和softmax,再利用正向传播公式进行计算。
[0106]
其中,所述识别输出结果并进行反馈的方法为判断子图损失函数计算偏差,若偏差过大则修改划分子图方式,进一步的划分子图,计算公式(正向传播公式)如下:
[0107][0108][0109]
其中,x为节点特征矩阵;
[0110]
表示对邻接矩阵标准化后的矩阵;
[0111]
z表示经过两个网络层处理后的向量;
[0112]wl
表示每一层的参数矩阵;
[0113]a′
表示子图的邻接矩阵加上单位矩阵;
[0114]
d是a

的度矩阵。
[0115]
所述子图损失函数的计算公式如下:
[0116][0117]
其中,损失函数采用交叉熵函数,y表示具有标签节点的集合;
[0118]
k表示有标签的节点;
[0119]
f表示有几种标签预测分类;
[0120]ykf
表示节点k的标签类型;
[0121]zkf
表示节点k预测为标签类型是f的概率。
[0122]
综上所述,借助于本发明的上述技术方案,通过采用人工智能的手段,把无监督和半监督学习的理念融合到区块链加密货币地址种类识别中,通过无监督学习把加密货币地址图网络结构划分成单独的子图网络结构,这种前置划分大大减少了后续模型的算法复杂度;通过半监督学习的方法构建图卷积神经网络模型,学习前者划分后子图网络,提高了识别准确度,实现区块链上加密货币地址类别的标注。通过结合深度学习的方式批量识别区块链上数字货币地址的类别,深层次的挖掘了加密货币地址的背后的身份,相对与传统人工核查的方式客观、高效、准确、快速;同时结合了社区发现算法 图卷积神经网络的方法,缩短了在对大规模数据训练过程中的时间,提高了训练效率。
[0123]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献