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

區塊鏈數據分析:現狀、趨勢與挑戰

2018-09-21 03:25:26陳偉利鄭子彬
計算機研究與發展 2018年9期
關鍵詞:用戶

陳偉利 鄭子彬

(中山大學數據科學與計算機學院 廣州 510006)(國家數字家庭工程技術研究中心(中山大學) 廣州 510006)(chenwli9@mail2.sysu.edu.cn)

區塊鏈技術是一種新型的分布式賬本技術,它可以在互不信任的環境下實現去信任中介的可信交易.與傳統數據庫技術相比,區塊鏈技術具有防偽造、不可篡改以及能方便實現智能合約等特點,被譽為一種將引發社會變革的新型技術[1].國務院印發的《十三五國家信息規劃》將區塊鏈等相關技術列入強化超前布局的戰略性前沿技術.著名信息技術研究分析公司Gartner*http://www.gartner.com連續2年 (2017年、2018年)將區塊鏈及其相關技術列入十大戰略科技.

區塊鏈技術是比特幣等新型數字貨幣的底層支撐技術.由于要在分布式環境中實現可信的交易,區塊鏈技術大量使用密碼學技術隱藏用戶信息,同時所有交易信息則由分布式網絡共同驗證、存儲.區塊鏈技術可根據應用場景和網絡加入許可機制的不同劃分為公有鏈、聯盟鏈和私有鏈[2].比特幣[3]、以太坊[4]等對節點的加入與退出沒有任何限制,是典型的公有鏈.傳統數據庫中的數據通常隸屬于某家企業或機構,只有內部人員能夠查看和分析,而公有區塊鏈因為可以自由加入與退出,其中的數據即區塊鏈數據可以方便地獲取.這為數據分析人員通過獲取公有鏈的交易數據,進而分析系統中的各種行為提供了前所未有的機會.

當前,各種公有鏈如比特幣、以太坊等獲得了大量用戶的參與,積累了大量交易數據.以比特幣為例,一份ARK投資公司和Coinbase聯合發布的研究報告指出,截至2016年底,全球有超過1 000萬用戶持有比特幣,每天比特幣的交易量達到2億美元[5].大量用戶的參與和活躍的用戶交易使得基于區塊鏈的數據分析成為一個重要且有價值的研究問題.隨著區塊鏈技術的發展,各行各業將區塊鏈技術作為底層技術引入,勢必導致大量的數據以區塊鏈數據的形式存在,因而研究基于區塊鏈的數據分析問題具有重要的理論和現實意義.

與典型數據形式相比,區塊鏈數據具有2個重要的特點:1)在區塊鏈系統中,尤其是在公有鏈中,用戶都是匿名的,各種用戶的屬性數據(如性別、年齡等)都無從獲得;2)區塊鏈系統中用戶通過交易形成聯結,構成各種網絡、數據之間彼此互相關聯.因而,基于匿名網絡的數據分析技術將成為區塊鏈數據分析的重要技術.

目前,由于區塊鏈技術尚處于初始階段,缺乏大量成熟的區塊鏈應用項目,因而基于區塊鏈的數據分析亦處于探索階段.區塊鏈數據分析相關的文獻主要針對目前相對成熟且已有足夠數據的區塊鏈如比特幣、以太坊等.其中,又以比特幣區塊鏈因其創立時間較長、廣受關注而成為區塊鏈數據分析研究的重要對象.

目前,已有大量針對區塊鏈技術不同角度的文獻綜述,如技術架構[6]、共識機制[7]、安全和隱私的問題[8-9]、攻擊問題[9]、應用現狀[10-11]、研究方向與挑戰[2]、研究熱點[12]等,但尚缺乏對區塊鏈數據分析技術的進展的相關報道,為彌補這一缺失,本文對目前區塊鏈(主要是比特幣、以太坊)數據分析的相關文獻進行了對比分析,概括出2類典型的區塊鏈數據和相應的分析方法,并總結了區塊鏈數據分析的七大研究問題和進展,希望能夠給當前區塊鏈技術的相關研究提供一定的參考與幫助.

1 區塊鏈基礎介紹

當前,我們處于一個信息泛濫的時代,各種數據充斥我們周圍.然而,數據是否真實可信卻不得而知.區塊鏈技術因其特殊的機制,其中的數據具有“可信”的寶貴特征,這使得基于區塊鏈數據分析的信息具有重要的價值.為理解為何區塊鏈數據具有可信的特征,本節將介紹區塊鏈的基本架構,并重點分析使得區塊鏈數據可信的關鍵技術.

1.1 區塊鏈架構

2008 年,化名為 “中本聰”(Satoshi Nakamoto)的學者在密碼學郵件組發表比特幣奠基性論文[3],并于2009年1月實現了比特幣的最初版本.在經過一段時間的運行之后,比特幣開始走進大眾的視野.由于比特幣具有許多優良特性,其迅速成為金融市場的寵兒.區塊鏈技術正是指比特幣等加密貨幣的底層支撐技術.

目前,尚未形成行業認可的對區塊鏈技術的統一定義.在2016年10月由中國工業和信息化部發布的《中國區塊鏈技術和應用發展白皮書》將區塊鏈技術描述為分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式.在區塊鏈的技術架構方面,袁勇等人[13]將其劃分為數據層、網絡層、共識層、激勵層、合約層和應用層.然而,隨著區塊鏈技術的不斷發展,區塊鏈的內涵與外延也在不斷演化.比如一些實際商業應用中,并不需要幣的存在,因而激勵層也并不存在.文獻[14]從隱私保護的角度將區塊鏈的架構劃分為3個層次:網絡層、交易層和應用層.本文站在數據分析的角度,從數據的類型和環境出發,認為區塊鏈可以描述為三橫一縱的結構,如圖1所示:

Fig.1 The blockchain framework圖1 區塊鏈架構

三橫既是對區塊鏈數據類型的抽象,同時也代表區塊鏈的3種發展階段.最底層是交易(transaction)層,對應的是以比特幣為代表的區塊鏈1.0階段.交易是改變區塊鏈數據的手段,也是區塊鏈中重要的基礎數據.記錄交易以及確保區塊鏈數據本身的全局唯一性和不可篡改性是區塊鏈1.0的核心.中間層是智能合約層,智能合約是密碼學家尼克·薩博(Nick Szabo)于1996年提出的概念[15],旨在將合約條款電子化,當條件滿足時,條款能自動執行,因而智能合約本質上是一段計算機程序.由于區塊鏈數據具有不可篡改、完整可信等重要特征,基于區塊鏈數據構建智能合約具有天然的優勢.因而,區塊鏈加智能合約被稱為區塊鏈2.0.智能合約本身亦是構成區塊鏈2.0的一種重要數據類型,我們稱這種數據為合約數據.當然,智能合約的部署和運行離不開交易,同時也會產生交易數據.最頂層是應用層,應用層代表的是基于區塊鏈的各種應用,對應區塊鏈3.0.應用可以建立在智能合約之上,實現許多復雜的自動化功能,也可以沒有智能合約(因而合約層以虛線表示),如基于比特幣的各種應用.目前,由于區塊鏈技術尚處于發展初期,因而缺少與實際場景結合的應用數據.

一縱代表的是區塊鏈的運行環境是分布式的.分布式環境穿越區塊鏈的3個不同層次,表示3個層次都處于分布式環境中.比如同一個智能合約,作為一種數據存儲在分布式環境中的每一個節點上,當接收到觸發合約運行的交易時,每個節點基于本地的區塊鏈數據運行相關合約,并將運行結果存入本地數據中,最后通過共識機制,使得本地的數據與整個分布式網絡達到一致.在區塊鏈的分布式網絡環境中,通常存在著大量節點.不同的節點在網絡中可能扮演著不同的角色.在比特幣系統中,節點有錢包、挖礦(爭奪記賬權)、完整區塊數據存儲、路由4種角色[16].通常一個節點會因功能的不同實現不同的角色,比如一個輕量級的錢包節點不僅需要實現錢包功能,同時需要鏈接一定數量的節點以實現發布交易和驗證交易的功能,即需要實現路由功能,但大部分情況下,由于資源的限制,并不需要實現完整區塊數據存儲,而只是存儲區塊鏈頭部.我們把同時實現4種角色的節點稱為全節點,通常一個挖礦節點會實現所有的角色而成為全節點.由于全節點實現了所有的角色,因而是整個網絡中重要的支持和維護節點.本文中,當談到節點時,若沒有特別指明,都表示這類全節點.

