«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (8): 166-172  DOI: 10.19678/j.issn.1000-3428.0062816
0

引用本文  

俞莎莎, 牛保宁. 基于交易不可信度的比特币非法交易检测[J]. 计算机工程, 2022, 48(8), 166-172. DOI: 10.19678/j.issn.1000-3428.0062816.
YU Shasha, NIU Baoning. Detection of Illicit Bitcoin Transaction Based on Transaction Unreliablity[J]. Computer Engineering, 2022, 48(8), 166-172. DOI: 10.19678/j.issn.1000-3428.0062816.

基金项目

国家自然科学基金(62072326);山西省重点研发计划项目(201903D421007)

作者简介

俞莎莎(1994—),女,硕士研究生,主研方向为区块链;
牛保宁,教授、博士

文章历史

收稿日期:2021-09-27
修回日期:2021-11-10
基于交易不可信度的比特币非法交易检测
俞莎莎 , 牛保宁     
太原理工大学 信息与计算机学院, 山西 晋中 030600
摘要:比特币非法交易检测根据交易特征构建检测模型鉴别非法交易,在反金融犯罪领域得到广泛应用。现有的比特币非法交易检测方法假定交易的属性包含交易是否非法的信息,并从交易属性中挖掘能够代表交易非法性的特征,难以准确判断非法交易,导致检测精度和召回率降低。设计基于交易不可信度的比特币非法交易检测方法。根据非法交易之间具有关联的特性,定义交易不可信度。通过构建交易不可信度度量模型,将量化结果作为直接反映交易非法性的特征融入到已有的分类模型中,提高模型的检测性能。在此基础上,采用迭代训练集的方式扩增非法交易样本,解决非法交易样本不足以及标注困难的问题。在Elliptic数据集上的实验结果表明,与本地特征和聚合特征相比,加入不可信度特征的逻辑回归、随机森林、多层感知机和图卷积网络分类模型的F1值平均提高8.5%。
关键词比特币    区块链    非法交易    机器学习    图卷积网络    
Detection of Illicit Bitcoin Transaction Based on Transaction Unreliablity
YU Shasha , NIU Baoning     
College of Information and Computer, Taiyuan University of Technology, Jinzhong, Shanxi 030600, China
Abstract: Detection of illicit Bitcoin transaction builds a detection model according to transaction features to identify illicit transactions. It has been widely used in the field of anti-financial crime. Existing method for the detection of illicit Bitcoin transaction proposes that the transaction attributes contain information about whether the transaction is illicit and mine the features that can represent the illicitness of the transaction from the transaction attributes. It is difficult to accurately judge illicit transactions, resulting in the reduction of detection accuracy and recall. This paper proposes a method for the detection of illicit Bitcoin transaction based on transaction unreliability. According to the features of the correlation between illicit transactions, transaction unreliability is proposed as a measure of the degree of transaction unreliability. By constructing the measurement model of transaction unreliability and integrating the quantitative results into the existing classification model as features that directly reflect the illicit nature of transactions, the detection ability of the model improved. On this basis, the illicit transaction samples are expanded using an iterative training set to solve the problems of insufficient illicit transaction samples and difficult labeling. The experiments on Elliptic data sets show that compared with local features and aggregation features, the F1 value of Logistic Regression(LR), Random Forest(RF), MultiLayer Perceptron(MLP), and Graph Convolutional Network(GCN) classification models with unreliability features increased by 8.5%, on average.
Key words: Bitcoin    blockchain    illicit transaction    machine learning    Graph Convolutional Network(GCN)    

开放科学(资源服务)标志码(OSID):

0 概述

比特币是一种去中心化、匿名且不可篡改的加密货币[1]。与依赖中心化监管体系的银行金融系统不同,加密货币基于去中心化的共识机制[2],缺乏集中控制。由于比特币钱包地址是一个包含27~34个字母数字的标识符,不包含关于所有者的任何信息,因此很多非法活动选择以比特币作为支付手段。

