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

一种区块链地址分类方法和装置与流程

2021-11-03 21:07:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种区块链地址分类方法和装置。


背景技术:

2.目前对区块链地址分类时,采用的方案主要有以下几种:一是经典机器学习分类方法,例如逻辑回归、支持向量机,基于树算法的分类树、随机森林,以及基于梯度的梯度提升算法等,上述方法存在如下问题:采取经典统计方法建立面板数据模型,由于区块链地址是经过加密计算后的哈希值,可直接提取特征很少,导致经典统计建模通常无法训练出满意的模型;区块链链上数据庞大,进行有监督学习需要大量打标操作,时间成本较高;有监督学习训练资源消耗量大,而区块链的数据量极大,很容易出现资源不够用导致训练无法完成的情况。二是基于rolesim的图计算方法、基于structsim的图计算方法,基于rolesim的图计算方法需要进行最大匹配,利用所有节点的结构信息,然后将两两节点匹配,该方法在数据量较大时计算复杂度特别高,计算效率低下,无法应对几十万量级节点的计算,另外由于在计算相似性时仅考虑节点的度,而不考虑其他因素,导致计算结果不准确,同现实情况具有较大差异。而基于structsim的图计算方法仅考虑节点的度而未考虑边的权重,导致计算结果不准确,并且当查询节点根据邻居子图进行匹配时,一些边数量极多的节点,尤其是全连接的节点会对相似度估计结果造成干扰,这些节点提高了模型复杂度,降低了节点间的两两匹配效率,影响算法计算速度,该方法无法全面度量网络结构间的相似性,影响分类结果的准确性。
3.在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
4.基于rolesim或structsim的图计算方法计算效率低,全连接的节点对相似度估计结果的干扰提高了模型复杂度,影响算法计算速度,无法全面度量网络结构间的相似性,影响分类结果的准确性,数据量较大时区块链地址分类精度较低,无法应对千万级或更大地址数量的计算,而经典机器学习的区块链地址分类方法则存在无法训练满意的模型、时间成本高、训练资源消耗量大等缺陷。


技术实现要素:

