CN113535847A - 区块链地址分类的方法和装置 - Google Patents

区块链地址分类的方法和装置 Download PDF

Info

Publication number
CN113535847A
CN113535847A CN202110692274.1A CN202110692274A CN113535847A CN 113535847 A CN113535847 A CN 113535847A CN 202110692274 A CN202110692274 A CN 202110692274A CN 113535847 A CN113535847 A CN 113535847A
Authority
CN
China
Prior art keywords
address
transaction
classified
heterogeneous graph
graph network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110692274.1A
Other languages
English (en)
Inventor
穆长春
吕远
卿苏德
王艳辉
张凌云
吴浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Digital Currency Institute of the Peoples Bank of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Currency Institute of the Peoples Bank of China filed Critical Digital Currency Institute of the Peoples Bank of China
Priority to CN202110692274.1A priority Critical patent/CN113535847A/zh
Publication of CN113535847A publication Critical patent/CN113535847A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了区块链地址分类的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;根据所述异质图网络确定待分类地址的表征向量;将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。该实施方式通过将区块链的账本交易数据构建成异质图网络,不仅能够将海量交易数据的隐式业务规则特点充分表达,挖掘地址之间的复杂内在交易关联,还能够节省内存消耗、提高计算效率。

Description

区块链地址分类的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种区块链地址分类的方法和装置。
背景技术
区块链从本质上讲,它是一个分布式共享数据库,存储于其中的数据或信息具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”、“集体维护”等特征。区块链UTXO(Unspent Transaction Outputs,未花费交易输出)账户模型的合法交易通常包括多个发起方、多个接收方和交易明细。在区块链系统中,链上所有参与节点维护一个共同的账本。由于区块链代币去中心化且未实名的特点,需要将区块链地址进行分类,以便识别非法地址。但现有的UTXO区块链地址分类主要是基于规则、经典聚类算法等方法,不能充分挖掘地址之间的复杂内在交易关联。
发明内容
有鉴于此,本发明实施例提供一种区块链地址分类的方法和装置,通过将区块链的账本交易数据构建成异质图网络,不仅能够将海量交易数据的隐式业务规则特点充分表达,挖掘地址之间的复杂内在交易关联,还能够节省内存消耗、提高计算效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种区块链地址分类的方法,包括:
获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;
根据所述异质图网络确定待分类地址的表征向量;
将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
可选地,根据所述账本交易数据构建异质图网络,包括:
将所述账本交易数据对应的所有区块链地址分别作为一个地址顶点,将所述账本交易数据对应的交易标识分别作为一个交易顶点;
对于每条所述交易记录,将所述交易记录的交易标识对应的交易顶点分别与所述交易记录的每个区块链地址对应的地址顶点连接成边,形成所述异质图网络。
可选地,根据所述异质图网络确定所述待分类地址的表征向量,包括:
使用metapath2vec算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;
根据已构建的地址标识对应地址的映射词表,对每个待分类地址进行独热编码,得到待分类地址的稀疏矩阵;
根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
可选地,使用metapath2vec算法在所述异质图网络上进行游走采样,包括:
使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。
可选地,所述元路径为:任一地址顶点→相连的交易顶点→交易相连的其他地址顶点。
可选地,从区块链的所有地址中筛选多个地址,包括:
根据所述异质图网络确定所述区块链中每个地址对应边的数量,筛选对应边的数量大于等于预设阈值的地址。
可选地,将所述待分类地址的表征向量输入预训练的分类模型之前,还包括:采用XGBoost算法训练所述分类模型。
根据本发明实施例的第二方面,提供一种区块链地址分类的装置,包括:
网络构建模块,获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;
向量表征模块,根据所述异质图网络确定待分类地址的表征向量;
地址分类模块,将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
可选地,所述网络构建模块根据所述账本交易数据构建异质图网络,包括:
将所述账本交易数据对应的所有区块链地址分别作为一个地址顶点,将所述账本交易数据对应的交易标识分别作为一个交易顶点;
对于每条所述交易记录,将所述交易记录的交易标识对应的交易顶点分别与所述交易记录的每个区块链地址对应的地址顶点连接成边,形成所述异质图网络。
可选地,所述向量表征模块根据所述异质图网络确定所述待分类地址的表征向量,包括:
使用metapath2vec算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;
根据已构建的地址标识对应地址的映射词表,对每个待分类地址进行独热编码,得到待分类地址的稀疏矩阵;
根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
可选地,所述向量表征模块使用metapath2vec算法在所述异质图网络上进行游走采样,包括:
使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。
可选地,所述元路径为:任一地址顶点→相连的交易顶点→交易相连的其他地址顶点。
可选地,所述向量表征模块从区块链的所有地址中筛选多个地址,包括:根据所述异质图网络确定所述区块链中每个地址对应边的数量,筛选对应边的数量大于等于预设阈值的地址。
可选地,所述地址分类模块还用于:在将所述待分类地址的表征向量输入预训练的分类模型之前,采用XGBoost算法训练所述分类模型。
根据本发明实施例的第三方面,提供一种区块链地址分类的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过将区块链的账本交易数据构建成异质图网络,不仅能够将海量交易数据的隐式业务规则特点充分表达,挖掘地址之间的复杂内在交易关联,还能够节省内存消耗、提高计算效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是区块链UTXO账户模型的余额计算的示意图;
图2是区块链UTXO账户模型交易的示意图;
图3是本发明实施例的区块链地址分类的方法的主要流程示意图;
图4是本发明可选实施例中的交易记录及其对应的有向图结构的示意图;
图5是图4中接收同一地址付款的地址的示意图;
图6是图4中向同一地址付款的地址的示意图;
图7是Skip-Gram模型结构的示意图;
图8是本发明实施例的区块链地址分类的装置的主要模块示意图;
图9是本发明实施例可以应用于其中的示例性系统架构图;
图10是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
UTXO全名是Unspent Transaction Outputs,即未花费交易输出。在UTXO账户模型中,某一个账户地址中的余额并不是由一个数字表示的,而是由当前区块链网络中所有跟当前账户地址有关的UTXO组成的。图1是区块链UTXO账户模型的余额计算的示意图,在图1中,账户地址上方的四部分货币是未被当前账户地址花费的,账户地址下方的两部分货币是已经被当前地址对应的账户花费的。只有未被当前账户地址花费的货币才是UTXO,在计算账户余额时,只会考虑未被当前账户地址花费的货币,也就是UTXO。
区块链UTXO账户模型的交易可能包含成千上百的输入地址或输出地址。图2是区块链UTXO账户模型交易的示意图。在图2中,交易ID代表一条交易记录的交易标识,以I代表输入地址、O代表输出地址,地址I1、地址I2、地址I3、地址I4、……、地址Im代表当前交易的m个输入地址,地址O1、地址O2、地址O3、地址O4、……、地址On代表当前交易的n个输出地址。现有的UTXO区块链地址分类主要是基于规则、经典聚类算法等方法。
经典机器学习方法通常先基于业务理解进行手工特征工程,再将得到的特征向量输入随机森林等分类器算法进行模型训练。手工提取交易模式特征的方式,具有实现方式简单、业务特点明显、可解释性强等特点,但人的业务经验有限,难以直接找到隐藏业务特征,且训练样本间的特征较为独立,特征互信息缺乏,针对群体性特征难以捕捉,导致分类的准确度较低。
同质图网络是节点类型和关系类型都仅有一种、且直接作用于图结构上的神经网络。将交易地址看作节点,交易行为看作节点间的关系边,构成同质图网络来表达地址社群之间的交易模式。该算法具有能保存节点邻居信息、体现网络社群信息、容易训练等优点。但在UTXO账户模型的多输入、多输出交易模式下,会形成大量的边,需占用较高内存,影响计算效率,无法胜任大数据量的分析任务。另外,单一的节点类型和单一关系的边难以表达出社群节点间复杂的交易关系和交易模式,影响到潜在业务特征的表达。
有鉴于此,本发明提出基于异质图网络进行区块链地址分类的技术方案。
根据本发明实施例的一个方面,提供了一种区块链地址分类的方法。图3是本发明实施例的区块链地址分类的方法的主要流程示意图,如图3所示,根据本发明实施例的区块链地址分类的方法包括:步骤S301、步骤S301和步骤S303。
在步骤S301中,获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络。
账本交易数据是指与交易有关的数据,其中可以包括多条交易记录的数据。每条交易记录包括交易的各个输入地址、各个输出地址和交易标识。交易记录中通常还包括每个输入地址的输入金额、每个输出地址的输出金额。实际应用过程中,可以获取区块链所有历史交易的账本交易数据,也可以仅获取部分历史交易的账本交易数据,例如仅获取最近半年或一年的账本交易数据。
异质图指含有多种节点类型和关系类型的图,相对于只含有一种节点类型和一种关系类型的同质图,异质图更加复杂,包含的信息也更多。在构建异质图网络时,将每条交易记录中的每个输入地址、每个输出地址、交易标识都当作异质图网络的顶点,地址顶点和交易顶点之间连接形成边。本发明将UTXO账户模型的交易数据构建成复杂的异质图网络,不仅可以提高业务特征的表达能力,还节省了内存消耗,提高计算效率。
可选地,根据所述账本交易数据构建异质图网络,包括:将所述账本交易数据对应的所有区块链地址分别作为一个地址顶点,将所述账本交易数据对应的交易标识分别作为一个交易顶点;对于每条所述交易记录,将所述交易记录的交易标识对应的交易顶点分别与所述交易记录的每个区块链地址对应的地址顶点连接成边,形成所述异质图网络。
在异质图网络中,每条交易记录的地址顶点、边和交易定点之间形成有向图结构。图4是本发明可选实施例中的交易记录及其对应的有向图结构的示意图。在图4示出的实施例中,账本交易数据包括两条交易记录,分别为交易1和交易2。图4中,左侧为基于交易1和交易2形成的有向图结构,右侧为交易1和交易2的业务结构。交易1的输入地址为地址x、地址1和地址2,交易1的输出地址为地址3、地址4和地址y;交易2的输入地址为地址1、地址5和地址a,交易2的输出地址为地址6、地址7和地址b。基于交易1和交易2形成“地址顶点—边—交易顶点”的有向图结构。
在图4示出的实施例中,形成的异质图能够表达的潜在关系有:
(a)同交易中付款与收款:如交易1中的地址1与地址3;
(b)同交易中共同输入付款:如交易1中的地址1与地址2;
(c)同交易中共同输出收款:如交易1中的地址3与地址4;
(d)跨交易中接收过同一地址付款:如图5中的地址3、地址4、地址6、地址7都接收过地址1的付款;
(e)跨交易中向同一地址付款:如图6中的地址1、地址2、地址5、地址6都向地址3付过款。
步骤S302,根据所述异质图网络确定待分类地址的表征向量。
本步骤将每个待分类地址转化为向量表示,表征向量是地址的向量表示形式。表征向量的每个分量代表地址的一个特征,表征向量的分量越多,越能准确表达地址的特征,基于此得到的分类结果也更准确,但是分量越多,存储和计算过程中对内存资源的消耗越大,计算效率也越低。表征向量的分量数量可以根据实际情况进行选择性设定,例如设置为128、256等。
确定表征向量的方式可以根据实际情况进行选择性设定,例如采用LSA(LatentSemantic Analysis)、glove(一种对LSA优化的矩阵分解算法)、word2vec(一种词嵌入方法)等。LSA可以基于co-occurance matrix构建词向量,实质上是基于全局语料采用SVD进行矩阵分解,基于概率图模型的生成式模型,其似然函数可以写为若干条件概率连乘的形式,其中包含需要推测的隐含变量(即主题)。glove采用Adagrad对最小平方损失进行优化,glove的滑窗是为了构建co-occurance matrix,是基于全局语料的,glove需要事先统计共现概率,因此,glove需要统计固定语料信息。word2vec一般表示为神经网络的形式,似然函数定义在网络的输出之上,需要学习网络的权重来得到单词的稠密向量表示。word2vec是局部语料库训练的,其特征提取是基于滑窗的,因此,word2vec可以进行在线学习。word2vec是无监督学习,不需要人工标注,其损失函数是带权重的交叉熵,权重固定。glove的损失函数是最小平方损失函数,权重可以做映射变换。glove可以被看作是更换了目标函数和权重函数的全局word2vec。基于word2vec确定待分类地址的表征向量,表征效果好、准确,且对内存资源的消耗低。
可选地,根据所述异质图网络确定所述待分类地址的表征向量,包括:使用metapath2vec(一种顶点嵌入方法)算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;根据已构建的地址标识对应地址的映射词表,对每个待分类地址进行独热编码,得到待分类地址的稀疏矩阵;根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
在构建的地址标识对应地址的映射词表时,可以筛选区块链的所有地址。实际应用过程中,也可以筛选部分地址,例如根据异质图网络确定区块链中每个地址对应边的数量,筛选对应边的数量大于等于预设阈值的地址。某个地址顶点对应边越多,说明其在账户交易数据中出现的频率越高。在构建映射词表时,通过删除出现频率较低的地址,能够大大降低内存消耗,提高计算效率。
独热编码即One-Hot-Coding,又称一位有效编码,其方法是使用多位状态寄存器来对多个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,只有一位有效。每个待分类地址经过独热编码后转换为一个向量,该向量的分量数量为待分类地址的总数量。每个向量只有一个分量为1,其他分量都是0,分量1在向量中的位置对应着该地址顶点在映射词表中的位置。待分类地址的稀疏矩阵中,每一行代表一个待分类地址经过独热编码后得到的向量。采用独热编码方式得到稀疏矩阵,能够将地址转换为向量,便于后续进行数据处理。
示例性地,映射词表中的地址有6个,按照位置前后顺序分别为地址1、地址2、地址3、地址4、地址5和地址6,则地址1经过独热编码之后对应的向量为(1,0,0,0,0,0),地址2经过独热编码之后对应的向量为(0,1,0,0,0,0),地址3经过独热编码之后对应的向量为(0,0,1,0,0,0),地址4经过独热编码之后对应的向量为(0,0,0,1,0,0),地址5经过独热编码之后对应的向量为(0,0,0,0,1,0),地址6经过独热编码之后对应的向量为(0,0,0,0,0,1)。
可选地,使用metapath2vec算法在所述异质图网络上进行游走采样,包括:使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。通过设定异质图网络的采样元路径,在该异质图中根据条件概率进行采样,仅用少量的几条相连的边就可以表达同交易中付款与收款、同交易中共同输入付款、同交易中共同输出收款、跨交易中接收过同一地址付款、跨交易中向同一地址付款等多种的交易模式特点,不仅能确保不同类型的地址被恰当的并入Skip-Gram模型中,提高采样准确性,还能大大降低内存消耗,提高计算效率。
元路径的具体内容可以选择性设定。可选地,元路径为:任一地址顶点→相连的交易顶点→交易相连的其他地址顶点。例如,元路径为:任一输入地址顶点→相连的交易顶点→交易相连的其他输入地址顶点;再例如,元路径为:任一输入地址顶点→相连的交易顶点→交易相连的其他输出地址顶点。
在步骤S303中,将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
每个分类结果相当于一个标签,确认待分类地址的分类结果的过程相当于给待分类地址设置标签的过程。分类结果的划分方式可以根据实际情况进行选择性设定,例如,根据区块链地址的性质,将分类结果划分为以下类别:混币服务商、交易所、诈骗团伙等。
用于训练分类模型的算法可以根据实际情况进行选择性设定,例如DNN(DeepNeural Networks,深度神经网络)。可选地,将所述待分类地址的表征向量输入预训练的分类模型之前,还包括:采用XGBoost(eXtreme Gradient Boosting)极端梯度提升)算法训练所述分类模型。采用XGBoost算法训练分类模型,可解释性强,速度快,占用内存小,硬件成本低。
以下结合图7详细说明本发明可选实施例中区块链地址分类的方法流程。本实施例中,首先获取区块链的账本交易数据,根据获取的账本交易数据构建异质图网络。本步骤的详细过程参见步骤S301,此处不再赘述。
在构建异质图网络之后,生成由地址顶点编号和交易顶点编号组成的向量序列,将每一条向量序列作为训练数据,使用word2vec算法进行无监督学习训练得到每个交易地址对应的表征向量;word2vec算法中变量定义如下:
(a)每个地址视为一个单词,所有单词构成的词典大小为D,
(b)待分类地址对应单词的表征向量的维度为N。
(c)一个单词最初使用one-hot方式表示。
(d)一个训练样本为单词对(wI,wO)。wI称为输入单词,可理解成机器学习中的特征,wO称为输出单词,可理解成机器学习中的标签,利用wI来预测wO。在Skip-Gram模型中,wI为中心词,wO为若干个上下文词,因此Skip-Gram要利用中心词来预测上下文词。
(e)输入向量:输入单词wI的输入向量表示为
Figure BDA0003126579570000111
(f)输出向量:输出单词wO的输出向量表示为
Figure BDA0003126579570000121
对于给定的输入单词wI,可能的输出单词有R种,令可能的输出单词下标为j(0≤j<D),则输出单词wj的输出向量表示为
Figure BDA0003126579570000122
j表示可能的输出单词的下标,通常要计算p(wj|wI),表示输入单词wI的的输出单词为单词wj
(g)对于一个单词w,有一个输入向量vw,还有一个输出向量v′w。因为这个单词既可以作为中心词出现,也可以作为上下文词出现。通常最后只采用学习到的输入词向量,输出词向量不用。
根据异质图网络确定待分类地址的表征向量的具体过程包括:
(1)制作训练词向量的语料:使用metapath2vec算法在建立的异质图网络G(V,E,T)上根据元路径“任意地址顶点→相连的交易顶点→和交易相连的其他地址顶点”进行游走采样,形成海量不等长的编码序列,作为训练数据;
Figure BDA0003126579570000123
其中:G表示异质图;V表示异质图中的顶点集合;E表示异质图中的边集合;T表示异质图中边的种类集合;P表示一条采样路径;Vt表示第t种地址类型的顶点集合;Rt代表不同地址类型Vt与地址类型Vt+1之间的关系,第i步的转移概率定义为:
Figure BDA0003126579570000124
其中,Nt+1表示第(t+1)种地址类型的顶点的邻居顶点集合,
Figure BDA0003126579570000125
表示第i个第t种类型的顶点,vi+1表示第(i+1)个顶点,
Figure BDA0003126579570000126
表示顶点
Figure BDA0003126579570000127
的属于第(t+1)种地址类型的邻居顶点集合,E表示边的集合,φ(vi+1)表示地址vi+1的顶点类型。上述转移概率的涵义为:对于第一种情况,说明两个点之间存在边,且下一个游走采样获得的点恰好属于要求的地址类型;对于第二种情况,说明两个点之间存在边,但下一个游走采样获得的点不属于要求的地址类型;对于第三种情况,说明两个点之间不存在边。
(2)制作地址顶点编号的映射词表:根据地址顶点编号在采样路径序列中出现频率排序,删除出现次数低频率的地址顶点;每个序号代表对应的地址顶点,构建一个序号对应地址顶点的映射词表。
(3)使用独热编码得到稀疏矩阵:把(2)产生的映射词表中的每个地址顶点编号用相同维度的向量进行表示,获得稀疏矩阵;其中,每个向量只有一个分量为1,其他分量都是0,分量1在向量中的位置对应着该地址顶点在词典中的位置。
(4)使用word2vec算法的Skip-Gram模型进行训练得到每个地址顶点编号对应的表征向量:
Skip-Gram是一个简单的神经网络模型,只包含输入层、隐藏层、输出层,如图7所示。输入是一个单词w(t),假设上下文窗口大小C=2,则输出是w(t)周围的几个单词w(t-2)、w(t-1)、w(t+1)、w(t+2)。具体包括以下子步骤:
(4.1)计算隐藏层h的输出:
Figure BDA0003126579570000131
其中,输入x是独热编码形式的词向量,且该单词在词典中的下标为k,因此只用到WT的第k列,即为第k个单词的输入词向量,相当于直接将W的第k行直接拷贝到隐藏层单元h上。W表示输入层->隐藏层的权重矩阵,
Figure BDA0003126579570000132
表示W的第I列的向量。
(4.2)计算在输出层每个节点的输入:
Figure BDA0003126579570000133
其中,W′表示隐藏层->输出层的权重矩阵,uc,j表示输出层第c个上下文位置上预测单词的第j个单词的输入值,
Figure BDA0003126579570000134
是W′的第j列向量,为词汇表第j个单词的输出向量。由于Skip-Gram神经网络模型的输出层中每个输出节点共享相同的W′,所以
uc,j=uj
(4.3)计算输出层每个节点的输出yc,s
隐藏层到输出层输出C个多项式分布,每个多项式分布代表第c个上下文词位置上所有单词的概率分布。且W′由C个上下文词位置共享。
Figure BDA0003126579570000141
其中,wc,j表示输出层在第c个上下文位置上的预测的第j个单词;wO,c表示在第c个上下文位置上出现的实际单词;wI表示输入的中心词;yc,j表示输出层第c个上下文位置上的第j个单词的输出值;p(wc,j=wo,c|wI)表示当以一个给定的输入词语作为中心词时,模型输出的第c个上下文位置的词,就是第c个上下文位置词的概率。训练目标是,给定一个中心词,使得模型输出的C个上下文为实际的C个上下文词的概率最大。
(4.4)定义损失函数:
Figure BDA0003126579570000142
其中
Figure BDA0003126579570000143
是词汇表中第c个真实输出单词的索引。
(4.5)输出权重矩阵W′的更新规则:
Figure BDA0003126579570000144
(4.6)权重W的更新规则如下:
Figure BDA0003126579570000145
(4.7)训练完毕后,输入层的每个单词与矩阵W相乘得到的向量就是需要的地址顶点的表征向量。v=W·x
(5)数据集划分:将已经分类打标的地址数据按比例随机分为训练数据和测试数据。
(6)XGBoost算法的输入是训练集样本{(x1,y1),(x2,y2),...(xM,yM)},最大迭代次数Q,损失函数L,正则化系数γ,λ;输出是强学习器f(X);算法主流程如下,对迭代轮数q=1,2,...Q有:
(6.1)计算第i个样本(i=1,2,..M)在当前轮损失函数L基于fq-1(Xi)的一阶导数gqi,二阶导数hqi,计算所有样本的一阶导数
Figure BDA0003126579570000146
和二阶导数和
Figure BDA0003126579570000147
(6.2)基于当前节点尝试分裂决策树(决策树中的每个叶子节点对应一个分类结果),默认分数score=0,G和H为当前需要分裂的节点的一阶二阶导数之和。对特征序号k=1,2...K:
GL=0,HL=0
将样本按照其在映射词表中的特征k(即在映射词表中的编号,映射词表中的所有单词按照升序编号)从小到大排列,依次取出第i个样本,依次计算当前样本放入左子树后,左右子树一阶和二阶导数和:
GL=GL+gdq,GR=G-GL
HL=HL+hdq,HR=H-HL
尝试更新最大的分数:
Figure BDA0003126579570000151
(6.3)基于最大score对应的划分特征和特征值分裂子树;
(6.4)如果最大score为0,则当前决策树建立完毕,计算所有叶子区域的wdj,得到弱学习器hd(X),更新强学习器fd(X),进入下一轮弱学习器迭代。如果最大score不是0,则转到第(6.2)步继续尝试分裂决策树;
(7)确定待分类的区块链地址:把待分类地址顶点的表征向量输入训练好的模型fq(x),得到分类结果。
本发明实施例中,异质图网络中的顶点包括地址顶点和交易顶点,边包括输入类型的边和输出类型的边。将海量交易数据中的输入地址顶点到交易顶点使用输入类型的边连接,交易顶点到输出顶点使用输出类型的边连接,形成两种顶点类型、两种边类型的异质图网络。本发明实施例将UTXO账户模型的交易用地址顶点和交易顶点表达成蕴含业务关联的异质图网络,节省了大量显示的边,仅用少量的几条相连的边就可以表达同交易中付款与收款、同交易中共同输入付款、同交易中共同输出收款、跨交易中接收过同一地址付款、跨交易中向同一地址付款等多种的交易模式特点。因此,本发明实施例能够将海量交易数据的隐式业务规则特点充分表达,且能够在普通服务器上进行高效率计算。
根据本发明实施例的第二方面,提供一种实现上述方法的区块链地址分类的装置。
图8是本发明实施例的区块链地址分类的装置的主要模块示意图。如图8所示,根据本发明实施例的区块链地址分类的装置800包括:
网络构建模块801,获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;
向量表征模块802,根据所述异质图网络确定待分类地址的表征向量;
地址分类模块803,将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
可选地,所述网络构建模块根据所述账本交易数据构建异质图网络,包括:
将所述账本交易数据对应的所有区块链地址分别作为一个地址顶点,将所述账本交易数据对应的交易标识分别作为一个交易顶点;
对于每条所述交易记录,将所述交易记录的交易标识对应的交易顶点分别与所述交易记录的每个区块链地址对应的地址顶点连接成边,形成所述异质图网络。
可选地,所述向量表征模块根据所述异质图网络确定所述待分类地址的表征向量,包括:
使用metapath2vec算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;
根据已构建的地址标识对应地址的映射词表,对每个待分类地址进行独热编码,得到待分类地址的稀疏矩阵;
根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
可选地,所述向量表征模块使用metapath2vec算法在所述异质图网络上进行游走采样,包括:
使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。
可选地,所述元路径为:任一地址顶点→相连的交易顶点→交易相连的其他地址顶点。
可选地,所述向量表征模块从区块链的所有地址中筛选多个地址,包括:根据所述异质图网络确定所述区块链中每个地址对应边的数量,筛选对应边的数量大于等于预设阈值的地址。
可选地,所述地址分类模块还用于:在将所述待分类地址的表征向量输入预训练的分类模型之前,采用XGBoost算法训练所述分类模型。
根据本发明实施例的第三方面,提供一种区块链地址分类的电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。
根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。
图9示出了可以应用本发明实施例的区块链地址分类的方法或区块链地址分类的装置的示例性系统架构900。
如图9所示,系统架构900可以包括终端设备901、902、903,网络904和服务器905。网络904用以在终端设备901、902、903和服务器905之间提供通信链路的介质。网络904可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备901、902、903通过网络904与服务器905交互,以接收或发送消息等。终端设备901、902、903上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备901、902、903可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器905可以是提供各种服务的服务器,例如对用户利用终端设备901、902、903所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的区块链地址分类的方法一般由服务器905执行,相应地,区块链地址分类的装置一般设置于服务器905中。
应该理解,图9中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图10,其示出了适于用来实现本发明实施例的终端设备的计算机系统1000的结构示意图。图10示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统1000操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括网络构建模块、向量表征模块和地址分类模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,向量表征模块还可以被描述为“根据所述账本交易数据构建异质图网络的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;根据所述异质图网络确定待分类地址的表征向量;将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
根据本发明实施例的技术方案,通过将区块链的账本交易数据构建成异质图网络,不仅能够将海量交易数据的隐式业务规则特点充分表达,挖掘地址之间的复杂内在交易关联,还能够节省内存消耗、提高计算效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种区块链地址分类的方法,其特征在于,包括:
获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;
根据所述异质图网络确定待分类地址的表征向量;
将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
2.如权利要求1所述的方法,其特征在于,根据所述账本交易数据构建异质图网络,包括:
将所述账本交易数据对应的所有区块链地址分别作为一个地址顶点,将所述账本交易数据对应的交易标识分别作为一个交易顶点;
对于每条所述交易记录,将所述交易记录的交易标识对应的交易顶点分别与所述交易记录的每个区块链地址对应的地址顶点连接成边,形成所述异质图网络。
3.如权利要求2所述的方法,其特征在于,根据所述异质图网络确定所述待分类地址的表征向量,包括:
使用metapath2vec算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;
根据已构建的地址标识对应地址的映射词表,对每个待分类地址进行独热编码,得到待分类地址的稀疏矩阵;
根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
4.如权利要求3所述的方法,其特征在于,使用metapath2vec算法在所述异质图网络上进行游走采样,包括:
使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。
5.如权利要求4所述的方法,其特征在于,所述元路径为:任一地址顶点→相连的交易顶点→交易相连的其他地址顶点。
6.如权利要求2所述的方法,其特征在于,从区块链的所有地址中筛选多个地址,包括:
根据所述异质图网络确定所述区块链中每个地址对应边的数量,筛选对应边的数量大于等于预设阈值的地址。
7.如权利要求1所述的方法,其特征在于,将所述待分类地址的表征向量输入预训练的分类模型之前,还包括:采用XGBoost算法训练所述分类模型。
8.一种区块链地址分类的装置,其特征在于,包括:
网络构建模块,获取区块链的账本交易数据,根据所述账本交易数据构建异质图网络;
向量表征模块,根据所述异质图网络确定待分类地址的表征向量;
地址分类模块,将所述待分类地址的表征向量输入预训练的分类模型,确定所述待分类地址的分类结果。
9.如权利要求8所述的装置,所述向量表征模块根据所述异质图网络确定所述待分类地址的表征向量,包括:
使用metapath2vec算法在所述异质图网络上进行游走采样,将采样得到的编码序列作为训练数据;
从区块链的所有地址中筛选多个地址,为筛选的每个地址设置地址标识,构建地址标识对应地址的映射词表;对所述映射词表中的每个单词进行独热编码,得到待分类地址的稀疏矩阵;
根据所述训练数据和所述稀疏矩阵,使用Skip-Gram模型进行模型训练,得到每个所述待分类地址的表征向量。
10.如权利要求9所述的装置,所述向量表征模块使用metapath2vec算法在所述异质图网络上进行游走采样,包括:
使用metapath2vec算法,在所述异质图网络上根据元路径进行游走采样,得到海量不等长的编码序列。
11.一种区块链地址分类的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202110692274.1A 2021-06-22 2021-06-22 区块链地址分类的方法和装置 Pending CN113535847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110692274.1A CN113535847A (zh) 2021-06-22 2021-06-22 区块链地址分类的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110692274.1A CN113535847A (zh) 2021-06-22 2021-06-22 区块链地址分类的方法和装置