1.2 區塊鏈關鍵技術

區塊鏈在本質上相當于一個去中心化的賬本數據庫,相對于傳統數據庫,其核心特征是“不可篡改”.正是不可篡改的特性,使得區塊鏈數據具有“可信”的特征.在分布式環境中,實現一個不可篡改的賬本,其關鍵的問題是數據如何組織以確保不可篡改以及如何在分布式環境中對賬本狀態達成共識.我們將解決這2個問題的技術概括為數據結構和共識機制.下面以比特幣系統為例分別介紹這2個關鍵技術.

數據結構決定了區塊鏈中賬戶和交易的組織形式.在區塊鏈系統中,通常采用Merkle樹組織賬本中所有的賬戶或發生的交易[16].Merkle樹,又稱Hash樹,其上所有的值都是Hash值.圖2展示了比特幣系統中采用的Merkle樹結構.在比特幣系統中,當交易發生時,節點根據接收到交易的先后順序或手續費高低等條件將交易排在一起,然后通過Hash運算得到每個交易的Hash值.這個Hash值就是Merkle樹的葉子節點值,此后通過將Hash值兩兩拼接在一起的再次Hash運算得到一個新的Hash值,依此自底向上通過不斷地拼接Hash運算就可以得到Merkle樹的樹根節點值(Merkle root),這個根節點值代表了一段時間內被打包的所有交易的摘要信息.當交易發生任何的篡改(如地址、數額等發生變化)或者交易組織的順序發生任何改變,重復這個過程得到的新的樹根節點必然與改變之前的樹根節點完全不同.與比特幣的做法不同,在以太坊等區塊鏈中,為了方便實現智能合約,引入了賬戶的概念,因而它們的做法是將賬戶組織到一個Merkle樹上,賬戶代替了交易去做Hash運算,當賬戶狀態發生變化時,對應的Hash值發生變化,最終導致Merkle樹根節點值發生變化.因此,不管是通過將賬戶還是交易組織到一棵Merkle樹上,引進Merkle樹的一個重要作用是當交易或賬戶狀態被篡改時,重新計算對應區塊中的Merkle樹根節點必然跟篡改之前的不同,換句話說,Merkle樹根節點值可以看成是對賬本當前狀態形成了一個“快照”,這是區塊鏈系統防篡改的第1步.

Fig.2 Bitcoin blockchain data structure圖2 比特幣區塊鏈結構

采用Merkle樹組織交易的另一個重要作用是簡化支付驗證(simplified payment verification, SPV)[16].如圖2所示,設想某輕量級錢包節點需要驗證交易4的合法性,此時,該錢包節點只需要與鄰近的數據節點(存儲了所有區塊數據的節點)通信獲取對應區塊的Hash12的值即可,而不需要區塊中所有相關的交易信息.因為有了這個值,該錢包節點即可通過Hash運算重新構造出區塊的Merkle樹根節點,與本地存儲的對應區塊頭部中的根節點比對以驗證其合法性.

決定區塊鏈數據不可篡改的第2步也是最重要的一步是鏈式結構和共識機制.在以比特幣為代表的區塊鏈中,當節點接收到系統中發生的交易時,首先驗證交易的合法性,如是否存在“雙花”問題等,確認不合法的交易被直接拋棄,而合法交易將廣播給相鄰節點同時存儲在本地的區塊中.由于系統存在網絡延遲,不同節點接收到交易的順序可能不同,而且由于交易支付的手續費差異,不同的節點打包交易的順序可能不同.因而,不同的節點計算的系統當前狀態的“快照”可能都不一樣,那么如何在分布式環境下維護一個完整和唯一的賬本即形成唯一的“快照”呢?一個普遍的做法是:根據某種條件,在分布式網絡中挑選一個具有“優先記賬權”的節點,然后網絡中所有的節點都與之保持同步即可.我們稱選擇具有優先記賬權節點的機制為共識機制.

在比特幣系統中,共識的過程可以劃分為3個階段:1)各個節點根據協議將接收到的交易打包進區塊,并產生本節點對本地賬本當前狀態的快照;2)節點將當前狀態的快照信息與其他信息一起填入區塊頭并找到一個合適的隨機數,使得該區塊頭的Hash值小于某個給定的數或者該值的高位有足夠的零.由于Hash運算具有隨機性和不可預測性,這個合適的隨機數可能需要重復多次Hash運算才能找到,這一過程就是常說的“挖礦”.在填入區塊頭的各種值中,有一個重要的值是上一個區塊的Hash值,通過這個值,區塊之間形成了一個“鏈”式結構(如圖2所示).一個節點選擇將某個區塊的Hash值存入當前區塊然后去挖礦,代表著該節點接受了這個區塊以及該區塊鏈接的所有之前的區塊的交易.當然,每個節點都可以自由地選擇從哪個區塊開始挖礦,但系統規定節點應該選擇接著最長的鏈去挖.最后,最先找到合適的隨機數的節點將其對應的區塊廣播給網絡中相鄰的節點,每個節點在接收到最新的塊時,首先驗證其合法性(如是否從最長的鏈開始挖,區塊頭Hash值是否滿足條件等),在確認合法之后,節點將該區塊廣播給相鄰節點,并以該新的區塊為始,構造、尋找下一個合法區塊.當這個新的區塊被全網50%以上節點接受之后,找到該區塊的節點相當于獲得了優先記賬權.

為了激勵節點之間爭奪優先記賬權,每個區塊的第1筆交易通常是一筆比特幣的獎勵交易,節點將自己作為獎勵的接受方,但只有獲得優先記賬權之后,該獎勵所得才能花費.此外,獲得優先記賬權的節點提交的區塊中包含的所有交易的手續費也將同時作為該節點的回報.由于挖礦的過程需要不斷的通過Hash運算尋找合適的隨機數,因而節點間爭奪記賬權,本質上是Hash運算能力的競爭.由于這一過程需要一定的工作量,因而比特幣共識機制也被稱為工作量證明機制(proof of work, PoW).在實踐中,不同的區塊鏈系統可能采用不同的共識機制或不同的參數設置.

從以上的介紹可以看出,在比特幣系統中,交易被組織進區塊,同時區塊又通過Hash運算串成了一個“鏈”式數據結構,再加上系統總是在該“鏈”的最新端鏈接新的區塊.因而,隨著交易和區塊的不斷增加,包含在歷史區塊中的交易信息被不斷確認和鎖定,任何試圖篡改某筆交易的嘗試,都必須重新計算這筆交易所在的以及后續所有的區塊,并必須讓重新計算的區塊鏈最長以使得系統中其他節點接受新的鏈.但要做到這一點,需要攻擊者具備系統51%以上的算力.因而,通過Merkle樹,鏈式結構和共識機制,比特幣系統實現了防篡改.當然交易不一定組織成鏈式結構,有向無環圖(directed acyclic graph, DAG)也是一種重要的組織方式[17].

2 區塊鏈數據類型

了解區塊鏈的數據類型是進行區塊鏈數據分析的前提,因此,本章主要介紹區塊鏈數據的特點及其形式.區塊鏈技術有3個不同的層次,但這3個層次并不是遞進的關系,而是同時在發展著.目前,以比特幣為代表的區塊鏈1.0和以以太坊為代表的區塊鏈2.0廣受市場關注,發展相對成熟.因此本節主要介紹目前這2個層次中最重要的數據類型:交易數據和合約數據.

2.1 交易數據

1.2節中已經談到,區塊鏈數據相當于一個賬本,交易是改變賬本狀態的基本事件.交易通常發生在賬戶之間,在區塊鏈系統中,為了匿名性,通常用地址代表賬戶,地址是由字母、數字組成的字符串,如1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN[16].一個地址可能鎖定了一定數據量的幣(如比特幣地址)或擁有自己的存儲空間和代碼(如以太坊合約地址).盡管地址是區塊鏈系統中通用的數據載體,但不同的區塊鏈系統可能采用不同的賬本組織方式.在比特幣系統中,并沒有通常意義下的“賬戶”概念,作為一種強化匿名的手段,一個用戶可以擁有任意多個地址,一個交易也可能同時涉及多個地址.事實上,比特幣客戶端會在交易中自動生成新的地址用于接受交易找零.圖3展示了一個典型的比特幣交易,在該交易中(Tx為交易ID),有2個輸入地址(A1,A2)上的幣(輸入額分別為5個幣和6個幣)被轉移到了另外3個輸出地址上(A4,A5,A6),輸出額分別為3,7,0.8個幣.在一個交易中,輸入總額與輸出總額的差,稱為該交易的手續費.圖3對應的交易,手續費是0.2個幣.手續費通常是由交易發起方在構造交易時指定的.一個地址上未被花費的交易輸出數額稱為一個未花費交易(unspent transaction output,UTXO).通常,一個地址上的所有的UTXO都對應著此前某些交易的輸出額.因而,比特幣地址上存儲的UTXO,都可以按照產生該UTXO的交易回溯,直至挖礦所得.而挖礦所得是經過全網驗證和接受的,由此,比特幣系統實現了幣的防偽造.

Fig.3 A typical Bitcoin transaction圖3 一個典型的比特幣交易

比特幣系統的數據組織方式保留了交易過程中的所有細節信息,通過這些信息可以方便的驗證一個交易中幣的來源.然而,這一機制導致在比特幣系統中對諸如驗證一個用戶的賬戶余額等這種簡單操作變得低效,因為一個用戶可能擁有多個地址,每個地址上又擁有多次交易產生的UTXO,要驗證賬戶余額,需要驗證所有地址上的所有UTXO的來源.這種低效使得基于比特幣系統實現智能合約變得復雜.因而以太坊等實現智能合約的平臺引入了賬戶的概念.賬戶在形式上仍是地址,但賬戶引入了存儲空間用于記錄賬戶余額、交易次數、代碼等.因而,與比特幣系統不同,以太坊等的賬戶可以看成是銀行卡賬戶的一個類似物.

以太坊是一個基于區塊鏈的智能合約平臺,它提供了一種圖靈完備的語言,使得基于以太坊可以方便的實現去中心化的應用(DApp).在以太坊中,賬戶分為2類:1)與銀行賬戶類似的普通賬戶,用于記錄用戶參與交易的賬戶余額、交易次數等信息;2)智能合約賬戶,記錄著合約的字節碼等信息.

在以太坊系統中,由于有2類賬戶,其交易形式與比特幣系統不同:當交易發生在普通賬戶之間時,交易與通常的銀行轉賬交易是類似的,通常發生在2個賬戶之間,不存在多個輸入或輸出的情況;但當交易涉及合約對象時,情況較復雜.此時,一筆交易可能是轉賬,對應一定數額的輸入,也可能是調用合約的某個函數,或兩者兼而有之.圖4給出了一個典型的涉及智能合約的交易.在該交易中,普通賬戶A1向智能合約賬戶S1轉賬5個以太幣,這是一個普通的交易(normal transaction),但該交易觸發了智能合約向地址A2,A3的轉賬操作和調用智能合約S2的操作,而對智能合約S2的調用又進一步觸發了其對地址A4的轉賬操作.所有后續的這些操作都是由第1個普通的交易觸發的,因而稱為觸發的交易(fired transaction)或內部交易(internal transaction).在以太坊中,一個普通的交易可能觸發上百個內部交易,因而,事先無法確定交易能否成功.一般情況下,普通交易都會記錄在區塊鏈上,但觸發的交易,以及交易成功與否則需要執行合約代碼才能確定.盡管一個普通的交易,可能觸發多筆交易,但他們具有相同的交易ID.

Fig.4 A typical smart contract transaction圖4 一個典型的智能合約交易

雖然交易在不同的區塊鏈系統中可能具有不同的組織方式,但從數據的角度說,他們都具有相似的形式.一個交易至少包含5個不可缺少的部分,即輸入地址、輸入額、輸出地址、輸出額以及交易發生的時間戳.在不同的區塊鏈系統中,這5個部分可能具有不同的要求,如在比特幣系統中輸入和輸出地址可以是多個,而在以太坊系統中輸入額等于輸出額,同時一個交易可能對應多條記錄.

2.2 合約數據

智能合約是區塊鏈2.0的核心要素.智能合約本質上是一段可以根據預先指定的條件被觸發執行的代碼.基于不同的區塊鏈系統,智能合約可以有不同的實現方法.由于在目前的區塊鏈技術中,以太坊是最流行的智能合約平臺,因而以下主要介紹以太坊中智能合約數據.

以太坊提供了一個圖靈完備的虛擬機(EVM)用于實現智能合約.為了方便編寫智能合約,以太坊提供了多種高級語言,其中Solidity[18]應用最為廣泛.Solidity是一門類似于JavaScript的面向以太坊虛擬機的智能合約編寫語言.目前,在以太坊平臺上,采用Solidity編寫的智能合約有超過200萬個,而且每天都在不斷地增加.

通常智能合約會涉及到2類數據:1)實現合約相關的代碼數據;2)合約在運行過程中被觸發的交易數據.由于觸發的交易數據并沒有記錄在區塊鏈上,因而,需要運行相關的合約才能得到相應的數據.一個替代的做法是通過網絡爬取,目前,可以在etherscan.io上獲取以太坊系統上智能合約相關的內部交易數據,但由于API的限制,只能獲取每個賬戶最近10 000筆的交易.

代碼數據是合約數據最重要的形式,因為代碼的邏輯決定了內部交易的產生.代碼數據有2種存在形式:源代碼和字節碼.源代碼是以高級語言如Solidity編寫的,可以通過閱讀了解智能合約功能的文本數據;而字節碼則是只對虛擬機有意義的數字串.由于匿名性的需要,在以太坊中部署一個智能合約只需要提供相應的字節碼即可,提供源代碼只是方便使用者驗證智能合約的內容,而并不是系統的要求.目前以太坊平臺上的超過200萬智能合約中,只有1萬多個(不到1%)是可以查看源代碼的,這使得基于代碼數據存在大量研究問題.由于代碼數據中,大量存在的是字節碼數據,除了可以通過字符相似度角度去挖掘合約間可能的關系外[19],能用的方法很少.一個通常的做法是將字節碼通過工具反編譯為虛擬機的操作碼.以太坊黃皮書[20]給出了虛擬機中的各種字節碼對應的操作碼及其代表的意義.比如字節碼0x01對應的操作碼為ADD,表示的是將2個操作數相加的運算.在將字節碼轉換為操作碼之后,可以方便地對合約代碼數據進行分析,如合約是否存在漏洞[21]、合約能否優化[22]、合約以及區塊鏈的性能評估等[23-24].目前關于智能合約的研究尚處于起步階段,雖然由于以太坊的DAO攻擊事件,吸引了一些對智能合約漏洞問題的研究,但大量其他問題仍有待探索,如這些合約都實現了什么功能、合約之間存在什么關系、是否有合約利用匿名的特性從事違法行為等.

3 研究現狀與進展

本節主要介紹區塊鏈數據分析主要回答的問題及進展情況.通過分析目前的相關文獻,我們將當前區塊鏈數據分析的研究概括為實體識別、隱私泄露風險分析、網絡畫像、網絡可視化、交易模式識別、市場效應分析、非法行為檢測與分析等7個研究問題.圖5給出了這7個研究問題的關系,圖5中實線箭頭表示箭頭發出端所代表的研究問題支持了箭頭結束端所代表問題的研究,或者發出端是結束端的基礎;虛線箭頭表示發出端所代表研究問題在某一個角度的特殊化即是結束端所代表問題,即整體與部分的關系;而雙向箭頭表示兩端的研究問題是同一個問題的不同側面.

Fig.5 Research problems and their relationship圖5 研究問題及其相互關系

3.1 實體識別

由于在比特幣的交易中,用戶都是匿名的,而一個交易又可能涉及到多個輸入和輸出,因而一個自然的問題是:能否從交易記錄中識別出用戶,即哪些地址是屬于同一個用戶的.由于無法驗證識別的是否是一個用戶,在文獻中通常認為識別的是實體(entity).一個實體可能是一個用戶或者一個機構等[25];反之,一個用戶或機構也可能控制著多個實體.在文獻中,通常采用啟發式方法識別潛在的實體,主要可以分為2種:共同輸入法和找零地址法.所謂的共同輸入是指在同一個交易中,將輸入端的地址識別為屬于同一個實體.因為在比特幣系統中要花費一個地址上的幣需要提供該地址對應的私鑰,而通常用戶并不會分享他們的私鑰,因而可以認為一個交易的輸入端的地址都在同一個實體的控制之下.以圖6為例,在時刻T1,地址A1和A2因為同在交易Tx1的輸入端,可以認為是屬于同一個實體,而到時刻T2,地址A3,A4,A5因同時出現在交易Tx2的輸入端,可以識別為一個新的實體.到了時刻T3,地址A2,A6同時出現在交易Tx3中,因而地址A2所在的實體增加地址A6.這種動態地構造實體的算法雖然思想簡單,但實現較復雜,文獻[26]另辟蹊徑,將Petri網的理論引入分析比特幣交易.通過將地址和交易轉為Petri網的矩陣表示,把比特幣中許多問題(如實體識別)的分析轉換為對矩陣的分析.由于矩陣運算易于理解和實現,該方法可以快速和方便地分析許多問題.但該方法的問題是隨著交易的增多,矩陣的維數過大(因為一個地址對應矩陣的一行,一個交易對應矩陣的一列),這是該方法在實際中的重要缺陷.

