999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常交易檢測*

2022-11-15 05:56:22張曉琦李光松王永娟
關(guān)鍵詞:特征檢測模型

張曉琦,白 雪,李光松,王永娟

(1.信息工程大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,河南 鄭州 450001;2.中國船舶工業(yè)綜合技術(shù)經(jīng)濟(jì)研究院,北京 100081;3.河南省網(wǎng)絡(luò)密碼重點(diǎn)實驗室,河南 鄭州450001)

0 引言

區(qū)塊鏈?zhǔn)且环N分布式加密賬本,為非信任成員可以安全地進(jìn)行交易提供平臺,使得去中心化、低成本、點(diǎn)對點(diǎn)的交易成為可能,在金融、醫(yī)療、物流、物聯(lián)網(wǎng)等領(lǐng)域得到了廣泛應(yīng)用。區(qū)塊鏈?zhǔn)褂梅植际酱鎯图w維護(hù)來實現(xiàn)去中心化,使用SHA-256等非對稱加密算法和可靠存儲技術(shù)完成信用背書,保障了系統(tǒng)的開源、公開和安全。區(qū)塊鏈最成功的實踐是以比特幣為代表的加密數(shù)字貨幣,自2009年比特幣誕生以來,越來越多的加密數(shù)字貨幣涌現(xiàn)出來并進(jìn)入金融市場。截至2021年12月31日,加密數(shù)字貨幣的種類超過了1.6萬種,用戶近3億。主流加密數(shù)字貨幣主要有比特幣、以太坊、萊特幣等,其中,比特幣在2021年11月達(dá)到了歷史最高單價68 928.90美元,流通市值達(dá)到1萬億美元。加密數(shù)字貨幣具有匿名性的特點(diǎn),不需要用戶進(jìn)行實名認(rèn)證,因此越來越多的犯罪分子將加密貨幣作為犯罪工具,實施網(wǎng)絡(luò)和金融犯罪,如敲詐勒索、欺詐和洗錢等。2020年非法交易在所有加密貨幣交易中所占的比例為0.34%,總量達(dá)到100億美元,而在2021年,0.15%的加密貨幣交易與網(wǎng)絡(luò)犯罪、洗錢和恐怖主義融資等活動有關(guān),其中詐騙案件共涉及資金約140億美元[1]。與加密貨幣相關(guān)的犯罪的發(fā)生增加了加密貨幣的價格波動,也為區(qū)塊鏈技術(shù)的發(fā)展帶來了不利的影響,還給社會帶來了安全問題,交易安全已成為區(qū)塊鏈系統(tǒng)生態(tài)的一個重要問題。對區(qū)塊鏈的異常交易進(jìn)行檢測,挖掘交易中有用的信息,提高對區(qū)塊鏈犯罪的打擊效率已成為一個迫切需要解決的問題。同時,采用技術(shù)手段對區(qū)塊鏈交易中的異常進(jìn)行檢測,也能為解決區(qū)塊鏈技術(shù)擴(kuò)展到其他領(lǐng)域?qū)⒁媾R的安全問題提供有意義的指導(dǎo)。因此,研究區(qū)塊鏈異常交易檢測方法具有重要現(xiàn)實意義。

區(qū)塊鏈交易記錄被分布式存儲在公開的鏈上,這為研究和檢測區(qū)塊鏈的異常交易提供了相當(dāng)大的優(yōu)勢,然而區(qū)塊鏈的巨大容量對進(jìn)一步探索它提出了挑戰(zhàn),由于區(qū)塊鏈系統(tǒng)中龐大的用戶和交易數(shù)量,對異常的手動檢測是不可能的。隨著機(jī)器學(xué)習(xí)在網(wǎng)絡(luò)安全、攻擊檢測方面表現(xiàn)出了良好的性能,在社交網(wǎng)絡(luò)用戶檢測、網(wǎng)絡(luò)入侵檢測、信用卡欺詐檢測、醫(yī)學(xué)檢測等領(lǐng)域都發(fā)揮了很大作用,研究人員嘗試將機(jī)器學(xué)習(xí)應(yīng)用于區(qū)塊鏈的異常檢測中。現(xiàn)有的區(qū)塊鏈異常交易檢測模型大多是對傳統(tǒng)的機(jī)器學(xué)習(xí)的異常檢測方法在區(qū)塊鏈領(lǐng)域的應(yīng)用,多使用機(jī)器學(xué)習(xí)方法對從交易數(shù)據(jù)中提取的特征進(jìn)行檢測的技術(shù)路線。在傳統(tǒng)的特征提取方法中,一般將區(qū)塊鏈網(wǎng)絡(luò)中的交易看做孤立的節(jié)點(diǎn),只對交易本身提取特征,未對交易網(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)詐騙或者攻擊等異常情況時,網(wǎng)絡(luò)結(jié)構(gòu)會發(fā)生大的變化,通過對區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的變化進(jìn)行檢測,可以在一定程度上檢測到異常事件。而網(wǎng)絡(luò)表示學(xué)習(xí)被證明在大規(guī)模動態(tài)網(wǎng)絡(luò)的特征提取中具有很好的效果[2],可以較為全面地抽取網(wǎng)絡(luò)的結(jié)構(gòu)特征,提升檢測的效果。

網(wǎng)絡(luò)表示學(xué)習(xí)旨在為網(wǎng)絡(luò)中的每個節(jié)點(diǎn)學(xué)習(xí)一個低維的表示向量,進(jìn)而可將得到的向量表示運(yùn)用到常見的網(wǎng)絡(luò)分析任務(wù)中。學(xué)習(xí)的基本方法就是找到一個映射函數(shù),將網(wǎng)絡(luò)中的節(jié)點(diǎn)轉(zhuǎn)換為表示向量,該表示向量要盡可能多地描述網(wǎng)絡(luò)的結(jié)構(gòu)和特征信息。在網(wǎng)絡(luò)表示學(xué)習(xí)完成后,獲取到的表示向量可以作為機(jī)器學(xué)習(xí)等方法的輸入,來完成節(jié)點(diǎn)分類、異常檢測、鏈路預(yù)測等任務(wù)。2016年,Hu[3]等人提出使用網(wǎng)絡(luò)表示方法來檢測結(jié)構(gòu)異常點(diǎn)的模型,使用圖劃分算法將圖中節(jié)點(diǎn)分為不同的社團(tuán),然后用可以捕獲節(jié)點(diǎn)和社團(tuán)連接強(qiáng)度的嵌入方法來學(xué)習(xí)節(jié)點(diǎn)表示,研究證明使用網(wǎng)絡(luò)表示方法以及降維技術(shù)是發(fā)現(xiàn)網(wǎng)絡(luò)中結(jié)構(gòu)不一致的有效工具。Paudel[4]等人提出了一種新的無監(jiān)督網(wǎng)絡(luò)表示學(xué)習(xí)方法,首先執(zhí)行從網(wǎng)絡(luò)中的每個節(jié)點(diǎn)開始的固定長度的隨機(jī)游走,并使用將頻率測量投影到維度投影中隨機(jī)選擇的向量,最后,使用簡化的散列法將其轉(zhuǎn)換為低維表示向量。Bandyopadhyay[5]等人提出了一種基于深度無監(jiān)督自動編碼器的方法,該方法可以在生成網(wǎng)絡(luò)表示的同時最小化異常節(jié)點(diǎn)的影響。作者歸納了屬性圖中異常點(diǎn)三個主要特征:與不同社團(tuán)中的節(jié)點(diǎn)有相似的屬性;連接不同的社團(tuán);屬于某個社團(tuán)但是屬性與另一個社團(tuán)相同。此外,作者還探索了對抗性學(xué)習(xí)在網(wǎng)絡(luò)表示學(xué)習(xí)中的作用。Yu[6]等提出了一種網(wǎng)絡(luò)游走(NetWalk)方法,在動態(tài)網(wǎng)絡(luò)中進(jìn)行異常檢測,NetWalk僅考慮網(wǎng)絡(luò)的結(jié)構(gòu)信息,學(xué)習(xí)網(wǎng)絡(luò)初始圖上節(jié)點(diǎn)的表示,并在節(jié)點(diǎn)發(fā)生變化時更新表示,實現(xiàn)了網(wǎng)絡(luò)表示隨著網(wǎng)絡(luò)的變化而動態(tài)更新。在異常檢測階段,NetWalk采用K-means聚類算法,將當(dāng)前時間戳內(nèi)現(xiàn)有節(jié)點(diǎn)分簇,然后以每個節(jié)點(diǎn)距離聚類最近的距離來衡量其異常得分。

本文提出的區(qū)塊鏈異常交易檢測模型結(jié)合了網(wǎng)絡(luò)表示學(xué)習(xí)和機(jī)器學(xué)習(xí)算法,檢測過程可以分為兩個階段:在第一階段中,使用3種網(wǎng)絡(luò)表示學(xué)習(xí)算法深度游走(DeepWalk)、DeepWalk-Ba(DeepWalk Based on Amount)和二階屬性網(wǎng)絡(luò)嵌入(Binarized Attributed Network Embedding,BANE)對比特幣交易圖進(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í)算法,在對節(jié)點(diǎn)和邊進(jìn)行學(xué)習(xí)的同時,對節(jié)點(diǎn)和邊的屬性信息也做了考慮[8]。在第二個階段,采用無監(jiān)督和有監(jiān)督的機(jī)器學(xué)習(xí)算法進(jìn)行異常檢測,并使用精確率、召回率和F1值對檢測的性能進(jìn)行評估和對比。與現(xiàn)有的檢測模型相比,本文提出的檢測模型使用網(wǎng)絡(luò)表示學(xué)習(xí)從區(qū)塊鏈交易網(wǎng)絡(luò)的結(jié)構(gòu)和屬性信息中提取特征,對異常交易發(fā)生時區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的變化進(jìn)行了學(xué)習(xí),得到的特征更加全面地反映節(jié)點(diǎn)信息,在實驗中,達(dá)到了更好的檢測效果。

本文使用網(wǎng)絡(luò)表示學(xué)習(xí)來挖掘區(qū)塊鏈交易網(wǎng)絡(luò)結(jié)構(gòu)中的隱藏信息,提取更準(zhǔn)確和全面的特征集;對網(wǎng)絡(luò)表示學(xué)習(xí)的游走策略進(jìn)行針對性調(diào)整,提出了DeepWalk-Ba網(wǎng)絡(luò)表示學(xué)習(xí)方法,并對不同的檢測算法的效果進(jìn)行了對比。

本文首先介紹了區(qū)塊鏈異常交易檢測的相關(guān)研究工作;接著對區(qū)塊鏈異常檢測問題進(jìn)行了描述,對數(shù)據(jù)集、數(shù)據(jù)預(yù)處理、標(biāo)準(zhǔn)化和采樣處理等進(jìn)行了說明;然后介紹了本文采用的區(qū)塊鏈異常交易檢測模型,并對檢測的評價指標(biāo)進(jìn)行了說明;接下來介紹了本研究所作的三組實驗,并對結(jié)果進(jìn)行說明;最后對本文進(jìn)行了總結(jié),并介紹了下一步工作的研究方向。

1 相關(guān)工作

異常檢測是機(jī)器學(xué)習(xí)中一個重要分支,旨在識別偏離正常數(shù)據(jù)分布的對象,在網(wǎng)絡(luò)入侵檢測、疾病檢測、故障檢測、工業(yè)異常檢測和金融欺詐檢測等領(lǐng)域,都發(fā)揮了重要的作用。隨著深度學(xué)習(xí)等技術(shù)的出現(xiàn),異常檢測技術(shù)也得到了進(jìn)一步的完善。區(qū)塊鏈?zhǔn)且粋€復(fù)雜的系統(tǒng),存在多種異常的情況,如何將新的異常檢測技術(shù)應(yīng)用于區(qū)塊鏈?zhǔn)且粋€值得關(guān)注的問題。本節(jié)介紹了區(qū)塊鏈異常交易檢測和網(wǎng)絡(luò)表示學(xué)習(xí)在異常檢測中的相關(guān)研究情況。

針對區(qū)塊鏈異常交易,主要的研究方法包括基于特征的分類方法、基于聚類的檢測方法、基于統(tǒng)計分析模型的檢測方法等。Harlev[9]等提出了出了一種使用監(jiān)督機(jī)器學(xué)習(xí)算法來減少交易匿名性的方法。作者使用含有兩億余個樣本的已標(biāo)記數(shù)據(jù)集,并構(gòu)建了可以區(qū)分10個類別的分類器,該方法對未標(biāo)記的交易的檢測達(dá)到了77%的準(zhǔn)確率。Zambre[10]等人對比特幣的欺詐案例進(jìn)行了研究,并對比特幣交易中的特征提取問題進(jìn)行了討論,確定了6種可以為K均值聚類(K-Means)算法提供最佳惡意用戶分類結(jié)果的特征。Li[11]等人對比特幣交易中的非法地址進(jìn)行了識別,首先從網(wǎng)站、論壇和論文中收集了非法地址數(shù)據(jù)集,然后使用一種將長短期記憶(Long Short-Term Memory,LSTM)算法結(jié)合到自動編碼器中以生成時間特征的模型對非法地址提取了特征,最后,使用隨機(jī)森林(Random Forest,RF)、支持向量機(jī)(Support Vector Machines,SVM)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)等機(jī)器學(xué)習(xí)算法來評估特征,測試表明所提出的特征具有區(qū)分性和魯棒性。Rabieinejad[12]等提出了一種基于深度學(xué)習(xí)的以太坊威脅追蹤模型,該模型應(yīng)用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊檢測,并使用機(jī)器學(xué)習(xí)算法的組合進(jìn)行攻擊分類,在以太坊攻擊檢測中準(zhǔn)確率達(dá)到97.72%,在攻擊分類中準(zhǔn)確率達(dá)到99.4%。Gu[13]等人利用網(wǎng)絡(luò)爬蟲工具收集了區(qū)塊鏈交易所數(shù)據(jù)集,然后進(jìn)行相關(guān)性分析,得出影響不同交易所交易量的因素,再基于深度學(xué)習(xí)方法建立了各種因素對交易金額影響的預(yù)測模型。此外,作者通過計算預(yù)測交易金額與實際交易金額的偏差,為異常交易金額檢測提供依據(jù)。對檢測結(jié)果的案例研究表明,一些異常交易金額與政策變化和行業(yè)事件有關(guān),而另一些則被懷疑與違法行為有關(guān)。Nerurkar[14]等設(shè)計了9個功能來訓(xùn)練異常檢測模型,對16種不同的用戶進(jìn)行分類,并將該模型與3個現(xiàn)有的基準(zhǔn)模型進(jìn)行對比。實驗表明,該模型的特異性和敏感性與其他模型相當(dāng),分類準(zhǔn)確率為91%。Lin[15]等人提出新的特征來開發(fā)比特幣異常檢測分類模型,作者利用這些特征對監(jiān)督機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,然后使用這些模型對異常比特幣地址進(jìn)行預(yù)測和評估。Sharma[16]等介紹了基于K-means聚類的比特幣異常檢測方案,該方案基于比特幣加權(quán)價格和交易中的時間戳來預(yù)測異常。Kim[17]等提出了一種通過分析區(qū)塊鏈網(wǎng)絡(luò)流量來檢測惡意事件的機(jī)制。數(shù)據(jù)采集引擎感知底層區(qū)塊鏈流量,實時生成多維數(shù)據(jù)流,并基于半監(jiān)督學(xué)習(xí)從創(chuàng)建的數(shù)據(jù)實例中檢測異常。Lorenz[18]等人研究了在標(biāo)簽稀缺的情況下的洗錢檢測問題,作者首先表明現(xiàn)在使用的無監(jiān)督方法不足以檢測真實環(huán)境中比特幣數(shù)據(jù)的異常交易情況,然后提出了一種新的算法,該算法使用5%的標(biāo)簽就能達(dá)到與有監(jiān)督算法相似的檢測效果。

隨著網(wǎng)絡(luò)表示學(xué)習(xí)方法在異常檢測領(lǐng)域的應(yīng)用,一些研究者們也嘗試將這一方法在區(qū)塊鏈異常檢測領(lǐng)域進(jìn)行嘗試。Wu[19]等提出了一種檢測以太坊網(wǎng)絡(luò)釣魚詐騙的方法,作者使用網(wǎng)絡(luò)表示學(xué)習(xí)方法trans2vec提取以太坊中交易地址的特征,并使用支持向量機(jī)SVM算法將節(jié)點(diǎn)分為正常節(jié)點(diǎn)和釣魚節(jié)點(diǎn)。Wei[20]等人介紹了一種比特幣交易預(yù)測的模型,該模型利用深度神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)比特幣交易網(wǎng)絡(luò)表示。為了捕捉不同類型的比特幣交易模式,作者探討了比特幣交易賬戶的拓?fù)溥B接模式、交易金額模式和交易動態(tài),然后構(gòu)建了時間衰減可達(dá)性圖和時間衰減交易模式圖,并在兩個圖上都使用節(jié)點(diǎn)嵌入,實現(xiàn)了比特幣交易預(yù)測系統(tǒng)。Wang[21]等提出了一種識別以太坊中的網(wǎng)絡(luò)釣魚賬戶的算法交易子圖網(wǎng)絡(luò)(Transaction Sub-Graph Network,TSGN),作者首先對交易中的每個地址提取子圖,并將這些子圖拓展為響應(yīng)的TSGN,此外,作者還引入交易的方向?qū)傩詠頌樽罱K的表示提供更多的信息來增加對釣魚賬戶的識別準(zhǔn)確率。Wang[22]等人提出了一種基于特征表示的異構(gòu)網(wǎng)絡(luò)表示方法用于以太坊身份識別。他們使用以太坊數(shù)據(jù)構(gòu)建異構(gòu)網(wǎng)絡(luò),再利用異構(gòu)網(wǎng)絡(luò)表示方法將整個網(wǎng)絡(luò)映射到一個低維空間中得到表示向量,再使用節(jié)點(diǎn)分類任務(wù)對欺詐賬戶和正常賬戶進(jìn)行區(qū)分,實現(xiàn)了以太坊身份識別。

現(xiàn)有的區(qū)塊鏈異常交易檢測方法大多沒有考慮異常事件發(fā)生時區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)特征的變化,而后者通常對異常事件的檢測有一定的幫助。已有的使用網(wǎng)絡(luò)表示學(xué)習(xí)方法對區(qū)塊鏈的異常檢測的工作多聚焦于對地址的識別分類問題,使用基于網(wǎng)絡(luò)結(jié)構(gòu)信息的表示學(xué)習(xí)方法對交易地址進(jìn)行分類,沒有對交易的檢測進(jìn)行研究,在表示學(xué)習(xí)的過程中,也沒有對網(wǎng)絡(luò)的屬性信息進(jìn)行學(xué)習(xí)。因此,將網(wǎng)絡(luò)表示學(xué)習(xí)方法用于區(qū)塊鏈異常交易檢測仍具有很大的研究意義和提升空間。

2 問題及數(shù)據(jù)描述

區(qū)塊鏈異常交易檢測是一個二分類問題,本文旨在對公開的比特幣交易數(shù)據(jù)進(jìn)行檢測,以達(dá)到區(qū)分異常和正常交易的目的。本節(jié)對區(qū)塊鏈異常檢測問題進(jìn)行了描述,并對研究中使用的比特幣數(shù)據(jù)集和數(shù)據(jù)預(yù)處理進(jìn)行介紹。

2.1 問題描述

區(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)代表代幣在兩個交易之間的流轉(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ū)塊鏈異常交易檢測可以看做圖分類任務(wù),通過對訓(xùn)練數(shù)據(jù)集的學(xué)習(xí),得到分類器f:V|→Y用來預(yù)測區(qū)塊鏈交易的標(biāo)記,對節(jié)點(diǎn)vi,若f(vi)=0,則vi為正常交易,若f(vi)=1,vi為異常交易。

在區(qū)塊鏈交易中,傳統(tǒng)的節(jié)點(diǎn)特征提取方法一般將節(jié)點(diǎn)看做一個孤立點(diǎn),僅選取與交易相關(guān)的信息,而忽略了交易網(wǎng)絡(luò)的結(jié)構(gòu)信息,本文使用網(wǎng)絡(luò)表示學(xué)習(xí)方法獲取交易網(wǎng)絡(luò)中節(jié)點(diǎn)的特征,旨在對交易網(wǎng)絡(luò)的結(jié)構(gòu)和屬性信息進(jìn)行學(xué)習(xí),得到節(jié)點(diǎn)的表示向量X′∈R|v|×dE,其中dE為網(wǎng)絡(luò)表示學(xué)習(xí)的嵌入維度。

2.2 數(shù)據(jù)集描述

本文使用由Weber[23]等發(fā)布的比特幣交易數(shù)據(jù)集,包含交易的節(jié)點(diǎn)、邊和標(biāo)記信息。其中,節(jié)點(diǎn)代表交易,邊代表交易之間的比特幣流轉(zhuǎn)信息,即某一交易的輸出被下一交易作為輸入而花費(fèi)掉,標(biāo)記代表了交易的屬性,有“正常”“異常”和“未知”3種值。

數(shù)據(jù)集包含203 769個節(jié)點(diǎn)和234 355條邊,其中每個交易節(jié)點(diǎn)有166個特征,前94個特征表示與交易直接相關(guān)的信息,包括時間間隔、輸入交易和輸出交易的數(shù)量、輸入交易和輸出交易比特幣平均值等,其中時間間隔表示交易廣播到比特幣網(wǎng)絡(luò)的時間。剩余的72個特征是聚合特征,是使用交易信息從中心節(jié)點(diǎn)向后或向前一跳獲得的。圖1顯示了在不同時間間隔上3種不同標(biāo)記的交易的分布。

圖1 不同時間間隔上交易的分布

2.3 數(shù)據(jù)篩選和標(biāo)準(zhǔn)化

為了獲得更準(zhǔn)確的檢測效果,對數(shù)據(jù)集進(jìn)行了預(yù)處理,根據(jù)對應(yīng)關(guān)系,將節(jié)點(diǎn)和標(biāo)記合并,并刪除標(biāo)記為“未知”的節(jié)點(diǎn)數(shù)據(jù),得到42 019個正常和4 545個異常交易節(jié)點(diǎn)。考慮到交易節(jié)點(diǎn)的特征數(shù)據(jù)尺度存在差異,在進(jìn)行檢測的過程中,尺度大的數(shù)據(jù)會比尺度小的數(shù)據(jù)對檢測模型有更大的影響,需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間[24]。本文選取Z-Score方法對特征數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,Z-Score標(biāo)準(zhǔn)化方法利用原始數(shù)據(jù)的標(biāo)準(zhǔn)差和方差將不同數(shù)量級的數(shù)據(jù)變換為到相同的量級,并使用Z-Score值進(jìn)行衡量,使得不同的特征數(shù)據(jù)具有可比性,其標(biāo)準(zhǔn)化過程如下:

假設(shè)具有n個特征的原始數(shù)據(jù)序列為{x1,x2,…,xn},對 其 進(jìn) 行 變 換其中標(biāo) 準(zhǔn) 化 完 成 后,序 列 變 為{y1,y2,…,yn},新序列均值為0,方差為1。

2.4 數(shù)據(jù)過采樣和欠采樣

經(jīng)過篩選后的數(shù)據(jù)集中,異常樣本占正常樣本的比例約為11%,由于很多異常檢測模型的輸出類別是基于閾值的,在訓(xùn)練數(shù)據(jù)中正常和異常樣本的比例不平衡時,閾值的存在會導(dǎo)致模型輸出傾向于占比高的類別。對于這種二分類問題中的數(shù)據(jù)不平衡問題,一般采取調(diào)整模型閾值或者對數(shù)據(jù)集進(jìn)行采樣處理的方式來解決,而采樣方法一般比調(diào)整閾值的效果更好。對數(shù)據(jù)集的采樣處理一般分為過采樣和欠采樣,其中,過采樣是指從少數(shù)類的樣本中進(jìn)行復(fù)制采樣或生成新樣本來增加少數(shù)類樣本,而欠采樣是指對多數(shù)類的樣本進(jìn)行采樣來減少多數(shù)類樣本。使用采樣方法處理數(shù)據(jù)集,可以解決數(shù)據(jù)集不平衡的問題,但也存在模型過擬合的可能性,不利于檢測模型的泛化性能。

本研究中使用隨機(jī)過采樣和合成少數(shù)過采樣技術(shù)(Synthetic Minority Oversampling Technique,SMOTE)[25]兩種過采樣方法以及隨機(jī)欠采樣對不均衡的數(shù)據(jù)集進(jìn)行處理。隨機(jī)過采樣是對少數(shù)類樣本的復(fù)制采樣,而隨機(jī)欠采樣是對多數(shù)類樣本的隨機(jī)采樣。SMOTE算法的基本思想是對少數(shù)類樣本進(jìn)行插值合成新樣本并添加到數(shù)據(jù)集中,即對少數(shù)類樣本a,從它相鄰的樣本中選擇少數(shù)類樣本b,然后在a,b的連線上隨機(jī)生成一個新的樣本c。圖2顯示了在3種采樣方法處理前后數(shù)據(jù)集中正常和異常樣本的分布情況,采樣處理得到了更均衡的數(shù)據(jù)集。

圖2 采樣前后數(shù)據(jù)集中正常和異常樣本分布情況

3 區(qū)塊鏈異常交易檢測模型

本文使用網(wǎng)絡(luò)表示學(xué)習(xí)和機(jī)器學(xué)習(xí)模型結(jié)合的方式來對區(qū)塊鏈異常交易進(jìn)行檢測,檢測模型包含2個步驟:

(1)使用網(wǎng)絡(luò)表示學(xué)習(xí)方法對區(qū)塊鏈交易圖數(shù)據(jù)進(jìn)行學(xué)習(xí),得到交易節(jié)點(diǎn)在低維空間中的表示向量,作為交易的特征。

(2)合并數(shù)據(jù)集中交易的166個特征和網(wǎng)絡(luò)表示學(xué)習(xí)得到的特征,使用機(jī)器學(xué)習(xí)的異常檢測模型對特征集進(jìn)行檢測,并用三個評價指標(biāo)對檢測結(jié)果進(jìn)行評估。

在本研究中采用DeepWalk、DeepWalk-Ba和BANE 3種網(wǎng)絡(luò)表示學(xué)習(xí)方法對區(qū)塊鏈交易網(wǎng)絡(luò)數(shù)據(jù)提取特征,在合并特征并進(jìn)行標(biāo)準(zhǔn)化和采樣處理后,使用5種有監(jiān)督學(xué)習(xí)算法和1種無監(jiān)督機(jī)器學(xué)習(xí)算法進(jìn)行異常檢測,并選擇評價指標(biāo)對檢測效果進(jìn)行評估。以DeepWalk算法為例,基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常檢測整體框架如圖3所示。

圖3 基于網(wǎng)絡(luò)表示學(xué)習(xí)的區(qū)塊鏈異常檢測整體框架

區(qū)塊鏈異常檢測框架主要由網(wǎng)絡(luò)表示學(xué)習(xí)和異常檢測模型構(gòu)成,模型的輸入是交易圖數(shù)據(jù)。在網(wǎng)絡(luò)表示學(xué)習(xí)階段,用交易圖數(shù)據(jù)生成網(wǎng)絡(luò)圖,再利用隨機(jī)游走得到節(jié)點(diǎn)序列,最后使用表示學(xué)習(xí)得到節(jié)點(diǎn)的向量表示作為特征。合并特征并對特征進(jìn)行標(biāo)準(zhǔn)化和采樣處理后,使用異常檢測模型進(jìn)行檢測。

3.1 網(wǎng)絡(luò)表示學(xué)習(xí)

本研究中使用基于網(wǎng)絡(luò)結(jié)構(gòu)性質(zhì)的網(wǎng)絡(luò)表示學(xué)習(xí)方法DeepWalk及其改進(jìn)方法DeepWalk-Ba,此外,基于邊和節(jié)點(diǎn)屬性信息的方法BANE也被用來提取比特幣交易圖的特征。

DeepWalk算法包括3個步驟,第一步網(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ī)游走的過程中,使用可重復(fù)訪問節(jié)點(diǎn)的深度優(yōu)先遍歷算法隨機(jī)游走(RandomWalk)遍歷節(jié)點(diǎn),對給定起始節(jié)點(diǎn)vi,從其鄰居節(jié)點(diǎn)中隨機(jī)選取節(jié)點(diǎn)vj進(jìn)行訪問并重復(fù)此過程,直到節(jié)點(diǎn)序列{vi,vj,…}達(dá)到一定的長度。在對網(wǎng)絡(luò)中的每個節(jié)點(diǎn)獲取到足夠長度的序列后,對得到的節(jié)點(diǎn)序列集進(jìn)行skip-gram向量學(xué)習(xí),將離散的網(wǎng)絡(luò)節(jié)點(diǎn)表示成向量。

DeepWalk-Ba是DeepWalk算法的擴(kuò)展,在交易網(wǎng)絡(luò)中兩個節(jié)點(diǎn)之間,如果交易量更大,則這兩個節(jié)點(diǎn)具有更緊密的關(guān)系。在隨機(jī)游走過程中,采用一種基于交易總金額的有偏隨機(jī)游走策略,在給定起始節(jié)點(diǎn)vi后,下一個節(jié)點(diǎn)不再隨機(jī)選取,而是以一定的概率訪問鄰近節(jié)點(diǎn)vj。使用A(vi,vj)表示節(jié)點(diǎn)vi和vj之間的交易量,Vvi表示連接到節(jié)點(diǎn)vi的節(jié)點(diǎn)集,對節(jié)點(diǎn)vi的鄰近節(jié)點(diǎn)vj的采樣概率如下:

算法的輸入為圖G=(V,E)及表示學(xué)習(xí)的維度d、每個頂點(diǎn)的游走個數(shù)γ、隨機(jī)游走長度t等參數(shù),輸出為頂點(diǎn)表示矩陣?∈R|V|×d,對輸入的圖G=(V,E),將節(jié)點(diǎn)集V打亂為O,并從O中隨機(jī)選取vi作為起始節(jié)點(diǎn),根據(jù)有偏隨機(jī)游走選取下一個節(jié)點(diǎn),最后得到γ條最大長度為t的序列Wvi,再使用skip-gram學(xué)習(xí)節(jié)點(diǎn)的表達(dá)向量。節(jié)點(diǎn)的有偏隨機(jī)游走策略算法如下:

對于游走序列walk的當(dāng)前節(jié)點(diǎn)curr,其下一節(jié)點(diǎn)為根據(jù)交易總金額確定的離它最近的節(jié)點(diǎn)vcurr。

BANE算法中定義了一個鄰接矩陣,通過以逐層方式聚合節(jié)點(diǎn)屬性并從相鄰節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的邊的信息來捕獲節(jié)點(diǎn)和屬性之間的關(guān)聯(lián)信息,模型分別對網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)屬性兩個矩陣進(jìn)行學(xué)習(xí),再將兩個矩陣合并,以獲得屬性網(wǎng)絡(luò)的表示向量。學(xué)習(xí)的過程如圖4所示,網(wǎng)絡(luò)結(jié)構(gòu)矩陣A為一個n×n階矩陣,屬性信息矩陣B為一個n×d階矩陣,學(xué)習(xí)后得到的網(wǎng)絡(luò)表示矩陣C為一個n×k階矩陣,其中k〈〈n。

圖4 BANE網(wǎng)絡(luò)表示學(xué)習(xí)過程

3.2 異常檢測算法

在利用網(wǎng)絡(luò)表示學(xué)習(xí)方法得到區(qū)塊鏈交易節(jié)點(diǎn)的表示向量后,將其作為特征添加到原始數(shù)據(jù)的特征集中,并對數(shù)據(jù)集進(jìn)行Z-score標(biāo)準(zhǔn)化和過采樣及欠采樣處理,以得到更均衡的交易特征數(shù)據(jù)集。在異常檢測階段,本文采用5種有監(jiān)督和1種無監(jiān)督算法來對特征集進(jìn)行檢測。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),無監(jiān)督算法則選用了K-means。

3.3 評價指標(biāo)

異常交易檢測可以看做一個二分類問題,只分正常和異常兩類,一般用正類(P)表示異常,用負(fù)類(N)表示正常。真(T)和假(F)針對預(yù)測與實際的比較結(jié)果,T指正確匹配,即預(yù)測正實際為正,預(yù)測負(fù)實際也是負(fù);相應(yīng)的,F(xiàn)表示不匹配,即預(yù)測錯誤。異常交易檢測的混淆矩陣見表1。

表1 異常交易檢測的混淆矩陣

本研究中采用精確率、召回率、F1值作為異常交易檢測的評價指標(biāo),其中,精確率(P)表示預(yù)測為正例的數(shù)據(jù)中預(yù)測正確的數(shù)據(jù)所占比例;召回率(R)表示實際為正例的數(shù)據(jù)里正確預(yù)測為正的數(shù)據(jù)所占比例;F1值是精確率和召回率的調(diào)和平均值。精確率、召回率、F1值的計算方法如下:

對于精確率P、召回率R和F1值三個指標(biāo),在比特幣異常交易檢測中,為了盡可能地檢測到所有的異常交易,更注重召回率,召回率越高,代表遺漏的異常交易越少。

4 實驗測試