Publications (1)

Publication Number Publication Date
CN113535847A true CN113535847A (zh) 2021-10-22

Family

ID=78125617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110692274.1A Pending CN113535847A (zh) 2021-06-22 2021-06-22 区块链地址分类的方法和装置

Country Status (1)

Country Link
CN (1) CN113535847A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167116A1 (ja) * 2018-02-27 2019-09-06 日本電気株式会社 ブロックチェーン管理システム、ブロックチェーン管理装置、情報提供装置及びブロックチェーン管理方法
CN110457404A (zh) * 2019-08-19 2019-11-15 电子科技大学 基于复杂异质网络的社交媒体账户分类方法
CN111754345A (zh) * 2020-06-18 2020-10-09 天津理工大学 一种基于改进随机森林的比特币地址分类方法
CN112508115A (zh) * 2020-12-15 2021-03-16 北京百度网讯科技有限公司 建立节点表示模型的方法、装置、设备和计算机存储介质
CN112966763A (zh) * 2021-03-17 2021-06-15 北京邮电大学 一种分类模型的训练方法、装置、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019167116A1 (ja) * 2018-02-27 2019-09-06 日本電気株式会社 ブロックチェーン管理システム、ブロックチェーン管理装置、情報提供装置及びブロックチェーン管理方法
CN110457404A (zh) * 2019-08-19 2019-11-15 电子科技大学 基于复杂异质网络的社交媒体账户分类方法
CN111754345A (zh) * 2020-06-18 2020-10-09 天津理工大学 一种基于改进随机森林的比特币地址分类方法
CN112508115A (zh) * 2020-12-15 2021-03-16 北京百度网讯科技有限公司 建立节点表示模型的方法、装置、设备和计算机存储介质
CN112966763A (zh) * 2021-03-17 2021-06-15 北京邮电大学 一种分类模型的训练方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Rustam et al. Classification of shopify app user reviews using novel multi text features
US11574201B2 (en) Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms
WO2022057658A1 (zh) 推荐模型训练方法、装置、计算机设备及存储介质
CN108363790A (zh) 用于对评论进行评估的方法、装置、设备和存储介质
US20210182680A1 (en) Processing sequential interaction data
CN110390408B (zh) 交易对象预测方法和装置
CN112270547A (zh) 基于特征构造的金融风险评估方法、装置和电子设备
Yang et al. Advances in Knowledge Discovery and Data Mining: 23rd Pacific-Asia Conference, PAKDD 2019, Macau, China, April 14-17, 2019, Proceedings, Part III
CN111932386B (zh) 用户账号确定方法及装置、信息推送方法及装置、电子设备
CN112085565A (zh) 基于深度学习的信息推荐方法、装置、设备及存储介质
CN109992676B (zh) 一种跨媒体资源检索方法及检索系统
CN111353303A (zh) 词向量构建方法、装置、电子设备及存储介质
Gridach et al. Churn identification in microblogs using convolutional neural networks with structured logical knowledge
CN111191825A (zh) 用户违约预测方法、装置及电子设备
CN111582645B (zh) 基于因子分解机的app风险评估方法、装置和电子设备
Cao et al. Towards automatic numerical cross-checking: Extracting formulas from text
Iqbal et al. Hybrid features prediction model of movie quality using Multi-machine learning techniques for effective business resource planning
CN116402166B (zh) 一种预测模型的训练方法、装置、电子设备及存储介质
Joung et al. Importance-performance analysis of product attributes using explainable deep neural network from online reviews
CN113379432B (zh) 一种基于机器学习的销售系统客户匹配方法
Nessa et al. Recruitment scam detection using gated recurrent unit
Hamad et al. Sentiment analysis of restaurant reviews in social media using naïve bayes
CN114897607A (zh) 产品资源的数据处理方法及装置、电子设备、存储介质
CN113535847A (zh) 区块链地址分类的方法和装置
CN111538898B (zh) 基于组合特征提取的Web服务包推荐方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination