發布時間:2020-01-14所屬分類:管理論文瀏覽:1次
摘 要: 摘要區塊鏈是一項具有顛覆許多傳統行業的潛力的新興技術.自以比特幣為代表的區塊鏈1.0誕生以來,區塊鏈技術獲得了廣泛的關注,積累了大量的用戶交易數據.而以以太坊為代表的區塊鏈2.0的誕生,更加豐富了區塊鏈的數據類型.區塊鏈技術的火熱,催生了大量基于區
摘要區塊鏈是一項具有顛覆許多傳統行業的潛力的新興技術.自以比特幣為代表的區塊鏈1.0誕生以來,區塊鏈技術獲得了廣泛的關注,積累了大量的用戶交易數據.而以以太坊為代表的區塊鏈2.0的誕生,更加豐富了區塊鏈的數據類型.區塊鏈技術的火熱,催生了大量基于區塊鏈的技術創新的同時也帶來許多新的問題,如用戶隱私泄露,非法金融活動等.而區塊鏈數據公開的特性,為研究人員通過分析區塊鏈數據了解和解決相關問題提供了前所未有的機會.因此,總結目前區塊鏈數據存在的研究問題、取得的分析成果、可能的研究趨勢以及面臨的挑戰具有重要意義.為此,全面回顧和總結了當前的區塊鏈數據分析的成果,在介紹區塊鏈技術架構和關鍵技術的基礎上,分析了目前區塊鏈系統中主要的數據類型,總結了目前區塊鏈數據的分析方法,并就實體識別、隱私泄露風險分析、網絡畫像、網絡可視化、市場效應分析、交易模式識別、非法行為檢測與分析等7個問題總結了當前區塊鏈數據分析的研究進展.最后針對目前區塊鏈數據分析研究中存在的不足分析和展望了未來的研究方向以及面臨的挑戰.
關鍵詞區塊鏈;數據分析;比特幣;以太坊;智能合約
區塊鏈技術是一種新型的分布式賬本技術,它可以在互不信任的環境下實現去信任中介的可信交易.與傳統數據庫技術相比,區塊鏈技術具有防偽造、不可篡改以及能方便實現智能合約等特點,被譽為一種將引發社會變革的新型技術[1].國務院印發的《十三五國家信息規劃》將區塊鏈等相關技術列入強化超前布局的戰略性前沿技術.著名信息技術研究分析公司Gartner①連續2年(2017年、2018年)將區塊鏈及其相關技術列入十大戰略科技.
區塊鏈技術是比特幣等新型數字貨幣的底層支撐技術.由于要在分布式環境中實現可信的交易,區塊鏈技術大量使用密碼學技術隱藏用戶信息,同時所有交易信息則由分布式網絡共同驗證、存儲.區塊鏈技術可根據應用場景和網絡加入許可機制的不同劃分為公有鏈、聯盟鏈和私有鏈[2].比特幣[3]、以太坊[4]等對節點的加入與退出沒有任何限制,是典型的公有鏈.傳統數據庫中的數據通常隸屬于某家企業或機構,只有內部人員能夠查看和分析,而公有區塊鏈因為可以自由加入與退出,其中的數據即區塊鏈數據可以方便地獲取.這為數據分析人員通過獲取公有鏈的交易數據,進而分析系統中的各種行為提供了前所未有的機會.
當前,各種公有鏈如比特幣、以太坊等獲得了大量用戶的參與,積累了大量交易數據.以比特幣為例,一份ARK投資公司和Coinbase聯合發布的研究報告指出,截至2016年底,全球有超過1000萬用戶持有比特幣,每天比特幣的交易量達到2億美元[5].大量用戶的參與和活躍的用戶交易使得基于區塊鏈的數據分析成為一個重要且有價值的研究問題.隨著區塊鏈技術的發展,各行各業將區塊鏈技術作為底層技術引入,勢必導致大量的數據以區塊鏈數據的形式存在,因而研究基于區塊鏈的數據分析問題具有重要的理論和現實意義.
與典型數據形式相比,區塊鏈數據具有2個重要的特點:1)在區塊鏈系統中,尤其是在公有鏈中,用戶都是匿名的,各種用戶的屬性數據(如性別、年齡等)都無從獲得;2)區塊鏈系統中用戶通過交易形成聯結,構成各種網絡、數據之間彼此互相關聯.因而,基于匿名網絡的數據分析技術將成為區塊鏈數據分析的重要技術.
目前,由于區塊鏈技術尚處于初始階段,缺乏大量成熟的區塊鏈應用項目,因而基于區塊鏈的數據分析亦處于探索階段.區塊鏈數據分析相關的文獻主要針對目前相對成熟且已有足夠數據的區塊鏈如比特幣、以太坊等.其中,又以比特幣區塊鏈因其創立時間較長、廣受關注而成為區塊鏈數據分析研究的重要對象.
目前,已有大量針對區塊鏈技術不同角度的文獻綜述,如技術架構[6]、共識機制[7]、安全和隱私的問題[8-9]、攻擊問題[9]、應用現狀[10-11]、研究方向與挑戰[2]、研究熱點[12]等,但尚缺乏對區塊鏈數據分析技術的進展的相關報道,為彌補這一缺失,本文對目前區塊鏈(主要是比特幣、以太坊)數據分析的相關文獻進行了對比分析,概括出2類典型的區塊鏈數據和相應的分析方法,并總結了區塊鏈數據分析的七大研究問題和進展,希望能夠給當前區塊鏈技術的相關研究提供一定的參考與幫助.
1區塊鏈基礎介紹
當前,我們處于一個信息泛濫的時代,各種數據充斥我們周圍.然而,數據是否真實可信卻不得而知.
區塊鏈技術因其特殊的機制,其中的數據具有“可信”的寶貴特征,這使得基于區塊鏈數據分析的信息具有重要的價值.為理解為何區塊鏈數據具有可信的特征,本節將介紹區塊鏈的基本架構,并重點分析使得區塊鏈數據可信的關鍵技術.
1.1區塊鏈架構
2008年,化名為“中本聰”(SatoshiNakamoto)的學者在密碼學郵件組發表比特幣奠基性論文[3],并于2009年1月實現了比特幣的最初版本.在經過一段時間的運行之后,比特幣開始走進大眾的視野.由于比特幣具有許多優良特性,其迅速成為金融市場的寵兒.區塊鏈技術正是指比特幣等加密貨幣的底層支撐技術.
目前,尚未形成行業認可的對區塊鏈技術的統一定義.在2016年10月由中國工業和信息化部發布的《中國區塊鏈技術和應用發展白皮書》將區塊鏈技術描述為分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式.在區塊鏈的技術架構方面,袁勇等人[13]將其劃分為數據層、網絡層、共識層、激勵層、合約層和應用層.然而,隨著區塊鏈技術的不斷發展,區塊鏈的內涵與外延也在不斷演化.比如一些實際商業應用中,并不需要幣的存在,因而激勵層也并不存在.文獻[14]從隱私保護的角度將區塊鏈的架構劃分為3個層次:網絡層、交易層和應用層.本文站在數據分析的角度,從數據的類型和環境出發,認為區塊鏈可以描述為三橫一縱的結構,如圖1所示:
三橫既是對區塊鏈數據類型的抽象,同時也代表區塊鏈的3種發展階段.最底層是交易(transaction)層,對應的是以比特幣為代表的區塊鏈1.0階段.交易是改變區塊鏈數據的手段,也是區塊鏈中重要的基礎數據.記錄交易以及確保區塊鏈數據本身的全局唯一性和不可篡改性是區塊鏈1.0的核心.中間層是智能合約層,智能合約是密碼學家尼克·薩博(NickSzabo)于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樹的樹根節點值(Merkleroot),這個根節點值代表了一段時間內被打包的所有交易的摘要信息.當交易發生任何的篡改(如地址、數額等發生變化)或者交易組織的順序發生任何改變,重復這個過程得到的新的樹根節點必然與改變之前的樹根節點完全不同.與比特幣的做法不同,在以太坊等區塊鏈中,為了方便實現智能合約,引入了賬戶的概念,因而它們的做法是將賬戶組織到一個Merkle樹上,賬戶代替了交易去做Hash運算,當賬戶狀態發生變化時,對應的Hash值發生變化,最終導致Merkle樹根節點值發生變化.因此,不管是通過將賬戶還是交易組織到一棵Merkle樹上,引進Merkle樹的一個重要作用是當交易或賬戶狀態被篡改時,重新計算對應區塊中的Merkle樹根節點必然跟篡改之前的不同,換句話說,Merkle樹根節點值可以看成是對賬本當前狀態形成了一個“快照”,這是區塊鏈系統防篡改的第1步.
采用Merkle樹組織交易的另一個重要作用是簡化支付驗證(simplifiedpaymentverification,SPV)[16].如圖2所示,設想某輕量級錢包節點需要驗證交易4的合法性,此時,該錢包節點只需要與鄰近的數據節點(存儲了所有區塊數據的節點)通信獲取對應區塊的Hash12的值即可,而不需要區塊中所有相關的交易信息.因為有了這個值,該錢包節點即可通過Hash運算重新構造出區塊的Merkle樹根節點,與本地存儲的對應區塊頭部中的根節點比對以驗證其合法性.
相關知識推薦:區塊鏈論文一般發在哪些雜志
區塊鏈是未來發展行業之一,今后有關區塊鏈的論文也會越來越多,那哪些期刊可以刊登區塊鏈方面的論文呢?許多人不禁會問。本文小編針對這個問題,給大家整理了一部分可以投稿區塊鏈的期刊,供大家參考。有投稿需求的作者,可以咨詢在線編輯。
決定區塊鏈數據不可篡改的第2步也是最重要的一步是鏈式結構和共識機制.在以比特幣為代表的區塊鏈中,當節點接收到系統中發生的交易時,首先驗證交易的合法性,如是否存在“雙花”問題等,確認不合法的交易被直接拋棄,而合法交易將廣播給相鄰節點同時存儲在本地的區塊中.由于系統存在網絡延遲,不同節點接收到交易的順序可能不同,而且由于交易支付的手續費差異,不同的節點打包交易的順序可能不同.因而,不同的節點計算的系統當前狀態的“快照”可能都不一樣,那么如何在分布式環境下維護一個完整和唯一的賬本即形成唯一的“快照”呢?一個普遍的做法是:根據某種條件,在分布式網絡中挑選一個具有“優先記賬權”的節點,然后網絡中所有的節點都與之保持同步即可.我們稱選擇具有優先記賬權節點的機制為共識機制.
在比特幣系統中,共識的過程可以劃分為3個階段:1)各個節點根據協議將接收到的交易打包進區塊,并產生本節點對本地賬本當前狀態的快照;2)節點將當前狀態的快照信息與其他信息一起填入區塊頭并找到一個合適的隨機數,使得該區塊頭的Hash值小于某個給定的數或者該值的高位有足夠的零.由于Hash運算具有隨機性和不可預測性,這個合適的隨機數可能需要重復多次Hash運算才能找到,這一過程就是常說的“挖礦”.在填入區塊頭的各種值中,有一個重要的值是上一個區塊的Hash值,通過這個值,區塊之間形成了一個“鏈”式結構(如圖2所示).一個節點選擇將某個區塊的Hash值存入當前區塊然后去挖礦,代表著該節點接受了這個區塊以及該區塊鏈接的所有之前的區塊的交易.當然,每個節點都可以自由地選擇從哪個區塊開始挖礦,但系統規定節點應該選擇接著最長的鏈去挖.最后,最先找到合適的隨機數的節點將其對應的區塊廣播給網絡中相鄰的節點,每個節點在接收到最新的塊時,首先驗證其合法性(如是否從最長的鏈開始挖,區塊頭Hash值是否滿足條件等),在確認合法之后,節點將該區塊廣播給相鄰節點,并以該新的區塊為始,構造、尋找下一個合法區塊.當這個新的區塊被全網50%以上節點接受之后,找到該區塊的節點相當于獲得了優先記賬權.
SCISSCIAHCI