近些年,比特币非法交易的检测问题备受关注[3]。非法交易是指参与诈骗、恶意软件、恐怖组织、勒索软件、庞氏骗局、洗钱[4-6]、毒品交易[7]等活动的交易[8]。非法交易检测方法分为实体检测和交易检测。实体检测根据交易之间的引用关系,采用聚类算法将交易归属于不同实体(实体是具有单个或多个地址的个人或组织),再提取实体特征,并对实体进行分类,通过识别异常实体来分析鉴别非法交易[9]。交易检测是利用机器学习分类模型和图卷积网络(Graph Convolutional Network,GCN)分类模型直接检测非法交易。机器学习分类模型,如逻辑回归(Logistic Regression,LR)[10]、随机森林(Random Forest,RF)[11]、多层感知机(MultiLayer Perceptron,MLP)[12]等,通常根据交易本身特征(如交易输入或输出的数量、交易费用、交易输入或输出的平均交易额)反映交易的非法程度。该分类方法的分类效果有限。图卷积网络分类模型及其变体[13-14]不仅根据交易本身特征,而且基于交易网络拓扑结构构建交易间的关联关系,用于训练识别非法交易。因此,与传统机器学习分类模型相比,卷积网络分类模型具有更优的检测效果。

在实体检测中,聚类方法本质上是把交易包含的非法信息传递到实体上,将非法实体作为非法交易的代表。然而,比特币所有者为规避非法交易检测,通常会将非法交易和合法交易混合在一起。因此,一个包含成千上万笔交易的非法实体可能只含少量非法交易。为减少合法交易对非法实体特征的影响,通过实体特征鉴别非法实体的方法并不准确。在交易检测中,不论是机器学习分类器,还是GCN都假设交易的属性包含交易是否非法的信息,并尝试从各种可能的交易属性中挖掘能够代表交易非法性的特征。

比特币交易的非法性取决于交易是否用于违法犯罪活动。两个具有相似或相同属性的交易用于违法犯罪活动属于非法交易,没有用于违法犯罪活动属于正常交易。因此,现有的比特币非法交易检测方法根据交易属性难以准确地判断非法交易,但是非法交易之间有关联,即具有可传递性。本文设计基于交易不可信度的比特币非法交易检测方法。结合非法交易之间的传递性,提出交易不可信度,度量交易的不可信程度,同时将度量结果融合到已有的判别模型中。在此基础上,通过迭代训练集的方式扩增非法交易样本,从而提高模型的判别精确度和召回率。

1 相关工作

比特币非法交易检测本质上是交易不可信度的度量和排序问题。因此,分析其度量原理、设计相对准确的交易不可信度度量算法是提高检测精确率和召回率的有效方法。

在实体检测中,现有方法通常根据比特币中所有者和钱包地址与交易之间的关联关系,将交易归属于不同的地址或所有者[15]。文献[16-17]提出启发式聚类方法将地址链接到实体。文献[9, 18]从海量交易记录中提取出多个实体,将其分为赌博、勒索交易等类别,使用有监督的机器学习方法对实体进行分类。文献[19-20]对地址和交易流进行统计分析,根据交易基本信息构建地址特征,识别非法比特币地址。文献[21]使用贝叶斯方法对用户的行为特征建模,将交易与钱包地址和IP对应。文献[22]提出基于特征的网络分析架构,寻找比特币中提供混合服务的地址,从而为比特币反洗钱提供线索。这些方法将交易非法性转移到地址或所有者,通过识别非法实体来鉴别非法交易。

在交易检测中,GCN基于非欧氏空间特征的预测性能比机器学习分类器[23]更好。2019年,Elliptic加密货币情报公司公开发布Elliptic数据集,构造的交易特征包括本身特征和聚合特征[4]。聚合特征描述了邻居交易的信息,相比只用本地特征,其具有更优的检测效果,但是在交易网络中,聚合特征无法构建更广泛的交易链接关系。同时,文献[4]利用加权交叉熵损失函数训练GCN模型,相比LR、RF、MLP等传统机器学习模型,具有更高的精确率和召回率。在实际情况中,根据比特币构造的交易网络会随着新顶点增加而不断扩展的特点,文献[4]和文献[14]提出EvolveGCN,该模型通过循环神经网络演化GCN参数来捕获图序列的动态性。现有的交易检测方法存在以下2个共同问题:1)相较于机器学习算法,神经网络训练模型结合交易网络特征,进一步加强交易特征之间的关联,但是从特征角度寻找非法交易,而没有根据交易的链接关系对其本身的非法性程度进行量化分析;2)在Elliptic数据集上标注的非法交易仅占2%,影响模型的检测性能,通过扩增非法交易样本提高训练集中非法交易占比。因此,本文提出度量交易不可信度,设计算法在最大程度上正确反映交易的非法性程度。由于不可信度特征值是对交易不可信度的直接体现,因此选择不可信度高的交易作为样本来扩增非法样本。本文将不可信度作为新的特征,融合到已有判别模型,进一步提高分类模型的检测性能。