5.有鉴于此,本发明实施例提供一种区块链地址分类方法和装置,能够在提升计算效率的同时,降低交易网络图中全连接节点对计算精度的影响,计算速度快,计算复杂度低,可全面度量网络结构间的相似性,分类结果准确性高,既可对千万级节点的交易网络图进行高效计算,又具有较高精度,并避免了经典机器学习的区块链地址分类方法所存在的无法训练满意的模型、时间成本高、训练资源消耗量大等缺陷。
6.为实现上述目的,根据本发明实施例的一个方面,提供了一种区块链地址分类方法。
7.一种区块链地址分类方法,包括:以区块链地址为节点、所述区块链地址参与的交易为边,构建交易网络图,所述交易网络图包括有标签节点和无标签节点,标签对应区块链
地址的类别;计算所述有标签节点与所述无标签节点的最终结构相似度,所述计算的过程包括:对于取值在[1,k]之间的任一迭代层数i,k为预设的总迭代层数,在第i层迭代时,确定出所述有标签节点和所述无标签节点的i跳邻居,判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度和所述i跳邻居的相似性度量,计算第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度,以及所述i跳邻居的相似性度量,计算得到第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,第k层迭代后得到的所述结构相似度为所述最终结构相似度,其中,所述初始结构相似度根据所述有标签节点和所述无标签节点的加权度确定;从所述交易网络图中筛选出与所述有标签节点的所述最终结构相似度大于相似度阈值的目标无标签节点,并根据所述有标签节点的标签确定所述目标无标签节点的区块链地址的类别。
[0008]
可选地,确定所述初始结构相似度的步骤,包括:计算所述有标签节点的加权度和所述无标签节点的加权度二者之中的最小值以及最大值,根据所述最小值与所述最大值的比值,计算得到所述初始结构相似度。
[0009]
可选地,所述交易网络图中节点的i跳邻居从该节点的i阶子图中获取;所述判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,包括:根据剪枝跳数阈值判断所述i跳邻居是否符合所述剪枝条件,其中,在i小于或等于所述剪枝跳数阈值的情况下,所述i跳邻居不符合所述剪枝条件,则无需剪枝;在i大于所述剪枝跳数阈值的情况下,所述i跳邻居符合所述剪枝条件,则对所述i跳邻居进行剪枝。
[0010]
可选地,所述在i小于或等于所述剪枝跳数阈值的情况下,所述i跳邻居不符合所述剪枝条件,则无需剪枝;在i大于所述剪枝跳数阈值的情况下,所述i跳邻居符合所述剪枝条件,则对所述i跳邻居进行剪枝,包括:在i小于或等于所述剪枝跳数阈值的情况下,将所述有标签节点和所述无标签节点的i跳邻居分别划分到第一数量的分段内,所述第一数量根据所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度计算得到;在i大于所述剪枝跳数阈值的情况下,若所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度大于剪枝阈值,则将所述有标签节点和所述无标签节点的i跳邻居分别划分到第二数量的分段内,所述第二数量根据所述剪枝阈值计算得到;若所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度小于或等于所述剪枝阈值,则将所述有标签节点和所述无标签节点的i跳邻居分别划分到第三数量的分段内,所述第三数量根据所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度计算得到;其中,在将所述i跳邻居划分到各分段内时,根据分段序号确定划分到所述分段的节点的加权度范围。
[0011]
可选地,所述通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量,包括:对于所述有标签节点的i跳邻居和所述无标签节点的i跳邻居中被划分到每个所述分段内的节点,计算单个分段内节点的加权度之和;将所述有标签节点的i跳邻居和所述无标签节点的i跳邻居,按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度;将所述有标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第一总加权度和,以及,将所述无标签节点的i跳邻居被划分到的所有单个分
段内节点的加权度之和相加,得到第二总加权度和;根据各分段匹配后得到的匹配加权度,以及所述第一总加权度和、所述第二总加权度和,计算得到所述有标签节点与所述无标签节点的i跳邻居的相似性度量。
[0012]
可选地,所述按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度,包括:对于任一分段序号j,第j个分段匹配后的匹配加权度为:所述有标签节点的i跳邻居被划分到第j个分段内节点的加权度之和、所述无标签节点的i跳邻居被划分到第j个分段内节点的加权度之和二者之中的最小值。
[0013]
可选地,所述计算得到所述有标签节点与所述无标签节点的i跳邻居的相似性度量,包括:将所有分段匹配后得到的匹配加权度相加,得到匹配加权度总和;计算所述第一总加权度和、所述第二总加权度和二者之中的最大值,得到最大总加权度和;根据所述匹配加权度总和与所述最大总加权度和的比值,得到所述有标签节点与所述无标签节点的i跳邻居的相似性度量。
[0014]
可选地,所述交易网络图中节点的加权度为该节点的所有边的权重之和,所述边的权重为交易金额。
[0015]
可选地,所述通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量之前,包括:确认所述有标签节点的i跳邻居和所述无标签节点的i跳邻居二者均为非空集;所述方法还包括:若确定出所述有标签节点和所述无标签节点的i跳邻居均为空集,则结束所述计算的过程;若确定出所述有标签节点的i跳邻居和所述无标签节点的i跳邻居二者之一为空集,则确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量为0。
[0016]
可选地,所述基于第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度,以及所述i跳邻居的相似性度量,计算得到第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,包括:计算第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度、所述i跳邻居的相似性度量二者按照各自的权重加权后得到的加权和,作为第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,其中,第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度的权重为1与所述i跳邻居的相似性度量的权重的差值,所述i跳邻居的相似性度量的权重为1与1 i的比值。
[0017]
根据本发明实施例的另一方面,提供了一种区块链地址分类装置。
[0018]
一种区块链地址分类装置,包括:交易网络图构建模块,用于以区块链地址为节点、所述区块链地址参与的交易为边,构建交易网络图,所述交易网络图包括有标签节点和无标签节点,标签对应区块链地址的类别;结构相似度计算模块,用于计算所述有标签节点与所述无标签节点的最终结构相似度,所述计算的过程包括:对于取值在[1,k]之间的任一迭代层数i,k为预设的总迭代层数,在第i层迭代时,确定出所述有标签节点和所述无标签节点的i跳邻居,判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度和所述i跳邻居的相似性度量,计算第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度,以及所述i跳邻居的相似性度量,计算得到第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,第k层迭代后得到的所述结构相似度为
所述最终结构相似度,其中,所述初始结构相似度根据所述有标签节点和所述无标签节点的加权度确定;区块链地址类别确定模块,用于从所述交易网络图中筛选出与所述有标签节点的所述最终结构相似度大于相似度阈值的目标无标签节点,并根据所述有标签节点的标签确定所述目标无标签节点的区块链地址的类别。
[0019]
可选地,还包括初始结构相似度确定模块,用于:计算所述有标签节点的加权度和所述无标签节点的加权度二者之中的最小值以及最大值,根据所述最小值与所述最大值的比值,计算得到所述初始结构相似度。
[0020]
可选地,所述交易网络图中节点的i跳邻居从该节点的i阶子图中获取;所述结构相似度计算模块还用于:根据剪枝跳数阈值判断所述i跳邻居是否符合所述剪枝条件,其中,在i小于或等于所述剪枝跳数阈值的情况下,所述i跳邻居不符合所述剪枝条件,则无需剪枝;在i大于所述剪枝跳数阈值的情况下,所述i跳邻居符合所述剪枝条件,则对所述i跳邻居进行剪枝。
[0021]
可选地,所述结构相似度计算模块还用于:在i小于或等于所述剪枝跳数阈值的情况下,将所述有标签节点和所述无标签节点的i跳邻居分别划分到第一数量的分段内,所述第一数量根据所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度计算得到;在i大于所述剪枝跳数阈值的情况下,若所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度大于剪枝阈值,则将所述有标签节点和所述无标签节点的i跳邻居分别划分到第二数量的分段内,所述第二数量根据所述剪枝阈值计算得到;若所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度小于或等于所述剪枝阈值,则将所述有标签节点和所述无标签节点的i跳邻居分别划分到第三数量的分段内,所述第三数量根据所述有标签节点和所述无标签节点二者的i跳邻居中节点的最大加权度计算得到;其中,在将所述i跳邻居划分到各分段内时,根据分段序号确定划分到所述分段的节点的加权度范围。
[0022]
可选地,所述结构相似度计算模块还用于:对于所述有标签节点的i跳邻居和所述无标签节点的i跳邻居中被划分到每个所述分段内的节点,计算单个分段内节点的加权度之和;将所述有标签节点的i跳邻居和所述无标签节点的i跳邻居,按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度;将所述有标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第一总加权度和,以及,将所述无标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第二总加权度和;根据各分段匹配后得到的匹配加权度,以及所述第一总加权度和、所述第二总加权度和,计算得到所述有标签节点与所述无标签节点的i跳邻居的相似性度量。
[0023]
可选地,所述结构相似度计算模块还用于按照如下方式计算每个分段匹配后的匹配加权度:对于任一分段序号j,第j个分段匹配后的匹配加权度为:所述有标签节点的i跳邻居被划分到第j个分段内节点的加权度之和、所述无标签节点的i跳邻居被划分到第j个分段内节点的加权度之和二者之中的最小值。
[0024]
可选地,所述结构相似度计算模块还用于按照如下方式计算得到所述有标签节点与所述无标签节点的i跳邻居的相似性度量:将所有分段匹配后得到的匹配加权度相加,得到匹配加权度总和;计算所述第一总加权度和、所述第二总加权度和二者之中的最大值,得到最大总加权度和;根据所述匹配加权度总和与所述最大总加权度和的比值,得到所述有
标签节点与所述无标签节点的i跳邻居的相似性度量。
[0025]
可选地,所述交易网络图中节点的加权度为该节点的所有边的权重之和,所述边的权重为交易金额。
[0026]
可选地,所述结构相似度计算模块还用于:在通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量之前,确认所述有标签节点的i跳邻居和所述无标签节点的i跳邻居二者均为非空集;所述结构相似度计算模块还用于:若确定出所述有标签节点和所述无标签节点的i跳邻居均为空集,则结束所述计算的过程;若确定出所述有标签节点的i跳邻居和所述无标签节点的i跳邻居二者之一为空集,则确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量为0。
[0027]
可选地,所述结构相似度计算模块还用于:计算第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度、所述i跳邻居的相似性度量二者按照各自的权重加权后得到的加权和,作为第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,其中,第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度的权重为1与所述i跳邻居的相似性度量的权重的差值,所述i跳邻居的相似性度量的权重为1与1 i的比值。
[0028]
根据本发明实施例的又一方面,提供了一种电子设备。
[0029]
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明实施例所提供的区块链地址分类方法。
[0030]
根据本发明实施例的又一方面,提供了一种计算机可读介质。
[0031]
一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的区块链地址分类方法。
[0032]
上述发明中的一个实施例具有如下优点或有益效果:以区块链地址为节点、区块链地址参与的交易为边,构建交易网络图,通过k层迭代,计算有标签节点与无标签节点的最终结构相似度,其中在第i层迭代时,对有标签节点和无标签节点的符合剪枝条件的i跳邻居剪枝,通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度和i跳邻居的相似性度量,计算第i层迭代后的有标签节点和无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的结构相似度和i跳邻居的相似性度量,计算得到第i层迭代后的结构相似度,根据有标签节点的标签确定与有标签节点的最终结构相似度大于相似度阈值的目标无标签节点的区块链地址类别。能够提升计算效率,降低交易网络图中全连接节点对计算精度的影响,计算速度快,计算复杂度低,可全面度量网络结构间的相似性,分类结果准确性高,既可对千万级节点的交易网络图进行高效计算,又具有较高精度,并避免了经典机器学习的区块链地址分类方法所存在的无法训练满意的模型、时间成本高、训练资源消耗量大等缺陷。
[0033]
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0034]
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0035]
图1是根据本发明一个实施例的区块链地址分类方法的主要步骤示意图;
[0036]
图2是根据本发明一个实施例的区块链地址分类流程示意图;
[0037]
图3是根据本发明一个实施例的区块链地址分类装置的主要模块示意图;
[0038]
图4是本发明实施例可以应用于其中的示例性系统架构图;
[0039]
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0040]
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0041]
图1是根据本发明一个实施例的区块链地址分类方法的主要步骤示意图。
[0042]
如图1所示,本发明一个实施例的区块链地址分类方法主要包括如下的步骤s101至步骤s103。
[0043]
步骤s101:以区块链地址为节点、区块链地址参与的交易为边,构建交易网络图,交易网络图包括有标签节点和无标签节点,标签对应区块链地址的类别;
[0044]
步骤s102:计算有标签节点与无标签节点的最终结构相似度。
[0045]
计算该最终结构相似度的过程包括:对于取值在[1,k]之间的任一迭代层数i,k为预设的总迭代层数,在第i层迭代时,确定出有标签节点和无标签节点的i跳邻居,判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度,计算第i层迭代后的有标签节点和无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的有标签节点和无标签节点的结构相似度,以及i跳邻居的相似性度量,计算得到第i层迭代后的有标签节点和无标签节点的结构相似度,第k层迭代后得到的结构相似度为最终结构相似度,其中,初始结构相似度根据有标签节点和无标签节点的加权度确定;
[0046]
步骤s103:从交易网络图中筛选出与有标签节点的最终结构相似度大于相似度阈值的目标无标签节点,并根据有标签节点的标签确定目标无标签节点的区块链地址的类别。
[0047]
对于交易网络图中任意的一个有标签节点与一个无标签节点,均可按照上述步骤计算两个节点的最终结构相似度,进而在该无标签节点与该有标签节点的最终结构相似度大于相似度阈值的情况下,将该无标签节点筛选出来,并确定该无标签节点与该有标签节点对应同一类别的区块链地址,即该无标签节点的区块链地址类别为该有标签节点的标签指示的区块链地址类别。
[0048]
本发明实施例在构建交易网络图之前,还包括数据准备步骤:在区块链上提取相关地址(包含各类型标注标签及未标注标签的地址)以及地址参与的所有交易,具体可以从区块链的账本中提取所有地址及地址的历史交易记录。
[0049]
以提取的地址为节点,交易为边,交易金额为权重,构造交易网络图,并存储至图数据库中。
[0050]
计算节点的加权度,交易网络图中节点的加权度为该节点的所有边的权重之和,
边的权重为交易金额。
[0051]
可将计算得到的所有节点的加权度存储到磁盘中,以提升后续查询效率。
[0052]
在计算节点的加权度之后,计算每个节点与其他节点的初始结构相似度,两个节点的初始结构相似度为该两个节点的加权度中最小值与最大值的比值。
[0053]
确定有标签节点和无标签节点的初始结构相似度,具体包括:计算有标签节点的加权度和无标签节点的加权度二者之中的最小值以及最大值,根据该最小值与该最大值的比值,计算得到初始结构相似度。
[0054]
对于每个节点,根据指定的总跳数(即预设的总迭代层数),逐层更新该节点同其他节点的结构相似度,即上述步骤s102中计算有标签节点与无标签节点的最终结构相似度的过程。
[0055]
交易网络图中节点的i跳邻居从该节点的i阶子图中获取,其中i即上文的迭代层数i,即在一层迭代中,当前迭代层数与子图跳数(阶数)一致。
[0056]
判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,具体包括:根据剪枝跳数阈值判断i跳邻居是否符合剪枝条件,其中,在i小于或等于剪枝跳数阈值的情况下,i跳邻居不符合剪枝条件,则无需剪枝;在i大于剪枝跳数阈值的情况下,i跳邻居符合剪枝条件,则对i跳邻居进行剪枝。
[0057]
在i小于或等于剪枝跳数阈值的情况下,i跳邻居不符合剪枝条件,则无需剪枝;在i大于剪枝跳数阈值的情况下,i跳邻居符合剪枝条件,则对i跳邻居进行剪枝,具体包括:在i小于或等于剪枝跳数阈值的情况下,将有标签节点和无标签节点的i跳邻居分别划分到第一数量的分段内,第一数量根据有标签节点和无标签节点二者的i跳邻居中节点的最大加权度计算得到;在i大于剪枝跳数阈值的情况下,若有标签节点和无标签节点二者的i跳邻居中节点的最大加权度大于剪枝阈值,则将有标签节点和无标签节点的i跳邻居分别划分到第二数量的分段内,第二数量根据剪枝阈值计算得到;若有标签节点和无标签节点二者的i跳邻居中节点的最大加权度小于或等于剪枝阈值,则将有标签节点和无标签节点的i跳邻居分别划分到第三数量的分段内,第三数量根据有标签节点和无标签节点二者的i跳邻居中节点的最大加权度计算得到。
[0058]
其中,在将i跳邻居划分到各分段内时,根据分段序号确定划分到分段的节点的加权度范围。
[0059]
通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量,具体包括:对于有标签节点的i跳邻居和无标签节点的i跳邻居中被划分到每个分段内的节点,计算单个分段内节点的加权度之和;将有标签节点的i跳邻居和无标签节点的i跳邻居,按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度;将有标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第一总加权度和,以及,将无标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第二总加权度和;根据各分段匹配后得到的匹配加权度,以及第一总加权度和、第二总加权度和,计算得到有标签节点与无标签节点的i跳邻居的相似性度量。
[0060]
按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度,具体地,对于任一分段序号j,第j个分段匹配后的匹配加权度为:有标签节点的i跳邻居被划分到第j个分段内节点的加权度之和、无标签节点的i跳邻居被划分到第j个分段内节点的加权度之和
二者之中的最小值。
[0061]
通过如下方式计算得到有标签节点与无标签节点的i跳邻居的相似性度量:将所有分段匹配后得到的匹配加权度相加,得到匹配加权度总和;计算第一总加权度和、第二总加权度和二者之中的最大值,得到最大总加权度和;根据匹配加权度总和与最大总加权度和的比值,得到有标签节点与无标签节点的i跳邻居的相似性度量。
[0062]
通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量之前,可以确认有标签节点的i跳邻居和无标签节点的i跳邻居二者均为非空集。
[0063]
基于第i

1层迭代得到的有标签节点和无标签节点的结构相似度,以及i跳邻居的相似性度量,计算得到第i层迭代后的有标签节点和无标签节点的结构相似度,具体地,可以计算第i

1层迭代得到的有标签节点和无标签节点的结构相似度、i跳邻居的相似性度量二者按照各自的权重加权后得到的加权和,作为第i层迭代后的有标签节点和无标签节点的结构相似度,其中,第i

1层迭代得到的有标签节点和无标签节点的结构相似度的权重为1与i跳邻居的相似性度量的权重的差值,i跳邻居的相似性度量的权重为1与1 i的比值。
[0064]
本实施例的区块链地址分类方法还包括:若确定出有标签节点和无标签节点的i跳邻居均为空集,则结束有标签节点与无标签节点的最终结构相似度计算的过程;若确定出有标签节点的i跳邻居和无标签节点的i跳邻居二者之一为空集,则确定有标签节点与无标签节点的i跳邻居的相似性度量为0。
[0065]
根据本发明实施例,对于i∈[1,k],选取用于计算结构相似度的两个节点u、v,其中u为有标签节点,v为无标签节点,对u,v的i跳邻居进行剪枝。子图匹配过程中根据预先设定的剪枝跳数阈值及剪枝阈值进行剪枝操作,其中i小于或等于剪枝跳数阈值的子图无需进行剪枝,i大于剪枝跳数阈值的子图根据剪枝阈值进行剪枝,对子图剪枝即进行i跳邻居的剪枝,然后进行子图结构匹配,计算第i层迭代时节点u和v的结构相似度,并更新迭代后的结构相似度,重复迭代过程,经过k层迭代后,该结构相似度收敛至节点u和v的最终结构相似度。对于任意的有标签节点,计算同其他无标签节点的结构相似度,根据事先设定的相似度阈值筛选出一系列节点,例如将与节点u的最终结构相似度高于相似度阈值的节点筛选出,并将筛选出的节点与节点u归为同一类,对所有有标签节点重复上述过程,即可完成对所有无标签节点的分类,从而完成对待分类区块链地址的分类。通过本发明实施例,利用分段剪枝匹配度量图结构相似性,在通过分段剪枝匹配提升计算效率的同时,还可降低全连接节点对计算精度的影响,能对公链、私链、联盟链等能产生交易的区块链上所有参与交易的实体间进行相似性度量,既可对千万级节点的图进行高效计算,又具有较高精度。
[0066]
图2是根据本发明一个实施例的区块链地址分类流程示意图。
[0067]
如图2所示,本发明一个实施例的区块链地址分类流程包括:
[0068]
步骤s201:对区块链地址的交易数据进行处理,获取数据集,其中含有带标签的区块链地址和不带标签的区块链地址的交易记录。
[0069]
标签指示区块链地址的类别,区块链地址的类别例如交易所、金融机构、赌博等违法人员等交易的区块链地址。
[0070]
步骤s202:将所有节点和交易信息生成图,具体地,即以区块链地址为节点、区块链地址参与的交易为边,构建交易网络图。
[0071]
步骤s203:计算交易网络图中所有节点的加权度,并将计算结果进行持久化存储。
[0072]
步骤s204:初始化每个节点同其他所有节点的初始结构相似度。
[0073]
步骤s205:利用局部分段剪枝匹配,计算交易网络图中每一个节点同其他节点的结构相似度。
[0074]
步骤s206:输出结构相似度高于相似度阈值的所有节点,将与被比较节点(为有标签节点)的结构相似度高于相似度阈值的无标签节点,与该被比较节点归为一类。
[0075]
遍历交易网络图的所有有标签节点,重复上述s201至s206的过程,以完成对所有无标签节点的分类。
[0076]
下面详细介绍本发明实施例的区块链地址分类流程。
[0077]
假设区块链地址样本为(x1,y1,w
11
),(x1,y2,w
12
),...,(x
n
,y
n
,w
nn
),其中x
p
是转账地址,y
q
是收款地址,w
pq
∈r1是交易金额,即权重,p,q=1,2,...,n,n为正整数。利用区块链地址样本构造交易网络图。
[0078]
以下对下文涉及的字符含义进行说明:
[0079]
g:表示图,即本发明实施例的交易网络图。
[0080]
v:表示图g(交易网络图)中所有节点的集合;
[0081]
e:表示图g(交易网络图)中所有边的集合;
[0082]
weight
e
:表示边e的权重,e∈e;
[0083]
d
u
:加权度,表示节点u的所有边的权重之和,计算公式如下:
[0084][0085]
δ(u,v):表示交易网络图中u,v两个节点的距离;
[0086]
n
i
(u):i跳邻居,表示与节点u的距离为i的所有节点组成的集合,即n
i
(u)={v∈v|δ(u,v)=i};
[0087]
e(u):表示节点u同其所有邻居的边;
[0088]
n
≤i
(u):表示与节点u的距离小于i的所有节点,即n
≤i
(u)={v∈v|δ(u,v)≤i};
[0089]
m(s1,s2):表示对集合s1、s2匹配后所得的二元点集,即m(s1,s2)={(x,y)|x∈s1,y∈s2};该式含义为二元点集中的点(x,y)中的“x”来自集合s1,且点(x,y)中的“y”来自集合s2;
[0090]
m
i
(u,v):表示对集合n
i
(u)和n
i
(v)匹配后所得的二元点集,即m
i
(u,v)=m(n
i
(u),n
i
(v)),n
i
(v)的含义与n
i
(u)的含义同理,即表示与节点v的距离为i的所有节点组成的集合;
[0091]
||m
i
(u,v)||:表示对集合n
i
(u)和n
i
(v)匹配后所得的二元点集的匹配加权度;
[0092]
g
k
(u):表示节点u的k阶子图,即与节点u的距离小于或等于k的所有节点构成的图,即g(n
≤k
(u));
[0093]
δ
i
(u,v):表示第i次迭代时,节点u、v的i跳邻居n
i
(u)和n
i
(v)的相似性度量,或称节点u、v的i跳邻居的相似性度量;
[0094]
w
i
:表示第i次迭代时δ
i
(u,v)的权重,即i跳邻居的相似性度量的权重,w
i
=1/(1 i),即,i跳邻居的相似性度量的权重为1与1 i的比值;
[0095]
sim0(u,v):表示两个节点u和v的初始结构相似度;
[0096]
sim
i
(u,v):表示两个节点u和v的在第i次迭代后的结构相似度;
[0097]
sim(u,v):表示节点u和v的结构相似度,即最终结构相似度。
[0098]
本发明实施例基于加权度的节点结构相似度计算过程如下:
[0099]
分别对交易网络图中每个节点的边e计算加权度,以节点u为例,加权度d
u
=∑
e∈e(u)
weight
e