為了驗證基于網(wǎng)絡(luò)表示學(xué)習(xí)的檢測模型的有效性,需要與現(xiàn)有異常檢測模型進(jìn)行對比。設(shè)計了三組實驗,分別使用原始數(shù)據(jù)的特征集、增加了網(wǎng)絡(luò)表示學(xué)習(xí)提取的特征后的合并特征集、經(jīng)過標(biāo)準(zhǔn)化和采樣處理的合并特征集作為檢測模型的輸入,并隨機(jī)選取輸入集的70%作為訓(xùn)練集,剩余30%作為測試集進(jìn)行異常檢測。設(shè)置K-means的聚類個數(shù)k為2~13。在測試完成后,對不同的聚類個數(shù)k下的檢測效果進(jìn)行檢查,選取分類效果最好的k值下的樣本簇進(jìn)行聚類,并據(jù)此計算檢測的精確率等指標(biāo)。實驗環(huán)境使用Windows 10操作系統(tǒng),TensorFlow機(jī)器學(xué)習(xí)開發(fā)框架,開發(fā)語言為Python。

第一組實驗對原始數(shù)據(jù)中的特征集進(jìn)行異常檢測,得到的結(jié)果如表2所示。

表2 對原始數(shù)據(jù)特征集的檢測結(jié)果

RF算法得到最好的檢測效果,精確率達(dá)到了98.4%,召回率為62.8%,F(xiàn)1值為76.7%。在13 709個樣本的測試數(shù)據(jù)集中,有879個異常數(shù)據(jù),其中正確檢測為異常的為552個,召回率過低。此外,無監(jiān)督算法K-means算法表現(xiàn)出了較好的召回率,但精確率過低。RF算法對原始數(shù)據(jù)特征集的檢測結(jié)果的混淆矩陣如圖5所示,縱軸代表實際值,橫軸代表預(yù)測值,“0”表示正常,“1”表示異常。對于實際值中的正類(異常),有552個正確預(yù)測為異常,327個錯誤預(yù)測為正常;在負(fù)類(正常)中,13 082個正確預(yù)測為正常,9個錯誤預(yù)測為異常。

圖5 RF算法對原始數(shù)據(jù)特征集的檢測結(jié)果混淆矩陣

第二組實驗使用3種網(wǎng)絡(luò)表示學(xué)習(xí)算法分別對比特幣交易圖提取表示向量作為交易的特征,并添加到原始數(shù)據(jù)集中的特征作為合并特征,再使用異常檢測算法對合并后的特征集進(jìn)行檢測。在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í)算法的模型對比特幣異常交易的檢測結(jié)果。

表3 基于網(wǎng)絡(luò)表示學(xué)習(xí)的模型的檢測結(jié)果

與第一組使用原始數(shù)據(jù)特征集的傳統(tǒng)檢測方法相比,第二組實驗的檢測效果有了很大提升,尤其是召回率有了大幅度提升,證明了網(wǎng)絡(luò)表示學(xué)習(xí)對區(qū)塊鏈這種大型網(wǎng)絡(luò)結(jié)構(gòu)提取特征的有效性。與使用隨機(jī)游走策略的DeepWalk相比,使用了基于交易金額的有偏游走策略的DeepWalk-Ba在RF、AdaBoost、MLP、SVM等算法的檢測結(jié)果具有一定優(yōu)勢,表明DeepWalk-Ba可以更好地反映網(wǎng)絡(luò)的某些特性來逼近網(wǎng)絡(luò)。使用BANE的方案具有最好的檢測結(jié)果,證明對網(wǎng)絡(luò)結(jié)構(gòu)和屬性信息同時進(jìn)行學(xué)習(xí)的BANE方法,比只對網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行學(xué)習(xí)的DeepWalk和DeepWalk-Ba方法更適合于提取比特幣交易網(wǎng)絡(luò)的特征,挖掘到了更多的隱藏信息。

第三組實驗是在第二組實驗的基礎(chǔ)上,對特征集進(jìn)行標(biāo)準(zhǔn)化和采樣處理。結(jié)果顯示,3種采樣處理方式均導(dǎo)致過擬合的問題,對檢測效果沒有提升。對特征集標(biāo)準(zhǔn)化處理后,檢測效果有微弱提升,提升效果不明顯的原因是原始數(shù)據(jù)特征集大部分字段和網(wǎng)絡(luò)表示學(xué)習(xí)得到的特征集均已被標(biāo)準(zhǔn)化,對其余字段進(jìn)行標(biāo)準(zhǔn)化對檢測結(jié)果帶來的提升有限。表4顯示了特征標(biāo)準(zhǔn)化后,表現(xiàn)最好的三組網(wǎng)絡(luò)表示學(xué)習(xí)模型和異常檢測算法的組合的檢測結(jié)果。

表4 特征標(biāo)準(zhǔn)化后的檢測結(jié)果

表現(xiàn)最好的是BANE模型與RF檢測算法的組合,達(dá)到了99.3%的精確率、86.4%的召回率和92.4%的F1值,召回率較實驗一的傳統(tǒng)檢測模型有大幅提升,檢測結(jié)果混淆矩陣如圖6所示,對實際值中的1 146個正類,990個正確預(yù)測為異常,156個錯誤預(yù)測為非異常;負(fù)類中,12 817個正確預(yù)測為非異常,7個錯誤預(yù)測為異常。

圖6 BANE模型與RF算法的檢測結(jié)果混淆矩陣