Fig.6 A typical Bitcoin transaction fragment圖6 一個典型的比特幣交易片段

不管采用何種識別方法,一個明顯的結論是隨著時間的推移和交易的增加,在比特幣系統中可以找到更多的實體,同時實體所包含的地址數量也可能相應地增加.實體的數量可以大致反應出系統中用戶的數量,而實體的大小則一定程度上反映出實體的類型.如一般用戶對應的實體通常較小,而網絡錢包對應的實體可能包含大量的地址.值得注意的是,這一啟發式方法并不總是成立的,事實上,由于這一啟發式方法破壞了比特幣的匿名性,因而多種針對這一方法的進一步提高匿名性的方法被提出,如CoinJoin[27],MixCoin[28],BlindCoin[29].此外,文獻[30]探討了這種方法是否有效的問題.作者首先通過這種方法,找到許多包含至少1 000個地址的超級實體,其次,通過分析這些超級實體發現,它們都與某些服務有關,比如錢包服務,原因是這些服務通常重用一個地址為客戶提供服務.重用地址不僅造成超級實體的存在,也會泄露服務提供者和用戶的許多隱私.但作者指出,一個服務完全可以避免這種問題的存在,如一個有名的比特幣錢包和交易提供商Coinbase,并沒有對應的超級實體存在.這說明,僅僅根據共同輸入方法并不能有效確定實體與用戶之間的對應關系,一個用戶可能存在多個與之對應的實體.

由于比特幣錢包自動生成找零地址,因而在一個交易的多個輸出地址中識別出找零地址是提高基于共同輸入法建立實體的聚合度的重要方法.提高實體聚合度是指當采用一種方法識別的2個實體在另一種方法下被識別為同一個實體.關于找零地址的識別有多個啟發式方法,最直接的是把一個交易的2個輸出地址中唯一的新地址視為找零地址[31].這種方法正是利用了比特幣系統自動生成新地址的機制,此后,文獻[32]將輸出地址為2個的限制條件推廣為多個輸出地址.另一個判斷找零地址的方法是基于對輸出數額的判斷.如果一個交易中有2個輸出數額,其中一個比另一個多出3個以上的小數位,那么小數位較多的輸出認為是找零輸出[32].比如一個交易中2個輸出數額分別為0.03 和0.013 345,那么可以認為0.013 345對應著找零輸出.理由是用戶在花費比特幣時傾向于支付易辨別的數額.以上的啟發式方法都是建立在某些假設的基礎上,但這些假設是否可靠,以及根據這些假設構建的實體是否是對應著真實世界的用戶無法驗證.盡管如此,這些啟發式方法仍然在分析比特幣用戶的行為上發揮了重要作用.

在共同輸入和找零地址2類啟發式方法的基礎上,文獻[33]提出通過社區發現的方法進一步聚合實體.作者通過實驗對比了不同的啟發式方法在識別實體的效果上的差別,實驗結果表明單純使用共同輸入法可以獲得較好的識別準確度但查全率相對較低,而如果只使用找零地址則準確度是最差的.然而綜合運用所有的啟發式方法,雖然準確度會下降很大,但查全率卻可以達到最高水平.這說明利用社區發現的方法查找到的社區屬于同一個實體的可能性不大,但通過這種方法可以發現普通啟發式方法識別不了的潛在的實體.

3.2 隱私泄露風險分析

實體識別的目標是找到系統中屬于同一實體控制的所有地址,雖然這對系統來說是一個風險因素,但由于地址只是一個無意義的假名,人們無法將其與真實的用戶對應起來.但一個顯然的結論是:如果我們能夠獲取某個用戶在系統中的一個地址信息,那么這個用戶的其他地址信息以及該用戶在系統中的交易行為、賬戶余額等隱私信息就可能全部泄露,隱私泄露風險分析的目標在于回答,我們如何將系統中的實體對應到真實的實體,以及如果我們擁有了用戶的一些額外信息,能在多大程度上獲悉用戶的地址?

針對如何獲取實體的真實信息,文獻[34]在利用啟發式方法將12 056 684個地址聚合為3 383 904個實體的基礎上,通過向接受比特幣支付的網絡商家購買產品和服務的方式給其中2 197個實體打上了某種標簽.通過交易給地址打上標簽的方式雖然可以很精確,但成本很高.由于人們可能在不經意間暴露自己的地址信息,比如論壇上某些用戶貼出自己的比特幣地址,以及某些機構公布自己的比特幣捐獻地址等,因而通過各種社區、網絡獲取地址的標簽信息是一種成本相對較低的方法[32,35].此外,部署相關節點監聽交易在比特幣網絡中的傳播在一定程度上能夠獲取交易發出者的IP地址[36],從而暴露地址對應的位置信息.將實體打上某種標簽之后,就可以深入分析比特幣系統中實體的類別、分布及經濟行為特征等.

針對基于額外信息,能在多大程度上獲取地址信息的問題,目前的分析方法大致是:首先根據獲取的實體信息,將交易數據用一個五元組(S,R,M,V,T)表示.一個五元組表示交易發送者S向接收者R在時刻T發送了總量為M的幣,對應法幣價值為V.其次,假定五元組中發送者是無法獲知的,但其他4個信息是有可能暴露的,因而,可以借由其他4個信息,通過查詢區塊鏈數據獲取交易發送者的地址信息.這個假定是合理的,因為首先用戶在支付時,保護自己的賬戶信息是自然的,但一筆交易的其他要素則完全有可能暴露,比如2個人先后向同一家接收加密貨幣支付的咖啡店購買咖啡,那么前面顧客的其他信息(如支付金額、時間等)很容易被后面顧客獲悉,此外,商家有可能將自己接受支付的地址信息放置在公共場所.基于上述的2個假設,文獻[35]在分析比特幣賬本后指出,如果用戶意外泄露支付的金額信息,那么竊聽者可以通過分析在相應時間窗內,查找具有近似金額的所有可能交易,獲取相應的地址.在2012年之前,大約可以找到10個可能的地址.當然,如果再結合一些其他信息,找到確定地址的可能性將大大增加.文獻[37]基于Ripple網絡的信息更全面的分析了不同信息泄露之后用戶地址泄露的可能性.結果表明,如果泄露所有其他4個信息,那么發送者信息能夠以99%以上可能性確定,即使不知道接收者和金額信息,仍能以90%以上的可能性確定發送者地址.這些研究結果表明,基于加密貨幣的支付存在暴露用戶隱私的重大缺陷.

綜合實體識別和隱私風險分析方法可以發現,在以比特幣為代表的區塊鏈系統中,存在許多分析用戶隱私的方法,因而有許多基于比特幣的服務提供各種保護用戶隱私和錢包安全的方法.但一項調查了990名比特幣持有者使用隱私保護策略情況的研究表明[38],只有46%的使用者會使用基于網絡的隱私和安全保護服務,且其中的一半僅使用一種服務.同時,許多的參與者,對比特幣可能涉及的隱私泄露問題缺乏很好的理解,只使用了相關服務的部分功能.此外,有22%的用戶聲稱由于安全問題及操作問題丟失過比特幣.這一現象表明,比特幣的參與者中大部分缺乏對這一新興事物的準確認識,因而容易引致各種違法犯罪行為.

3.3 網絡畫像

目前,比特幣主鏈已挖出超過50萬個區塊,包含超過150 GB的交易數據.面對大量的交易數據,一個自然的問題是,數據中包含多少用戶?這些用戶有什么特征?這個巨大的支付網絡是否具有一般的復雜網絡的特征?比特幣作為一種“資產”,它是如何在用戶之間分配的,是否滿足一般的經濟學規律等等.我們將這類研究整個網絡的一些特征的研究概括為網絡畫像.下面主要介紹比特幣網絡畫像的一些進展.

1) 活躍度畫像.針對比特幣網絡是如何從最初的一個程序員“實驗”,發展成為一個龐大的加密貨幣帝國的問題,許多文獻從網絡活躍度及其動態變化的角度進行了分析.文獻[25]基于共同輸入啟發式方法分析了2012年5月之前的比特幣中所有交易數據,從3 730 218個地址中發現擁有2個以上地址的實體1 851 544個.基于識別的實體信息,作者分析早期比特幣網絡中幣的活動特性,結果發現,早期的比特幣系統中大量的幣都沒有進入流通領域,有大約78%的幣都處于“休眠”狀態,因為大量地址只接受比特幣,而從不使用.文獻[39]分析了2013年1月之前的所有比特幣交易數據,并根據數據集中地址數量和比特幣價格的不同將比特幣劃分為初創階段和交易階段.初創階段從比特幣2009年運行開始至2010年秋,這一階段的特征是網絡活躍度不高,網絡特性不穩定,因而可以認為處于試驗階段.此后,比特幣交易開始活躍,網絡特征趨于穩定,進入交易階段.通過對網絡中地址的數量和使用情況的統計分析,他們發現,在交易階段地址的使用情況(出入度)服從典型的冪律分布.文獻[40]分析了比特幣系統中常見的一些指標如每日活躍用戶數、每日交易額與交易量等.統計結果顯示,這些反映比特幣活躍度的指標都在隨著時間指數式地增長.此外,針對比特幣的流動性問題,文獻[40]從地址和幣2個角度進行了分析,結果發現在比特幣系統中,真正用于流通的比特幣只有不到50%,而流通中的幣大部分額度很小,且大部分小額交易都與賭博活動有關.與此類似,文獻[41]則深入分析了比特幣系統中各種指標如地址數量、活躍地址數量、實體數量、實體大小、幣的流動性等隨時間變化的函數關系.

2) 服務畫像.比特幣匿名又龐大的網絡使得人們對比特幣中到底有些什么服務,進行什么交易充滿疑惑.為了回答這一問題,文獻[40]首先基于啟發式方法識別實體,同時通過利用購買物品和服務的方式進一步合并實體信息,從而獲取大量基于比特幣的服務對應的地址信息如礦池、錢包、換幣服務、賭博等.他們分析了比特幣系統中的流行服務和非法活動,發現在早期比特幣的使用中,接近50%的交易都跟一個著名的賭博服務——中本聰骰子(Satoshi Dice)有關.文獻[41]在此基礎上通過獲取Blockchain.info提供的交易的IP地址信息進一步將交易與對應的地理信息融合起來,分析了比特幣的使用現狀.該文給出了除賭博以外最熱的24種比特幣服務,并分析了各種服務在每個時間段的活躍情況.值得一提的是,由于引入了地理位置信息,該文指出比特幣交易最活躍的區域是歐洲、美國、中國東部沿海地區、澳大利亞、巴西、加拿大南部和俄羅斯西部地區.文獻[42]通過分析2009—2015年比特幣的交易數據,通過啟發式方法將地址信息匯集為實體,然后篩選出超大規模實體,并通過給實體賦予標簽,將實體分為正常交易者、賭博者、黑市交易者和其他4種類型.最后,通過分析超大規模實體的交易模式和實體間的支付關系及其變化,將比特幣系統劃分為3個不同階段,分別為概念驗證階段即挖礦階段、非法交易(賭博、黑市)階段和成熟階段即交換階段.與大多數研究針對網絡整體進行分析不同,文獻[43]分析了著名比特幣黑市絲綢之路(Silk Road).通過爬取該網站每日出售的各種商品信息,發現絕大部分出售商品都是管控物品和毒品.文獻[35]通過構造的實體網絡圖分析了比特幣交易網絡在一天中的典型網絡形狀,發現網絡中蘊含著社區、超大交易子網絡以及呈放射狀的子網絡等.此外,通過利用PageRank算法選出重要節點,并結合網絡信息,其成功找到許多重要機構如“絲綢之路”[43]的地址.

由于實際上很難給所有地址打上合適的標簽,文獻[32]采用了一個完全不同的思路分析比特幣中的服務.首先,基于構造的加權實體網絡(節點之間的權可以有多種構成方式,如交易次數,交易量的大小等),通過運用網絡聚類算法[44]識別網絡中存在的社區,雖然發現有大量的實體并不能歸結到某個社區中,但該方法很容易發現存在內部交易的社區,如在由10~99個實體構成的社區中,40%的實體與社區中其他實體有多筆交易,且社區中68%的交易都是發生在社區包含的實體之間.其次,通過搜集Bitcointalk.org上用戶自己公布的地址和用戶所在的國家地區信息,作者建立了一個具有位置信息的地址樣本,然后通過抽取實體的一些統計特征如每天交易次數、交易對手數目等特征,訓練了一個隨機森林模型[45],通過該模型,作者將所有實體納入4個不同區域.最后,基于通過模型給出的標簽,作者分析了比特幣在這4個區域中的交易特征以及比特幣的跨區域流動特性.

3) 網絡特性.在早期關于比特幣網絡的研究中,發現了交易網絡中存在冪律特征[39],由于在2013年之后,比特幣交易量出現了爆炸式增長,文獻[46]基于最新的數據分析了比特幣系統中實體的數量和實體包含的地址數量的分布情況,發現實體的規模大致服從冪律分布,但明顯存在一些異常值;針對這一現象,文獻[47]重點分析了這些異常值,并證明了這些異常值源于用戶的刻意行為;文獻[48]利用最新的數據從復雜網絡的角度分析了比特幣網絡的各種經典網絡特征,如稠化過程、網絡直徑及平均距離、網絡聚類系數、度分布以及一些中心化指標,并分析了這些指標隨著時間的變化規律,結果表明隨著時間的推移,比特幣網絡表現出小世界網絡的特征.

在復雜網絡分析中,偏好依附(preferential att-achment)常用于解釋各種網絡屬性是冪律分布的原因.而在經濟學上,偏好依附又被稱為“馬太效應”或者富者愈富現象.由于比特幣可以看成某種資產,因而檢驗其中是否存在這種現象是一個有趣的話題,一些文獻對不同時期比特幣系統中的馬太效應進行了分析[39,47],結果表明在比特幣網絡中存在明顯的財富聚集效應,即富者愈富現象.

3.4 網絡可視化

隨著區塊鏈技術的火熱,區塊鏈中存入的交易數據不斷增加,面對一個龐大且不斷快速增長的交易網絡,研究其可視化工具是一個重要的方向.目前,已有不少的研究對這一問題展開了探索.文獻[49]在介紹比特幣、以太坊等區塊鏈特性的基礎上,重點分析了區塊鏈交易中蘊含的特殊圖結構,可作為區塊鏈圖挖掘的入門材料;文獻[50]介紹了一個比特幣交易網絡的可視化系統BitConeView,利用該系統可以實時地、直觀地追蹤比特幣中交易.特別是該框架中定義了“純度”(purity)的概念,從而可以方便的找出混幣交易,實現實時監控比特幣網絡中潛在的洗錢行為;GraphSense[51]是一個區塊鏈網絡的圖形化分析工具,它不僅可以用于追蹤資金流,實現自動的實體識別,同時可以用于搜索網絡路徑和特殊的交易模式;文獻[52]描述了一個比特幣交易的可視化監控系統,該系統聚焦于識別比特幣交易中各種人為或算法的行為,通過該系統可以快速的識別比特幣系統中異常的交易模式(如洗錢)和各種攻擊區塊鏈行為(如寄生蟲交易攻擊)等;與大多數研究聚焦比特幣網絡不同,文獻[53]介紹了一個基于Scala的開源的分析框架,該框架可以用統一的方法同時分析比特幣和以太坊這2個當前最重要的區塊鏈.

3.5 市場效應分析

由于以比特幣為代表的加密貨幣不僅有記錄系統交易的區塊鏈數據,一個更吸引眼球的數據則是加密貨幣與法幣之間的兌換價格(為描述方便,以下簡稱加密貨幣的價格).截至寫作當前,coinmark-etcap.com上記錄的各種加密貨幣有1 494種,對應的交易所有8 165個,整個市值超過5 600億美元,其中占據主導地位的比特幣有接近2 000億美元市值.市值排名前3的加密貨幣是比特幣、以太幣和Ripple幣,其市值之和占整個加密貨幣市場的60%以上.圖7展示了比特幣從2013年4月以來的每日價格、市值及成交量.從圖7中可以明顯地看出,比特幣價格在短短的幾年里從最初的幾乎毫無價值到最高突破2萬美元,而最近又因為某些原因跌到接近1萬美元,可以說比特幣等加密貨幣的價格具有極強的波動性.這種極強的波動性一方面吸引了經濟學家們從金融學的角度探討比特幣是不是貨幣等問題[54-57](由于這方面的探討超出了本文的范圍,這里不做更多分析總結);另一方面,也更偏向數據分析的是,解釋這種極端波動性的背后驅動因素是什么?本節擬對這一問題的研究進展做簡單總結.

