摘要:針對區(qū)塊鏈上存在的欺詐賬戶給交易帶來的安全問題,提出了基于機(jī)器學(xué)習(xí)的欺詐賬戶的檢測及特征分析模型,將以太坊上真實(shí)的鏈上數(shù)據(jù)進(jìn)行特征提取后作為模型的數(shù)據(jù)來源,通過對不同的機(jī)器學(xué)習(xí)方法進(jìn)行比較得到最優(yōu)模型并進(jìn)行迭代訓(xùn)練以獲得最佳的預(yù)測模型,同時(shí)引入 SHAP值對數(shù)據(jù)特征進(jìn)行分析。實(shí)驗(yàn)結(jié)果表明,基于XGBoost的欺詐賬戶檢測模型在RMSE、MAE和R2三組指標(biāo)上達(dá)到了0.205、0.084和0.833,優(yōu)于其余的對比模型,并結(jié)合SHAP值識別出預(yù)測欺詐賬戶的關(guān)鍵因素,為區(qū)塊鏈的交易安全提供決策參考。
關(guān)鍵詞:鏈上數(shù)據(jù); 機(jī)器學(xué)習(xí); 區(qū)塊鏈; 欺詐賬戶; SHAP值
中圖分類號:TP309文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2022)04-005-0992-06
doi:10.19734/j.issn.1001-3695.2021.09.0369
Research on blockchain fraud account detection based on data on chain
Zhou Jian1,2, Zhang Jie1, Yan Shi1
(1.School of Management Science amp; Engineering, Anhui University of Finance amp; Economics, Bengbu Anhui 233000, China; 2.School of Computer Science, Beijing University of Posts amp; Telecommunications, Beijing 100876, China)
Abstract:Aiming at the security problems caused by fraudulent accounts in the blockchain, this paper proposed a machine learning-based fraud account detection and feature analysis model. It took the real on-chain data on Ethereum into feature extraction and used it as the data source of the model. It obtained the optimal model by comparing different machine learning methods and performing iterative training to obtain the best predictive model. At the same time, it introduced SHAP value to analyze data characteristics. The experimental results show that the fraud account detection model based on XGBoost achieves 0.205, 0.084 and 0.833 in RMSE, MAE and R2, which is better than the other comparison models. Combined with the SHAP value, it identifies the key factors that predict fraudulent accounts to provide decision-making reference for the transaction security of blockchain.
Key words:on-chain data; machine learning; blockchain; fraudulent account; SHAP value
0引言
自中本聰在2008年提出區(qū)塊鏈技術(shù)后[1],由于其去中心化、數(shù)據(jù)防竄改及數(shù)據(jù)可追溯性等特點(diǎn)和優(yōu)勢[2],備受各界人士的青睞,廣泛應(yīng)用于各個(gè)領(lǐng)域,涉及數(shù)字貨幣、供應(yīng)鏈管理、版權(quán)保護(hù)及醫(yī)療健康等[3~5]。但毫無疑問,數(shù)字貨幣仍是當(dāng)下區(qū)塊鏈技術(shù)最主要的應(yīng)用,以比特幣為例,其自誕生以來便受到金融市場熱捧,最高峰曾破六萬美元。同為數(shù)字貨幣的以太幣,2021年第一季度交易額破1.5萬億美元。超過之前七季度之和。隨著數(shù)字貨幣市值的不斷攀升,越來越多的投資者爭先恐后地參與到交易中,由于區(qū)塊鏈技術(shù)具有較強(qiáng)的專業(yè)性,絕大部分的用戶和投資者缺乏相應(yīng)的專業(yè)知識,難以有效地識別出交易中的欺詐行為,可能造成自身巨大的經(jīng)濟(jì)損失。隨著數(shù)字貨幣交易熱潮的到來,一系列區(qū)塊鏈交易安全問題也接踵而至,然而隨著區(qū)塊鏈的廣泛應(yīng)用,其安全問題也日益突出。有不法分子通過發(fā)起日蝕攻擊[6]、分布式拒絕服務(wù)(distributed denial of service,DDoS)攻擊[7]、余額攻擊[8]和劫持攻擊[9]等手段對區(qū)塊鏈進(jìn)行破壞并從中獲利。2014年,不法分子對比特幣交易平臺Mt.Gox進(jìn)行DDoS攻擊,致使該平臺被盜約85萬枚比特幣,損失逾4.5億美元;2016年,當(dāng)時(shí)區(qū)塊鏈業(yè)界最大的眾籌項(xiàng)目The DAO遭受攻擊,損失超過6 000萬美元;2017—2018年,BlackWallet 等基于智能合約的交易系統(tǒng)多次遭受劫持攻擊,造成損失超過82萬美元。據(jù)不完全統(tǒng)計(jì),截至2020年12月,發(fā)生的區(qū)塊鏈重大安全事故已逾 358 起,造成的經(jīng)濟(jì)損失超過142億美元[2,10]。毫無疑問,區(qū)塊鏈交易安全問題已嚴(yán)重阻礙其發(fā)展。
近些年,已有不少學(xué)者針對區(qū)塊鏈安全交易問題,對識別區(qū)塊鏈上的欺詐賬戶進(jìn)行了諸多研究。Ostapowicz等人[11]利用機(jī)器學(xué)習(xí)中的分類模型進(jìn)行以太坊中的賬戶反欺詐檢測系統(tǒng)的研究,結(jié)果表明隨機(jī)森林算法在檢驗(yàn)欺詐賬戶時(shí)具有良好的適用性;Kumar等人[12]利用以太坊中的EOA賬戶和智能合約賬戶地址的交易信息中提取相關(guān)特征,并利用KNN、隨機(jī)森林等分類模型來識別以太坊網(wǎng)絡(luò)中的惡意地址;Bhowmik[13]等人利用不同的有監(jiān)督的機(jī)器學(xué)習(xí)方法檢測區(qū)塊鏈中的欺詐交易,實(shí)驗(yàn)結(jié)果表明使用SVM(支持向量機(jī))和RF(隨機(jī)森林)等算法可以取得較好的檢測效果;Manikumar等人[14]利用KNN(K近鄰)、extra-tree(極端隨機(jī)森林)等模型識別區(qū)塊鏈網(wǎng)絡(luò)中傳入的數(shù)據(jù)包是否有惡意行為,以應(yīng)對DDoS攻擊;Sun等人[15]提出利用GBT(梯度提升樹)算法檢測身份信息不明的比特幣賬戶以監(jiān)管匿名的比特幣系統(tǒng),結(jié)果顯示該模型可達(dá)到80.42%的準(zhǔn)確率。
綜上所述,以上相關(guān)研究中多聚焦于算法的精度上,未對算法進(jìn)行詳細(xì)的比較,同時(shí)亦未系統(tǒng)地解釋識別欺詐賬戶的關(guān)鍵特征。本文利用以太坊區(qū)塊瀏覽器所提供的API接口獲得鏈上數(shù)據(jù),進(jìn)行特征提取后,采用機(jī)器學(xué)習(xí)的方法對數(shù)據(jù)進(jìn)行建模,實(shí)現(xiàn)對欺詐賬戶的識別。實(shí)驗(yàn)結(jié)果顯示,與大多數(shù)常規(guī)的機(jī)器學(xué)習(xí)相比,利用XGBoost算法可更有效地識別出欺詐賬戶,同時(shí)引入SHAP模型,對實(shí)驗(yàn)結(jié)果進(jìn)行更好的解釋,分析了欺詐賬戶所具備的常見特征,可以更好地為投資人提供交易時(shí)的風(fēng)險(xiǎn)控制及投資方向的決策參考。本文主要工作如下:
a)從以太坊區(qū)塊瀏覽器etherscan.io提供的開發(fā)者API接口中獲取以太坊交易數(shù)據(jù),并進(jìn)行特征提取,形成模型的源數(shù)據(jù),后續(xù)將公開本研究數(shù)據(jù)集以供其余學(xué)者參考探究;
b)基于以太坊鏈上數(shù)據(jù)對XGBoost算法與文獻(xiàn)中提到的機(jī)器學(xué)習(xí)模型以及常規(guī)的分類機(jī)器學(xué)習(xí)方法進(jìn)行對比,得到最優(yōu)模型,并進(jìn)行迭代訓(xùn)練以獲得最佳的預(yù)測模型。
c)引入SHAP模型,增強(qiáng)對機(jī)器學(xué)習(xí)模型的解釋,同時(shí)分析出識別欺詐賬戶的主要特征,為投資者和用戶在進(jìn)行交易時(shí)提供相應(yīng)的參考。
1研究思路及關(guān)鍵技術(shù)
1.1研究思路
為有效識別區(qū)塊鏈交易中的欺詐賬戶,本文從以太坊區(qū)塊瀏覽器收集鏈上數(shù)據(jù),并進(jìn)行特征工程后作為數(shù)據(jù)來源,同時(shí)基于機(jī)器學(xué)習(xí)方法對數(shù)據(jù)進(jìn)行建模并對比,選取最佳的預(yù)測模型。引入SHAP模型以更為全面地分析模型,得出準(zhǔn)確識別欺詐賬戶的關(guān)鍵因素,研究思路如圖1所示。
1.2關(guān)鍵技術(shù)
1.2.1鏈上數(shù)據(jù)
區(qū)塊鏈本質(zhì)上是系統(tǒng)上各節(jié)點(diǎn)共同維護(hù)的分布式數(shù)據(jù)庫,各節(jié)點(diǎn)通過特定的哈希函數(shù)將接收的信息以Merkle樹的形式存儲(chǔ),然后打包到帶有時(shí)間戳的數(shù)據(jù)區(qū)塊中,通過去中心化共識機(jī)制鏈接到系統(tǒng)中 [16]。相較于傳統(tǒng)的數(shù)據(jù)庫,區(qū)塊鏈的核心特征是不可竄改,具有很強(qiáng)的安全性[17]。鏈上數(shù)據(jù)主要涉及到鏈上數(shù)據(jù)結(jié)構(gòu)和鏈上數(shù)據(jù)內(nèi)容,數(shù)據(jù)結(jié)構(gòu)決定了區(qū)塊鏈中的組織形式,數(shù)據(jù)內(nèi)容則包含著區(qū)塊鏈數(shù)據(jù)的形式及其特點(diǎn)[18],主要包括區(qū)塊鏈的交易數(shù)據(jù)和合約數(shù)據(jù)。
交易數(shù)據(jù)一般發(fā)生在賬戶間,在比特幣系統(tǒng)中,為了保持匿名性,通常用地址表示賬戶,地址通常是由字母和數(shù)字組成的字符串[19],一個(gè)用戶可以擁有任意多個(gè)地址,一個(gè)交易也可能同時(shí)涉及多個(gè)地址,但這可能會(huì)導(dǎo)致在比特幣系統(tǒng)中進(jìn)行諸如查詢用戶的賬戶余額等此類簡單交易操作效率低下。本文主要研究以太坊上的鏈上數(shù)據(jù),與比特幣系統(tǒng)不同,以太坊上的賬戶主要分為外部賬戶(EOA)和智能合約賬戶(CA)。外部賬戶類似于銀行卡賬戶,雖然仍以地址表示賬戶,但賬戶中引入了存儲(chǔ)空間用于記錄交易次數(shù)和賬戶余額等信息,交易數(shù)據(jù)一般有輸入地址、輸出地址、輸入額、輸出額以及交易發(fā)生的時(shí)間戳等五個(gè)不可或缺的部分。智能合約是部署在系統(tǒng)上的去中心化的共享代碼[20],合約雙方可就合約細(xì)節(jié)等內(nèi)容簽署合同,并以腳本的形式將內(nèi)容部署在區(qū)塊鏈系統(tǒng)中,滿足合約條件的情況下可自動(dòng)執(zhí)行合約。圖2是典型的智能合約交易。
該交易中,外部賬戶A1向智能合約賬戶S1轉(zhuǎn)賬四個(gè)以太幣,稱之為普通交易(normal transaction),但該交易觸發(fā)了智能合約,又向A2進(jìn)行轉(zhuǎn)賬操作,同時(shí)又調(diào)用了智能合約S2,對智能合約S2的調(diào)用又進(jìn)一步觸發(fā)了其對地址A3的轉(zhuǎn)賬操作,這些觸發(fā)S1后進(jìn)行的后續(xù)操作稱之為內(nèi)部交易(internal transaction)。以太坊中,盡管一筆普通交易可能會(huì)觸發(fā)多筆內(nèi)部交易,但其具備相同的交易ID。通常智能合約觸發(fā)的交易數(shù)據(jù)并沒有記錄在區(qū)塊鏈上,而是需要運(yùn)行相關(guān)合約才可獲得對應(yīng)數(shù)據(jù)。不過目前,可通過以太坊區(qū)塊瀏覽器etherscan.io上中提供的開發(fā)者API接口獲得最近的1萬筆交易數(shù)據(jù)。同時(shí),在以太坊中,可以基于智能合約和區(qū)塊鏈的首次幣發(fā)行(initial coin offering,ICO)發(fā)布代幣,ERC-20便是為統(tǒng)一這些代幣的屬性制定的標(biāo)準(zhǔn)[21]。
1.2.2XGBoost模型
XGBoost 是一種集成學(xué)習(xí)算法,在多種應(yīng)用場景中表現(xiàn)出色[22],對處理大規(guī)模表格數(shù)據(jù)具備很大優(yōu)勢。同時(shí),XGBoost 可進(jìn)行各特征變量對模型輸出量的重要性排序,便于模型的結(jié)構(gòu)選擇,提高預(yù)測的精度。其原理是由多棵決策樹進(jìn)行迭代運(yùn)算,利用迭代的方式將弱學(xué)習(xí)器疊加成強(qiáng)學(xué)習(xí)器,并利用每次迭代產(chǎn)生的殘差進(jìn)行矯正,用矯正過后的預(yù)測器來優(yōu)化指定的損失函數(shù),并在損失函數(shù)中添加正則項(xiàng),建立模型的目標(biāo)函數(shù)。XGBoost基于樹模型,可認(rèn)為是樹模型結(jié)構(gòu)與其葉子節(jié)點(diǎn)輸出值的確定。它實(shí)質(zhì)上是對GBDT(梯度下降樹)算法的改進(jìn),可進(jìn)行多線程并行計(jì)算,并能夠得到更為準(zhǔn)確的精度。傳統(tǒng)的GBDT 方法只進(jìn)行一階導(dǎo),XGBoost模型則對損失函數(shù)進(jìn)行了二階泰勒展開,同時(shí)為權(quán)衡模型復(fù)雜程度和目標(biāo)函數(shù)的下降,在目標(biāo)函數(shù)外添加正則項(xiàng),整體求最優(yōu)解,避免過擬合。其中XGBoost 的目標(biāo)函數(shù)為
Obj=∑ni=1l(yi,y^i)+∑Kk=1Ω(fk)(1)
其中:L是誤差函數(shù),代表模型預(yù)測值與真實(shí)值間的偏差程度。為防止過擬合,定義正則化項(xiàng)以懲罰復(fù)雜模型。通過進(jìn)行添加新的回歸樹、二階泰勒展開及葉子節(jié)點(diǎn)歸組等推導(dǎo)后,模型的最終目標(biāo)函數(shù)為
Obj=∑Tj=1Gjwj+12(Hj+λ)wj2+γT(2)
1.2.3SHAP模型
集成學(xué)習(xí)通常可以提高性能,但與之而來的是模型復(fù)雜度的提高,這會(huì)降低模型的解釋性,無法很好地解釋模型特征間的關(guān)聯(lián)。故本文采用SHAP值對XGBoost模型進(jìn)行解釋,SHAP值由Lundberg等人[23]于2017年提出,用于增強(qiáng)機(jī)器學(xué)習(xí)模型的可解釋性。SHAP值的核心來源于博弈論,通過計(jì)算每一個(gè)特征加入模型時(shí)作出的貢獻(xiàn)來進(jìn)行模型解釋。該方法將模型的每個(gè)特征都視做貢獻(xiàn)者,并計(jì)算其具體的貢獻(xiàn)值,將所有特征的貢獻(xiàn)值加和得出模型的最終預(yù)測。SHAP值是該模型中每個(gè)特征所分配到的數(shù)值,具體如圖3所示。
其中:f(x)表示某一樣本最終的預(yù)測值;φ0是模型在數(shù)據(jù)集上的平均預(yù)測(通常是所有樣本的目標(biāo)變量的均值)。樣本中第i個(gè)特征的預(yù)測值為φi,SHAP值的計(jì)算公式為
yi=ybase+f(xi1)+f(xi2)+…+f(xip)(3)
每個(gè)特征SHAP值表示以該特征為條件時(shí)預(yù)期模型預(yù)測的變化,當(dāng)φigt;0,說明該特征對模型預(yù)測產(chǎn)生正影響,相反則說明該特征對模型預(yù)測產(chǎn)生負(fù)影響。SHAP模型最大的優(yōu)勢在于可以反映出每個(gè)預(yù)測樣本中各特征的影響力,以及特征影響的正負(fù)性,從而有效地統(tǒng)一機(jī)器學(xué)習(xí)模型的全局和局部解釋性。
2實(shí)驗(yàn)研究
2.1數(shù)據(jù)獲取及預(yù)處理
本文選取2021年3月份以太坊上的部分交易數(shù)據(jù),數(shù)據(jù)來源于以太坊區(qū)塊瀏覽器etherscan.io,數(shù)據(jù)主要分為正常賬戶數(shù)據(jù)以及欺詐賬戶數(shù)據(jù),選擇區(qū)塊號為12095000到12010000間的5 000個(gè)區(qū)塊,從中隨機(jī)爬取出4 524個(gè)不重復(fù)的正常賬戶作為正常節(jié)點(diǎn)數(shù)據(jù)來源,并選取官方標(biāo)記的4 810個(gè)欺詐賬戶作為欺詐賬戶數(shù)據(jù)來源,最終得到9 334個(gè)交易賬戶,圖4是部分賬戶。根據(jù)選取的賬戶地址,通過區(qū)塊瀏覽器提供的API接口獲得賬戶的交易數(shù)據(jù)信息,包括時(shí)間戳(timestamp)等賬戶交易時(shí)間數(shù)據(jù)、交易發(fā)送地址(send address)、接收地址(receive address)及交易價(jià)值(value)等普通交易數(shù)據(jù)、合約地址(contract address)內(nèi)部交易數(shù)據(jù)以及ERC-20代幣等在內(nèi)的一系列數(shù)據(jù)。在收集的數(shù)據(jù)基礎(chǔ)上剔除異常數(shù)據(jù),將數(shù)據(jù)的缺失值填補(bǔ)為0,同時(shí)對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,并利用Farrugia等人[24]的以太坊數(shù)據(jù)特征工程方法,利用獲取到的數(shù)據(jù)原始特征對其進(jìn)行特征轉(zhuǎn)換,最終提取到41個(gè)特征,具體特征如表1所示。
2.2模型評價(jià)指標(biāo)
本文采用RMSE(均方根誤差)、MAE(平均絕對誤差)以及R2(擬合優(yōu)度)作為預(yù)測模型的評價(jià)函數(shù)。其中RMSE通常用來衡量預(yù)測值與真實(shí)值之間的偏差,是預(yù)測值和真實(shí)值偏差的平方和與預(yù)測次數(shù)比值的平方根,均方根誤差越小,則代表預(yù)測模型精度越高;MAE能更好地反映預(yù)測值誤差,MAE的值越小,則代表模型預(yù)測精度越高;R2是回歸直線對觀測值的擬合程度,R2越接近1,則說明擬合程度越好,反之則說明擬合程度越差。三者計(jì)算公式如式(4)~(6)所示,其中yi為第i個(gè)訓(xùn)練實(shí)例價(jià)格的真實(shí)值,i為第i個(gè)訓(xùn)練實(shí)例價(jià)格的預(yù)測值,s為樣本的個(gè)數(shù)。
RMSE=1S∑Si=1(yi-i)2(4)
MAE=1S∑Si=1|(yi-i)|(5)
R2=1-∑Si=1(yi-i)2∑Si=1(yi-)2(6)
2.3實(shí)驗(yàn)驗(yàn)證及模型評估
本文實(shí)驗(yàn)系統(tǒng)為Windows 10,Python版本為 3.8,利用scikit-"learn庫實(shí)現(xiàn)各分類模型的建立。將數(shù)據(jù)集按照9∶1的比例分為訓(xùn)練集和測試集,其中訓(xùn)練集共包括8 400個(gè)樣本, 測試集包括934個(gè)樣本。數(shù)據(jù)集劃分完畢后,采用XGBoost算法建立模型,并與文獻(xiàn)[11~15]中提到的機(jī)器學(xué)習(xí)方法進(jìn)行對比,模型參數(shù)設(shè)置為默認(rèn)值,各模型對比結(jié)果如表2所示,較好的RMSE、MAE和R2指標(biāo)將會(huì)用粗體標(biāo)注。
根據(jù)表2可以看出,XGBoost算法在RMSE、MAE及R2三項(xiàng)評價(jià)指標(biāo)上分別為0.212、0.081和0.820,與RF、KNN、SVM、extra-tree和GBT等其余方法對比,三項(xiàng)指標(biāo)均表現(xiàn)最為優(yōu)異。其中,包括XGBoost、RF、extra-tree和GBT等算法在內(nèi)的集成學(xué)習(xí)方法相較于KNN、SVM等基本回歸方法有著較為顯著的優(yōu)勢,RF、extra-tree和GBT等算法在RMSE、MAE及R2三項(xiàng)評價(jià)指標(biāo)上分別在[0.240,0.280]、[0.150,0.190]和[0.690,0.760]上,而KNN、SVM等方法與之相比差距較大,模型效果不理想。XGBoost算法通過在代價(jià)函數(shù)中加入正則項(xiàng),有效地控制模型的復(fù)雜程度,降低了模型的方差,從而避免了包括過擬合等在內(nèi)的極端情況發(fā)生,與此同時(shí)也采用了梯度提升尋找局部最優(yōu)值,故模型效果相較于其他集成算法更為優(yōu)異。
將XGBoost算法與其余常規(guī)的分類算法進(jìn)行對比,模型參數(shù)仍設(shè)置為默認(rèn)值,各模型對比結(jié)果如表3所示。
根據(jù)表3可以看出,XGBoost算法在RMSE、MAE及R2三項(xiàng)評價(jià)指標(biāo)與其余分類方法對比,仍均表現(xiàn)最佳。其中,linear regression(線性回歸)與neural network(神經(jīng)網(wǎng)絡(luò))表現(xiàn)較差,RMSE、MAE、R2三個(gè)指標(biāo)值相較于其余算法有著較為明顯的差距,模型效果不理想,同時(shí),另一個(gè)基于GBDT改進(jìn)的算法LightGBM模型效果較好,在指標(biāo)上與XGBoost算法近似,擬合優(yōu)度R2可以達(dá)到0.808,兩者具體的學(xué)習(xí)曲線如圖4所示。
圖4是XGBoost與LightGBM模型的學(xué)習(xí)曲線對比,從兩者擬合程度來看,兩種算法的擬合效果相差無幾,XGBoost模型略勝一籌;從擬合趨勢來看,隨著樣本量的不斷增加,兩種算法都趨于收斂,測試集與驗(yàn)證集性能都存在較大差距,當(dāng)樣本量增加到4 000左右,兩者都取得了較好的擬合效果,之后樣本量不斷增加,兩種模型驗(yàn)證集的性能也都趨于穩(wěn)定。XGBoost與LightGBM模型能夠達(dá)到較優(yōu)優(yōu)的擬合效果,不過相較于LightGBM模型,XGBoost在測試集上的穩(wěn)健性表現(xiàn)得更為出色。整體上,XGBoost較LightGBM模型更勝一籌。
通過將XGBoost與相關(guān)文獻(xiàn)及常規(guī)的分類算法相比較,可以發(fā)現(xiàn): a)在識別以太坊上的欺詐賬戶上,通過對以太坊的源數(shù)據(jù)提取相應(yīng)特征,利用XGBoost算法可有效地識別欺詐賬戶,相較于其余分類算法,XGBoost算法在RMSE、MAE及R2三個(gè)評價(jià)指標(biāo)上均表現(xiàn)最為優(yōu)異,模型的預(yù)測效果最佳,故通過對鏈上數(shù)據(jù)的深入解析,可有效識別以太坊上的欺詐賬戶;b)包括XGBoost、LightGBM等在內(nèi)的基于集成學(xué)習(xí)的方法,相較于線性回歸、KNN及SVM在內(nèi)的基本回歸方法的模型效果有著較為明顯的優(yōu)勢,原因在于集成學(xué)習(xí)通過加入正則項(xiàng),可避免過擬合等情況發(fā)生,同時(shí)還采用梯度提升的方法來尋找局部最優(yōu)值;c)鏈上數(shù)據(jù)往往存在非線性關(guān)系,且數(shù)據(jù)中包含一定量的噪聲數(shù)據(jù),這表現(xiàn)在XGBoost等基于非線性關(guān)系的算法模型效果要優(yōu)于線性回歸、KNN等在內(nèi)的基于線性關(guān)系的算法模型效果。故XGBoost算法在基于鏈上數(shù)據(jù)的欺詐賬戶識別中具備更強(qiáng)的模型泛化能力。
2.4模型超參數(shù)調(diào)優(yōu)
為更有效地識別以太坊中的欺詐賬戶,本文采用網(wǎng)格參數(shù)搜索技術(shù)(grid search CV)對XGBoost算法進(jìn)行超參數(shù)調(diào)優(yōu)。該算法的超參數(shù)主要分為通用參數(shù)、Booster參數(shù)和學(xué)習(xí)目標(biāo)參數(shù),其中包括booster、silent等在內(nèi)的通用參數(shù)主要用于宏觀函數(shù)控制;包括min_child_weight和max_depth等在內(nèi)的Booster參數(shù)主要用于控制每一步的booster;包括objective和eval_metric在內(nèi)的學(xué)習(xí)目標(biāo)參數(shù)主要用于控制訓(xùn)練目標(biāo)。在默認(rèn)設(shè)置的基礎(chǔ)上選取影響較大的learning_rate、n_estimators、max_depth以及subsample四個(gè)參數(shù)進(jìn)行調(diào)整,結(jié)果如表4所示。
其中:learning_rate為集成中的學(xué)習(xí)率;n_estimators為弱分類器數(shù)量;max_depth為最大樹深度;subsample為從樣本中進(jìn)行采樣的比例。依次對這四個(gè)參數(shù)進(jìn)行調(diào)優(yōu),以R2作為評價(jià)指標(biāo),調(diào)優(yōu)過程中,使用五折交叉驗(yàn)證法,即將訓(xùn)練集劃分為互斥的五個(gè)集合,用其中的四個(gè)集合作為訓(xùn)練集,剩下的一個(gè)集合作為驗(yàn)證集,取五次測試相應(yīng)R2值的均值作為最終的R2值。經(jīng)過調(diào)優(yōu),得到最終的超參數(shù)結(jié)果:learning_rate為0.07,n_estimators為500,max_depth為4,subsample為0.55。在該超參數(shù)情況下,得到XGBoost算法模型的最終評價(jià)指標(biāo)值RMSE為0.210,MAE為0.082,R2為0.824,相較于參數(shù)調(diào)優(yōu)之前,模型性能略有提升。
3關(guān)鍵因素分析
3.1基于SHAP值的特征分析
本文基于計(jì)算數(shù)據(jù)特征的SHAP值,對識別以太坊上欺詐賬戶的影響因素進(jìn)行排序,以對其進(jìn)行分析,特征分析如圖5所示。
圖5特征分析圖中x軸上的位置由樣本點(diǎn)對應(yīng)的SHAP值決定,y軸表示各個(gè)特征因子,圖中的不同顏色代表SHAP值的大小,顏色越趨近紅色,表示特征值越大,顏色越趨近藍(lán)色,表示特征值越小(見電子版),該圖可綜合地反映各特征因子的重要程度以及影響的正負(fù)方向。從圖中可以看出,total_ether_balance(總以太余額)是貢獻(xiàn)最大的特征變量,貢獻(xiàn)率接近23.6%,且總以太余額的數(shù)值越高,對結(jié)果的正向影響就越顯著。同時(shí),number_of_received_addresse(賬戶接收交易的地址總數(shù))、avg_time_between_sent(賬戶發(fā)送交易的平均時(shí)間)、sent_tx(發(fā)送交易總數(shù)量)、max_value_sent(賬戶發(fā)送的最大金額)以及time_between_first_last(最初與最末一筆交易間的時(shí)差)等因素是識別賬戶為欺詐賬戶的關(guān)鍵因素,貢獻(xiàn)率分別達(dá)到了15.4%、14.3%、13.4%、11.0%和8.6%。從影響的正負(fù)方向上來看,賬戶接收交易的地址總數(shù)、賬戶發(fā)送的最大金額等特征因子對結(jié)果的影響為正相關(guān),數(shù)值越高,對結(jié)果的正向影響就越顯著。反之,賬戶發(fā)送交易的平均時(shí)間、賬戶發(fā)送交易總數(shù)量和賬戶最初與最末一筆交易間的時(shí)差等特征因子對結(jié)果的影響為負(fù)相關(guān),數(shù)值越小,對結(jié)果的正向影響就越顯著。
圖6為SHAP特征依賴分析圖,通過更改模型中的特定特征,探究模型在不同特征交互影響下的結(jié)果變動(dòng),其中x軸上為特征的值,y軸上為特征的SHAP值。選擇time_between_first_last(最初與最末一筆交易間的時(shí)差)作為特征從-1增加到 5時(shí)來確定對total_ether_balance(總以太余額)的影響。圖中顏色越接近紅色,表示總以太余額的值越大;顏色越接近藍(lán)色,表示總以太余額的值越小(見電子版)。結(jié)果顯示,time_between_first_last值在-1~2,該特征的SHAP值較高,同時(shí)total_ether_balance值較高。當(dāng)time_between_first_last增加至2左右,特征的SHAP值開始低于0,與此同時(shí),total_ether_balance值相較于之前也趨于藍(lán)色,數(shù)值變低。這意味著,伴隨著time_between_first_last值的增高與total_ether_balance值的降低,該賬戶檢測為欺詐賬戶的可能性也在降低,與已有研究的結(jié)果相符。
3.2特征重要性對比分析
通過將XGBoost模型重要性排名前10的特征與SHAP模型重要性排名前10的特征進(jìn)行對比,以更深入地分析識別以太坊上欺詐賬戶的關(guān)鍵因素,表5為基于XGBoost和SHAP模型的特征重要性對比結(jié)果。
結(jié)果顯示,兩種模型的特征重要性排序不完全相同。例如在XGBoost模型中,對成功識別欺詐節(jié)點(diǎn)影響最大的因素為avg_time_between_sent(賬戶發(fā)送交易的平均時(shí)間),而經(jīng)過SHAP模型訓(xùn)練后得到的影響最大的因素為total_ether_balance(總以太余額)。總體上,根據(jù)兩者排名前十的影響因素可以得出,avg_time_between_sent(賬戶發(fā)送交易的平均時(shí)間)、sent_tx(發(fā)送交易的總數(shù)量)、total_ether_balance(總以太余額)、max_value_sent(賬戶發(fā)送的最大金額)以及number_of_received_addresses(賬戶接收交易的地址總數(shù))等因素對正確識別以太坊上的欺詐賬戶影響較大。根據(jù)之前基于SHAP值的特征分析可以得出,若該賬戶進(jìn)行發(fā)送交易的平均時(shí)間越短、發(fā)送交易的總數(shù)量越少、賬戶上的總以太余額越高、賬戶發(fā)送的最大金額越大以及賬戶接收交易的地址總數(shù)越多,該賬戶為欺詐賬戶的可能性越大。
4結(jié)束語
本文基于以太坊區(qū)塊上的鏈上數(shù)據(jù),以正確預(yù)測欺詐賬戶為目標(biāo),構(gòu)建了基于XGBoost的欺詐賬戶預(yù)測模型,通過與相關(guān)文獻(xiàn)方法和常規(guī)的分類方法進(jìn)行對比,得出該模型具備較好的性能,同時(shí)基于各特征的SHAP值對模型結(jié)果進(jìn)行分析,以探究正確識別欺詐賬戶的關(guān)鍵因素。本研究的主要意義在于:
a)通過以太坊區(qū)塊上的鏈上數(shù)據(jù)構(gòu)建數(shù)據(jù)集。國內(nèi)對以太坊上的賬戶研究較少,本文通過以太坊區(qū)塊瀏覽器提供的API接口,獲得以太坊區(qū)塊的鏈上數(shù)據(jù),并基于此進(jìn)行特征提取,為后續(xù)的相關(guān)研究提供了一定的借鑒。
b)構(gòu)建識別以太坊欺詐賬戶的預(yù)測模型。本文采用集成算法中的XGBoost算法進(jìn)行預(yù)測模型構(gòu)建,并基于真實(shí)的以太坊數(shù)據(jù)集進(jìn)行驗(yàn)證,并以RMSE、MAE以及R2作為預(yù)測模型的評價(jià)函數(shù)。驗(yàn)證結(jié)果顯示該算法相較于其余算法在評價(jià)指標(biāo)上表現(xiàn)更佳,可以較為準(zhǔn)確地識別欺詐賬戶。
c)基于SHAP模型從整體上分析了成功識別以太坊欺詐賬戶的關(guān)鍵因素,并與基于XGBoost模型識別的重要特征進(jìn)行對比,最終得出賬戶發(fā)送交易的平均時(shí)間、賬戶進(jìn)行發(fā)送交易的總數(shù)量、賬戶的總以太余額、賬戶發(fā)送的最大金額以及賬戶接收交易的地址總數(shù)等因素為正確識別以太坊上欺詐賬戶的關(guān)鍵因素,并基于SHAP值發(fā)現(xiàn)賬戶進(jìn)行發(fā)送交易的平均時(shí)間以及發(fā)送交易的總數(shù)量等因素與該賬戶是欺詐賬戶的概率成反比,賬戶上的總以太余額、賬戶發(fā)送的最大金額以及賬戶接收交易的地址總數(shù)等因素與該賬戶為欺詐賬戶的概率成正比。
本文雖然結(jié)合XGBoost算法和SHAP模型對以太坊上的欺詐賬戶進(jìn)行檢測,但沒有考慮實(shí)時(shí)的交易數(shù)據(jù)等因素,加入更多數(shù)據(jù)是否可以獲得更為精準(zhǔn)的檢測模型,仍然需要繼續(xù)探究。同時(shí),本文所采用的XGBoost模型主要靠輸入特征,盡管XGBoost模型允許輸入數(shù)據(jù)形式的多樣化,且本文的輸入特征已經(jīng)考慮了以太坊中節(jié)點(diǎn)交易過程中的眾多方面, 但特征工程和特征選擇仍然會(huì)對模型產(chǎn)生很大影響,故未來工作中還需對輸入特征做進(jìn)一步的數(shù)據(jù)分析,考慮加入filter、wrapper和embedded等特征選擇方法,優(yōu)化模型、提升預(yù)測精度。同時(shí),在本文研究的基礎(chǔ)上,嘗試探索使用組合多學(xué)習(xí)器的策略進(jìn)一步提高模型的效率,為減少區(qū)塊鏈的安全問題提供幫助。
參考文獻(xiàn):
[1]Nakamoto S.Bitcoin: a peer-to-peer electronic cash system[EB/OL].(2008)[2021-06-18].https://bitcoin.org/bitcoin.pdf/.
[2]Li Xiaoqi, Jiang Peng, Chen Ting, et al. A survey on the security of blockchain systems[J].Future Generation Computer Systems,2020,107:841-853.
[3]Frizzo-Barker J, Chow-White P A, Adams P R, et al. Blockchain as a disruptive technology for business: a systematic review[J].International Journal of Information Management,2020,51:102029.
[4]Chang S E, Chen Y. When blockchain meets supply chain: a systematic literature review on current development and potential applications[J].IEEE Access,2020,8:62478-62494.
[5]Hasselgren A, Kralevska K, Gligoroski D, et al. Blockchain in healthcare and health sciences—a scoping review[J].International Journal of Medical Informatics,2020,134:104040.
[6]Heilman E, Kendler A, Zohar A, et al. Eclipse attacks on Bitcoin’s peer-to-peer network[C]//Proc of the 24th USENIX Security Symposium. Washington DC:USENIX Security Press,2015:129-144.
[7]Zargar S T, Joshi J, Tipper D. A survey of defense mechanisms against distributed denial of service (DDoS) flooding attacks[J].IEEE Communications Surveys amp; Tutorials,2013,15(4):2046-2069.
[8]Natoli C, Gramoli V. The balance attack or why forkable blockchains are ill-suited for consortium[C]//Proc of the 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks.Piscataway,NJ:IEEE Press,2017:579-590.
[9]Apostolaki M, Zohar A, Vanbever L. Hijacking bitcoin: routing attacks on cryptocurrencies[C]//Proc of the 38th IEEE Symposium on Security and Privacy.Piscataway,NJ:IEEE Press,2017:375-392.
[10]曹雪蓮,張建輝,劉波.區(qū)塊鏈安全、隱私與性能問題研究綜述[J].計(jì)算機(jī)集成制造系統(tǒng),2021,27(7):2078-2094.(Cao Xuelian, Zhang Jianhui, Liu Bo. Review on security, privacy and performance issues of blochchain[J].Computer Integrated Manufacturing Systems,2021,27(7):2078-2094.)
[11]Ostapowicz M, Z·bikowski K. Detecting fraudulent accounts on blockchain: a supervised approach[C]//Proc of the 21st International Conference on Web Information Systems Engineering.Cham:Springer,2020:18-31.
[12]Kumar N, Singh A, Handa A, et al. Detecting malicious accounts on the Ethereum blockchain with supervised learning[C]//Proc of the 4th International Symposium on Cyber Security Cryptography and Machine Learning.Cham:Springer,2020:94-109.
[13]Bhowmik M, Chandana T S S, Rudra B. Comparative study of machine learning algorithms for fraud detection in blockchain[C]//Proc of the 5th International Conference on Computing Methodologies and Communication.Piscataway,NJ:IEEE Press,2021:539-541.
[14]Manikumar D, Maheswari B U. Blockchain based DDoS mitigation using machine learning techniques[C]//Proc of the 2nd International Conference on Inventive Research in Computing Applications.Pisca-taway,NJ:IEEE Press,2020:794-800.
[15]Sun Y 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.
[16]李娟娟,袁勇,王飛躍.基于區(qū)塊鏈的數(shù)字貨幣發(fā)展現(xiàn)狀與展望[J].自動(dòng)化學(xué)報(bào),2021,47(4):715-729.(Li Juanjuan, Yuan Yong, Wang Feiyue. Blockchain-based digital currency:the state of the art and future trends[J].Acta Automatica Sinica,2021,47(4):715-729.)
[17]陳偉利,鄭子彬.區(qū)塊鏈數(shù)據(jù)分析:現(xiàn)狀、趨勢與挑戰(zhàn)[J].計(jì)算機(jī)研究與發(fā)展,2018,55(9):1853-1870.(Chen Weili, Zheng Zibin. Blockchain data analysis: a review of status, trends and challenges[J].Journal of Computer Research and Development,2018,55(9):1853-1870.)
[18]Zheng Peilin, Zheng Zibin, Wu Jiajing, et al. Xblock-ETH: extracting and exploring blockchain data from Ethereum[J].IEEE Open Journal of the Computer Society,2020,1:95-106.
[19]Zheng Zibin, Xie Shao’an, Dai Hongning, et al. Blockchain challenges and opportunities:a survey[J].International Journal of Web and Grid Services,2018,14(4):352-375.
[20]Wang Shuai, Yuan Yong, Wang Xiao, et al. An overview of smart contract: architecture, applications, and future trends[C]//Proc of the 29th IEEE Intelligent Vehicles Symposium.Piscataway,NJ:IEEE Press:2018:108-113.
[21]Victor F, Lüders B K. Measuring ethereum-based ERC20 token networks[C]//Proc of the 23rd International Conference on Financial Cryptography and Data Security.Cham:Springer,2019:113-129.
[22]Chen T, Guestrin C. XGBoost: a scalable tree boosting system[C]//Proc of the 22nd ACM SIGKDD International Conference on Know-ledge Discovery and Data Mining.New York:ACM Press,2016:785-794.
[23]Lundberg S M, Lee S I. A unified approach to interpreting model predictions[C]//Proc of the 31st Annual Conference on Neural Information Processing Systems.Red Hook,NY:Curran Associates Inc.,2017:4765-4774.
[24]Farrugia S, Ellul J, Azzopardi G. Detection of illicit accounts over the Ethereum blockchain[J].Expert Systems with Applications,2020,150:113318.
收稿日期:2021-09-15;
修回日期:2021-11-09
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(61402001);安徽省高等學(xué)校自然基金資助項(xiàng)目(KJ2020A0013,KJ2019A0657,KJ2018A0441);安徽財(cái)經(jīng)大學(xué)研究生科研創(chuàng)新基金資助項(xiàng)目(ACYC2020349)
作者簡介:周健(1979-),男,安徽鳳陽人,教授,碩導(dǎo),博士(后),主要研究方向?yàn)槊荑€管理、移動(dòng)網(wǎng)絡(luò)安全、數(shù)據(jù)挖掘等;張杰(1996-),男(通信作者),安徽六安人,碩士研究生,主要研究方向?yàn)閰^(qū)塊鏈、數(shù)據(jù)挖掘、商務(wù)智能等(563273941@qq.com);閆石(1998-),男,安徽合肥人,碩士研究生,主要研究方向?yàn)閿?shù)據(jù)挖掘、商務(wù)智能等.