余旻 李光平



摘要:區塊鏈技術的崛起已經是一個不可阻擋的趨勢,近年來,大量的投資者開始傾向去中心化的數字電子貨幣。數以萬計的智能合約在以太網上部署,但是與之相對應的檢測識別技術還未完善,相關反詐騙的研究還處于一個研究較少的狀態,檢測的準確度還有提升的空間。文章在提取智能合約的賬戶特征后,預處理形成數據集,并對其進行訓練和檢測。實驗結果表明,不僅檢測的準確度得到提升,還能通過檢測特征后生成的熱圖幫助投資者以及研究人員預防詐騙。
關鍵詞:區塊鏈;以太坊;龐氏騙局
中圖分類號:TP18 ? ? ?文獻標識碼:A
文章編號:1009-3044(2022)29-0031-04
1 引言
近年來,加密貨幣再次引起了廣泛關注,特別是被推向風口浪尖的加密貨幣——比特幣。區塊鏈技術是比特幣最核心的機制,關于區塊鏈的概念最早的研究要追溯到1991年,斯圖亞特·哈伯(Stuart Haber)和斯托內塔(W.Scott Stornetta)使用區塊鏈實現了一個不可篡改的文檔時間戳系統。哈伯和斯托內塔的設計中加入了默克爾樹的概念(Merkle trees),多個文檔收集在一個區塊中,從而提升了系統效率。
比特幣受到很多人關注,公認的第一個區塊鏈是由中本聰發明的比特幣。通常將區塊鏈技術的發展分為三個階段,分別是比特幣時代的區塊鏈1.0時代,以太坊時代的區塊鏈2.0時代和以EOS為代表的區塊鏈3.0時代。
區塊鏈可以被視為一個公共分類賬簿,其中所有提交的事務都被存儲在一個區塊鏈中。當鏈附加新的區塊時,該鏈不斷增長。區塊鏈技術具有關鍵特征,如去中心化、安全性、分布式、透明性等技術優勢。區塊鏈可以在一個分散的環境中工作,它可以通過集成幾種核心技術,如加密散列、數字簽名(基于非對稱加密)和分布式共識機制來實現。使用區塊鏈技術,交易可以以一種分散的方式進行。
許多基于區塊鏈的項目已經被創建出來。以太坊是一個基于開源的區塊鏈的分布式平臺。智能合約是相互不信任的參與者之間的一種計算機協議,當預設條件滿足時,它會在區塊鏈上自動執行,不能終止智能合約的執行,也不依賴于受信任的權限。智能合約可以應用于不同領域,支持智能合約的區塊鏈平臺被認為是第二個階段。
龐氏騙局是一種欺詐性的投資操作,運營商通過新投資者支付的收入,而不是通過合法的商業活動或金融交易產生利潤,為年長的投資者產生利潤。在龐氏騙局中,許多參與者將失去他們大部分的投資資金。龐氏騙局損害了正常的經濟,許多國家都加以禁止。如今,許多龐氏騙局將自己偽裝在智能合約的面紗下,由于參與者對持續回報的信心是龐氏騙局成功運行的一個關鍵因素,智能合同似乎對龐氏騙局是一個有吸引力的工具,因為它是自動執行的,不能在區塊鏈上終止。更重要的是,推廣者始終保持匿名,所有賬號的信息都是不可追溯的,這使得龐氏騙局的運營者可以肆無忌憚地發布龐氏騙局合約。由于區塊鏈的專業性相對未接觸的人來說,絕大多數在智能合約上進行投資的用戶缺乏相關的專業知識,難以對智能合約中的欺詐行為進行有效辨別。
本文基于Chen Weili和Zheng Zibin等人的研究,從機器學習的角度出發,用Catboost及CNN方法檢測智能合約中的龐氏騙局。
本文其余部分的內容為:第二節介紹相關的龐氏騙局在區塊鏈中的研究工作。第三節介紹了對于數據的詳細描述、提取的特征和分類模型。第四節介紹了實驗結果與分析。最后第五節對全文進行總結。
2 相關工作
本節主要介紹的是研究龐氏騙局在以太網中的相關研究,并且結合深度學習的相關模型,將兩者進行結合,進而起到能夠檢測并預測是否存在智能合約為龐氏騙局智能合約的可能。
龐氏騙局是一種十分經典卻又常見的金融投資詐騙。龐氏騙局的組織者常以高回報低風險、收益穩定且數目巨大來包裝誘惑投資者對該項目進行投資。這些組織者正是抓住了對投資行業不甚了解的投資者有僥幸、貪小便宜的心理。隨著區塊鏈的興起,金融行業率先在以太網上進行發展。許多打著“眾籌”“P2P”等名號的龐氏騙局蜂擁而出,造成了惡劣的社會影響。目前,除了對投資者進行宣傳教育,政府暫時也難以對以太網上的交易進行有效監管,因此需要加強立法與監管。由此可見,搭建用于檢測區塊鏈上龐氏騙局的模型起到了至關重要的作用。
龐氏騙局的主要特點有:1)龐氏騙局的創建者可以保持匿名;2)智能合約在執行的過程中,任何機構(例如法院)都無法終止任務執行,或給受害者退款,對于在未經許可的區塊鏈上運行的智能合約更是如此;3)投資者可能因為智能合約的代碼是公開的、不可改變的、被強制執行的情況,誤以為這種虛假的宣傳為可信的,誤以為智能合約會永遠運行,能夠永久獲得極大收益。
如圖1為龐氏騙局的智能合約的一類代碼,智能合約通常用高級語言編寫,Solidity一般是常用的語言,其語法類似JavaScript,該代碼片段保留了龐氏騙局智能合約如何從投資者中獲利,第24行中可以看到,每項投資的10%將會變成投資的手續費給到創建合約的人,這些交易和事務都是完全公開的,可以通過ethereum.io進行查看。
3 龐氏騙局合約的識別模型設計
3.1 數據集
本文采用的數據集為etherscan.io上開源的數據,通過爬蟲的方式爬取龐氏騙局的交易信息匯總成為數據集。通過統計得出:數據集中含有50份龐氏騙局,2000份正常智能合約,正反樣本為40:1。
3.2 特征選取
本文實驗主要對龐氏騙局的6種有效賬戶特征進行識別和檢測,許多智能合約的代碼是不會在以太坊中公開的,可能會對檢測造成偏差,所以本文采用提取全部公開的賬戶特征進行識別和檢測。
龐氏騙局與正常的智能合約在賬號交易中存在著差異,例如:龐氏騙局初始的交易會更加頻繁,時間越往后交易次數會遞減;龐氏騙局為了誘惑投資者投資,前期會返還部分新加入投資者的資金給早期加入的投資者,誘惑他們再次大量投資。
因此,本文將智能合約中的Txhash(交易哈希值)、From(交易賬戶)、ContracAddress(智能合約地址)、Value_in(交易金額)、Blockno(區塊編號)、UnixTimestamp(時間戳)6種有效的賬戶特征作為識別和檢測的特征。
3.3 模型構建
從本質上來研究,識別龐氏騙局是一個二分類問題。優先級一般基于正樣本的先驗概率得到,考慮到龐氏騙局中的樣本數量較少,在訓練過程中容易擬合,因此優先考慮用Catboost來檢測。Catboost模型具有兩大優勢:其一,為了避免過擬合,首先對所有的樣本隨機排序,然后針對類別特征中的某個取值,每個樣本的該特征值轉為數值型時都基于排在該樣本前的類別標簽取均值,同時加入優先級和優先級的權重系數,這樣可以降低類別特征中低頻次特征的噪聲;其二,對于每個樣本,都單獨構建一個利用樣本之前的樣本點的梯度估計得到的模型,針對這些模型估計該樣本的梯度,利用新模型重新打分,利用多種樣本排序,可以訓練得到多種模型,進而減少過擬合現象。
除了使用Catboost模型外,還使用了卷積神經網絡CNN模型。CNN除了能夠提升檢測的性能外,還能判斷通過哪個賬戶特征檢測出智能合約為龐氏騙局,可以更加簡便地運用到實際中。
圖2描述了模型的大概原理,通過手動爬蟲以及數據預處理,將處理好的樣本輸入模型中,兩個卷積層將特征提取,再連接兩個全連接層分類,使得模型更容易學習。最后得到了NLLLoss(),后面接一個log_softmax()層,最后輸出向量的每個值表示這個樣本屬于每個賬戶特征的概率。
4 實驗與分析
4.1 ?實驗參數設置
本實驗搭載Intel i5-9600K,32G內存,NVIDIA RTX2060 Super顯卡,深度學習框架使用的是Pytorch1.5版本,運算平臺使用了NVIDIA公司CUDA 10.0。
4.2 性能評價指標
為了方便對龐氏騙局進行檢測識別的模型進行比較性能,本次實驗通過三個指標進行評價:
(a) Precision
[Precision=TPTP+FP] ? ? ? ? ? ? ? ? ? ? ? (1)
其中TP表示實際樣本為正樣本,且被判別為正樣本的樣本數量;FP表示實際樣本為負樣本,且被判別為正樣本的樣本數量。
(b)Recall
[Recall=TPTP+FN] ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
其中TP表示實際樣本為正樣本,且被判別為正樣本的樣本數量;FN表示實際樣本為負樣本,但被判別為負樣本的樣本數量。
(c)F-score
[F-score=2*Presicion+RecallPresicion+Recall] ? ? ? ? ? (3)
4.3實驗結果及分析
圖3和圖4展示了隨著訓練次數增加,模型出現過擬合的現象,在訓練超過120次后,訓練的效果已經達到過擬合狀態,因此將模型的訓練次數設定在120次較為合理。
圖5中橫坐標的0代表Txhash、1代表From、2代表Contract Address、3代表Value_in、4代表Blockno、5代表UnixTimestamp。可以看出,除了Value_in以外的5個賬戶特征對于檢測是否為龐氏騙局的概率相差不大,起決定因素的還是賬戶輸送的金額決定。
表1展示了不同賬戶特征檢測出來龐氏騙局的概率對比,從表中可以看出,判斷和檢測是否為龐氏騙局依靠單一的賬戶特征準確度最高的能達到96%,主要依據Value_in可以判斷出該合約是正常合約還是龐氏騙局合約。由于合約交易數量有差異,并且模型會將輸入的賬戶特征隨機打亂,導致模型在識別中會出現準確度差異,因此平均值和中間值會有部分差異。
表2中展示了不同的模型下龐氏騙局的檢測效果。本文中不僅運用了CNN的方法提升檢測性能,同時還復現了其他經典的深度學習的方法,還使用Catboost的方法將所有的特征轉換成數值型特征,運用這種深度學習的方法可以針對類似龐氏騙局的檢測,對于這類樣本數據更加具有針對性。從表中可以看出,本文提出的訓練模型和RF網絡相比,Recall和F-score都有了很大的提升,但Precision對比起來提升沒有特別明顯,因為準確度已經達到比較高的狀態,這也說明了在較少樣本的情況下依舊想要更好效果的訓練難度更大。本文中的CNN模型除了性能有所提升以外,還將各個賬戶特征的識別概率分析出來,更加有效地提升了識別的準確性和可信度。
5 結束語
目前,針對龐氏騙局的檢測,對比以往的經典深度學習模型,本文提出的模型與傳統模型的網絡相比,參數量下降很大,推理速度得到了很大提升,通過預處理賬戶特征等信息,將樣本數據輸入模型,最終提升識別模型的性能,使得Precision達到98%、Recall達到97%。但是即使這樣仍然會存在一些問題,雖然運用CNN解決小樣本的過擬合問題,效果依舊不是很理想。
因此,針對小樣本問題,可以跳出優化過擬合問題的思想,使用生成對抗網絡的方法,進行無監督學習,實現對正常合約聚類,生成模擬樣本數據,增加樣本數量,進而解決樣本不夠的問題。
參考文獻:
[1] Atzei N,Bartoletti M,Cimoli T.A survey of attacks on ethereum smart contracts SoK[C]//Proceedings of the 6th International Conference on Principles of Security and Trust - Volume 10204.New York:ACM,2017:164-186.
[2] Vitalik Buterin. A next-generation smart contract and decentralized application platform[M]. Ethereum white paper,2014.
[3] Chen T Q,Guestrin C.XGBoost:a scalable tree boosting system[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.San Francisco,California,USA.New York:ACM,2016:785-794.
[4] Juels A,Kosba A,Shi E.The ring of gyges:investigating the future of criminal smart contracts[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.Vienna,Austria.New York:ACM,2016:283-295.
[5] ?Garrett Keirns. “Gemcoin” Ponzi scheme operator hit with $74 million judgment. (March2017). [2017-10-01] .[EB/OL].https://www.coindesk.com/gemcoin-ponzi-scheme-operator- hit-74-million-judgment.
[6] Sunny King and Scott Nadal. Ppcoin: Peer-to-peer crypto-currency with proof-of-stake[J].Self-published paper, 2012(8):19.
[7] Kondor D,Csabai I,Szüle J,et al.Inferring the interplay between network structure and market effects in Bitcoin[J].New Journal of Physics,2014,16(12):125003.
[8] DAVID Z. MORRIS. The rise of cryptocurrency Ponzi schemes.(2017-10-1).[EB/OL] .https://www.theatlantic.com/technology/archive/2017/05/cryptocurrency-ponzi-schemes/528624.
[9] M?ser M,B?hme R,Breuker D.An inquiry into money laundering tools in the Bitcoin ecosystem[C]//2013 APWG eCrime Researchers Summit.San Francisco,CA,USA.IEEE,2013:1-14.
[10] Nakamoto S.Bitcoin:a peer-to-peer electronic cash system[EB/OL]. https://bitcoin.org/bitcoin.pdf?bitcoin.org/bitcoin.pdf,2008.
[11] Swan M.Blockchain:blueprint for a new economy[M]. OReilly Media, Inc.,2015.
[12] Wang H M,Zheng Z B,Xie S A,et al.Blockchain challenges and opportunities:a survey[J].International Journal of Web and Grid Services,2018,14(4):352.
[13] Zheng Z B,Xie S A,Dai H N,et al.An overview of blockchain technology:architecture,consensus,and future trends[C]//2017 IEEE International Congress on Big Data (BigData Congress).Honolulu,HI,USA.IEEE,2017:557-564.
【通聯編輯:唐一東】