Fig.7 Bitcoin price, transaction volume and market cap圖 7 比特幣市場價格、成交量和市值圖

為了回答價格的驅動因素、分析價格波動的原因,在現有的研究中一個通常的思路有3步驟:1)尋找價格的潛在影響因素;2)利用各種影響因素構造時間序列,通過與價格時間序列構建相關統計、計量分析模型;3)結合模型估計的結果,分析價格與影響因素間的關系.

價格的影響因素是多方面的,因而準確全面地尋找價格的影響因素是成功解釋價格波動原因的前提.目前,廣泛使用的價格影響因素可以分為6類:1)礦工因素.礦工是維護加密貨幣的主要力量,也是加密貨幣的最初持有者,其行為必然對價格造成影響,有不少的指標可以反映曠工的行為如Hash比率(代表礦工的算力投入)、交易手續費、挖礦回報等.2)系統因素.加密貨幣系統的設置是影響貨幣價格的重要因素.以比特幣為例,其幣的供應量已被預先設定為接近2 100萬個幣,其挖礦難度每2 016個區塊調整一次,挖礦回報每21萬個區塊減少一半,這些系統的設定和動態變化會影響加密貨幣的供應,因而最終也會影響其價格.3)用戶因素.由于比特幣已經從早期的礦工時代和以賭博、黑市交易等為主的非法時代進入成熟階段[38],其參與者日趨廣泛和多樣,因而,用戶的參與度和參與方式也必然是價格的影響因素.這部分的主要數據指標來源于區塊鏈數據,如地址數量、實體數量、交易量以及交易額等.此外,以實體構建交易網絡之后,從復雜網絡的角度可以得到許多反映網絡中用戶參與交易的活躍度和交易模式的指標.4)政策、事件因素[58-59].由于加密貨幣的特殊性,使得其受政策影響非常大,此外發生在加密貨幣領域的典型事件,如漏洞攻擊(DAO攻擊[60])、平臺倒閉等[61],也必然對價格產生巨大影響.5)網絡因素.網絡搜索熱度等反映的是普通網民對加密貨幣的“追捧”程度,也反映出加密貨幣潛在的用戶規模及市場情緒,從而也是一個潛在的指標.6)競爭、替代因素[62].如前所述,目前加密貨幣市場有1 494種競爭幣.在這上千種加密貨幣中,有些幣具有完全不同的理念,但更多的幣可能只是經典幣在某種程度上的改進.因而,幣之間的價格也必然存在著相互影響、相互替代的關系.此外,加密貨幣作為一種資產,與傳統的資產如黃金、石油等之間也可能存在競爭或替代關系.

文獻[63]采用ARDL模型分析了比特幣價格的決定因素,認為比特幣只是一個投機泡沫,遠沒有投資價值;文獻[64]通過從交易網絡中根據活躍度的不同提取了2類節點,構建了2個不同的子網絡,并以這2個子網絡每日的交易構建矩陣,進而采用主成分分析的方法構建特征序列,最后發現比特幣價格與交易網絡存在明顯的相關關系;文獻[58]采用小波分析的方法,研究了交易、技術、興趣、避險、以及中國政策等價格影響因素,發現在不同時期比特幣價格與其影響因素間存在不同方向的相關關系;文獻[62]選取了市值靠前的10種加密貨幣,發現它們的價格表現出明顯的非正態和長尾特征,并采用Copula[65]方法捕捉價格間的相關關系,認為加密貨幣價格間存在著強化和替代2種不同的關系;一項對已經倒閉的比特幣交易所Mt.Gox泄露的用戶交易數據的分析指出[66],在2013年底,Mt.Gox通過2個機器人操縱比特幣價格,導致比特幣價格在短時間內從150多美元上漲到突破1 000美元.

合同履行期間,滿足收入確認要件時,應及時提供相關證明材料,在單價合同或需要提供相關核銷票據的合同的,應提前準備相關材料。這對項目提高資金收付效率,降低壞賬起到至關重要作用。在設計咨詢服務的適應標準方面,應根據合同規定的服務義務的內容,結合項目所在國的規范要求,針對服務具體內容具體深化,減少沉余成本,避免不必要的損失。

3.6 交易模式識別

與傳統的銀行等支付系統不同,比特幣是一個匿名、無中心的支付系統.在匿名的情況下,人類的支付行為具有什么特點是一個有趣的問題.此外,匿名的特性導致基于比特幣存在許多非法行為,如洗錢、詐騙等,能否從區塊鏈的交易記錄中識別特殊的模式而發現相關的非法行為是一個有價值的問題.解決這些問題的關鍵在于識別和分析比特幣中的交易模式,下面介紹一些相關研究.

文獻[25]基于建立的實體網絡,通過選擇大于5 000個幣的交易構建了一個大額交易子網絡.通過分析這個子網絡,發現在早期的比特幣交易中有許多特殊的交易模式,如分叉和自循環,即一個實體將一個地址上的比特幣通過交易分割到不同的地址上,如此反復但最終所有的幣又都匯集到該實體的某個地址上.如果說這種交易很有可能與早期的洗錢行為有關,那么另一種交易則似乎是刻意為之.文獻[25]發現在交易網絡中存在二叉樹形式的交易模式,即一個地址將其上的幣等額地存入2個地址,這2個地址又將存入的幣等額地分別存入2個新的地址,如此反復使得交易網絡變成一個類似二叉樹的結構.

文獻[34]發現一種被稱為“剝離鏈”(peeling chain)的交易模式,該模式主要出現在擁有大額比特幣的地址上,在交易過程中該地址每次支付小額比特幣給某個地址,看上去像每次從原地址中“剝”去小部分,剩下部分則轉入一個只用2次的找零地址(一次用于接收比特幣,另一次則用于全部轉出),這個過程可能重復成百上千次,直至找零地址上余額很少.這樣,通過許多只用2次的找零地址,這些交易形成一條“鏈”.文獻[34]指出,具有這類模式的交易可能對應許多交易類型,如用戶從錢包服務中取錢或礦池給參與者支付收益等.

文獻[47]發現某些交易的輸出中絕大部分是0.000 01 比特幣,作者將這類交易定義為“偽刷屏交易”(pseudo-spam transaction).一個“偽刷屏交易”是一個特殊的交易,該交易只有一個輸入,但包含3個以上的輸出,其中除不多于一個輸出外,其余均為固定數額,如0.000 01比特幣.通過分析大量的“偽刷屏交易”,該文作者指出這種交易模式背后有2種極有可能的原因:去匿名攻擊和發廣告.去匿名攻擊是指發送者通過給某個地址發送0.000 01個比特幣,獲取控制這個地址的實體的其他地址信息,因為這個數額太小,要花費這筆比特幣必須與其他地址混合共同輸入一個交易,從而暴露了實體的其他地址信息.而發廣告是指在交易中包含一些廣告信息使之永久的記錄在區塊鏈上或者在短時間內使之充斥整個網絡達成某種目的.類似于“剝離鏈”,文獻[47]發現網絡中存在大量“偽刷屏鏈”,具體是指“偽刷屏交易”通過例外的那個輸出串在一起的交易鏈.在這些“偽刷屏鏈”中最常見的輸出是 0.000 01 比特幣,占到所有這類交易的43.8%,而剩下最常見的輸出是(1 000,7 800,10 000,100 000,200 000,500 000,1 000 000)等.在文獻[67]中作者進一步分析了這種類似的交易行為,并指出正是這類特殊的交易行為導致了實體交易網絡中入度分布的離群值.

3.7 非法行為檢測與分析