[0100]
对于i∈[1,k],从节点u、v的i阶子图g
i
(u)、g
i
(v)中,分别获取i跳邻居n
i
(u)、n
i
(v)。
[0101]
若n
i
(u)、n
i
(v)均为空集,即无节点,则终止计算,即结束计算u、v节点间的最终结构相似度的过程。
[0102]
若n
i
(u)、n
i
(v)二者之一为空集,则δ
i
(u,v)=0。
[0103]
若n
i
(u)、n
i
(v)二者均为非空集,则通过子图结构匹配确定节点u与节点v的i跳邻居的相似性度量δ
i
(u,v)。
[0104]
下面详细介绍本发明实施例的通过子图结构匹配确定节点u与节点v的i跳邻居的相似性度量的方法,即分段剪枝匹配计算方法,计算中所涉及的字符含义说明如下:
[0105]
wd(n
i
(u),n
i
(v)):表示i跳邻居n
i
(u)、n
i
(v)中节点的最大加权度(weighted degree),即:
[0106]
其中,d
x
表示节点x的加权度,x∈n
i
(u)un
i
(v)表示节点x为n
i
(u)、n
i
(v)的并集中的节点。
[0107]
b:表示每一跳节点的加权度所被划分到的分段的数量;
[0108]
表示n
i
(u)中被划分到第j个分段内的节点集合,j∈[1,b],其中第j个分段内接收的节点加权度范围为[2
j
‑1,2
j

1],即在将i跳邻居划分到各分段内时,根据分段序号j确定划分到分段的节点的加权度范围;
[0109]
表示n
i
(u)中被划分到第j个分段内的节点的加权度之和,即其中,表示节点x为n
i
(u)中被划分到第j个分段内的节点;
[0110]
b
i
(u):表示的集合,j∈[1,b],即:
[0111]
σ:表示剪枝阈值;σ≤wd(n
i
(u),n
i
(v)),可以根据计算量和计算机性能进行设定,若需要计算的数据量不大,或计算机性能足以支撑对应计算量的数据,则σ可直接设定为wd(n
i
(u),n
i
(v))。
[0112]
γ:表示剪枝跳数阈值,γ≤k,k为指定的总跳数。若γ=k则表示不剪枝。
[0113]
节点u与节点v的i跳邻居的相似性度量的计算过程如下:
[0114]
对于i∈[1,k],k为预设的总迭代层数。i表示跳数或当前迭代层数(或称当前迭代次数)。
[0115]
如果当前迭代层数小于或等于剪枝跳数阈值,即i≤γ:
[0116]
则将n
i
(u)、n
i
(v)直接划分到b个分段内,且b=1 [log(wd(n
i
(u),n
i
(v)))],即第一数量的分段,根据该式,第一数量根据节点u和节点v二者的i跳邻居中节点的最大加权度wd(n
i
(u),n
i
(v))计算得到。其中,[log(wd(n
i
(u),n
i
(v)))]表示对log(wd(n
i
(u),n
i
(v)))向下取整,即取值为不超过log(wd(n
i
(u),n
i
(v)))的最大整数。
[0117]
如果当前迭代层数大于剪枝跳数阈值,即i>γ,其中:若节点u和节点v二者的i跳
邻居中节点的最大加权度大于剪枝阈值,即wd(n
i
(u),n
i
(v))>σ,将n
i
(u)、n
i
(v)分别划分到b个分段内,且b=1 [log(σ)],即第二数量的分段,根据该式,第二数量根据剪枝阈值计算得到,其中,[log(σ)]表示对log(σ)向下取整;若节点u和节点v二者的i跳邻居中节点的最大加权度小于或等于剪枝阈值,即wd(n
i
(u),n
i
(v))≤σ,将n
i
(u)、n
i
(v)直接划分到b个分段内,且b=1 [log(wd(n
i
(u),n
i
(v)))],即第三数量的分段,[log(wd(n
i
(u),n
i
(v)))]表示对log(wd(n
i
(u),n
i
(v)))向下取整,根据该式,第三数量根据节点u和节点v二者的i跳邻居中节点的最大加权度wd(n
i
(u),n
i
(v))计算得到。
[0118]
执行完上述逻辑后,对于j∈[1,b],进行子图结构匹配,将节点u的i跳邻居和节点v的i跳邻居,按照分段序号j进行分段匹配,具体可将b
i
(u)和b
i
(v)各分段内的加权度分别进行匹配,即:将剪枝后或无需剪枝的及进行匹配,以计算第j个分段匹配后的匹配加权度进而计算出每个分段匹配后的匹配加权度。具体为:
[0119][0120]
即第j个分段匹配后的匹配加权度为:节点u的i跳邻居n
i
(u)中被划分到第j个分段内节点的加权度之和节点v的i跳邻居n
i
(v)被划分到第j个分段内节点的加权度之和该二者之中的最小值。
[0121]
将所有分段匹配后得到的匹配加权度相加,得到匹配加权度总和,即对集合n
i
(u)和n
i
(v)匹配后所得的二元点集的匹配加权度||m
i
(u,v)||,||m
i
(u,v)||具体为:
[0122][0123]
计算第i次迭代(即第i层迭代)时,节点u、v的i跳邻居n
i
(u)和n
i
(v)的相似性度量,即节点u、v的i跳邻居的相似性度量δ
i
(u,v):
[0124][0125]
则,
[0126]
其中,其中,表示n
i
(v)中被划分到第j个分段内的节点的加权度之和,b
i
(v)表示的集合。即为第一总加权度和,即为第二总加权度和,即最大总加权度和。根据上式,有标签节点与所述无标签节点的i跳邻居的相似性度量为匹配加权度总和与最大总加权度和的比值。
[0127]
基于第i