2 交易不可信度 2.1 交易不可信度量化

交易的非法性源于其参与非法活动,非法活动一般涉及多个相关交易。比特币交易具有多个输入交易和输出交易的性质,表明交易的非法性是可传递的。

2.1.1 交易不可信度传递

比特币交易结构如图 1所示。每个交易由多项交易输入(in-link)和交易输出(out-link)组成,表示一次交易将多个来源的比特币合并后转给多个账户。比特币交易构成的网络可以抽象成一个有向图,图中节点表示交易,边表示从一个交易到另一个交易的比特币流动。因此,交易不可信度是单向传递的。若非法交易$ \mathrm{A} $指向交易$ \mathrm{B} $,即交易$ \mathrm{A} $是交易$ \mathrm{B} $的输入,则认为交易$ \mathrm{A} $把自身非法性传递给$ \mathrm{B} $

Download:
图 1 比特币交易结构 Fig. 1 Structure of Bitcoin transaction

在交易网络中通常存在2种不可信度传递模式,即不可信度分割和聚集。

1)不可信度分割

交易不可信度传递模式如图 2所示。从图 2可以看出,某组织参与非法活动,执行过大宗交易$ \mathrm{A} $,与其有关的赃款必然会以交易的形式输出,根据该非法交易及其流向$ \mathrm{B}\mathrm{、}\mathrm{C} $,寻找传递后的非法交易是检测不可信度的有效方法。

Download:
图 2 交易不可信度传递模式 Fig. 2 Delivery mode of transaction unreliability

2)不可信度聚集

对于具有多个in-link的交易,其非法性是in-link非法性的聚合。图 2中某用户接收赃款,发生交易$ \mathrm{D}\mathrm{、}\mathrm{E}\mathrm{、}\mathrm{F} $,销赃时发生交易$ \mathrm{G} $$ \mathrm{D}\mathrm{、}\mathrm{E}\mathrm{、}\mathrm{F} $把不可信度传递到$ \mathrm{G} $

在实际情况中,交易网络往往错综复杂,发生的非法交易通常是上述两种方式的结合与变体。另外,在多个不同的非法活动之间也可能产生交易上的关联。以图 2为例,$ \mathrm{A} $的不可信度会传递到$ \mathrm{C} $,再经由$ \mathrm{E} $传递到$ \mathrm{G} $$ \mathrm{G} $会得到来自$ \mathrm{A}\mathrm{、}\mathrm{D}\mathrm{、}\mathrm{E}\mathrm{、}\mathrm{F} $的不可信度。随着产生的交易越来越多,交易网络会越来越庞大。

2.1.2 交易不可信度计算

交易不可信度的计算主要是计算每个交易的不可信度分割和聚集。对于不可信度分割,即非法交易具有多个out-link的情况,本文认为这些out-link具有相同的非法性概率,因此交易的不可信度在out-link之间平均分配。交易$ \mathrm{A} $的不可信度为$ {r}_{\mathrm{A}} $。若交易$ \mathrm{A} $$ n $个out-link,则每个link的权重为$ {r}_{\mathrm{A}}/n $图 2$ \mathrm{A} $是非法交易,箭头代表交易之间的比特币流动,$ {r}_{\mathrm{B}}=\frac{1}{2}{r}_{\mathrm{A}} $$ {r}_{\mathrm{C}}=\frac{1}{2}{r}_{\mathrm{A}} $。在不可信度聚集的情况下,交易自身的不可信度是它所有in-link的权重之和。图 2$ \mathrm{D}\mathrm{、}\mathrm{E}\mathrm{、}\mathrm{F} $代表非法交易,$ {r}_{\mathrm{G}}={r}_{\mathrm{D}}+{r}_{\mathrm{E}}+{r}_{\mathrm{F}} $

在比特币交易网络中的交易数量庞大,计算所有交易的不可信度需要遍历网络,计算量大。为此,本文构建计算交易不可信度模型。

$ G\left(N, E\right) $是一个比特币交易网络,其中$ N $是节点集合,代表交易,$ E $是边集合,代表从一个交易到另一个交易的比特币流动。本文定义邻接矩阵$ {\boldsymbol{M}}_{n\times n} $,行和列都表示按时间顺序排列的全部交易,数量为$ n $。设交易$ i $的out-link数量为$ {d}_{i} $,若$ i\to j $,那么$ {m}_{ji}=1/{d}_{i} $,否则$ {m}_{ji}=0 $$ \boldsymbol{\gamma }=[{r}_{1}, {r}_{2}, \cdots , {r}_{n}{]}^{\mathrm{T}} $代表交易不可信度向量,其中每个交易的不可信度对应一个分量。不可信度流动计算如式(1)所示:

$ \boldsymbol{\gamma }(t+1)={\boldsymbol{M}}_{n\times n}\boldsymbol{\gamma }\left(t\right) $ (1)

其中:$ \boldsymbol{\gamma }\left(t\right) $$ \boldsymbol{\gamma }(t+1) $分别为更新前后的交易不可信度向量;邻接矩阵$ {\boldsymbol{M}}_{n\times n} $为交易之间的链接关系;$ n $为总交易数量。邻接矩阵$ {\boldsymbol{M}}_{n\times n} $中每个元素$ {m}_{ji} $的定义如式(2)所示:

$ {m}_{ji}=\left\{\begin{array}{l}1/{d}_{i} , \;\; i\to j\\ 0 , \;\; \mathrm{其}\mathrm{他}\end{array}\right. $ (2)

其中:$ {d}_{i} $为交易$ i $的out-link数量。$ \boldsymbol{\gamma }\left(t\right) $向量的初始值来自交易的标签,若交易$ i $非法,则$ {r}_{i}=1 $,若交易$ j $合法,则$ {r}_{j}=0 $

交易不可信度的计算如图 3所示。

Download:
图 3 交易不可信度的计算 Fig. 3 Calculation of transaction unreliability

图 3中存在交易不可信度传递过程$ \mathrm{A}\to (\mathrm{B}, \mathrm{C})\to $ $ \mathrm{D}\to \mathrm{E} $$ \mathrm{A} $是非法交易,不可信度初始化为1,其他交易初始化为0。每迭代1次,表示将每个交易的不可信度传递给自己的交易输出。从$ \mathrm{A} $的角度分析,经过1、2、3次迭代后,A的不可信度分别传递给B、C、D和E。从$ \mathrm{E} $的角度分析,经过1、2、3次迭代后,E分别得到来自D、B、C和A的不可信度,结果如图 3(c)所示。将迭代结果累加后得到A、B、C、D、E的不可信度分别为1、0.5、0.5、1和1。

比特币交易网络存在很多分散的交易,它们无法得到来自之前交易的不可信度,也不能将自己的不可信度传递给之后的交易。这些交易阻断了不可信度的传播,导致最终计算得到的很多非法交易不可信度为0,这将影响分类模型对非法交易的判定。本文设置每个交易把自身不可信度的大部分权重(占比$ \beta $)传递给自己指向的交易,将少部分权重(占比$ 1-\beta $)传递给所有交易。改进的不可信度流动结果如式(3)所示:

$ \begin{array}{l}\boldsymbol{\gamma }(t+1)=\left(\beta {\boldsymbol{M}}_{n\times n}+{\left[\frac{1-\beta }{n}\right]}_{n\times n}\right)\boldsymbol{\gamma }\left(t\right)=\\ \beta {\boldsymbol{M}}_{n\times n}\times \boldsymbol{\gamma }\left(t\right)+{\left[\frac{1-\beta }{n}\right]}_{n}\sum\limits_{i=1}^{n}{r}_{i}\end{array} $ (3)

其中:$ \left[\mathrm{ }\right(1-\beta )/n]{}_{\boldsymbol{n}} $是所有$ n $项都为$ (1-\beta )/n $的向量;$ \beta $为每个交易把自身不可信度传递给自己指向交易的比例。不可信度流动公式经过改进后,交易不可信度结果如图 3(d)所示。式(3)迭代$ m $次后,不可信度趋于稳定,即$ ‖\boldsymbol{\gamma }(t+1)-\boldsymbol{\gamma }\left(t\right)‖\le \epsilon $,实际是一笔交易的不可信度在经过$ m $次传输后,可传递到它的大部分后代交易。网络中每个非法交易把不可信度传递到末端交易的次数不同,本文需要确定合适的次数,使得大部分非法交易能把不可信度传递到末端交易,$ m $是该次数的近似值。本文对经过迭代的交易,通过对上级或上上级交易获得的不可信度进行累加,将其作为最终的不可信度,如式(4)所示:

$ \boldsymbol{\gamma }=\sum\limits_{\boldsymbol{t}=0}^{m}\boldsymbol{\gamma }\left(t\right), \boldsymbol{\gamma }=({r}_{1}, {r}_{2}, \cdots , {r}_{i}, \cdots , {r}_{n}{)}^{\mathrm{T}} $ (4)

改进的不可信度计算对$ \boldsymbol{\gamma } $进行标准化处理[24],如式(5)所示:

$ {r}_{i}=\frac{{r}_{i}-\bar{r}}{s}, s=\sqrt{\frac{1}{n-1}\sum\limits_{i=1}^{n}({r}_{i}{-\bar{r})}^{2}} $ (5)

其中:$ {r}_{i} $为每个交易的不可信度;$ \bar{r} $$ n $个交易的不可信度均值;$ s $$ n $个交易不可信度的标准差。适当调整不可信度流动公式中的参数$ \beta $,使算法在测试阶段的非法交易检测能力达到最优。

本文对度量算法进行以下直观描述:若交易的不可信度高,则交易的非法性程度较大,交易不可信度是其in-link不可信度的总和。较高的不可信度既包含交易中许多非法in-link的情况,也包含交易的in-link不可信度值很高的情况。令$ \boldsymbol{X} $为所有交易不可信度的初始向量。度量算法主要有4个步骤:1)令$ \boldsymbol{\gamma }\left(0\right)=\boldsymbol{X} $;2)执行$ \boldsymbol{\gamma }(t+1)=\beta {\boldsymbol{M}}_{n\times n}\times \boldsymbol{\gamma }\left(t\right)+{\left[\frac{1-\beta }{n}\right]}_{\boldsymbol{n}}\sum\limits_{i=1}^{n}{r}_{i} $,直到$ \left|\right|\boldsymbol{\gamma }(t+1)-\boldsymbol{\gamma }\left(t\right)\left|\right|\le \epsilon $;3)计算$ \boldsymbol{\gamma } $$ \boldsymbol{\gamma }=\sum\limits_{\boldsymbol{t}=0}^{m}\boldsymbol{\gamma }\left(t\right), \boldsymbol{\gamma }=({r}_{1}, {r}_{2}, \cdots , {r}_{i}, \cdots , {r}_{n}{)}^{\mathrm{T}} $;4)标准化处理$ \boldsymbol{\gamma } $$ {r}_{i}\leftarrow ({r}_{i}-\bar{r})/s $