由于區塊鏈匿名的特性,很難得知交易參與者的身份信息,比特幣等加密貨幣成為犯罪分子的天堂.文獻[68]基于搜索數據將比特幣的使用者分為計算機技術狂熱者、投機客、自由主義者和犯罪分子等4類.在這4類參與者中,犯罪分子的行為破壞了技術發展的生態,導致了許多社會、經濟問題.目前存在許多基于區塊鏈技術的非法行為,如賭博[42]、洗錢[69]、販賣違禁品[43]、詐騙[70]等.然而這些暴露的非法行為只是冰山一角,可能存在大量的非法行為并不為人所知.因而,基于區塊鏈數據識別其中存在的非法行為不僅是促進區塊鏈技術健康發展的需要,也能給區塊鏈行業的監管、立法等提供參考.下面重點介紹基于區塊鏈技術的洗錢和詐騙的相關研究.

1) 洗錢.歷史上最大的跨國洗錢機構Liberty Reserve的取締使人們看到了數字貨幣用于洗錢的可能性[71].而比特幣等加密貨幣的天然匿名特性,使得比特幣等成為潛在的洗錢工具.洗錢的最終目的是使得非法所得無所追蹤.但基于前面介紹各種的啟發式方法,尤其是共同輸入方法,還是可以方便地將比特幣中的實體識別出來.因而,一旦某個地址被確認為非法地址,其交易以及該地址對應實體的其他地址都能被追蹤.因而,基于比特幣的“混幣”服務[27-29]成為洗錢的一個重要工具.混幣服務的想法非常簡單,多個人同時輸入某個交易使得基于共同輸入的啟發式方法失效.圖8是一個簡化的混幣交易,假定一個混幣服務提供商M提供混幣服務,3個用戶(分別用3個地址A1,A2,A3代替)希望混幣以增強匿名性,他們分別給M的3個地址M1,M2,M3存入1個幣,同時提供各自的新地址A4,A5,A6用于接受返回的幣.M在M1,M2,M3這些地址中隨機選擇,將幣返回給3個用戶的新地址.只要M不用同一個地址接受和返回比特幣,資金流關系就斷了.在這里M雖然用了3個地址接受混幣輸入,但事實上,他可以在同一筆交易中用一個地址接受所有輸入.當然,混幣的方法還有很多,但可以明確的是:混幣之后,不僅基于共同輸入的啟發式方法失效,也無從判別輸出地址的歸屬.如圖5所示的例子,即使我們知道某個用戶(如A1)參與了混幣交易,我們仍然無從判斷A4,A5,A6中哪一個屬于該用戶,因為看上去3個地址是同質的.

Fig.8 A simplified mixing transaction圖8 一個簡化的混幣交易

為了找到針對比特幣的反洗錢措施,文獻[69]通過真實參與Bitcoin Fog,BitLaundry以及Blockchain.info等提供的混幣服務,進而利用區塊鏈數據進行了大量實驗,結果表明:基于BitLaundry的混幣交易仍然能被追蹤;而基于Bitcoin Fog和Blockchain.info提供的混幣服務則不能再追蹤.此外,基于發現的混幣的特點,作者提出了許多相關的反洗錢措施.除通過混幣服務洗錢以外,文獻[34]概括了3種典型疑似洗錢的交易模式:匯聚(aggregations)、折疊(folding)和分割(splits).匯聚是指將許多相關比特幣中的余額轉入同一個地址;折疊則是將非法地址與其他正常地址混在一起做匯聚交易;分割則是將一個地址上的比特幣轉移到多個不同的地址上.

2) 詐騙.由于區塊鏈同時具有參與者匿名、無國界限制、金融支付等天然屬性,加上相關法律法規相對滯后,以比特幣、以太坊等區塊鏈為平臺的各種非法行為(如黑市交易、龐氏騙局等)泛濫,這一方面為國家市場監管提出了巨大的挑戰,另一方面也給參與區塊鏈的投資者帶來巨大的損失.2017年5月,美國證券交易委員會(SEC)對涉嫌數字貨幣的龐氏騙局運營商提出詐騙指控,并罰款7 400萬美元[72].2017年 9月4日,中國人民銀行聯合7家金融監管機構聯合發布ICO禁令,其中一個重要原因是ICO可能涉及金融詐騙.這些事實表明目前基于區塊鏈技術存在大量的非法行為.因而,研究如何通過區塊鏈數據分析、識別潛在的騙局,是一個現實且緊迫的研究問題.

龐氏騙局是一種經典的騙局,其核心就是利用新投資者的資金回報老投資者,而騙局運營者則從中收取手續費等收入.智能合約的火熱使得基于智能合約的龐氏騙局開始出現,由于基于區塊鏈的智能合約具有可信、自動執行等特點,這種形式的騙局更具有欺騙性.文獻[73]通過閱讀各種開源合約的源代碼以及搜索網絡中的各種相關資料,確定了基于以太坊的100多個基于智能合約龐氏騙局,同時通過運用計算合約的字節碼的基于標準化Levenshtein距離[74]的相似度,識別了部分隱藏源代碼的龐氏騙局.在此基礎上,該文將龐氏騙局劃分為4種不同的類型,并深入分析了龐氏騙局的生存周期以及給參與者帶來的收益和損失等問題.受此研究啟發,我們提出利用機器學習和數據挖掘的手段識別區塊鏈中存在的詐騙行為的研究問題,并以基于以太坊的龐氏騙局為突破口撰寫了研究論文[75].在該文中,我們深入分析龐氏騙局合約的賬戶交易特征和字節碼特征,并基于分析結果提取了相關特征,在此基礎上通過訓練分類器,獲得了能以較高的準確度識別潛在的龐氏騙局的模型.值得指出的是,我們基于字節碼建立的模型已經達到一定的準確度,這使得我們可以在智能合約剛上線還沒有造成影響時預警龐氏騙局的可能性.通過將我們的模型應用到以太坊20多萬非開源合約上,我們估計,基于以太坊有超過400個龐氏騙局在運行.未來,我們將會進一步提高模型的預測效果同時擴展騙局識別的種類.

4 趨勢與挑戰

區塊鏈技術是一項新興的技術,具有顛覆許多行業的可能性,盡管目前除了加密貨幣以及智能合約這個2個典型的應用場景外,尚缺乏有足夠影響力的應用,但未來區塊鏈技術將在廣闊的領域發揮基礎性作用.因而基于區塊鏈的數據分析也將展現出其目標的多樣性與技術的獨特性.這節我們概述3個可能的未來研究方向及其面臨的挑戰.

4.1 趨 勢

1) 網絡特性與規律.在3.3節的介紹中,我們已經指出利用復雜網絡分析中成熟的各種技術分析交易網絡是目前區塊鏈數據分析中采用較多的方法.然而,將交易數據簡單地建構為一個復雜網絡損失了大量的有用信息.因而,未來在區塊鏈數據分析的建模選擇上需要考慮更多的信息,如交易的方向、數額甚至交易時間等,即通過交易數據構造有向網絡(directed network)、加權網絡(weighted network)、時間網絡(temporal network)等,進而研究各種網絡特性.

比特幣網絡是一個匿名、跨境、無中心的支付網絡,目前該網絡已經發展成一個巨大的財富帝國,盡管針對區塊鏈數據分析已經取得了相對豐富的成果,但在諸多問題上仍然需要進一步深入研究.一個典型的問題是:網絡的生成機制.這個網絡是如何一步一步生成的?是否有某種內在的機制決定了其生長?它是否會繼續壯大,還是會在某些因素的影響下最終消亡?這些問題的回答將幫助我們更好地理解加密貨幣網絡的發展,但目前對這些問題的探討尚非常初步.此外,比特幣作為一個加密貨幣系統,有其特殊的“貨幣”發行方式,這種發行方式對網絡的形成與發展有什么影響、“貨幣”在系統中的流動又有什么規律?與現實金融系統相比其貨幣流動規律有什么特別的地方?現實與虛擬的2個世界是否有共通的地方等,回答這些問題不僅有助于我們理解虛擬貨幣的規律,也能為現實的一些金融政策提供參考.

2) 區塊鏈監管與價值挖掘.區塊鏈技術的興起和發展,給社會各行業和投資者帶來前所未有的機會.一方面,區塊鏈技術帶來了各種虛擬、匿名的世界.匿名的世界用戶的行為與現實世界可能存在極大不同,一個典型的案例是基于比特幣的“絲綢之路”網絡交易平臺,明目張膽地將各種非法物品交易放置在了網絡上.此外,各種非法行為如龐氏騙局、釣魚詐騙等利用區塊鏈匿名的特性大行其道,相對滯后的法律措施和尚在發展的數據分析手段使得這些非法行為更是日益猖獗.因而,區塊鏈數據分析的一個重要任務是為區塊鏈上的各種監管和追責提供豐富的技術手段.