1层迭代得到的节点u和节点v的结构相似度sim
i
‑1(u,v),以及节点u、v的
i跳邻居的相似性度量δ
i
(u,v),计算得到第i层迭代后的节点u、v的结构相似度sim
i
(u,v),具体计算方式如下:
[0128]
sim
i
(u,v)=(1

w
i
)sim
i
‑1(u,v) w
i
δ
i
(u,v)
[0129]
经过k层迭代,上式收敛至节点u和v的结构相似度sim(u,v),即第k层迭代后得到的节点u、v的结构相似度。
[0130]
图3是根据本发明一个实施例的区块链地址分类装置的主要模块示意图。
[0131]
如图3所示,本发明一个实施例的区块链地址分类装置300主要包括:交易网络图构建模块301、结构相似度计算模块302、区块链地址类别确定模块303。
[0132]
交易网络图构建模块301,用于以区块链地址为节点、区块链地址参与的交易为边,构建交易网络图,交易网络图包括有标签节点和无标签节点,标签对应区块链地址的类别;
[0133]
结构相似度计算模块302,用于计算有标签节点与无标签节点的最终结构相似度,计算的过程包括:对于取值在[1,k]之间的任一迭代层数i,k为预设的总迭代层数,在第i层迭代时,确定出有标签节点和无标签节点的i跳邻居,判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度,计算第i层迭代后的有标签节点和无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的有标签节点和无标签节点的结构相似度,以及i跳邻居的相似性度量,计算得到第i层迭代后的有标签节点和无标签节点的结构相似度,第k层迭代后得到的结构相似度为最终结构相似度,其中,初始结构相似度根据有标签节点和无标签节点的加权度确定;
[0134]
区块链地址类别确定模块303,用于从交易网络图中筛选出与有标签节点的最终结构相似度大于相似度阈值的目标无标签节点,并根据有标签节点的标签确定目标无标签节点的区块链地址的类别。
[0135]
区块链地址分类装置300还包括初始结构相似度确定模块,用于:计算有标签节点的加权度和无标签节点的加权度二者之中的最小值以及最大值,根据该最小值与该最大值的比值,计算得到初始结构相似度。
[0136]
交易网络图中节点的i跳邻居从该节点的i阶子图中获取。
[0137]
结构相似度计算模块302具体用于:根据剪枝跳数阈值判断i跳邻居是否符合剪枝条件,其中,在i小于或等于剪枝跳数阈值的情况下,i跳邻居不符合剪枝条件,则无需剪枝;在i大于剪枝跳数阈值的情况下,i跳邻居符合剪枝条件,则对i跳邻居进行剪枝。
[0138]
结构相似度计算模块302具体还用于:在i小于或等于剪枝跳数阈值的情况下,将有标签节点和无标签节点的i跳邻居分别划分到第一数量的分段内,第一数量根据有标签节点和无标签节点二者的i跳邻居中节点的最大加权度计算得到;在i大于剪枝跳数阈值的情况下,若有标签节点和无标签节点二者的i跳邻居中节点的最大加权度大于剪枝阈值,则将有标签节点和无标签节点的i跳邻居分别划分到第二数量的分段内,第二数量根据剪枝阈值计算得到;若有标签节点和无标签节点二者的i跳邻居中节点的最大加权度小于或等于剪枝阈值,则将有标签节点和无标签节点的i跳邻居分别划分到第三数量的分段内,第三数量根据有标签节点和无标签节点二者的i跳邻居中节点的最大加权度计算得到;其中,在将i跳邻居划分到各分段内时,根据分段序号确定划分到分段的节点的加权度范围。
[0139]
结构相似度计算模块302具体还用于:对于有标签节点的i跳邻居和无标签节点的i跳邻居中被划分到每个分段内的节点,计算单个分段内节点的加权度之和;将有标签节点的i跳邻居和无标签节点的i跳邻居,按照分段序号进行分段匹配,以计算每个分段匹配后的匹配加权度;将有标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第一总加权度和,以及,将无标签节点的i跳邻居被划分到的所有单个分段内节点的加权度之和相加,得到第二总加权度和;根据各分段匹配后得到的匹配加权度,以及第一总加权度和、第二总加权度和,计算得到有标签节点与无标签节点的i跳邻居的相似性度量。
[0140]
结构相似度计算模块302具体用于按照如下方式计算每个分段匹配后的匹配加权度:对于任一分段序号j,第j个分段匹配后的匹配加权度为:有标签节点的i跳邻居被划分到第j个分段内节点的加权度之和、无标签节点的i跳邻居被划分到第j个分段内节点的加权度之和二者之中的最小值。
[0141]
结构相似度计算模块302具体还用于按照如下方式计算得到有标签节点与无标签节点的i跳邻居的相似性度量:将所有分段匹配后得到的匹配加权度相加,得到匹配加权度总和;计算第一总加权度和、第二总加权度和二者之中的最大值,得到最大总加权度和;根据匹配加权度总和与最大总加权度和的比值,得到有标签节点与无标签节点的i跳邻居的相似性度量。
[0142]
交易网络图中节点的加权度为该节点的所有边的权重之和,边的权重为交易金额。
[0143]
结构相似度计算模块302具体还用于:在通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量之前,确认有标签节点的i跳邻居和无标签节点的i跳邻居二者均为非空集;
[0144]
结构相似度计算模块302具体还用于:若确定出有标签节点和无标签节点的i跳邻居均为空集,则结束最终结构相似度计算的过程;若确定出有标签节点的i跳邻居和无标签节点的i跳邻居二者之一为空集,则确定有标签节点与无标签节点的i跳邻居的相似性度量为0。
[0145]
结构相似度计算模块302具体还用于:计算第i