三組實驗中,與對原始數(shù)據(jù)中的特征進(jìn)行檢測的第一組實驗相比,基于網(wǎng)絡(luò)表示學(xué)習(xí)的第二組實驗的檢測效果有大幅度的提升,證明了網(wǎng)絡(luò)表示學(xué)習(xí)對區(qū)塊鏈交易圖提取特征的有效性。對3種網(wǎng)絡(luò)表示學(xué)習(xí)方法,DeepWalk-Ba模型具有比DeepWalk更好的檢測效果,證明有偏的隨機(jī)游走可以更好地反映網(wǎng)絡(luò)的特性,為特征提取貢獻(xiàn)了更多信息。在3種方法中,使用了BANE提取特征的檢測方法具有最好的檢測效果,說明對交易網(wǎng)絡(luò)結(jié)構(gòu)特征和屬性信息同時進(jìn)行表示學(xué)習(xí),獲取到了更準(zhǔn)確全面的特征信息。此外,在實驗中,對特征數(shù)據(jù)進(jìn)行了標(biāo)準(zhǔn)化和采樣處理,3種采樣方法均會導(dǎo)致檢測結(jié)果過擬合,但是這并不表示采樣處理對這種不均衡數(shù)據(jù)集的異常檢測沒有效果,對特征集進(jìn)行標(biāo)準(zhǔn)化處理,對最終的檢測效果有一定的提升。

5 結(jié)論

為了對區(qū)塊鏈交易中的異常交易進(jìn)行檢測,本文提出了一種基于有偏隨機(jī)游走的網(wǎng)絡(luò)表示學(xué)習(xí)方法,使用3種網(wǎng)絡(luò)表示學(xué)習(xí)方法對比特幣交易圖提取特征,對特征集使用不同的有監(jiān)督和無監(jiān)督方法進(jìn)行異常檢測,得到了最好99.3%的精確率、86.4%的召回率和92.4%的F1值。

實驗中,無監(jiān)督算法K-means的檢測結(jié)果顯著地落后于有監(jiān)督算法,但在實際的區(qū)塊鏈網(wǎng)絡(luò)中有大量的節(jié)點(diǎn)和交易,且隨著時間處于動態(tài)變化中,及時而準(zhǔn)確地獲得有標(biāo)簽的數(shù)據(jù)是異常困難的。無監(jiān)督檢測算法不要求數(shù)據(jù)標(biāo)簽,對于實時檢測甚至預(yù)測區(qū)塊鏈異常交易有重要意義。在第一組實驗中,K-means算法具有很低的精確率,但召回率卻很高,高于同組實驗中全部有監(jiān)督算法。在未來的研究中,將K-means算法和有監(jiān)督算法結(jié)合,對檢測結(jié)果進(jìn)行交叉驗證,可能會提高精確率和召回率,從而帶來更好的檢測效果。此外,本研究中使用3種采樣方法處理特征數(shù)據(jù)集,均產(chǎn)生了過擬合的問題,沒有對檢測結(jié)果產(chǎn)生好的影響,但并不能否認(rèn)采樣處理方法在區(qū)塊鏈這種正負(fù)類別數(shù)量差異巨大的不平衡數(shù)據(jù)集中的作用。在后續(xù)研究中,找到更適于處理區(qū)塊鏈數(shù)據(jù)集的采樣方法,會帶來檢測效果的進(jìn)一步提升。

猜你喜歡
特征檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
如何表達(dá)“特征”
不忠誠的四個特征
抓住特征巧觀察
3D打印中的模型分割與打包
主站蜘蛛池模板: yjizz视频最新网站在线| 欧美日韩在线成人| 伊人成人在线视频| 国产成人福利在线| 久久精品中文字幕少妇| 九九久久99精品| 国产永久在线视频| 亚洲色婷婷一区二区| 国产精品第5页| 亚洲精品动漫| 又黄又爽视频好爽视频| 国产美女丝袜高潮| 免费A级毛片无码免费视频| 国产精品污污在线观看网站| 久视频免费精品6| 国产剧情一区二区| 久草热视频在线| 第九色区aⅴ天堂久久香| 亚洲一区二区黄色| 久久婷婷国产综合尤物精品| 亚洲国产成熟视频在线多多| 亚洲高清免费在线观看| 亚洲国产成人综合精品2020 | 国产91精品调教在线播放| 日韩高清欧美| 亚洲性日韩精品一区二区| AⅤ色综合久久天堂AV色综合| 亚洲色欲色欲www在线观看| 国产亚洲一区二区三区在线| 波多野结衣一区二区三区四区视频 | 亚洲国产精品无码久久一线| 久久一日本道色综合久久| 丁香亚洲综合五月天婷婷| 国产福利微拍精品一区二区| 99精品伊人久久久大香线蕉| 国产情侣一区二区三区| 91久久夜色精品| 成年人视频一区二区| 欧美激情视频二区三区| 久久黄色毛片| 日本黄色a视频| 91精品伊人久久大香线蕉| 毛片在线播放a| 久久精品国产一区二区小说| 一级毛片高清| 国产亚洲欧美在线人成aaaa| 国产一区成人| 国产女人水多毛片18| 九色视频一区| 国产精品对白刺激| 中国国语毛片免费观看视频| AV老司机AV天堂| 国产精品极品美女自在线| 思思99思思久久最新精品| 亚洲欧洲日产国产无码AV| 欧美成人午夜在线全部免费| 中文字幕在线播放不卡| 国产免费黄| 亚洲国产精品成人久久综合影院| 最新痴汉在线无码AV| 国产爽歪歪免费视频在线观看| h网站在线播放| h网址在线观看| 久久久噜噜噜| 国产尹人香蕉综合在线电影| 91精品久久久久久无码人妻| 88av在线看| 亚洲欧美自拍中文| 午夜无码一区二区三区在线app| 亚洲首页在线观看| 99热这里只有免费国产精品 | 久久这里只有精品国产99| 99国产精品免费观看视频| 在线播放91| 午夜三级在线| 全部毛片免费看| 一本一道波多野结衣一区二区| 欧美五月婷婷| 国产凹凸一区在线观看视频| 国产经典三级在线| 精品国产网站| 国产成人免费手机在线观看视频 |