另一方面,各種基于區塊鏈技術的行業應用如雨后春筍般出現,盡管中國政府因為看到ICO包含的風險,已將其禁止,但全球范圍內各種ICO仍然盛行,因而如何從大量的白皮書中挖掘出有價值的項目,同時識別出各種基于ICO的詐騙項目將是一個具有重要社會意義的課題.

3) 區塊鏈數據分析+行業需求.未來,隨著技術的不斷進步,諸多行業將采用區塊鏈技術作為業務支撐技術,區塊鏈技術將成為公司、行業基礎設施,不同行業又通過跨鏈操作成為一個“區塊鏈網”.區塊鏈數據將成為公司、行業乃至整個社會數據的重要存在形式.得益于區塊鏈數據完整、可信的特征,未來區塊鏈數據分析將體現更大的價值,發揮更大的作用.在產業應用上,適應不同行業要求、針對不同應用問題的區塊鏈數據分析技術將成為數據分析乃至形成“智能業務”的重要技術.比如對存在大量審計需求的行業(如銀行),可以通過區塊鏈技術實現相關數據的存儲,而區塊鏈數據的可信、不可篡改的特性將使得基于區塊鏈數據分析出的信息具有真實、準確的特征,因而一些傳統需要人工審計的內容,也許可以交給實現了某種區塊鏈數據分析技術的智能合約自動執行,從而形成“智能審計”,提高行業效率.

在服務方式上,得益于行業聯盟區塊鏈中統一的數據格式,數據分析服務將可以以智能合約的形式存在.公司和企業將可以通過購買相應的數據分析智能合約,基于行業統一的數據格式,通過給定本公司相應數據,即可以得到相應的分析結果.

因而,未來的區塊鏈數據分析,如何結合行業特點,針對應用需求,通過智能合約的形式提供服務將成為研究重點.

4.2 挑 戰

由于區塊鏈技術具有廣闊的應用前景,區塊鏈數據分析也展現出了巨大的研究前景和應用價值.然而,區塊鏈數據具有的獨特特點,使得區塊鏈數據分析充滿挑戰.

1) 基于區塊鏈數據的網絡分析與傳統的網絡分析有著明顯的不同.在典型的網絡研究中(如社交網絡),節點和連邊的含義是相對明確的,但在區塊鏈數據中則不然.比如在比特幣交易網絡中,通常我們希望了解交易背后的用戶行為,但在構造網絡時,只能選擇2類節點:地址和實體.而由于比特幣網絡允許一個用戶擁有多個地址,且通常情況下,很難識別出一個用戶擁有的所有地址.因此,以地址和實體作為網絡中的節點,事實上很難反映出真實的用戶網絡狀態,而只是真實情況的一個近似.雖然也能取得一定的研究結論,但很難評估研究結果與真實情況之間的差距.在采用賬戶機制的網絡中,節點的意義相對要明確很多,但其連邊卻復雜不少.以以太坊為例,節點可能是普通地址與合約地址,但普通地址與合約地址,以及合約地址之間的關系卻非常復雜.由于合約既可以作為一個普通地址接受以太幣,也可以作為一個功能集合(函數集合)對外提供某種服務,因而一個看似普通的交易背后,可以是轉移支付,也可以是不同的函數調用,而由于系統設計的特點,交易還可能失敗.因而,在以太坊網絡的分析中,節點的連邊信息更加豐富,可以構造的網絡也更多樣.比如基于同樣的交易數據至少可以構造出以太幣轉移網絡、合約創建網絡以及合約調用網絡等.總之,由于其節點和連邊所代表意義不甚明確,區塊鏈網絡數據分析在方法的采用和結果的解讀上都面臨著新的挑戰.

2) 區塊鏈的去中心化和用戶匿名特征讓基于區塊鏈數據分析的監管和價值挖掘充滿挑戰.在中心化的環境中,由于監管者可以獲得所有的相關數據以及控制所有的節點,因而監管面臨的問題只是手段需要升級.比如在銀行交易記錄中識別洗錢行為,一旦通過技術手段明確了有非法行為的賬戶,銀行可以輕易地禁止相關賬戶的交易,避免損失和影響的進一步擴大,同時可以通過賬戶持有人信息找到相應的非法人員.但在區塊鏈的世界里,我們無法禁止交易的發生,也很難找到非法行為背后的始作俑者.這一現狀,將是區塊鏈監管面臨的巨大挑戰.此外,由于監管的缺失,區塊鏈項目在不需要滿足任何條件的情況下就可以在市場上募集資金,這是區塊鏈世界里普通投資者面臨的巨大威脅.慶幸的是,與中心化情形下,數據通常不公開不同,區塊鏈上數據都是公開的,這種特性為廣大研究人員提供了前所未有的研究機會,也必將促進監管與價值挖掘手段的快速和不斷升級.

3) 如果區塊鏈成為一種“底層設施”,數據實現了全行業流通,數據分析人員將面臨全新的挑戰.①數據的全行業流通必然導致數據意義的多樣化,為了通過數據分析得出有價值的結論,需要分析人員更加透徹地理解數據背后的實際意義;②由于數據的可信和規范化,許多傳統情況下需要人工完成的工作,可能會被用智能合約實現的AI取代.因而,未來的數據分析人員,不僅需要深刻地理解全方面的數據意義,同時需要了解智能合約的相關知識.

5 總 結

區塊鏈技術是目前廣受研究人員關注的一項新興技術.本文總結目前區塊鏈數據分析問題的研究進展.1)從數據分析的角度將區塊鏈技術劃分為三橫一縱結構,緊接著介紹了使得區塊鏈數據具有“防篡改”特性的核心技術;2)介紹了目前區塊鏈中2種典型的數據類型;3)總結了目前區塊鏈數據分析的七大問題與研究進展,并展望了未來區塊鏈數據分析的研究發展方向和面臨的挑戰.

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美成人免费一区在线播放| 免费国产在线精品一区| 在线免费观看AV| 97亚洲色综久久精品| 国产亚洲精| 456亚洲人成高清在线| 一级毛片视频免费| 国产精品污视频| 亚洲男人的天堂在线| 91精品啪在线观看国产60岁| 日韩一区二区在线电影| 国产凹凸一区在线观看视频| 亚洲国产理论片在线播放| 国产成在线观看免费视频| 久久狠狠色噜噜狠狠狠狠97视色 | 天天躁狠狠躁| 在线观看免费黄色网址| 亚洲精品不卡午夜精品| 国产一级毛片在线| 麻豆精品视频在线原创| 精品乱码久久久久久久| 秘书高跟黑色丝袜国产91在线| 91小视频在线观看免费版高清| 欧美福利在线| 欧美一级爱操视频| 日韩免费毛片视频| 国产午夜精品一区二区三| 久久国产精品影院| 波多野结衣二区| 久久96热在精品国产高清| 亚洲最猛黑人xxxx黑人猛交| 欧美一级一级做性视频| 国产在线观看一区精品| 国产精品3p视频| 中国丰满人妻无码束缚啪啪| 99er这里只有精品| 国产人成在线视频| 在线看片免费人成视久网下载| 国产不卡国语在线| 国产精品永久不卡免费视频 | 亚洲精品视频免费看| 成年网址网站在线观看| 欧美α片免费观看| 国产亚卅精品无码| 成人综合久久综合| 天堂成人在线| 26uuu国产精品视频| 欧美精品高清| 18禁色诱爆乳网站| 99久久这里只精品麻豆| 亚洲伊人天堂| 日韩精品成人在线| 浮力影院国产第一页| 亚洲精品成人7777在线观看| 92午夜福利影院一区二区三区| 国产高清精品在线91| 国产午夜精品一区二区三区软件| 人妻无码中文字幕第一区| 中文字幕免费播放| 第一区免费在线观看| 中文字幕在线观| 人妻夜夜爽天天爽| 亚洲国产精品一区二区高清无码久久| 国产高清免费午夜在线视频| 性网站在线观看| 狠狠色婷婷丁香综合久久韩国| 久久国产香蕉| 2021天堂在线亚洲精品专区| 国产精品视频系列专区| 97免费在线观看视频| 国产网站免费| 国产精品色婷婷在线观看| 亚洲成人黄色在线| 色婷婷狠狠干| 美女被操黄色视频网站| 精品人妻无码中字系列| 91九色最新地址| 色国产视频| YW尤物AV无码国产在线观看| 国产欧美高清| 欧美在线免费| 最近最新中文字幕在线第一页|