1层迭代得到的有标签节点和无标签节点的结构相似度、i跳邻居的相似性度量二者按照各自的权重加权后得到的加权和,作为第i层迭代后的有标签节点和无标签节点的结构相似度,其中,第i

1层迭代得到的有标签节点和无标签节点的结构相似度的权重为1与i跳邻居的相似性度量的权重的差值,i跳邻居的相似性度量的权重为1与1 i的比值。
[0146]
另外,在本发明实施例中区块链地址分类装置的具体实施内容,在上面所述区块链地址分类方法中已经详细说明了,故在此重复内容不再说明。
[0147]
图4示出了可以应用本发明实施例的区块链地址分类方法或区块链地址分类装置的示例性系统架构400。
[0148]
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0149]
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发
送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
[0150]
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
[0151]
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息
‑‑
仅为示例)反馈给终端设备。
[0152]
需要说明的是,本发明实施例所提供的区块链地址分类方法一般由服务器405执行,相应地,区块链地址分类装置一般设置于服务器405中。
[0153]
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0154]
下面参考图5,其示出了适于用来实现本技术实施例的终端设备或服务器的计算机系统500的结构示意图。图5示出的终端设备或服务器仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0155]
如图5所示,计算机系统500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有系统500操作所需的各种程序和数据。cpu 501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0156]
以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
[0157]
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(cpu)501执行时,执行本技术的系统中限定的上述功能。
[0158]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程
序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0159]
附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0160]
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括交易网络图构建模块、结构相似度计算模块、区块链地址类别确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,交易网络图构建模块还可以被描述为“用于以区块链地址为节点、所述区块链地址参与的交易为边,构建交易网络图的模块”。
[0161]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:以区块链地址为节点、所述区块链地址参与的交易为边,构建交易网络图,所述交易网络图包括有标签节点和无标签节点,标签对应区块链地址的类别;计算所述有标签节点与所述无标签节点的最终结构相似度,所述计算的过程包括:对于取值在[1,k]之间的任一迭代层数i,k为预设的总迭代层数,在第i层迭代时,确定出所述有标签节点和所述无标签节点的i跳邻居,判断i跳邻居是否符合剪枝条件,并对符合剪枝条件的i跳邻居进行剪枝,通过子图结构匹配确定所述有标签节点与所述无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度和所述i跳邻居的相似性度量,计算第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的所述有标签节点和所述无标签节点的结构相似度,以及所述i跳邻居的相似性度量,计算得到第i层迭代后的所述有标签节点和所述无标签节点的结构相似度,第k层迭代后得到的所述结构相似度为所述最终结构相似度,其中,所述初始结构相似度根据所述有标签节点和所述无标签节点的加权度确定;从所述交易网络图中筛选出与所述有标签节点的所述最终结构相似度大于相似度阈值的目标无标签节点,并根据所述有标签节点的标签确定所述目标无标
签节点的区块链地址的类别。
[0162]
根据本发明实施例的技术方案,以区块链地址为节点、区块链地址参与的交易为边,构建交易网络图,通过k层迭代,计算有标签节点与无标签节点的最终结构相似度,其中在第i层迭代时,对有标签节点和无标签节点的符合剪枝条件的i跳邻居剪枝,通过子图结构匹配确定有标签节点与无标签节点的i跳邻居的相似性度量,当i=1时,基于初始结构相似度和i跳邻居的相似性度量,计算第i层迭代后的有标签节点和无标签节点的结构相似度,当i>1时,基于第i

1层迭代得到的结构相似度和i跳邻居的相似性度量,计算得到第i层迭代后的结构相似度,根据有标签节点的标签确定与有标签节点的最终结构相似度大于相似度阈值的目标无标签节点的区块链地址类别。能够提升计算效率,降低交易网络图中全连接节点对计算精度的影响,计算速度快,计算复杂度低,可全面度量网络结构间的相似性,分类结果准确性高,既可对千万级节点的交易网络图进行高效计算,又具有较高精度,并避免了经典机器学习的区块链地址分类方法所存在的无法训练满意的模型、时间成本高、训练资源消耗量大等缺陷。
[0163]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

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

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

相关文献