步骤2中$ \left|\right|\boldsymbol{\gamma }(t+1)-\boldsymbol{\gamma }\left(t\right)\left|\right| $是迭代前后两个不可信度向量的欧氏距离,用于衡量相似度。若欧氏距离小于等于$ \epsilon $,则认为两个向量相似,停止迭代。$ {r}_{i} $的初始值为1或0,即非法或合法。若交易$ i $具有多个非法的上一级交易或上上级交易,则在迭代过程中,交易$ i $将从中获得非法性,因此$ {r}_{i} $大于1。$ {r}_{i} $越大,表示从上几级交易中获得非法性的概率越大。

2.2 不可信度融入

由于实验数据收集不完整,因此交易网络存在交易缺失和一些交易没有标签的情况,阻碍交易不可信度的传播。另外,在交易网络中存在一些相对独立的非法交易,其交易不可信度的获取和传递受到限制,不能反映交易的非法性。这种情况需要根据交易本身的特征来判断非法交易。因此,本文提出将不可信度融合到现有的分类模型中,提高模型的准确度,即把不可信度作为一种新的特征和交易本身特征合并,共同判断非法交易。

交易不可信度本质是对交易是否非法的量化表征,是一个包含信息量的特征。

3 非法交易样本扩增

不可信度是交易不可信的本质体现,本文将不可信度高的交易作为样本来扩增非法样本。实验发现,将不可信度作为交易唯一特征,通过LR检测未知交易类型,精确率可达91%以上。本文提出将LR检测到的非法交易放入训练集中,重新计算交易不可信度,以新的不可信度作为唯一特征,再次把检测到的非法交易放回训练集,如此循环,直到无法检测出新的非法交易。非法交易样本扩增过程如图 4所示。

Download:
图 4 非法交易样本扩增流程 Fig. 4 Expanding procedure of illicit transaction samples
4 实验结果与分析

本文通过实验验证交易不可信度特征与交易原有特征合并后,以及扩增非法交易样本在提高精确率和召回率方面的有效性。

4.1 评价指标

本文将精确率、召回率、F1值作为客观评价指标,以评价检测能力。精确率、召回率分别如式(6)和式(7)所示:

$ P=\frac{{T}_{\mathrm{T}\mathrm{P}}}{{T}_{\mathrm{T}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{P}}} $ (6)
$ R=\frac{{T}_{\mathrm{T}\mathrm{P}}}{{T}_{\mathrm{T}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{N}}} $ (7)

其中:TTP表示把非法交易判定为非法交易的数量;FFP表示把合法交易判定为非法交易的数量;FFN表示把非法交易判定为合法交易的数。P值越高,表示检测精确率越高。R值越高,表示样本中非法交易被正确预测的比例越高。精确率和召回率会相互影响,精确率提高,召回率则会降低。为综合衡量两者的关系,F1值定义如下:

$ \mathrm{F}1=\frac{2{T}_{\mathrm{T}\mathrm{P}}}{2{T}_{\mathrm{T}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{P}}+{F}_{\mathrm{F}\mathrm{N}}} $ (8)

F1对PR进行加权,F1值越高,方法的检测性能越好。

4.2 实验对比方法

本文使用逻辑回归(LR)[10]、随机森林(RF)[11]、多层感知机(MLP)[12]这3种基准机器学习方法[4]和图卷积网络(GCN)[13]检测非法交易。融入交易不可信度和扩增训练集对提高现有模型的检测性能具有重要意义。LR根据现有数据确定分类边界线,再拟定回归函数式并进行分类。RF是一种集成学习算法,由多棵决策树组成。MLP中的每个输入神经元接收一个数据特征,每个隐藏层的输出通过softmax进行变换,最后得到每个类别的概率向量。GCN则充分利用了图的结构信息。

4.3 实验环境与设计

实验环境:Java,MapReduce,Python3.8,PyTorch,处理器为Inter® CoreTM i7-8750H CPU @2.20 GHz,内存为16 GB。

Elliptic数据集(www.elliptic.co)是当前世界上最大(665 MB)、含标签、公开可用的比特币交易数据集[4]。由于该数据集所含交易数据量大且特征完善,因此本文在Elliptic数据集上进行分析和实验。在数据集中非法交易、合法交易、未标记交易占比分别为2%(4 545个)、21%(42 019个)和77%。每个交易有94个本地特征(记为LF),表示交易本身的特征;有72个聚合特征(记为AF),表示邻居交易特征。交易数据时间跨度约为2周,分为49个时间段,记为T1~T49,在同一个时间段内交易互相关联且具有时序性,在不同时间段之间的交易无关联。不同时间段所含交易总量和非法交易数量均不同。

本文选择非法交易数量达到200以上的T20,T29和T32,将交易不可信度作为唯一特征,利用LR模型检测非法交易。训练集与测试集的比例为8:2。

本文选取非法交易数量达到300以上的T29,将不可信度融入到LR、RF、MLP和GCN分类模型检测非法交易。训练集与测试集的比例为8:2,即在一定时间序列上,前80%交易作为训练集,后20%交易作为测试集。在训练集中非法交易初始化为1,训练集中其他交易和测试集中所有交易初始化为0。本文通过计算交易不可信度并扩增非法交易样本,将最新的不可信度(记为R)和Elliptic数据集中原有特征合并,验证本文方法的有效性。实验采用两种合并方式,先把R和LF合并,再把R和LF、AF合并,最后分别使用LR、RF、MLP、GCN分类模型检测非法交易。

4.4 结果分析

当不可信度流动式(3)中的$ \beta $取值0.60~0.85时,实验分类结果较优且基本稳定。本文实验的$ \beta $设为均值0.7。LR使用sklearn Python包默认参数。RF使用sklearn Python包,设置n_estimators=50,max_features=50。MLP使用PyTorch框架,neurons=50,epoch为10,采用Adam优化,学习率为0.001。GCN使用torch_geometric框架,epoch为1 000。

4.4.1 非法交易预测

本文将交易不可信度作为唯一特征,在数据集T20、T29和T32上,利用LR分类模型检测非法交易类型的精确率、召回率,如表 1所示。

下载CSV 表 1 在不同数据集上LR模型的非法交易检测结果 Table 1 Illicit transaction detection results of LR model on different datasets 

LR分类模型的精确率可达91%~100%,但召回率较低。在交易网络中因交易缺失阻断不可信度的传递,导致很多非法交易无法找到他们引用的交易,难以得到准确的不可信度,因此召回率较低。此外,交易网络存在一些散发的非法交易,仅利用不可信度检测很难发现该交易。对于这些交易只能利用交易特征判别其交易类型。为利用LR检测精确率高的优点,避免召回率低的缺点,本文提出融合不可信度R和交易特征来检测非法交易。

