張曉琦,白 雪,李光松,王永娟
(1.信息工程大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,河南 鄭州 450001;2.中國(guó)船舶工業(yè)綜合技術(shù)經(jīng)濟(jì)研究院,北京 100081;3.河南省網(wǎng)絡(luò)密碼重點(diǎn)實(shí)驗(yàn)室,河南 鄭州450001)
區(qū)塊鏈?zhǔn)且环N分布式加密賬本,為非信任成員可以安全地進(jìn)行交易提供平臺(tái),使得去中心化、低成本、點(diǎn)對(duì)點(diǎn)的交易成為可能,在金融、醫(yī)療、物流、物聯(lián)網(wǎng)等領(lǐng)域得到了廣泛應(yīng)用。區(qū)塊鏈?zhǔn)褂梅植际酱鎯?chǔ)和集體維護(hù)來(lái)實(shí)現(xiàn)去中心化,使用SHA-256等非對(duì)稱(chēng)加密算法和可靠存儲(chǔ)技術(shù)完成信用背書(shū),保障了系統(tǒng)的開(kāi)源、公開(kāi)和安全。區(qū)塊鏈最成功的實(shí)踐是以比特幣為代表的加密數(shù)字貨幣,自2009年比特幣誕生以來(lái),越來(lái)越多的加密數(shù)字貨幣涌現(xiàn)出來(lái)并進(jìn)入金融市場(chǎng)。截至2021年12月31日,加密數(shù)字貨幣的種類(lèi)超過(guò)了1.6萬(wàn)種,用戶(hù)近3億。主流加密數(shù)字貨幣主要有比特幣、以太坊、萊特幣等,其中,比特幣在2021年11月達(dá)到了歷史最高單價(jià)68 928.90美元,流通市值達(dá)到1萬(wàn)億美元。加密數(shù)字貨幣具有匿名性的特點(diǎn),不需要用戶(hù)進(jìn)行實(shí)名認(rèn)證,因此越來(lái)越多的犯罪分子將加密貨幣作為犯罪工具,實(shí)施網(wǎng)絡(luò)和金融犯罪,如敲詐勒索、欺詐和洗錢(qián)等。2020年非法交易在所有加密貨幣交易中所占的比例為0.34%,總量達(dá)到100億美元,而在2021年,0.15%的加密貨幣交易與網(wǎng)絡(luò)犯罪、洗錢(qián)和恐怖主義融資等活動(dòng)有關(guān),其中詐騙案件共涉及資金約140億美元[1]。與加密貨幣相關(guān)的犯罪的發(fā)生增加了加密貨幣的價(jià)格波動(dòng),也為區(qū)塊鏈技術(shù)的發(fā)展帶來(lái)了不利的影響,還給社會(huì)帶來(lái)了安全問(wèn)題,交易安全已成為區(qū)塊鏈系統(tǒng)生態(tài)的一個(gè)重要問(wèn)題。對(duì)區(qū)塊鏈的異常交易進(jìn)行檢測(cè),挖掘交易中有用的信息,提高對(duì)區(qū)塊鏈犯罪的打擊效率已成為一個(gè)迫切需要解決的問(wèn)題。同時(shí),采用技術(shù)手段對(duì)區(qū)塊鏈交易中的異常進(jìn)行檢測(cè),也能為解決區(qū)塊鏈技術(shù)擴(kuò)展到其他領(lǐng)域?qū)⒁媾R的安全問(wèn)題提供有意義的指導(dǎo)。因此,研究區(qū)塊鏈異常交易檢測(cè)方法具有重要現(xiàn)實(shí)意義。
區(qū)塊鏈交易記錄被分布式存儲(chǔ)在公開(kāi)的鏈上,這為研究和檢測(cè)區(qū)塊鏈的異常交易提供了相當(dāng)大的優(yōu)勢(shì),然而區(qū)塊鏈的巨大容量對(duì)進(jìn)一步探索它提出了挑戰(zhàn),由于區(qū)塊鏈系統(tǒng)中龐大的用戶(hù)和交易數(shù)量,對(duì)異常的手動(dòng)檢測(cè)是不可能的。隨著機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)安全、攻擊檢測(cè)方面表現(xiàn)出了良好的性能,在社交網(wǎng)絡(luò)用戶(hù)檢測(cè)、網(wǎng)絡(luò)入侵檢測(cè)、信用卡欺詐檢測(cè)、醫(yī)學(xué)檢測(cè)等領(lǐng)域都發(fā)揮了很大作用,研究人員嘗試將機(jī)器學(xué)習(xí)應(yīng)用于區(qū)塊鏈的異常檢測(cè)中?,F(xiàn)有的區(qū)塊鏈異常交易檢測(cè)模型大多是對(duì)傳統(tǒng)的機(jī)器學(xué)習(xí)的異常檢測(cè)方法在區(qū)塊鏈領(lǐng)域的應(yīng)用,多使用機(jī)器學(xué)習(xí)方法對(duì)從交易數(shù)據(jù)中提取的特征進(jìn)行檢測(cè)的技術(shù)路線。在傳統(tǒng)的特征提取方法中,一般將區(qū)塊鏈網(wǎng)絡(luò)中的交易看做孤立的節(jié)點(diǎn),只對(duì)交易本身提取特征,未對(duì)交易網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行深入挖掘。在正常運(yùn)行的情況下,區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)大致維持穩(wěn)定的狀態(tài),當(dāng)出現(xiàn)詐騙或者攻擊等異常情況時(shí),網(wǎng)絡(luò)結(jié)構(gòu)會(huì)發(fā)生大的變化,通過(guò)對(duì)區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的變化進(jìn)行檢測(cè),可以在一定程度上檢測(cè)到異常事件。而網(wǎng)絡(luò)表示學(xué)習(xí)被證明在大規(guī)模動(dòng)態(tài)網(wǎng)絡(luò)的特征提取中具有很好的效果[2],可以較為全面地抽取網(wǎng)絡(luò)的結(jié)構(gòu)特征,提升檢測(cè)的效果。
網(wǎng)絡(luò)表示學(xué)習(xí)旨在為網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)學(xué)習(xí)一個(gè)低維的表示向量,進(jìn)而可將得到的向量表示運(yùn)用到常見(jiàn)的網(wǎng)絡(luò)分析任務(wù)中。學(xué)習(xí)的基本方法就是找到一個(gè)映射函數(shù),將網(wǎng)絡(luò)中的節(jié)點(diǎn)轉(zhuǎn)換為表示向量,該表示向量要盡可能多地描述網(wǎng)絡(luò)的結(jié)構(gòu)和特征信息。在網(wǎng)絡(luò)表示學(xué)習(xí)完成后,獲取到的表示向量可以作為機(jī)器學(xué)習(xí)等方法的輸入,來(lái)完成節(jié)點(diǎn)分類(lèi)、異常檢測(cè)、鏈路預(yù)測(cè)等任務(wù)。2016年,Hu[3]等人提出使用網(wǎng)絡(luò)表示方法來(lái)檢測(cè)結(jié)構(gòu)異常點(diǎn)的模型,使用圖劃分算法將圖中節(jié)點(diǎn)分為不同的社團(tuán),然后用可以捕獲節(jié)點(diǎn)和社團(tuán)連接強(qiáng)度的嵌入方法來(lái)學(xué)習(xí)節(jié)點(diǎn)表示,研究證明使用網(wǎng)絡(luò)表示方法以及降維技術(shù)是發(fā)現(xiàn)網(wǎng)絡(luò)中結(jié)構(gòu)不一致的有效工具。Paudel[4]等人提出了一種新的無(wú)監(jiān)督網(wǎng)絡(luò)表示學(xué)習(xí)方法,首先執(zhí)行從網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)開(kāi)始的固定長(zhǎng)度的隨機(jī)游走,并使用將頻率測(cè)量投影到維度投影中隨機(jī)選擇的向量,最后,使用簡(jiǎn)化的散列法將其轉(zhuǎn)換為低維表示向量。Bandyopadhyay[5]等人提出了一種基于深度無(wú)監(jiān)督自動(dòng)編碼器的方法,該方法可以在生成網(wǎng)絡(luò)表示的同時(shí)最小化異常節(jié)點(diǎn)的影響。作者歸納了屬性圖中異常點(diǎn)三個(gè)主要特征:與不同社團(tuán)中的節(jié)點(diǎn)有相似的屬性;連接不同的社團(tuán);屬于某個(gè)社團(tuán)但是屬性與另一個(gè)社團(tuán)相同。此外,作者還探索了對(duì)抗性學(xué)習(xí)在網(wǎng)絡(luò)表示學(xué)習(xí)中的作用。Yu[6]等提出了一種網(wǎng)絡(luò)游走(NetWalk)方法,在動(dòng)態(tài)網(wǎng)絡(luò)中進(jìn)行異常檢測(cè),NetWalk僅考慮網(wǎng)絡(luò)的結(jié)構(gòu)信息,學(xué)習(xí)網(wǎng)絡(luò)初始圖上節(jié)點(diǎn)的表示,并在節(jié)點(diǎn)發(fā)生變化時(shí)更新表示,實(shí)現(xiàn)了網(wǎng)絡(luò)表示隨著網(wǎng)絡(luò)的變化而動(dòng)態(tài)更新。在異常檢測(cè)階段,NetWalk采用K-means聚類(lèi)算法,將當(dāng)前時(shí)間戳內(nèi)現(xiàn)有節(jié)點(diǎn)分簇,然后以每個(gè)節(jié)點(diǎn)距離聚類(lèi)最近的距離來(lái)衡量其異常得分。
本文提出的區(qū)塊鏈異常交易檢測(cè)模型結(jié)合了網(wǎng)絡(luò)表示學(xué)習(xí)和機(jī)器學(xué)習(xí)算法,檢測(cè)過(guò)程可以分為兩個(gè)階段:在第一階段中,使用3種網(wǎng)絡(luò)表示學(xué)習(xí)算法深度游走(DeepWalk)、DeepWalk-Ba(DeepWalk Based on Amount)和二階屬性網(wǎng)絡(luò)嵌入(Binarized Attributed Network Embedding,BANE)對(duì)比特幣交易圖進(jìn)行特征提取,其中DeepWalk是Perozzi等在2014年提出的一種學(xué)習(xí)網(wǎng)絡(luò)節(jié)點(diǎn)潛在表示的算法[7];DeepWalk-Ba是DeepWalk算 法 的 改 進(jìn);BANE是 一種屬性化網(wǎng)絡(luò)表示學(xué)習(xí)算法,在對(duì)節(jié)點(diǎn)和邊進(jìn)行學(xué)習(xí)的同時(shí),對(duì)節(jié)點(diǎn)和邊的屬性信息也做了考慮[8]。在第二個(gè)階段,采用無(wú)監(jiān)督和有監(jiān)督的機(jī)器學(xué)習(xí)算法進(jìn)行異常檢測(cè),并使用精確率、召回率和F1值對(duì)檢測(cè)的性能進(jìn)行評(píng)估和對(duì)比。與現(xiàn)有的檢測(cè)模型相比,本文提出的檢測(cè)模型使用網(wǎng)絡(luò)表示學(xué)習(xí)從區(qū)塊鏈交易網(wǎng)絡(luò)的結(jié)構(gòu)和屬性信息中提取特征,對(duì)異常交易發(fā)生時(shí)區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的變化進(jìn)行了學(xué)習(xí),得到的特征更加全面地反映節(jié)點(diǎn)信息,在實(shí)驗(yàn)中,達(dá)到了更好的檢測(cè)效果。
本文使用網(wǎng)絡(luò)表示學(xué)習(xí)來(lái)挖掘區(qū)塊鏈交易網(wǎng)絡(luò)結(jié)構(gòu)中的隱藏信息,提取更準(zhǔn)確和全面的特征集;對(duì)網(wǎng)絡(luò)表示學(xué)習(xí)的游走策略進(jìn)行針對(duì)性調(diào)整,提出了DeepWalk-Ba網(wǎng)絡(luò)表示學(xué)習(xí)方法,并對(duì)不同的檢測(cè)算法的效果進(jìn)行了對(duì)比。
本文首先介紹了區(qū)塊鏈異常交易檢測(cè)的相關(guān)研究工作;接著對(duì)區(qū)塊鏈異常檢測(cè)問(wèn)題進(jìn)行了描述,對(duì)數(shù)據(jù)集、數(shù)據(jù)預(yù)處理、標(biāo)準(zhǔn)化和采樣處理等進(jìn)行了說(shuō)明;然后介紹了本文采用的區(qū)塊鏈異常交易檢測(cè)模型,并對(duì)檢測(cè)的評(píng)價(jià)指標(biāo)進(jìn)行了說(shuō)明;接下來(lái)介紹了本研究所作的三組實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行說(shuō)明;最后對(duì)本文進(jìn)行了總結(jié),并介紹了下一步工作的研究方向。
異常檢測(cè)是機(jī)器學(xué)習(xí)中一個(gè)重要分支,旨在識(shí)別偏離正常數(shù)據(jù)分布的對(duì)象,在網(wǎng)絡(luò)入侵檢測(cè)、疾病檢測(cè)、故障檢測(cè)、工業(yè)異常檢測(cè)和金融欺詐檢測(cè)等領(lǐng)域,都發(fā)揮了重要的作用。隨著深度學(xué)習(xí)等技術(shù)的出現(xiàn),異常檢測(cè)技術(shù)也得到了進(jìn)一步的完善。區(qū)塊鏈?zhǔn)且粋€(gè)復(fù)雜的系統(tǒng),存在多種異常的情況,如何將新的異常檢測(cè)技術(shù)應(yīng)用于區(qū)塊鏈?zhǔn)且粋€(gè)值得關(guān)注的問(wèn)題。本節(jié)介紹了區(qū)塊鏈異常交易檢測(cè)和網(wǎng)絡(luò)表示學(xué)習(xí)在異常檢測(cè)中的相關(guān)研究情況。
針對(duì)區(qū)塊鏈異常交易,主要的研究方法包括基于特征的分類(lèi)方法、基于聚類(lèi)的檢測(cè)方法、基于統(tǒng)計(jì)分析模型的檢測(cè)方法等。Harlev[9]等提出了出了一種使用監(jiān)督機(jī)器學(xué)習(xí)算法來(lái)減少交易匿名性的方法。作者使用含有兩億余個(gè)樣本的已標(biāo)記數(shù)據(jù)集,并構(gòu)建了可以區(qū)分10個(gè)類(lèi)別的分類(lèi)器,該方法對(duì)未標(biāo)記的交易的檢測(cè)達(dá)到了77%的準(zhǔn)確率。Zambre[10]等人對(duì)比特幣的欺詐案例進(jìn)行了研究,并對(duì)比特幣交易中的特征提取問(wèn)題進(jìn)行了討論,確定了6種可以為K均值聚類(lèi)(K-Means)算法提供最佳惡意用戶(hù)分類(lèi)結(jié)果的特征。Li[11]等人對(duì)比特幣交易中的非法地址進(jìn)行了識(shí)別,首先從網(wǎng)站、論壇和論文中收集了非法地址數(shù)據(jù)集,然后使用一種將長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)算法結(jié)合到自動(dòng)編碼器中以生成時(shí)間特征的模型對(duì)非法地址提取了特征,最后,使用隨機(jī)森林(Random Forest,RF)、支持向量機(jī)(Support Vector Machines,SVM)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)等機(jī)器學(xué)習(xí)算法來(lái)評(píng)估特征,測(cè)試表明所提出的特征具有區(qū)分性和魯棒性。Rabieinejad[12]等提出了一種基于深度學(xué)習(xí)的以太坊威脅追蹤模型,該模型應(yīng)用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊檢測(cè),并使用機(jī)器學(xué)習(xí)算法的組合進(jìn)行攻擊分類(lèi),在以太坊攻擊檢測(cè)中準(zhǔn)確率達(dá)到97.72%,在攻擊分類(lèi)中準(zhǔn)確率達(dá)到99.4%。Gu[13]等人利用網(wǎng)絡(luò)爬蟲(chóng)工具收集了區(qū)塊鏈交易所數(shù)據(jù)集,然后進(jìn)行相關(guān)性分析,得出影響不同交易所交易量的因素,再基于深度學(xué)習(xí)方法建立了各種因素對(duì)交易金額影響的預(yù)測(cè)模型。此外,作者通過(guò)計(jì)算預(yù)測(cè)交易金額與實(shí)際交易金額的偏差,為異常交易金額檢測(cè)提供依據(jù)。對(duì)檢測(cè)結(jié)果的案例研究表明,一些異常交易金額與政策變化和行業(yè)事件有關(guān),而另一些則被懷疑與違法行為有關(guān)。Nerurkar[14]等設(shè)計(jì)了9個(gè)功能來(lái)訓(xùn)練異常檢測(cè)模型,對(duì)16種不同的用戶(hù)進(jìn)行分類(lèi),并將該模型與3個(gè)現(xiàn)有的基準(zhǔn)模型進(jìn)行對(duì)比。實(shí)驗(yàn)表明,該模型的特異性和敏感性與其他模型相當(dāng),分類(lèi)準(zhǔn)確率為91%。Lin[15]等人提出新的特征來(lái)開(kāi)發(fā)比特幣異常檢測(cè)分類(lèi)模型,作者利用這些特征對(duì)監(jiān)督機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,然后使用這些模型對(duì)異常比特幣地址進(jìn)行預(yù)測(cè)和評(píng)估。Sharma[16]等介紹了基于K-means聚類(lèi)的比特幣異常檢測(cè)方案,該方案基于比特幣加權(quán)價(jià)格和交易中的時(shí)間戳來(lái)預(yù)測(cè)異常。Kim[17]等提出了一種通過(guò)分析區(qū)塊鏈網(wǎng)絡(luò)流量來(lái)檢測(cè)惡意事件的機(jī)制。數(shù)據(jù)采集引擎感知底層區(qū)塊鏈流量,實(shí)時(shí)生成多維數(shù)據(jù)流,并基于半監(jiān)督學(xué)習(xí)從創(chuàng)建的數(shù)據(jù)實(shí)例中檢測(cè)異常。Lorenz[18]等人研究了在標(biāo)簽稀缺的情況下的洗錢(qián)檢測(cè)問(wèn)題,作者首先表明現(xiàn)在使用的無(wú)監(jiān)督方法不足以檢測(cè)真實(shí)環(huán)境中比特幣數(shù)據(jù)的異常交易情況,然后提出了一種新的算法,該算法使用5%的標(biāo)簽就能達(dá)到與有監(jiān)督算法相似的檢測(cè)效果。
隨著網(wǎng)絡(luò)表示學(xué)習(xí)方法在異常檢測(cè)領(lǐng)域的應(yīng)用,一些研究者們也嘗試將這一方法在區(qū)塊鏈異常檢測(cè)領(lǐng)域進(jìn)行嘗試。Wu[19]等提出了一種檢測(cè)以太坊網(wǎng)絡(luò)釣魚(yú)詐騙的方法,作者使用網(wǎng)絡(luò)表示學(xué)習(xí)方法trans2vec提取以太坊中交易地址的特征,并使用支持向量機(jī)SVM算法將節(jié)點(diǎn)分為正常節(jié)點(diǎn)和釣魚(yú)節(jié)點(diǎn)。Wei[20]等人介紹了一種比特幣交易預(yù)測(cè)的模型,該模型利用深度神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)比特幣交易網(wǎng)絡(luò)表示。為了捕捉不同類(lèi)型的比特幣交易模式,作者探討了比特幣交易賬戶(hù)的拓?fù)溥B接模式、交易金額模式和交易動(dòng)態(tài),然后構(gòu)建了時(shí)間衰減可達(dá)性圖和時(shí)間衰減交易模式圖,并在兩個(gè)圖上都使用節(jié)點(diǎn)嵌入,實(shí)現(xiàn)了比特幣交易預(yù)測(cè)系統(tǒng)。Wang[21]等提出了一種識(shí)別以太坊中的網(wǎng)絡(luò)釣魚(yú)賬戶(hù)的算法交易子圖網(wǎng)絡(luò)(Transaction Sub-Graph Network,TSGN),作者首先對(duì)交易中的每個(gè)地址提取子圖,并將這些子圖拓展為響應(yīng)的TSGN,此外,作者還引入交易的方向?qū)傩詠?lái)為最終的表示提供更多的信息來(lái)增加對(duì)釣魚(yú)賬戶(hù)的識(shí)別準(zhǔn)確率。Wang[22]等人提出了一種基于特征表示的異構(gòu)網(wǎng)絡(luò)表示方法用于以太坊身份識(shí)別。他們使用以太坊數(shù)據(jù)構(gòu)建異構(gòu)網(wǎng)絡(luò),再利用異構(gòu)網(wǎng)絡(luò)表示方法將整個(gè)網(wǎng)絡(luò)映射到一個(gè)低維空間中得到表示向量,再使用節(jié)點(diǎn)分類(lèi)任務(wù)對(duì)欺詐賬戶(hù)和正常賬戶(hù)進(jìn)行區(qū)分,實(shí)現(xiàn)了以太坊身份識(shí)別。
現(xiàn)有的區(qū)塊鏈異常交易檢測(cè)方法大多沒(méi)有考慮異常事件發(fā)生時(shí)區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)特征的變化,而后者通常對(duì)異常事件的檢測(cè)有一定的幫助。已有的使用網(wǎng)絡(luò)表示學(xué)習(xí)方法對(duì)區(qū)塊鏈的異常檢測(cè)的工作多聚焦于對(duì)地址的識(shí)別分類(lèi)問(wèn)題,使用基于網(wǎng)絡(luò)結(jié)構(gòu)信息的表示學(xué)習(xí)方法對(duì)交易地址進(jìn)行分類(lèi),沒(méi)有對(duì)交易的檢測(cè)進(jìn)行研究,在表示學(xué)習(xí)的過(guò)程中,也沒(méi)有對(duì)網(wǎng)絡(luò)的屬性信息進(jìn)行學(xué)習(xí)。因此,將網(wǎng)絡(luò)表示學(xué)習(xí)方法用于區(qū)塊鏈異常交易檢測(cè)仍具有很大的研究意義和提升空間。
區(qū)塊鏈異常交易檢測(cè)是一個(gè)二分類(lèi)問(wèn)題,本文旨在對(duì)公開(kāi)的比特幣交易數(shù)據(jù)進(jìn)行檢測(cè),以達(dá)到區(qū)分異常和正常交易的目的。本節(jié)對(duì)區(qū)塊鏈異常檢測(cè)問(wèn)題進(jìn)行了描述,并對(duì)研究中使用的比特幣數(shù)據(jù)集和數(shù)據(jù)預(yù)處理進(jìn)行介紹。
區(qū)塊鏈交易網(wǎng)絡(luò)可以用G=(V,E)表示,其中V={v1,v2,…,vn}為 節(jié) 點(diǎn) 集 合,vi,i∈{1,2,…,n}表示交易,E={(vi,vj)|i≠j}表示邊的集合,(vi,vj)代表代幣在兩個(gè)交易之間的流轉(zhuǎn)。使用Gl=(V,E,X,Y)表示具有節(jié)點(diǎn)特征和標(biāo)記的網(wǎng)絡(luò),其中X∈R|v|×d為節(jié)點(diǎn)集合的特征矩陣,d為節(jié)點(diǎn)特征的維度,Y={y1,y2,…,yn}表示節(jié) 點(diǎn)的 標(biāo)記集 合,yi,i∈{0,1,…,n}的取值為0和1,0代表節(jié)點(diǎn)為正常交易,1代表節(jié)點(diǎn)為異常交易。區(qū)塊鏈異常交易檢測(cè)可以看做圖分類(lèi)任務(wù),通過(guò)對(duì)訓(xùn)練數(shù)據(jù)集的學(xué)習(xí),得到分類(lèi)器f:V|→Y用來(lái)預(yù)測(cè)區(qū)塊鏈交易的標(biāo)記,對(duì)節(jié)點(diǎn)vi,若f(vi)=0,則vi為正常交易,若f(vi)=1,vi為異常交易。
在區(qū)塊鏈交易中,傳統(tǒng)的節(jié)點(diǎn)特征提取方法一般將節(jié)點(diǎn)看做一個(gè)孤立點(diǎn),僅選取與交易相關(guān)的信息,而忽略了交易網(wǎng)絡(luò)的結(jié)構(gòu)信息,本文使用網(wǎng)絡(luò)表示學(xué)習(xí)方法獲取交易網(wǎng)絡(luò)中節(jié)點(diǎn)的特征,旨在對(duì)交易網(wǎng)絡(luò)的結(jié)構(gòu)和屬性信息進(jìn)行學(xué)習(xí),得到節(jié)點(diǎn)的表示向量X′∈R|v|×dE,其中dE為網(wǎng)絡(luò)表示學(xué)習(xí)的嵌入維度。
本文使用由Weber[23]等發(fā)布的比特幣交易數(shù)據(jù)集,包含交易的節(jié)點(diǎn)、邊和標(biāo)記信息。其中,節(jié)點(diǎn)代表交易,邊代表交易之間的比特幣流轉(zhuǎn)信息,即某一交易的輸出被下一交易作為輸入而花費(fèi)掉,標(biāo)記代表了交易的屬性,有“正?!薄爱惓!焙汀拔粗?種值。
數(shù)據(jù)集包含203 769個(gè)節(jié)點(diǎn)和234 355條邊,其中每個(gè)交易節(jié)點(diǎn)有166個(gè)特征,前94個(gè)特征表示與交易直接相關(guān)的信息,包括時(shí)間間隔、輸入交易和輸出交易的數(shù)量、輸入交易和輸出交易比特幣平均值等,其中時(shí)間間隔表示交易廣播到比特幣網(wǎng)絡(luò)的時(shí)間。剩余的72個(gè)特征是聚合特征,是使用交易信息從中心節(jié)點(diǎn)向后或向前一跳獲得的。圖1顯示了在不同時(shí)間間隔上3種不同標(biāo)記的交易的分布。
圖1 不同時(shí)間間隔上交易的分布
為了獲得更準(zhǔn)確的檢測(cè)效果,對(duì)數(shù)據(jù)集進(jìn)行了預(yù)處理,根據(jù)對(duì)應(yīng)關(guān)系,將節(jié)點(diǎn)和標(biāo)記合并,并刪除標(biāo)記為“未知”的節(jié)點(diǎn)數(shù)據(jù),得到42 019個(gè)正常和4 545個(gè)異常交易節(jié)點(diǎn)??紤]到交易節(jié)點(diǎn)的特征數(shù)據(jù)尺度存在差異,在進(jìn)行檢測(cè)的過(guò)程中,尺度大的數(shù)據(jù)會(huì)比尺度小的數(shù)據(jù)對(duì)檢測(cè)模型有更大的影響,需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)據(jù)按比例縮放,使之落入一個(gè)小的特定區(qū)間[24]。本文選取Z-Score方法對(duì)特征數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,Z-Score標(biāo)準(zhǔn)化方法利用原始數(shù)據(jù)的標(biāo)準(zhǔn)差和方差將不同數(shù)量級(jí)的數(shù)據(jù)變換為到相同的量級(jí),并使用Z-Score值進(jìn)行衡量,使得不同的特征數(shù)據(jù)具有可比性,其標(biāo)準(zhǔn)化過(guò)程如下:
假設(shè)具有n個(gè)特征的原始數(shù)據(jù)序列為{x1,x2,…,xn},對(duì) 其 進(jìn) 行 變 換其中標(biāo) 準(zhǔn) 化 完 成 后,序 列 變 為{y1,y2,…,yn},新序列均值為0,方差為1。
經(jīng)過(guò)篩選后的數(shù)據(jù)集中,異常樣本占正常樣本的比例約為11%,由于很多異常檢測(cè)模型的輸出類(lèi)別是基于閾值的,在訓(xùn)練數(shù)據(jù)中正常和異常樣本的比例不平衡時(shí),閾值的存在會(huì)導(dǎo)致模型輸出傾向于占比高的類(lèi)別。對(duì)于這種二分類(lèi)問(wèn)題中的數(shù)據(jù)不平衡問(wèn)題,一般采取調(diào)整模型閾值或者對(duì)數(shù)據(jù)集進(jìn)行采樣處理的方式來(lái)解決,而采樣方法一般比調(diào)整閾值的效果更好。對(duì)數(shù)據(jù)集的采樣處理一般分為過(guò)采樣和欠采樣,其中,過(guò)采樣是指從少數(shù)類(lèi)的樣本中進(jìn)行復(fù)制采樣或生成新樣本來(lái)增加少數(shù)類(lèi)樣本,而欠采樣是指對(duì)多數(shù)類(lèi)的樣本進(jìn)行采樣來(lái)減少多數(shù)類(lèi)樣本。使用采樣方法處理數(shù)據(jù)集,可以解決數(shù)據(jù)集不平衡的問(wèn)題,但也存在模型過(guò)擬合的可能性,不利于檢測(cè)模型的泛化性能。
本研究中使用隨機(jī)過(guò)采樣和合成少數(shù)過(guò)采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)[25]兩種過(guò)采樣方法以及隨機(jī)欠采樣對(duì)不均衡的數(shù)據(jù)集進(jìn)行處理。隨機(jī)過(guò)采樣是對(duì)少數(shù)類(lèi)樣本的復(fù)制采樣,而隨機(jī)欠采樣是對(duì)多數(shù)類(lèi)樣本的隨機(jī)采樣。SMOTE算法的基本思想是對(duì)少數(shù)類(lèi)樣本進(jìn)行插值合成新樣本并添加到數(shù)據(jù)集中,即對(duì)少數(shù)類(lèi)樣本a,從它相鄰的樣本中選擇少數(shù)類(lèi)樣本b,然后在a,b的連線上隨機(jī)生成一個(gè)新的樣本c。圖2顯示了在3種采樣方法處理前后數(shù)據(jù)集中正常和異常樣本的分布情況,采樣處理得到了更均衡的數(shù)據(jù)集。
圖2 采樣前后數(shù)據(jù)集中正常和異常樣本分布情況
本文使用網(wǎng)絡(luò)表示學(xué)習(xí)和機(jī)器學(xué)習(xí)模型結(jié)合的方式來(lái)對(duì)區(qū)塊鏈異常交易進(jìn)行檢測(cè),檢測(cè)模型包含2個(gè)步驟:
(1)使用網(wǎng)絡(luò)表示學(xué)習(xí)方法對(duì)區(qū)塊鏈交易圖數(shù)據(jù)進(jìn)行學(xué)習(xí),得到交易節(jié)點(diǎn)在低維空間中的表示向量,作為交易的特征。
(2)合并數(shù)據(jù)集中交易的166個(gè)特征和網(wǎng)絡(luò)表示學(xué)習(xí)得到的特征,使用機(jī)器學(xué)習(xí)的異常檢測(cè)模型對(duì)特征集進(jìn)行檢測(cè),并用三個(gè)評(píng)價(jià)指標(biāo)對(duì)檢測(cè)結(jié)果進(jìn)行評(píng)估。
在本研究中采用DeepWalk、DeepWalk-Ba和BANE 3種網(wǎng)絡(luò)表示學(xué)習(xí)方法對(duì)區(qū)塊鏈交易網(wǎng)絡(luò)數(shù)據(jù)提取特征,在合并特征并進(jìn)行標(biāo)準(zhǔn)化和采樣處理后,使用5種有監(jiān)督學(xué)習(xí)算法和1種無(wú)監(jiān)督機(jī)器學(xué)習(xí)算法進(jìn)行異常檢測(cè),并選擇評(píng)價(jià)指標(biāo)對(duì)檢測(cè)效果進(jìn)行評(píng)估。以DeepWalk算法為例,基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常檢測(cè)整體框架如圖3所示。
圖3 基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常檢測(cè)整體框架
區(qū)塊鏈異常檢測(cè)框架主要由網(wǎng)絡(luò)表示學(xué)習(xí)和異常檢測(cè)模型構(gòu)成,模型的輸入是交易圖數(shù)據(jù)。在網(wǎng)絡(luò)表示學(xué)習(xí)階段,用交易圖數(shù)據(jù)生成網(wǎng)絡(luò)圖,再利用隨機(jī)游走得到節(jié)點(diǎn)序列,最后使用表示學(xué)習(xí)得到節(jié)點(diǎn)的向量表示作為特征。合并特征并對(duì)特征進(jìn)行標(biāo)準(zhǔn)化和采樣處理后,使用異常檢測(cè)模型進(jìn)行檢測(cè)。
本研究中使用基于網(wǎng)絡(luò)結(jié)構(gòu)性質(zhì)的網(wǎng)絡(luò)表示學(xué)習(xí)方法DeepWalk及其改進(jìn)方法DeepWalk-Ba,此外,基于邊和節(jié)點(diǎn)屬性信息的方法BANE也被用來(lái)提取比特幣交易圖的特征。
DeepWalk算法包括3個(gè)步驟,第一步網(wǎng)絡(luò)生成,使用交易數(shù)據(jù)生成網(wǎng)絡(luò)圖G=(V,E),其中V代表頂點(diǎn)的集合,E代表邊的集合。第二步利用隨機(jī)游走獲得節(jié)點(diǎn)采樣序列,第三步使用skip-gram[26]模型學(xué)習(xí)采樣序列得到節(jié)點(diǎn)的表示向量。在隨機(jī)游走的過(guò)程中,使用可重復(fù)訪問(wèn)節(jié)點(diǎn)的深度優(yōu)先遍歷算法隨機(jī)游走(RandomWalk)遍歷節(jié)點(diǎn),對(duì)給定起始節(jié)點(diǎn)vi,從其鄰居節(jié)點(diǎn)中隨機(jī)選取節(jié)點(diǎn)vj進(jìn)行訪問(wèn)并重復(fù)此過(guò)程,直到節(jié)點(diǎn)序列{vi,vj,…}達(dá)到一定的長(zhǎng)度。在對(duì)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)獲取到足夠長(zhǎng)度的序列后,對(duì)得到的節(jié)點(diǎn)序列集進(jìn)行skip-gram向量學(xué)習(xí),將離散的網(wǎng)絡(luò)節(jié)點(diǎn)表示成向量。
DeepWalk-Ba是DeepWalk算法的擴(kuò)展,在交易網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間,如果交易量更大,則這兩個(gè)節(jié)點(diǎn)具有更緊密的關(guān)系。在隨機(jī)游走過(guò)程中,采用一種基于交易總金額的有偏隨機(jī)游走策略,在給定起始節(jié)點(diǎn)vi后,下一個(gè)節(jié)點(diǎn)不再隨機(jī)選取,而是以一定的概率訪問(wèn)鄰近節(jié)點(diǎn)vj。使用A(vi,vj)表示節(jié)點(diǎn)vi和vj之間的交易量,Vvi表示連接到節(jié)點(diǎn)vi的節(jié)點(diǎn)集,對(duì)節(jié)點(diǎn)vi的鄰近節(jié)點(diǎn)vj的采樣概率如下:
算法的輸入為圖G=(V,E)及表示學(xué)習(xí)的維度d、每個(gè)頂點(diǎn)的游走個(gè)數(shù)γ、隨機(jī)游走長(zhǎng)度t等參數(shù),輸出為頂點(diǎn)表示矩陣?∈R|V|×d,對(duì)輸入的圖G=(V,E),將節(jié)點(diǎn)集V打亂為O,并從O中隨機(jī)選取vi作為起始節(jié)點(diǎn),根據(jù)有偏隨機(jī)游走選取下一個(gè)節(jié)點(diǎn),最后得到γ條最大長(zhǎng)度為t的序列Wvi,再使用skip-gram學(xué)習(xí)節(jié)點(diǎn)的表達(dá)向量。節(jié)點(diǎn)的有偏隨機(jī)游走策略算法如下:
對(duì)于游走序列walk的當(dāng)前節(jié)點(diǎn)curr,其下一節(jié)點(diǎn)為根據(jù)交易總金額確定的離它最近的節(jié)點(diǎn)vcurr。
BANE算法中定義了一個(gè)鄰接矩陣,通過(guò)以逐層方式聚合節(jié)點(diǎn)屬性并從相鄰節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的邊的信息來(lái)捕獲節(jié)點(diǎn)和屬性之間的關(guān)聯(lián)信息,模型分別對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)屬性?xún)蓚€(gè)矩陣進(jìn)行學(xué)習(xí),再將兩個(gè)矩陣合并,以獲得屬性網(wǎng)絡(luò)的表示向量。學(xué)習(xí)的過(guò)程如圖4所示,網(wǎng)絡(luò)結(jié)構(gòu)矩陣A為一個(gè)n×n階矩陣,屬性信息矩陣B為一個(gè)n×d階矩陣,學(xué)習(xí)后得到的網(wǎng)絡(luò)表示矩陣C為一個(gè)n×k階矩陣,其中k〈〈n。
圖4 BANE網(wǎng)絡(luò)表示學(xué)習(xí)過(guò)程
在利用網(wǎng)絡(luò)表示學(xué)習(xí)方法得到區(qū)塊鏈交易節(jié)點(diǎn)的表示向量后,將其作為特征添加到原始數(shù)據(jù)的特征集中,并對(duì)數(shù)據(jù)集進(jìn)行Z-score標(biāo)準(zhǔn)化和過(guò)采樣及欠采樣處理,以得到更均衡的交易特征數(shù)據(jù)集。在異常檢測(cè)階段,本文采用5種有監(jiān)督和1種無(wú)監(jiān)督算法來(lái)對(duì)特征集進(jìn)行檢測(cè)。5種有監(jiān)督算法分別是:邏輯回歸(Logistic Regression,LR)、隨機(jī)森林(Random Forest,RF)、自 適 應(yīng) 增 強(qiáng)(Adaptive Boosting,AdaBoost)、多層感知器(Multi-Layer Perception,MLP)和支持向量機(jī)(Support Vector Machines,SVM),無(wú)監(jiān)督算法則選用了K-means。
異常交易檢測(cè)可以看做一個(gè)二分類(lèi)問(wèn)題,只分正常和異常兩類(lèi),一般用正類(lèi)(P)表示異常,用負(fù)類(lèi)(N)表示正常。真(T)和假(F)針對(duì)預(yù)測(cè)與實(shí)際的比較結(jié)果,T指正確匹配,即預(yù)測(cè)正實(shí)際為正,預(yù)測(cè)負(fù)實(shí)際也是負(fù);相應(yīng)的,F(xiàn)表示不匹配,即預(yù)測(cè)錯(cuò)誤。異常交易檢測(cè)的混淆矩陣見(jiàn)表1。
表1 異常交易檢測(cè)的混淆矩陣
本研究中采用精確率、召回率、F1值作為異常交易檢測(cè)的評(píng)價(jià)指標(biāo),其中,精確率(P)表示預(yù)測(cè)為正例的數(shù)據(jù)中預(yù)測(cè)正確的數(shù)據(jù)所占比例;召回率(R)表示實(shí)際為正例的數(shù)據(jù)里正確預(yù)測(cè)為正的數(shù)據(jù)所占比例;F1值是精確率和召回率的調(diào)和平均值。精確率、召回率、F1值的計(jì)算方法如下:
對(duì)于精確率P、召回率R和F1值三個(gè)指標(biāo),在比特幣異常交易檢測(cè)中,為了盡可能地檢測(cè)到所有的異常交易,更注重召回率,召回率越高,代表遺漏的異常交易越少。
為了驗(yàn)證基于網(wǎng)絡(luò)表示學(xué)習(xí)的檢測(cè)模型的有效性,需要與現(xiàn)有異常檢測(cè)模型進(jìn)行對(duì)比。設(shè)計(jì)了三組實(shí)驗(yàn),分別使用原始數(shù)據(jù)的特征集、增加了網(wǎng)絡(luò)表示學(xué)習(xí)提取的特征后的合并特征集、經(jīng)過(guò)標(biāo)準(zhǔn)化和采樣處理的合并特征集作為檢測(cè)模型的輸入,并隨機(jī)選取輸入集的70%作為訓(xùn)練集,剩余30%作為測(cè)試集進(jìn)行異常檢測(cè)。設(shè)置K-means的聚類(lèi)個(gè)數(shù)k為2~13。在測(cè)試完成后,對(duì)不同的聚類(lèi)個(gè)數(shù)k下的檢測(cè)效果進(jìn)行檢查,選取分類(lèi)效果最好的k值下的樣本簇進(jìn)行聚類(lèi),并據(jù)此計(jì)算檢測(cè)的精確率等指標(biāo)。實(shí)驗(yàn)環(huán)境使用Windows 10操作系統(tǒng),TensorFlow機(jī)器學(xué)習(xí)開(kāi)發(fā)框架,開(kāi)發(fā)語(yǔ)言為Python。
第一組實(shí)驗(yàn)對(duì)原始數(shù)據(jù)中的特征集進(jìn)行異常檢測(cè),得到的結(jié)果如表2所示。
表2 對(duì)原始數(shù)據(jù)特征集的檢測(cè)結(jié)果
RF算法得到最好的檢測(cè)效果,精確率達(dá)到了98.4%,召回率為62.8%,F(xiàn)1值為76.7%。在13 709個(gè)樣本的測(cè)試數(shù)據(jù)集中,有879個(gè)異常數(shù)據(jù),其中正確檢測(cè)為異常的為552個(gè),召回率過(guò)低。此外,無(wú)監(jiān)督算法K-means算法表現(xiàn)出了較好的召回率,但精確率過(guò)低。RF算法對(duì)原始數(shù)據(jù)特征集的檢測(cè)結(jié)果的混淆矩陣如圖5所示,縱軸代表實(shí)際值,橫軸代表預(yù)測(cè)值,“0”表示正常,“1”表示異常。對(duì)于實(shí)際值中的正類(lèi)(異常),有552個(gè)正確預(yù)測(cè)為異常,327個(gè)錯(cuò)誤預(yù)測(cè)為正常;在負(fù)類(lèi)(正常)中,13 082個(gè)正確預(yù)測(cè)為正常,9個(gè)錯(cuò)誤預(yù)測(cè)為異常。
圖5 RF算法對(duì)原始數(shù)據(jù)特征集的檢測(cè)結(jié)果混淆矩陣
第二組實(shí)驗(yàn)使用3種網(wǎng)絡(luò)表示學(xué)習(xí)算法分別對(duì)比特幣交易圖提取表示向量作為交易的特征,并添加到原始數(shù)據(jù)集中的特征作為合并特征,再使用異常檢測(cè)算法對(duì)合并后的特征集進(jìn)行檢測(cè)。在3種網(wǎng)絡(luò)表示學(xué)習(xí)方法中,DeepWalk和DeepWalk-Ba學(xué)習(xí)得到128維的特征集,BANE得到了64維的特征集,與原數(shù)據(jù)集中交易的166維特征合并后得到294和230維的特征集。表3顯示了基于3種不同的網(wǎng)絡(luò)表示學(xué)習(xí)算法的模型對(duì)比特幣異常交易的檢測(cè)結(jié)果。
表3 基于網(wǎng)絡(luò)表示學(xué)習(xí)的模型的檢測(cè)結(jié)果
與第一組使用原始數(shù)據(jù)特征集的傳統(tǒng)檢測(cè)方法相比,第二組實(shí)驗(yàn)的檢測(cè)效果有了很大提升,尤其是召回率有了大幅度提升,證明了網(wǎng)絡(luò)表示學(xué)習(xí)對(duì)區(qū)塊鏈這種大型網(wǎng)絡(luò)結(jié)構(gòu)提取特征的有效性。與使用隨機(jī)游走策略的DeepWalk相比,使用了基于交易金額的有偏游走策略的DeepWalk-Ba在RF、AdaBoost、MLP、SVM等算法的檢測(cè)結(jié)果具有一定優(yōu)勢(shì),表明DeepWalk-Ba可以更好地反映網(wǎng)絡(luò)的某些特性來(lái)逼近網(wǎng)絡(luò)。使用BANE的方案具有最好的檢測(cè)結(jié)果,證明對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和屬性信息同時(shí)進(jìn)行學(xué)習(xí)的BANE方法,比只對(duì)網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行學(xué)習(xí)的DeepWalk和DeepWalk-Ba方法更適合于提取比特幣交易網(wǎng)絡(luò)的特征,挖掘到了更多的隱藏信息。
第三組實(shí)驗(yàn)是在第二組實(shí)驗(yàn)的基礎(chǔ)上,對(duì)特征集進(jìn)行標(biāo)準(zhǔn)化和采樣處理。結(jié)果顯示,3種采樣處理方式均導(dǎo)致過(guò)擬合的問(wèn)題,對(duì)檢測(cè)效果沒(méi)有提升。對(duì)特征集標(biāo)準(zhǔn)化處理后,檢測(cè)效果有微弱提升,提升效果不明顯的原因是原始數(shù)據(jù)特征集大部分字段和網(wǎng)絡(luò)表示學(xué)習(xí)得到的特征集均已被標(biāo)準(zhǔn)化,對(duì)其余字段進(jìn)行標(biāo)準(zhǔn)化對(duì)檢測(cè)結(jié)果帶來(lái)的提升有限。表4顯示了特征標(biāo)準(zhǔn)化后,表現(xiàn)最好的三組網(wǎng)絡(luò)表示學(xué)習(xí)模型和異常檢測(cè)算法的組合的檢測(cè)結(jié)果。
表4 特征標(biāo)準(zhǔn)化后的檢測(cè)結(jié)果
表現(xiàn)最好的是BANE模型與RF檢測(cè)算法的組合,達(dá)到了99.3%的精確率、86.4%的召回率和92.4%的F1值,召回率較實(shí)驗(yàn)一的傳統(tǒng)檢測(cè)模型有大幅提升,檢測(cè)結(jié)果混淆矩陣如圖6所示,對(duì)實(shí)際值中的1 146個(gè)正類(lèi),990個(gè)正確預(yù)測(cè)為異常,156個(gè)錯(cuò)誤預(yù)測(cè)為非異常;負(fù)類(lèi)中,12 817個(gè)正確預(yù)測(cè)為非異常,7個(gè)錯(cuò)誤預(yù)測(cè)為異常。
圖6 BANE模型與RF算法的檢測(cè)結(jié)果混淆矩陣
三組實(shí)驗(yàn)中,與對(duì)原始數(shù)據(jù)中的特征進(jìn)行檢測(cè)的第一組實(shí)驗(yàn)相比,基于網(wǎng)絡(luò)表示學(xué)習(xí)的第二組實(shí)驗(yàn)的檢測(cè)效果有大幅度的提升,證明了網(wǎng)絡(luò)表示學(xué)習(xí)對(duì)區(qū)塊鏈交易圖提取特征的有效性。對(duì)3種網(wǎng)絡(luò)表示學(xué)習(xí)方法,DeepWalk-Ba模型具有比DeepWalk更好的檢測(cè)效果,證明有偏的隨機(jī)游走可以更好地反映網(wǎng)絡(luò)的特性,為特征提取貢獻(xiàn)了更多信息。在3種方法中,使用了BANE提取特征的檢測(cè)方法具有最好的檢測(cè)效果,說(shuō)明對(duì)交易網(wǎng)絡(luò)結(jié)構(gòu)特征和屬性信息同時(shí)進(jìn)行表示學(xué)習(xí),獲取到了更準(zhǔn)確全面的特征信息。此外,在實(shí)驗(yàn)中,對(duì)特征數(shù)據(jù)進(jìn)行了標(biāo)準(zhǔn)化和采樣處理,3種采樣方法均會(huì)導(dǎo)致檢測(cè)結(jié)果過(guò)擬合,但是這并不表示采樣處理對(duì)這種不均衡數(shù)據(jù)集的異常檢測(cè)沒(méi)有效果,對(duì)特征集進(jìn)行標(biāo)準(zhǔn)化處理,對(duì)最終的檢測(cè)效果有一定的提升。
為了對(duì)區(qū)塊鏈交易中的異常交易進(jìn)行檢測(cè),本文提出了一種基于有偏隨機(jī)游走的網(wǎng)絡(luò)表示學(xué)習(xí)方法,使用3種網(wǎng)絡(luò)表示學(xué)習(xí)方法對(duì)比特幣交易圖提取特征,對(duì)特征集使用不同的有監(jiān)督和無(wú)監(jiān)督方法進(jìn)行異常檢測(cè),得到了最好99.3%的精確率、86.4%的召回率和92.4%的F1值。
實(shí)驗(yàn)中,無(wú)監(jiān)督算法K-means的檢測(cè)結(jié)果顯著地落后于有監(jiān)督算法,但在實(shí)際的區(qū)塊鏈網(wǎng)絡(luò)中有大量的節(jié)點(diǎn)和交易,且隨著時(shí)間處于動(dòng)態(tài)變化中,及時(shí)而準(zhǔn)確地獲得有標(biāo)簽的數(shù)據(jù)是異常困難的。無(wú)監(jiān)督檢測(cè)算法不要求數(shù)據(jù)標(biāo)簽,對(duì)于實(shí)時(shí)檢測(cè)甚至預(yù)測(cè)區(qū)塊鏈異常交易有重要意義。在第一組實(shí)驗(yàn)中,K-means算法具有很低的精確率,但召回率卻很高,高于同組實(shí)驗(yàn)中全部有監(jiān)督算法。在未來(lái)的研究中,將K-means算法和有監(jiān)督算法結(jié)合,對(duì)檢測(cè)結(jié)果進(jìn)行交叉驗(yàn)證,可能會(huì)提高精確率和召回率,從而帶來(lái)更好的檢測(cè)效果。此外,本研究中使用3種采樣方法處理特征數(shù)據(jù)集,均產(chǎn)生了過(guò)擬合的問(wèn)題,沒(méi)有對(duì)檢測(cè)結(jié)果產(chǎn)生好的影響,但并不能否認(rèn)采樣處理方法在區(qū)塊鏈這種正負(fù)類(lèi)別數(shù)量差異巨大的不平衡數(shù)據(jù)集中的作用。在后續(xù)研究中,找到更適于處理區(qū)塊鏈數(shù)據(jù)集的采樣方法,會(huì)帶來(lái)檢測(cè)效果的進(jìn)一步提升。