譚朋柳 周葉
摘 要:公有鏈因?yàn)橥该鞴_而面臨著眾多惡意交易和非法加密活動(dòng)的問題,這造成了區(qū)塊鏈出現(xiàn)異常交易,對(duì)用戶的資產(chǎn)和信息安全造成嚴(yán)重?fù)p害。針對(duì)區(qū)塊鏈異常交易問題,提出一種關(guān)注區(qū)塊鏈?zhǔn)聞?wù)圖局部結(jié)構(gòu)鄰節(jié)點(diǎn)特征與聯(lián)系,基于圖注意神經(jīng)網(wǎng)絡(luò)(graph attention network,GAT)與支持向量機(jī)(support vector machine,SVM)相融合的區(qū)塊鏈異常交易檢測(cè)方法——GAS(graph attention network and support vector machine)。采用隨機(jī)森林對(duì)節(jié)點(diǎn)交易數(shù)據(jù)特征進(jìn)行重要性評(píng)估,并選取降序排列后前140個(gè)重要特征,再結(jié)合鄰節(jié)點(diǎn)特征,利用GAT對(duì)當(dāng)前節(jié)點(diǎn)進(jìn)行特征更新,更新后的特征作為SVM的輸入,從而實(shí)現(xiàn)異常檢測(cè)。實(shí)驗(yàn)結(jié)果表明,相比非融合方法,GAS檢測(cè)結(jié)果性能更優(yōu),準(zhǔn)確率可達(dá)98.11%,精度可達(dá)94.01%以及召回率可達(dá)85.48%。
關(guān)鍵詞:區(qū)塊鏈; 圖注意力神經(jīng)網(wǎng)絡(luò); 異常交易檢測(cè); 支持向量機(jī)
中圖分類號(hào):TP311.13;TP309?? 文獻(xiàn)標(biāo)志碼:A?? 文章編號(hào):1001-3695(2024)01-003-0021-05
doi:10.19734/j.issn.1001-3695.2023.05.0207
Blockchain anomaly transaction detection based on GAT and SVM
Abstract:Public chains face numerous problems of malicious transactions and illegal cryptographic activities because of their transparency and openness, which cause anomalous transactions in blockchains and cause serious damage to users assets and information security. To address the problem of blockchain abnormal transactions, this paper proposed a blockchain abnormal transaction detection method based on the fusion of GAT and SVM, which focused on the features and connections of the local structure of the blockchain transaction graph neighbor nodes——GAS. In GAS, it utilized the random forest to evaluate the importance of transaction data features of nodes, and selected the top 140 important features in descending order. Then, combining with the features of neighboring nodes, it used GAT to update the features of the current node. The updated features served as input to SVM for anomaly detection. Experimental results demonstrate that compared to non-integrated methods, GAS shows superior performance in detecting anomalies, with an accuracy rate of 98.11%, precision of 94.01%, and recall rate of 85.48%.
Key words:blockchain; graph attention network; abnormal transaction detection; SVM
0 引言
區(qū)塊鏈?zhǔn)且粋€(gè)開放式數(shù)據(jù)平臺(tái),在這個(gè)平臺(tái)上產(chǎn)生的交易會(huì)被礦工打包至區(qū)塊并上鏈,且所有的交易都會(huì)被記錄在鏈上。區(qū)塊鏈網(wǎng)絡(luò)中賬戶的資產(chǎn)以及交易記錄都是透明公開的,它們會(huì)直接顯示在每個(gè)區(qū)塊上,這種透明性為存儲(chǔ)區(qū)塊鏈交易數(shù)據(jù)提供了便捷[1],使得交易的記錄和資產(chǎn)的流轉(zhuǎn)變得更加高效。區(qū)塊鏈這種分布式加密賬本以移除第三方的形式實(shí)現(xiàn)了去中心化、低成本、點(diǎn)對(duì)點(diǎn)的交易,被廣泛地應(yīng)用于金融、醫(yī)療、物流、物聯(lián)網(wǎng)和其他領(lǐng)域[2]。但區(qū)塊鏈自身去中心化、全球流通和匿名性性質(zhì)也帶來了鏈上交易的異常安全問題,常見的安全問題有攻擊、騙局、賬戶異常行為、私鑰泄露以及智能合約安全漏洞等[3],其中雙花攻擊(使用同一筆加密貨幣支付給不同的賬戶進(jìn)行多次交易)、交易數(shù)據(jù)造假、價(jià)格操縱、洗錢、勒索和頻繁惡意操作以及區(qū)塊鏈上的不符合正常交易規(guī)則或有問題的交易等構(gòu)成了區(qū)塊鏈上的異常交易。特別地,區(qū)塊鏈中比特幣等虛擬貨幣的加入讓網(wǎng)絡(luò)和金融領(lǐng)域的犯罪分子日益增多,他們將加密貨幣作為犯罪工具,實(shí)施敲詐、欺詐和洗錢等。例如,2018年,日本Coincheck虛擬貨幣交易所,其不幸被黑客攻擊,價(jià)值約580億日元新經(jīng)幣被竊?。?]。同年2月,加密貨幣創(chuàng)業(yè)公司BeeToken遭到網(wǎng)絡(luò)釣魚攻擊,損失的以太幣價(jià)值超過100萬(wàn)美元。至2020年,全球加密貨幣交易中,有0.34%屬于非法交易,總值高達(dá)100億美元。而在2021年,大約有0.15%的加密貨幣交易牽扯到網(wǎng)絡(luò)犯罪、洗錢和恐怖主義融資等活動(dòng),欺詐案件[4]涉及資金總額約為140億美元。2022年,加密貨幣非法交易犯罪金額超過200億美元,創(chuàng)下歷史新高,這種情況對(duì)區(qū)塊鏈技術(shù)的發(fā)展造成了負(fù)面影響。
在此背景下,有關(guān)區(qū)塊鏈交易的違法活動(dòng)層出不窮。為了應(yīng)對(duì)這些違規(guī)性問題,現(xiàn)有的區(qū)塊鏈交易異常檢測(cè)方法大多考慮的是通過獲取交易記錄構(gòu)建交易圖,對(duì)交易記錄中實(shí)體和地址進(jìn)行識(shí)別且分類,或是對(duì)以太坊上智能合約漏洞檢測(cè)[5]以及異常交易行為檢測(cè)[6]。部分研究忽略了交易賬戶實(shí)體與實(shí)體之間存在的潛在聯(lián)系,這種潛在聯(lián)系體現(xiàn)于鄰節(jié)點(diǎn)的特性上,當(dāng)以賬戶實(shí)體作為交易圖中一個(gè)節(jié)點(diǎn)時(shí),當(dāng)前節(jié)點(diǎn)其鄰域內(nèi)的鄰居節(jié)點(diǎn)交易特征包含了當(dāng)前節(jié)點(diǎn)的交易信息,例如,鄰節(jié)點(diǎn)是當(dāng)前節(jié)點(diǎn)發(fā)起交易的對(duì)象,惡意節(jié)點(diǎn)的交易對(duì)象可能是惡意節(jié)點(diǎn)或是良性節(jié)點(diǎn)等。而忽略這種潛在聯(lián)系,不利于找到不同節(jié)點(diǎn)之間多維度的關(guān)聯(lián),因而降低了檢測(cè)準(zhǔn)確率。
大數(shù)據(jù)時(shí)代,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)技術(shù)學(xué)習(xí)能力強(qiáng),應(yīng)用領(lǐng)域廣泛,擴(kuò)展了人工智能的極限,開辟了新的可能性。同時(shí),機(jī)器學(xué)習(xí)作為人工智能子集,其中包含如K最鄰近、決策樹、支持向量機(jī)等有監(jiān)督學(xué)習(xí),在分類預(yù)測(cè)問題上表現(xiàn)良好。因此,本文利用深度學(xué)習(xí)與機(jī)器學(xué)習(xí)模型進(jìn)行結(jié)合,對(duì)區(qū)塊鏈異常交易檢測(cè)進(jìn)行研究,提出一種將GAT[7]與機(jī)器學(xué)習(xí)SVM[8]融合的方法用于異常交易數(shù)據(jù)檢測(cè),在特征處理時(shí)主要采用GAT對(duì)區(qū)塊鏈?zhǔn)聞?wù)圖結(jié)構(gòu)當(dāng)前節(jié)點(diǎn)實(shí)現(xiàn)特征更新,更新后的數(shù)據(jù)將利用支持向量機(jī)來處理,以此提高檢測(cè)準(zhǔn)確率。
1 相關(guān)工作
區(qū)塊鏈可以實(shí)現(xiàn)數(shù)據(jù)安全共享,以交易的形式將數(shù)據(jù)發(fā)布到區(qū)塊鏈中,充分發(fā)揮了數(shù)據(jù)價(jià)值[9]。區(qū)塊鏈中加密貨幣以比特幣為例,總市值接近330億美元[10],其去中心化無(wú)須可信任第三方就能通過區(qū)塊鏈平臺(tái)進(jìn)行交易的交易模式,使得交易中容易存在非法犯罪活動(dòng)等異常交易,嚴(yán)重威脅區(qū)塊鏈的健康發(fā)展,這給區(qū)塊鏈的安全測(cè)評(píng)及異常檢測(cè)帶來了極大的挑戰(zhàn)。
在多數(shù)異常檢測(cè)研究中,機(jī)器學(xué)習(xí)是常用的方法。機(jī)器學(xué)習(xí)中的SVM算法基于結(jié)構(gòu)化最小化原則,泛化能力強(qiáng),可以解決高維問題,被廣泛使用。例如,胡海洋等人[11]提取數(shù)據(jù)的高維特征來訓(xùn)練降噪自編碼器,自編碼器將數(shù)據(jù)特征降維后,使用one-class單分類支持向量機(jī)進(jìn)行二次異常事件檢測(cè)。朱佳佳等人[12]同樣將改進(jìn)的SVM算法用于異常流量檢測(cè)。目前,在區(qū)塊鏈的異常交易檢測(cè)領(lǐng)域有大量的研究。針對(duì)一些特定的異常交易行為,Wu等人[13]提出了一種名為trans2vec的網(wǎng)絡(luò)嵌入算法,基于收集到的交易記錄,并參照交易量和時(shí)間戳建立交易網(wǎng)絡(luò),通過提取地址特征,運(yùn)用one-class單分類支持向量機(jī)模型,實(shí)現(xiàn)異常檢測(cè)。2019年,Lin等人[14]利用與賬戶實(shí)體有關(guān)的交易記錄或特定的地址來識(shí)別不常見的地址,利用監(jiān)督的機(jī)器學(xué)習(xí)方法對(duì)交易歷史特征進(jìn)行檢測(cè),最后Light-GBM獲得了不錯(cuò)的效果。2021年,沈蒙等人[15]制定異常行為判定規(guī)則,抽象出了兩種異常交易行為,即空投糖果和貪婪注資,這些可以與其他不同類別的異常交易行為相關(guān)聯(lián),從而創(chuàng)建比特幣異常交易行為真值集,在動(dòng)機(jī)分析基礎(chǔ)下利用子圖匹配技術(shù)實(shí)現(xiàn)比特幣異常交易行為檢測(cè)。2022年3月,陳彬杰等人[16]提出了具有隱私保護(hù)功能的聯(lián)盟鏈異常交易檢測(cè)方案,將提取后的交易數(shù)據(jù)采用矩陣乘法對(duì)其隨機(jī)化,然后發(fā)至云服務(wù)器,云服務(wù)器使用KNN分類學(xué)習(xí)算法進(jìn)行檢測(cè)。2022年10月,林偉[17]根據(jù)區(qū)塊鏈交易數(shù)據(jù)的特點(diǎn),多特征融合后處理成不同的拼接特征向量,以此構(gòu)建多特征融合模型(multi feature fusion,MFF)模型。
區(qū)塊鏈交易研究中,把數(shù)據(jù)特征轉(zhuǎn)換為交易事務(wù)圖作為重點(diǎn)的研究方法相對(duì)較少。2016年,Pham[18,19]采用冪律和網(wǎng)絡(luò)視圖濃縮法對(duì)比特幣用戶圖和交易圖進(jìn)行特征提取,緊接著應(yīng)用局部離群因子(LOF)、基于馬蘭諾比斯距離(Mahalanobis distance-based,MDB)以及one-class SVM單分類支持向量機(jī)三種方法對(duì)數(shù)據(jù)進(jìn)行檢測(cè)。2018年,Jourdan等人[20]分析比特幣交易圖中賬戶實(shí)體交易模式,以及與該交易模式有關(guān)聯(lián)的賬戶實(shí)體所涵蓋的信息,選出重要特征并利用特征來描述屬性,根據(jù)每個(gè)實(shí)體關(guān)聯(lián)的類別的方法進(jìn)行分類,將模型分為具有淺層數(shù)據(jù)挖掘知識(shí)的弱小攻擊者與強(qiáng)攻擊,分別使用兩種模型進(jìn)行檢測(cè),最終結(jié)果獲得了較高的分類精度。2019年,Weber等人[4]使用Elliptic發(fā)布的區(qū)塊鏈數(shù)據(jù),使用邏輯回歸(LR)、隨機(jī)森林(RF)、多層感知器(MLP)和圖卷積網(wǎng)絡(luò)(GCN)的變體來預(yù)測(cè)非法交易,并得出結(jié)論,GCN變體在以上方法中表現(xiàn)最為出色。2019年1月,Chen等人[21]提出了一種探索交易所交易網(wǎng)絡(luò)的方法,主要分析了Mt. Gox交易所以及其他六個(gè)交易市場(chǎng),根據(jù)交易金額特征分為三類地址并構(gòu)建三種交易圖,將得到的交易圖特征序列作為矩陣進(jìn)行重構(gòu),利用主成分分析法(類似于SVD,奇異值分解)評(píng)估賬戶交易行為對(duì)比特幣價(jià)格的影響。朱會(huì)娟等人[22]基于交易事務(wù)圖,提出了一種殘差網(wǎng)絡(luò)結(jié)構(gòu) ResNet-32和三種自適應(yīng)特征融合方法,分別是RRCF(ResNet and raw concat fusion)、RRSF(ResNet and raw supervised fusion)和 RRUF(ResNet and raw unsupervised fusion),這些技術(shù)探索了高層抽象特征與淺層原始特征之間的優(yōu)勢(shì)互補(bǔ)關(guān)系,自動(dòng)學(xué)習(xí)不同特征的權(quán)重,抑制噪聲信息,分析高層與淺層交叉特征信息,以此獲得最具識(shí)別能力的特征來提高區(qū)塊鏈異常交易檢測(cè)性能。2022年,張曉琦等人[23]針對(duì)區(qū)塊鏈圖結(jié)構(gòu)提出一種網(wǎng)絡(luò)表示學(xué)習(xí)模型DeepWalk-Ba用于特征提取,再使用機(jī)器學(xué)習(xí)算法進(jìn)行異常檢測(cè)。Chen等人[24]考慮到動(dòng)態(tài)事務(wù)圖,針對(duì)以太坊釣魚欺詐地址的檢測(cè),利用真實(shí)的以太坊交易歷史數(shù)據(jù)生成交易網(wǎng)絡(luò)圖數(shù)據(jù),將圖自監(jiān)督學(xué)習(xí)技術(shù)引入到圖節(jié)點(diǎn)分類模型中的編碼器中,該方法將許多基本模型集成在一起,用于檢測(cè)欺詐行為。
上述工作為區(qū)塊鏈異常交易檢測(cè)提供了良好的基礎(chǔ),研究者們通過在區(qū)塊鏈異常交易特征的特征處理中考慮對(duì)所有交易特征進(jìn)行挖掘,即考慮全局圖結(jié)構(gòu),但大多沒有考慮到交易事務(wù)圖中局部圖結(jié)構(gòu)中鄰居節(jié)點(diǎn)對(duì)當(dāng)前節(jié)點(diǎn)的影響,圖局部結(jié)構(gòu)的研究十分欠缺。因此,本文提出了一種基于GAT圖注意力機(jī)制網(wǎng)絡(luò),關(guān)注區(qū)塊鏈局部事務(wù)圖結(jié)構(gòu)鄰居節(jié)點(diǎn)特征并與SVM融合的方法,獲取鄰居節(jié)點(diǎn)特征,考慮離散且高維度特征,根據(jù)鄰居節(jié)點(diǎn)權(quán)重實(shí)現(xiàn)當(dāng)前節(jié)點(diǎn)自我特征更新,更新后的特征用于異常交易檢測(cè)。這對(duì)于區(qū)塊鏈異常交易檢測(cè)的研究?jī)r(jià)值和優(yōu)化潛力具有極大意義。
2 基于GAT與SVM的區(qū)塊鏈異常交易檢測(cè)方法
2.1 數(shù)據(jù)集介紹
Elliptic區(qū)塊鏈加密貨幣數(shù)據(jù)分析公司致力將區(qū)塊鏈分析用于金融犯罪防范,全球三分之二的加密貨幣交易量是使用 Elliptic的交易所進(jìn)行,該公司對(duì)區(qū)塊鏈上實(shí)體之間的比特幣交易流記錄進(jìn)行展示,此舉為加密貨幣領(lǐng)域的違規(guī)性問題提供了解決方案。該公司于2019年發(fā)布了Elliptic數(shù)據(jù)集[4]。該數(shù)據(jù)集將比特幣交易的對(duì)象映射為兩種真實(shí)實(shí)體類型,即合法類型(例如交易所、錢包提供商、礦工、合法服務(wù)等)與非法類型(例如騙局、惡意軟件、恐怖組織、勒索軟件、龐氏騙局等)。數(shù)據(jù)收集階段共分為49個(gè)時(shí)間步長(zhǎng),根據(jù)最初的比特幣交易數(shù)據(jù),將每個(gè)實(shí)體抽象為簡(jiǎn)單節(jié)點(diǎn),比特幣資金流向表示為邊,以此構(gòu)建交易事務(wù)圖。圖中節(jié)點(diǎn)大約有203 000,有向邊約為234 000。已知類型的節(jié)點(diǎn)與未知類型節(jié)點(diǎn)比例為46 564∶157 205,已知類型中合法交易實(shí)體節(jié)點(diǎn)與非法交易實(shí)體節(jié)點(diǎn)比例為42 019∶4 545。對(duì)每個(gè)節(jié)點(diǎn)而言,其關(guān)聯(lián)了166個(gè)特征,這些特征涵蓋多個(gè)方面,前94個(gè)特征表示如時(shí)間步長(zhǎng)、交易筆數(shù)、交易費(fèi)用,以及輸入/輸出數(shù)量和總計(jì)交易數(shù)等有關(guān)交易的本地信息;后72個(gè)特征稱為聚合特征,聚合特征是基于圖結(jié)構(gòu)邊的方向,從中心節(jié)點(diǎn)分別向前或向后跳一定距離收集交易信息而得到的。在這 72 種交易信息和屬性中,包括輸入/輸出數(shù)量、交易費(fèi)用等數(shù)據(jù)的最大值、最小值、標(biāo)準(zhǔn)差和相關(guān)系數(shù)等指標(biāo)。
2.2 GAS檢測(cè)方法
2.2.1 圖注意力網(wǎng)絡(luò)
圖注意力網(wǎng)絡(luò)(graph attention network,GAT)是在GCN的基礎(chǔ)上,用注意力機(jī)制對(duì)鄰居節(jié)點(diǎn)特征加權(quán)求和的一種方法。GAT用注意力機(jī)制來替代GCN中固定的標(biāo)準(zhǔn)化操作,網(wǎng)絡(luò)中允許每個(gè)節(jié)點(diǎn)關(guān)注鄰域內(nèi)的其他鄰居節(jié)點(diǎn),忽略全局結(jié)構(gòu)信息,利用自注意網(wǎng)絡(luò)層(masked self-attention layer),通過堆疊該層,獲取每個(gè)節(jié)點(diǎn)周圍鄰居節(jié)點(diǎn)特征,對(duì)鄰域中的不同節(jié)點(diǎn)可分配不同的權(quán)重,再根據(jù)函數(shù)計(jì)算實(shí)現(xiàn)當(dāng)前節(jié)點(diǎn)特征更新。GAT網(wǎng)絡(luò)對(duì)節(jié)點(diǎn)特征進(jìn)行更新的具體步驟如下,首先計(jì)算交易事務(wù)圖中各個(gè)節(jié)點(diǎn)的注意力值,注意力值為
eij=(aT[Whi‖Whj])(1)
其中:eij表示節(jié)點(diǎn)i與節(jié)點(diǎn)j的注意力值,即節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的影響力系數(shù);h={h1,h2,…,hN}表示節(jié)點(diǎn)輸入特征,hi∈RApF,F(xiàn)表示節(jié)點(diǎn)的特征維數(shù);aT表示權(quán)重向量;T表示轉(zhuǎn)置;W表示每個(gè)節(jié)點(diǎn)上應(yīng)用的線性變換權(quán)重矩陣,為可學(xué)習(xí)參數(shù),在自注意層,每一層的aT與W是相同的;hi為節(jié)點(diǎn)i的特征向量;hj為節(jié)點(diǎn)j的特征向量。將注意力值與鄰域節(jié)點(diǎn)注意力值的總和進(jìn)行比值得到注意力分?jǐn)?shù)αij,αij可表示為
其中:αij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j的注意力分?jǐn)?shù);k為鄰居節(jié)點(diǎn);Ni為節(jié)點(diǎn)i的一部分鄰節(jié)點(diǎn)個(gè)數(shù);LeakyReLU為激活函數(shù)。最后得出的新特征值為
h′i=σ(Σj∈NiαijWhj)(3)
其中:h′i為節(jié)點(diǎn)i更新后的特征向量;σ為激活函數(shù);W同上。
2.2.2 支持向量機(jī)
支持向量機(jī)(support vector machine,SVM)是一種廣泛應(yīng)用于分類、回歸和離群點(diǎn)檢測(cè)等領(lǐng)域的機(jī)器學(xué)習(xí)方法。其基本想法是在特征空間中尋找一個(gè)超平面,將不同類別的樣本分開。其中,距離超平面最近的一些數(shù)據(jù)點(diǎn)被稱為支持向量。線性支持向量機(jī)算法如下:
輸入:給定一個(gè)由N組樣本(x1,y1),(x2,y2),…,(xn,yn)組成的訓(xùn)練數(shù)據(jù)集,其中xi∈RApn,yi∈{-1,1},w和b是模型參數(shù)。
輸出:分離超平面和分類決策函數(shù)。
a)構(gòu)造并求解約束最優(yōu)化問題:
求得最優(yōu)解w,b。
b)由此得到分離超平面與分類決策函數(shù):
w*·x+b=0(6)
f(x)=sign(w·x+b)(7)
非線性支持向量機(jī)則可采用核函數(shù)將輸入特征映射到高維空間來構(gòu)建一個(gè)非線性決策面,令φ(x)表示將x映射到高維空間后的特征向量,決策函數(shù)為
f(x)=wTφ(x)+b(8)
其中:w是在高維空間中的權(quán)重值;b是偏置項(xiàng)。
2.2.3 GAS整體結(jié)構(gòu)
本文結(jié)合了深度學(xué)習(xí)與機(jī)器學(xué)習(xí)思想,利用GAT對(duì)交易原始的數(shù)據(jù)特征進(jìn)行特征更新,并集成SVM基礎(chǔ)模型,集成后的方法稱為GAS。在第一階段采用隨機(jī)森林對(duì)特征進(jìn)行重要性評(píng)估,選取評(píng)估結(jié)果高的特征。同時(shí),本文考慮到交易事務(wù)圖局部結(jié)構(gòu),在第二階段將特征選取的結(jié)果作為GAT網(wǎng)絡(luò)模型輸入,結(jié)合鄰居節(jié)點(diǎn)交易特征,利用網(wǎng)絡(luò)模型中掩模自注意層(masked self-attention layer)實(shí)現(xiàn)當(dāng)前節(jié)點(diǎn)特征更新,并將集聚更新后的節(jié)點(diǎn)特征輸出,集聚新特征作為第三階段SVM分類器的輸入,以此完成整個(gè)異常交易檢測(cè)過程。整體結(jié)構(gòu)如圖1所示。
區(qū)塊鏈交易事務(wù)圖中包含了點(diǎn)對(duì)點(diǎn)的有向流,同一個(gè)實(shí)體可對(duì)一個(gè)或多個(gè)其他實(shí)體發(fā)送交易請(qǐng)求并生成交易單,非法實(shí)體發(fā)起的交易被定義為異常交易,每一個(gè)實(shí)體作為一個(gè)節(jié)點(diǎn)都可能和與之相鄰的節(jié)點(diǎn)之間存在聯(lián)系。采用GAS方法可進(jìn)一步地關(guān)注局部圖結(jié)構(gòu)中鄰居節(jié)點(diǎn)的特征并且根據(jù)不同決定因素設(shè)置多頭注意力與權(quán)重值,捕獲圖結(jié)構(gòu)中數(shù)據(jù)存在的關(guān)系信息,最后利用SVM進(jìn)行異常檢測(cè)。
2.3 區(qū)塊鏈交易數(shù)據(jù)特征處理
Elliptic數(shù)據(jù)集中交易特征數(shù)據(jù)呈現(xiàn)非線性相關(guān)并伴隨多數(shù)離散值,根據(jù)此數(shù)據(jù)分布情況,本文將利用機(jī)器學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)融合的技術(shù)對(duì)區(qū)塊鏈交易特征進(jìn)行特征處理。
2.3.1 特征重要性評(píng)估與選取
重要特征的選取過程中能夠識(shí)別嘈雜特征、過濾掉冗余特征并找到與真實(shí)結(jié)果高度相關(guān)的特征變量。重要性評(píng)估結(jié)果相對(duì)較高的特征往往能夠有效幫助訓(xùn)練模型,防止模型過擬合。
機(jī)器學(xué)習(xí)中隨機(jī)森林(random forest,RF)[25]是一種監(jiān)督式學(xué)習(xí)算法,靈活且易于操作。隨機(jī)森林進(jìn)行特征重要性評(píng)估時(shí),可通過基尼不純度(Gini impurity)來衡量特征重要性。這實(shí)際上是在森林中對(duì)目標(biāo)變量估計(jì)價(jià)值重要性。Gini的平均遞減量(Gini mean decrease)為所有決策樹上相同特征節(jié)點(diǎn)的基尼遞減量(Gini decrease)的加權(quán)和,平均遞減量越高,表明特征的重要性越高。度量結(jié)構(gòu)如圖2所示。
為了解決圖注意力機(jī)制神經(jīng)網(wǎng)絡(luò)對(duì)特征卷積處理時(shí)計(jì)算成本高的問題,本文預(yù)先采用隨機(jī)森林對(duì)數(shù)據(jù)特征進(jìn)行重要性度量與選取,在隨機(jī)森林選取重要特征階段采用網(wǎng)格搜索[26]對(duì)最優(yōu)特征個(gè)數(shù)進(jìn)行求解,結(jié)果表明140個(gè)特征最佳。此處給出重要性得分排名前30的特征度量結(jié)果,如圖3所示。
圖3橫坐標(biāo)是重要性得分,縱坐標(biāo)是重要性得分排前30的特征。在以上過程中,本文把區(qū)塊鏈交易特征原始數(shù)據(jù)每一列特征標(biāo)上序號(hào),將已計(jì)算好得分的特征按照重要性降序排列并以一維數(shù)組的形式輸出重新加以存儲(chǔ)。
2.3.2 特征更新
本文利用交易事務(wù)圖中節(jié)點(diǎn)共享邊這一特性,挖掘鄰居節(jié)點(diǎn)的潛在信息,采用GAT中如圖4注意力機(jī)制結(jié)構(gòu)、圖5特征更新結(jié)構(gòu)進(jìn)行數(shù)據(jù)特征更新。
如圖4所示是GAT圖注意力網(wǎng)絡(luò)注意力機(jī)制結(jié)構(gòu),該結(jié)構(gòu)通過學(xué)習(xí)注意力權(quán)重來將鄰居節(jié)點(diǎn)的信息匯聚到當(dāng)前節(jié)點(diǎn)。
特征更新結(jié)構(gòu)如圖5所示,這樣可進(jìn)一步地關(guān)注局部圖結(jié)構(gòu)中鄰居節(jié)點(diǎn)的特征并且根據(jù)不同決定因素設(shè)置多頭注意力與權(quán)重值,捕獲圖結(jié)構(gòu)中數(shù)據(jù)存在的關(guān)系信息。
在GAT注意力網(wǎng)絡(luò)層中,針對(duì)性地選擇鄰居節(jié)點(diǎn)個(gè)數(shù),將每個(gè)鄰居節(jié)點(diǎn)的特征向量都賦予權(quán)重值,隱層狀態(tài)下計(jì)算注意力值eij,使用softmax函數(shù)對(duì)分?jǐn)?shù)進(jìn)行歸一化,利用分?jǐn)?shù)對(duì)隱層狀態(tài)每個(gè)頭部進(jìn)行加權(quán),得到注意力特征即為更新后的特征,新特征數(shù)據(jù)與節(jié)點(diǎn)標(biāo)簽匹配后重新覆蓋存儲(chǔ)。
2.3.3 異常交易分類檢測(cè)
根據(jù)Elliptic區(qū)塊鏈交易數(shù)據(jù)集中的標(biāo)簽,可將交易分為正常交易、異常交易與未知類別三類。異常分類檢測(cè)階段,將GAT輸出的140維度新特征作為SVM的輸入,本文利用正常交易與異常交易的標(biāo)簽數(shù)據(jù)來訓(xùn)練SVM模型,即完成二分類問題。具體結(jié)構(gòu)如圖6所示。
SVM接收GAT輸出的新特征數(shù)據(jù),提取其中正常、異常與未知類別交易的標(biāo)簽,將標(biāo)簽從正常與異常的交易分離出來,用于模型訓(xùn)練,未知標(biāo)簽用于測(cè)試,根據(jù)模型評(píng)估值不斷調(diào)整參數(shù)進(jìn)行優(yōu)化,得出最終模型,輸出檢測(cè)結(jié)果。
3 實(shí)驗(yàn)與分析
3.1 評(píng)估準(zhǔn)則
本文應(yīng)用機(jī)器學(xué)習(xí)常用的基于混淆矩陣評(píng)估準(zhǔn)則對(duì)模型進(jìn)行評(píng)估,其中運(yùn)用到準(zhǔn)確率(accuracy)、精確率(precision)、召回率(recall)和F1-score四個(gè)準(zhǔn)則。其定義分別為
其中:分類器正確分類的正例數(shù)據(jù)稱為真陽(yáng)性(true positive,TP);負(fù)例數(shù)據(jù)中被正確分類的稱為真陰性(true negative,TN);而被錯(cuò)誤標(biāo)記為正例數(shù)據(jù)的負(fù)例數(shù)據(jù)被稱為假陽(yáng)性(false positive,F(xiàn)P);錯(cuò)誤標(biāo)記為負(fù)例數(shù)據(jù)的正例數(shù)據(jù)則稱為假陰性(false negative,F(xiàn)N)。
3.2 實(shí)驗(yàn)環(huán)境及參數(shù)設(shè)置
本文實(shí)驗(yàn)使用一臺(tái)DELL臺(tái)式計(jì)算機(jī),搭載2.80 GHz的Intel Core i5-8400處理器與8 GB機(jī)帶RAM。實(shí)驗(yàn)過程利用Python的科學(xué)計(jì)算類庫(kù)PyTorch網(wǎng)絡(luò)框架與Sklearn算法庫(kù)搭建GAS并實(shí)現(xiàn)。模型參數(shù)設(shè)置中,特征更新階段,圖注意力網(wǎng)絡(luò)計(jì)算注意力值時(shí)本文采用tanh激活函數(shù),epochs為50,學(xué)習(xí)率為0.01,網(wǎng)絡(luò)隱層的輸出設(shè)置為64,模型輸出通道數(shù)設(shè)置為1;考慮到更多的鄰居節(jié)點(diǎn)特征,掩模自注意層多頭注意參數(shù)head設(shè)置為7,采用恒定注意力機(jī)制,相同架構(gòu)下每個(gè)鄰節(jié)點(diǎn)權(quán)重值設(shè)置為1;為了增加模型穩(wěn)定性與魯棒性,參數(shù)dropout設(shè)置為0.5,SVM模型中參數(shù)kernel為RBF高斯核函數(shù),C為180,gamma為auto。
3.3 模型評(píng)估及對(duì)比
本文將Elliptic區(qū)塊鏈交易數(shù)據(jù)中含有已知標(biāo)簽的數(shù)據(jù)進(jìn)行提取作為本次實(shí)驗(yàn)的數(shù)據(jù)集,采用10折交叉驗(yàn)證對(duì)數(shù)據(jù)集進(jìn)行劃分。為了體現(xiàn)GAS的有效性,實(shí)驗(yàn)將分為參照組與對(duì)比組。參照組對(duì)特征處理后的交易數(shù)據(jù)采取基礎(chǔ)模型進(jìn)行檢測(cè),其中所運(yùn)用到的學(xué)習(xí)算法簡(jiǎn)單介紹如下:
a)高斯樸素貝葉斯(Gaussian Nave Bayes,GNB)[27]假定樣本每個(gè)特征維度的條件概率均服從高斯分布,進(jìn)而再根據(jù)貝葉斯公式來計(jì)算得到新樣本在某個(gè)特征分布下其屬于各個(gè)類別的后驗(yàn)概率,最后通過極大化后驗(yàn)概率來確定樣本的所屬類別的一種方法。
b)K最鄰近(K-nearest neighbor,KNN)[28]是利用K個(gè)最近鄰居樣本將數(shù)據(jù)集合中每一個(gè)樣本進(jìn)行分類的方法。
c)邏輯回歸(logistic regression,LR)[29]通過代價(jià)函數(shù)尋找最優(yōu)解擬合模型參數(shù),其是一種廣義回歸分析類模型。
d)支持向量機(jī)以學(xué)習(xí)樣本求解最大邊距或超平面(maximum-margin hyperplane)為決策邊界,以此對(duì)數(shù)據(jù)進(jìn)行分類的一種方法。
參照組分別使用GNB、KNN、LR、SVM四個(gè)基礎(chǔ)學(xué)習(xí)算法,模型檢測(cè)的輸入為特征選取后具有140個(gè)特征的交易數(shù)據(jù),檢測(cè)結(jié)果如表1所示。
對(duì)比組中,GAS方法的輸入與參照組相同,即同樣采用參照組中特征選取后含有140個(gè)重要特征的交易數(shù)據(jù),同時(shí),為了體現(xiàn)特征更新操作可有效關(guān)注到鄰域節(jié)點(diǎn)的特征性質(zhì),實(shí)驗(yàn)基于GAT圖注意特征更新后分別融合GNB、KNN、LR算法進(jìn)行檢測(cè),檢測(cè)結(jié)果如表2所示。兩組實(shí)驗(yàn)都以accuracy、precision、recall、F1-score四個(gè)準(zhǔn)則為基準(zhǔn),進(jìn)行模型評(píng)估與比較。
參照組基礎(chǔ)模型作為GAS評(píng)估對(duì)比基準(zhǔn),將原始特征數(shù)據(jù)經(jīng)過隨機(jī)森林重要特征選取后利用機(jī)器學(xué)習(xí)分類。結(jié)果由上表1可知,高斯樸素貝葉斯模型accuracy處于最低,僅有63.71%,其recall與F1-score低于50%,其他分類器結(jié)果的accuracy均在96%~97%。KNN、LR、SVM分類器的precision、recall與F1-score的檢測(cè)結(jié)果值處于75%~95%。
在對(duì)比組中,由表2的實(shí)驗(yàn)結(jié)果可以得出, GAS與文獻(xiàn)[17, 22]中方法的檢測(cè)結(jié)果對(duì)比,GAS相比RRUF,accuracy與recall分別提高了0.26%、20.23%;與MFF相比,precision與recall也提高了1.13%與0.56%。結(jié)合表1與2可以看出,GAS方法得出的準(zhǔn)確率最高,accuracy比SVM提高了0.59%,達(dá)到了98.11%,其recall與F1-score也分別提高了7.51%、3.80%。而基于GAT圖注意力網(wǎng)絡(luò)分別融合單個(gè)分類器GNB、KNN、LR算法后,在GAT處理區(qū)塊鏈交易數(shù)據(jù)特征的基礎(chǔ)上,三個(gè)不同學(xué)習(xí)算法異常檢測(cè)的accuracy與precision均有所提升,部分模型的recall與F1-score也分別相應(yīng)提高。GAT與GNB融合后模型相比GNB,accuracy提高了9.76%,與KNN融合后四個(gè)評(píng)估準(zhǔn)則的檢測(cè)結(jié)果均有提高,GAT與LR融合后相比LR模型,precision提高值最大,為2.80%。
由此可以看出,本文提出的基于圖注意力網(wǎng)絡(luò)特征更新融合方法能夠結(jié)合事務(wù)圖的局部鄰域之間的關(guān)系,重組特征,使得分類檢測(cè)更加準(zhǔn)確,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)易選擇局部最優(yōu)解,而SVM能夠有效避免這種情況,找到分類全局最優(yōu)解,使得整體模型性能更佳。圖7~10中橫坐標(biāo)是學(xué)習(xí)算法,即基礎(chǔ)模型與GAS;縱坐標(biāo)是不同評(píng)估結(jié)果值。從圖7~10可以清晰直觀地看到融合模型在基礎(chǔ)模型評(píng)估性能上的提升。
4 結(jié)束語(yǔ)
近幾年,拓?fù)鋱D結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)技術(shù)在眾多領(lǐng)域成功應(yīng)用,這也為區(qū)塊鏈異常檢測(cè)技術(shù)帶來一個(gè)新的嘗試。在區(qū)塊鏈異常交易檢測(cè)問題上,本文圍繞深度學(xué)習(xí)與機(jī)器學(xué)習(xí)兩方面,將其相融合,結(jié)合兩者優(yōu)點(diǎn),提出了利用隨機(jī)森林與注意力神經(jīng)網(wǎng)絡(luò)對(duì)交易特征進(jìn)行篩選與更新,利用SVM機(jī)器學(xué)習(xí)分類器對(duì)特征更新后的數(shù)據(jù)進(jìn)行分類的GAS檢測(cè)方法。圖注意力神經(jīng)網(wǎng)絡(luò)能夠更好地關(guān)聯(lián)節(jié)點(diǎn),選擇鄰域內(nèi)預(yù)測(cè)標(biāo)簽的決定因素個(gè)數(shù),采樣節(jié)點(diǎn)特征計(jì)算相似度,而非結(jié)構(gòu)特征,挖掘不同程度的節(jié)點(diǎn)之間的聯(lián)系;SVM可以避免神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)選擇局部極小點(diǎn)問題。但GAS在特征更新階段,由于鄰節(jié)點(diǎn)重復(fù)問題,會(huì)造成計(jì)算冗余,同時(shí),受到靜態(tài)圖的限制,每個(gè)節(jié)點(diǎn)不會(huì)根據(jù)最新的交易數(shù)據(jù)改變注意力分?jǐn)?shù)。所以,本文將兩個(gè)算法進(jìn)行融合,連接兩者優(yōu)勢(shì)以提升區(qū)塊鏈異常交易檢測(cè)模型的性能。由實(shí)驗(yàn)結(jié)果可知,該融合方法在Elliptic數(shù)據(jù)集下表現(xiàn)良好,準(zhǔn)確率、精度、召回率可達(dá)98.11%、94.01%、85.48%,此結(jié)果有助于區(qū)塊鏈異常交易檢測(cè)研究。
在下一步研究中,本文將考慮對(duì)動(dòng)態(tài)交易事務(wù)圖的深入研究,改進(jìn)和擴(kuò)展融合算法使其能夠運(yùn)用到動(dòng)態(tài)圖上,能夠更高效地批處理數(shù)據(jù)。此外,將考慮探索新的策略模型或算法來進(jìn)行區(qū)塊鏈異常交易檢測(cè)研究。
參考文獻(xiàn):
[1]傅麗玉,陸歌皓,吳義明,等.區(qū)塊鏈技術(shù)的研究及其發(fā)展綜述[J].計(jì)算機(jī)科學(xué),2022,49(S1):447-461,666.(Fu Liyu, Lu Gehao, Wu Yiming, et al. A review of blockchain technology research and its development[J].Computer Science,2022,49(S1):447-461,666.)
[2]徐晨.區(qū)塊鏈技術(shù)現(xiàn)存問題和未來發(fā)展趨勢(shì)[J].電子元器件與信息技術(shù),2022,6(6):17-21.(Xu Chen. Existing problems and future development trend of blockchain technology[J].Electronic Components and Information Technology,2022,6(6):17-21.)
[3]孫國(guó)梓,李芝,肖榮宇,等.區(qū)塊鏈交易安全問題研究[J].南京郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2021,41(2):36-48.(Sun Guozi, Li Zhi, Xiao Rongyu, et al. Research on the security of blockchain transactions[J].Journal of Nanjing University of Posts and Telecommunications:Natural Science Edition,2021,41(2):36-48.)
[4]Weber M, Domeniconi G, Chen Jie, et al. Anti-money laundering in bitcoin:experimenting with graph convolutional networks for financial forensics[EB/OL].[2022-10-27].https://arxiv.org/abs/1908.02591.
[5]錢鵬,劉振廣,何欽銘,等.智能合約安全漏洞檢測(cè)技術(shù)研究綜述[J].軟件學(xué)報(bào),2022,33(8):3059-3085.(Qian Peng, Liu Zhenguang, He Qinming, et al. A review of smart contract security vulnera-bility detection techniques[J].Journal of Software,2022,33(8):3059-3085.)
[6]瞿元.比特幣異常行為檢測(cè)系統(tǒng)的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2021:36-48.(Qu Yuan. Research and design of bitcoin anomalous behavior detection system[D].Chengdu:University of Electronic Science and Technology of China,2021:36-48.)
[7]Velicˇkovic' P, Cucurull G, Casanova A, et al. Graph attention networks[C]//Proc of International Conference on Learning Representations.2017:164-176.
[8]Saunders C, Stitson M O, Weston J, et al. Support vector machine[J].Computer Science,2002,1(4):1-28.
[9]王利朋,關(guān)志,李青山,等.區(qū)塊鏈數(shù)據(jù)安全服務(wù)綜述[J].軟件學(xué)報(bào),2023,34(1):1-32.(Wang Lipeng, Guan Zhi, Li Qingshan, et al. A review of blockchain data security services[J].Journal of Software,2023,34(1):1-32.)
[10]Kuzuno H, Tziakouris G. Ad-hoc analytical framework of bitcoin investigations for law enforcement[J].IEICE Trans on Information and Systems,2018,E101D(11):2644-2657.
[11]胡海洋,張力,李忠金.融合自編碼器和one-class SVM的異常事件檢測(cè)[J].中國(guó)圖象圖形學(xué)報(bào),2020,25(12):2614-2629.(Hu Haiyang, Zhang Li, Li Zhongjin. Anomalous event detection by fusing self-encoder and one-class SVM[J].Journal of Image and Graphics,2020,25(12):2614-2629.)
[12]朱佳佳,陳佳.基于熵和SVM多分類器的異常流量檢測(cè)方法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,26(3):31-35.(Zhu Jiajia, Chen Jia. Anomalous traffic detection method based on entropy and SVM multi-classifier[J].Computer Technology and Development,2016,26(3):31-35.)
[13]Wu Jiajing, Yuan Qi, Lin Dan, et al. Who are the phi-shers?Phishing scam detection on ethereum via network embedding[J].IEEE Trans on Systems, Man, and Cybernetics:Systems,2022,52(2):1156-1166.
[14]Lin Yujing, Wu Powei, Hsu Chenghan, et al. An evaluation of bitcoin address classification based on transaction history summarization[C]//Proc of International Conference on Blockchain and Cryptocurrency.2019:302-310.
[15]沈蒙,桑安琪,祝烈煌,等.基于動(dòng)機(jī)分析的區(qū)塊鏈數(shù)字貨幣異常交易行為識(shí)別方法[J].計(jì)算機(jī)學(xué)報(bào), 2021,44(1):193-208.(Shen Meng, Sang Anqi, Zhu Liehuang, et al. A motivation analysis-based approach to identify abnormal trading behavior of blockchain digital currencies[J].Chinese Journal of Computer,2021,44(1):193-208.)
[16]陳彬杰,魏福山,顧純祥.基于KNN的具有隱私保護(hù)功能的區(qū)塊鏈異常交易檢測(cè)[J].信息網(wǎng)絡(luò)安全,2022,22(3):78-84.(Chen Binjie, Wei Fushan, Gu Chunxiang. KNN-based blockchain anomaly transaction detection with privacy protection[J].Information Network Security,2022,22(3):78-84.)
[17]林偉.基于多特征融合的區(qū)塊鏈異常交易檢測(cè)[J].信息網(wǎng)絡(luò)安全,2022,22(10):24-30.(Lin Wei. Blockchain anomaly transaction detection based on multi-feature fusion[J].Information Network Security,2022,22(10):24-30.)
[18]Pham T L S. Anomaly detection in bitcoin network using unsupervised learning methods[EB/OL].(2016)[2022-10-30].https://arxiv.org/abs/1611.03941v2.
[19]Pham T L S. Anomaly detection in the bitcoin system-a network perspective[EB/OL].(2016)[2022-10-30].https://arxiv.org/abs/1611.03942v1.
[20]Jourdan M, Blandin S, Wynter L, et al. Characterizing entities in the bitcoin blockchain[C]//Proc of IEEE International Conference on Data Mining Workshops.2018:55-62.
[21]Chen Weili, Wu Jun, Zheng Zibin, et al. Market manipulation of bitcoin:evidence from mining the Mt. Gox transaction network[C]//Proc of IEEE INFOCOM Conference on Computer Communications.2019:964-972.
[22]朱會(huì)娟,陳錦富,李致遠(yuǎn),等.基于多特征自適應(yīng)融合的區(qū)塊鏈異常交易檢測(cè)方法[J].通信學(xué)報(bào),2021,42(5):41-50.(Zhu Huijuan, Chen Jinfu, Li Zhiyuan, et al. A blockchain anomaly transaction detection method based on multi-feature adaptive fusion[J].Journal on Communications,2021,42(5):41-50.)
[23]張曉琦,白雪,李光松,等.基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常交易檢測(cè)[J].網(wǎng)絡(luò)安全與數(shù)據(jù)治理,2022,41(10):11-20.(Zhang Xiaoqi, Bai Xue, Li Guangsong, et al. Blockchain anomaly transaction detection based on network representation learning[J].Cyber Security and Data Governance,2022,41(10):11-20.)
[24]Chen Liang, Peng Jiaying, Liu Yang, et al. Phishing scams detection in ethereum transaction network[J].ACM Trans on Internet Technology,2020,21(1):1-16.
[25]Liaw A, Wiener M. Classification and regression by random forest[J].R News,2002,23(23):18-22.
[26]Wang Huajun. Grid-search molecular accessible surface algorithm for solving the protein docking problem[J].Journal of Computational Chemistry,1991,12(6):746-750.
[27]Jahromi A H, Taheri M. A non-parametric mixture of Gaussian naive Bayes classifiers based on local independent features[C]//Proc of Artificial Intelligence and Signal Processing Conference.2017:209-212.
[28]Larose D T. K-nearest neighbor algorithm[M]//Discovering Know-ledge in Data:An Introduction to Data Mining.2004:1-18.
[29]Kleinbaum D G, Klein M. Logistic regression (a self-learning text)[M].Berlin:Springer,2002:1-20.