4.4.2 交易不可信度与扩增训练集融合结果

本文在数据集上加入不可信度R和扩增训练集,与仅用本地特征LF和聚合特征AF检测进行对比。

在Elliptic数据集中未知交易占比达77%,实验中测试集的未知类型交易会被预测为合法交易或非法交易。本文将未知类型的交易剔除后进行结果评估。LR、RF、MLP和GCN分类模型加入不可信度R后和扩增训练集的非法交易检测结果分别如表 2~表 5所示。

下载CSV 表 2 LR模型非法交易检测结果 Table 2 Illicit transaction detection results of LR model 
下载CSV 表 3 RF模型的非法交易检测结果 Table 3 Illicit transaction detection results of RF model 
下载CSV 表 4 MLP模型的非法交易检测结果 Table 4 Illicit transaction detection results of MLP model 
下载CSV 表 5 GCN模型的非法交易检测结果 Table 5 Illicit transaction detection results of GCN model 

从表中可以看出,加入不可信度R后,LR、RF、MLP和GCN分类模型的F1值均有所提高,说明不可信度R能够有效提高模型的检测能力,其原因为在非法交易之间有关联关系,非法性具有可传递性,交易不可信度能直接反映交易的非法性,相比仅用交易一般特征判断更准确。交易不可信度和交易一般特征共同作用得到更好的分类效果。在本地特征LF和聚合特征AF中加入不可信度R后,LR、RF、MLP、GCN这4种模型的精确率分别平均提高11.19%、0.64%、12.45%、0.29%,召回率分别平均提高4.54%、0.65%、24.03%、4.55%。GCN的精确率虽然仅略微提高,但F1值提高3.75%。GCN基于邻居交易特征利用交易网络拓扑结构对邻居交易信息进行刻画,而本文提出的不可信度是根据交易网络对不可信度直接刻画。因此,融合不可信度后,模型召回率明显提高。从表 3可以看出,RF模型使用本地特征LF和聚合特征AF检测时,精确率、召回率已达到93%~97%,加入不可信度R后,精确率、召回率只有略微提高。因此,R对检测非法交易的有效性与选择模型有关。

模型对交易进行分类后,得到交易的合法和非法概率,记为P(交易y合法)和P(交易y非法),两者和为1。加入交易不可信度后,以逻辑回归为例,67.5%的非法交易获得更高的P(交易y非法),58.4%的合法交易获得更高的P(交易y合法)。预测概率的变化直接导致上述分类精确率和召回率的提高,验证了不可信度对非法交易检测的有效性。

表 2表 4表 5可以看出,本文通过LR检测得到的非法交易对训练集进行迭代。在扩增训练集后,LR、MLP和GCN模型的F1值均提高。LR、GCN的精确率平均提高0.6%、0.985%,召回率平均提高1.95%、2.6%。MLP的精确率略微降低,召回率提高1.95%。由于扩增数据集时会加入一些有假阳性的交易,因此分类结果精确率略微降低,对RF模型的影响较为明显,精确率平均降低了3.1%。召回率和F1值提高,说明扩增训练集能够有效提高LR、MLP和GCN模型的检测能力。

5 结束语

本文设计基于交易不可信度的比特币非法交易检测方法。定义交易不可信度,通过量化交易不可信度并构建不可信度计算模型,同时把交易不可信度融合到已有的判别模型中,提高模型的检测能力。针对非法交易样本不足的问题,本文在量化交易不可信度的基础上,通过迭代训练集的方式扩增非法交易样本。实验结果表明,该方法能够有效提高非法交易的精确率和召回率。后续将针对实时交易的非法检测问题进行研究,进一步优化本文方法的实时性。

参考文献
[1]
SQUAREPANTS S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. [2021-08-25]. https://courses.cs.washington.edu/courses/csep552/18wi/papers/nakamoto-bitcoin.pdf.
[2]
张亮, 刘百祥, 张如意, 等. 区块链技术综述[J]. 计算机工程, 2019, 45(5): 1-12.
ZHANG L, LIU B X, ZHANG R Y, et al. Overview of blockchain technology[J]. Computer Engineering, 2019, 45(5): 1-12. (in Chinese)
[3]
ATAMER I. Bitcoin scams & cryptocurrency fraud[EB/OL]. [2021-08-25]. https://arxiv.org/abs/1758.02591.
[4]
WEBER M, DOMENICONI G, CHEN J, et al. Anti-money laundering in Bitcoin: experimenting with graph convolutional networks for financial forensics[EB/OL]. [2021-08-25]. https://arxiv.org/abs/1908.02591.
[5]
CRAWFORD J, GUAN Y. Knowing your Bitcoin customer: money laundering in the Bitcoin economy[C]//Proceedings of the 13th International Conference on Systematic Approaches to Digital Forensic Engineering. Washington D. C., USA: IEEE Press, 2020: 1-10.
[6]
SICIGNANO G J. Money laundering using cryptocurrency: the case of Bitcoin![EB/OL]. [2021-08-25]. https://arxiv.org/abs/1908.02911.
[7]
HOUT M V, BINGHAM T. Responsible vendors, intelligent consumers: silk road, the online revolution in drug trading[J]. Int J Drug Policy, 2014, 25(2): 183-189. DOI:10.1016/j.drugpo.2013.10.009
[8]
GODSIFF P. Bitcoin: bubble or blockchain[M]. Berlin, Germany: Springer International Publishing, 2015.
[9]
HARLEV M A, YIN H S, LANGENHELDT K C, et al. Breaking bad: de-anonymising entity types on the Bitcoin blockchain using supervised machine learning[C]//Proceedings of the 51st Hawaii International Conference on System Sciences. Washington D. C., USA: IEEE Press, 2018: 1-10.
[10]
MENARD S. Logistic regression[J]. American Statistician, 2004, 58(4): 364.
[11]
BREIMAN L. Random forests, machine learning 45[J]. Journal of Clinical Microbiology, 2001, 2: 199-228.
[12]
AHR M, BIEHL M, SCHLÖSSER E. Multilayer neural networks[M]. Berlin, Germany: Springer, 2004.
[13]
KIPF T N, WELLING M. Semi-supervised classification with graph convolutional networks[EB/OL]. [2021-08-25]. https://arxiv.org/pdf/1609.02907.pdf.
[14]
PAREJA A, DOMENICONI G, CHEN J, et al. EvolveGCN: evolving graph convolutional networks for dynamic graphs[EB/OL]. [2021-08-25]. https://arxiv.org/pdf/1902.10191.pdf.
[15]
PATIL V R, NIKAN A P, PAWAR J S, et al. Bitcoin fraud detection using data mining approach[J]. Journal of Information Technology and Sciences, 2018, 4(2): 1-10.
[16]
ANDROULAKI E, KARAME O G, ROESCHLIN M, et al. Evaluating user privacy in Bitcoin[C]//Proceedings of International Conference on Financial Cryptography and Data Security. Berlin, Germany: Springer, 2012: 34-51.
[17]
MEIKLEJOHN S, POMAROLE M, JORDAN G, et al. A fistful of Bitcoins: characterizing payments among men with no names[J]. Communications of the ACM, 2016, 59(4): 86-93.
[18]
SUN YIN H H, LANGENHELDT K, HARLEV M, et al. Regulating cryptocurrencies: a supervised machine learning approach to de-anonymizing the Bitcoin blockchain[J]. Journal of Management Information Systems, 2019, 36(1): 37-73.
[19]
LIN Y J, WU P W, HSU C H, et al. An evaluation of Bitcoin address classification based on transaction history summarization[EB/OL]. [2021-08-25]. https://arxiv.org/pdf/1903.07994.pdf.
[20]
JOURDAN M, BLANDIN S, WYNTER L, et al. Characterizing entities in the Bitcoin blockchain[C]//Proceedings of IEEE International Conference on Data Mining Workshops. Washington D. C., USA: IEEE Press, 2018: 1-10.
[21]
JUHÁSZ P L, STÉGER J, KONDOR D, et al. A Bayesian approach to identify Bitcoin users[EB/OL]. [2021-08-25]. https://arxiv.org/abs/1612.06747.
[22]
WU J, LIU J, CHEN W, et al. Detecting mixing services via mining Bitcoin transaction network with hybrid motifs[EB/OL]. [2021-08-25]. https://arxiv.org/abs/2001.05233.
[23]
ANZAI Y. Pattern recognition and machine learning[M]. Amsterdam, Netherlands: Elsevier, 1992.
[24]
张立军, 袁能文. 线性综合评价模型中指标标准化方法的比较与选择[J]. 统计与信息论坛, 2010, 25(8): 10-15.
ZHANG L J, YUAN N W. Comparison and selection of index standardization method in linear comprehensive evaluation model[J]. Statistics & Information Forum, 2010, 25(8): 10-15. (in Chinese)