祝烈煌 高 峰 沈 蒙 李艷東 鄭寶昆,2 毛洪亮 吳 震
1(北京理工大學(xué)計(jì)算機(jī)學(xué)院 北京 100081) 2(中國政法大學(xué) 北京 102249) 3(國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 北京 100029) (liehuangz@bit.edu.cn)
2017-06-11;
2017-08-03
國家重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2016YFB0800301);國家自然科學(xué)基金項(xiàng)目(61602039);北京市自然科學(xué)基金項(xiàng)目(4164098) This work was supported by the National Key Research and Development Program of China (2016YFB0800301), the National Natural Science Foundation of China (61602039), and the Beijing Natural Science Foundation (4164098).
沈蒙(shenmeng@bit.edu.cn)
區(qū)塊鏈隱私保護(hù)研究綜述
祝烈煌1高 峰1沈 蒙1李艷東1鄭寶昆1,2毛洪亮3吳 震3
1(北京理工大學(xué)計(jì)算機(jī)學(xué)院 北京 100081)2(中國政法大學(xué) 北京 102249)3(國家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心 北京 100029) (liehuangz@bit.edu.cn)
區(qū)塊鏈技術(shù)的核心特征是“去中心化”和“去信任化”,作為分布式總賬技術(shù)、智能合約基礎(chǔ)平臺(tái)、分布式新型計(jì)算范式,可以有效構(gòu)建可編程貨幣、可編程金融和可編程社會(huì),勢(shì)必將對(duì)金融及其他領(lǐng)域帶來深遠(yuǎn)影響,并驅(qū)動(dòng)新一輪技術(shù)變革和應(yīng)用變革.但是區(qū)塊鏈技術(shù)在提高效率、降低成本、提高數(shù)據(jù)安全性的同時(shí),也面臨嚴(yán)重的隱私泄露問題,得到研究者的廣泛關(guān)注.將介紹區(qū)塊鏈技術(shù)架構(gòu),定義區(qū)塊鏈技術(shù)中身份隱私和交易隱私的概念,分析區(qū)塊鏈技術(shù)在隱私保護(hù)方面存在的優(yōu)勢(shì)和不足,并分類描述現(xiàn)有研究中針對(duì)區(qū)塊鏈隱私的攻擊方法,例如交易溯源技術(shù)和賬戶聚類技術(shù);然后詳細(xì)介紹針對(duì)區(qū)塊鏈網(wǎng)絡(luò)層、交易層和應(yīng)用層的隱私保護(hù)機(jī)制,包括網(wǎng)絡(luò)層惡意節(jié)點(diǎn)檢測(cè)和限制接入技術(shù)、區(qū)塊鏈交易層的混幣技術(shù)、加密技術(shù)和限制發(fā)布技術(shù),以及針對(duì)區(qū)塊鏈應(yīng)用的防御機(jī)制;最后,分析了現(xiàn)有區(qū)塊鏈隱私保護(hù)技術(shù)存在的缺陷,展望了未來發(fā)展方向.此外,還討論針對(duì)惡意使用區(qū)塊鏈技術(shù)的監(jiān)管方法.
區(qū)塊鏈;隱私保護(hù);對(duì)等網(wǎng)絡(luò);聚類分析;比特幣
區(qū)塊鏈技術(shù)具有“去中心化”和“去信任化”等特點(diǎn),能夠不依賴第三方可信機(jī)構(gòu)在陌生節(jié)點(diǎn)之間建立點(diǎn)對(duì)點(diǎn)的可信價(jià)值傳遞,有助于降低交易成本,提高交互效率,有非常廣闊的應(yīng)用前景,被認(rèn)為是引領(lǐng)信息互聯(lián)網(wǎng)向價(jià)值互聯(lián)網(wǎng)轉(zhuǎn)變的關(guān)鍵技術(shù)[1].
在數(shù)字貨幣領(lǐng)域,比特幣和類似比特幣的新型數(shù)字貨幣發(fā)展迅速.ARK投資公司和coinbase公司2017年發(fā)布的聯(lián)合報(bào)告指出:全球比特幣用戶數(shù)量超過1 000萬,每天交易金額超過1.5億美元[2].Gartner的預(yù)測(cè)指出,到了2022年,以區(qū)塊鏈為中心的相關(guān)交易將高達(dá)100億美元[3].此外,各國央行逐漸支持?jǐn)?shù)字貨幣,甚至計(jì)劃發(fā)行法定數(shù)字貨幣.在金融行業(yè),銀行和金融機(jī)構(gòu)希望利用區(qū)塊鏈技術(shù)改造傳統(tǒng)金融體系,降低數(shù)據(jù)維護(hù)成本.在能源行業(yè),區(qū)塊鏈的去中心化、開源共享以及智能管理等特性與未來能源變革有著天然的契合性,能夠在能源互聯(lián)網(wǎng)、智能電網(wǎng)、碳交易、電動(dòng)汽車、智能交通等領(lǐng)域發(fā)揮重要作用[4].在文化行業(yè),利用區(qū)塊鏈技術(shù)數(shù)據(jù)不可更改、公信力高的特性,可以開展證書存儲(chǔ)、數(shù)字產(chǎn)權(quán)保護(hù)、文物鑒定等眾多業(yè)務(wù).
隨著區(qū)塊鏈技術(shù)不斷發(fā)展和廣泛應(yīng)用,其面臨的隱私泄露問題越來越突出,必須得到充分重視.相對(duì)于傳統(tǒng)的中心化架構(gòu),區(qū)塊鏈機(jī)制不依賴特定中心節(jié)點(diǎn)處理和存儲(chǔ)數(shù)據(jù),因此能夠避免集中式服務(wù)器單點(diǎn)崩潰和數(shù)據(jù)泄露的風(fēng)險(xiǎn).但是為了在分散的區(qū)塊鏈節(jié)點(diǎn)中達(dá)成共識(shí),區(qū)塊鏈中所有的交易記錄必須公開給所有節(jié)點(diǎn),這將顯著增加隱私泄露的風(fēng)險(xiǎn).例如,在數(shù)字貨幣應(yīng)用中,分析人員通過分析交易記錄可以獲得用戶的交易規(guī)律,甚至能夠推測(cè)出用戶的身份信息和位置信息[5].在金融應(yīng)用中,如果分析人員獲得全部的交易記錄,既可以追溯個(gè)體賬戶的交易細(xì)節(jié),也可以分析宏觀的金融趨勢(shì),這些信息既屬于用戶的隱私信息,也屬于公司的核心數(shù)據(jù).在能源行業(yè)中,區(qū)塊鏈技術(shù)通常被用于實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的能源交換[6],這種情況下區(qū)塊鏈交易數(shù)據(jù)有可能泄露能源傳輸?shù)让舾行畔?,?duì)個(gè)人安全和國家安全造成威脅.因此,區(qū)塊鏈技術(shù)在走向?qū)嵱弥?,必須解決隱私泄露問題.
然而,區(qū)塊鏈技術(shù)與傳統(tǒng)IT架構(gòu)存在顯著區(qū)別,很多傳統(tǒng)的隱私保護(hù)方案在區(qū)塊鏈應(yīng)用中不適用.傳統(tǒng)IT架構(gòu)中,數(shù)據(jù)通常存儲(chǔ)在中心化服務(wù)器,隱私保護(hù)的重點(diǎn)是確保數(shù)據(jù)不被外泄.因此,管理者可以通過提高中心節(jié)點(diǎn)的防御能力來抵抗各種攻擊,例如使用高性能服務(wù)器、部署入侵檢測(cè)設(shè)備、安裝專用的數(shù)據(jù)防泄密軟件等.區(qū)塊鏈技術(shù)中,數(shù)據(jù)存儲(chǔ)在分散的節(jié)點(diǎn),沒有統(tǒng)一的管理者,節(jié)點(diǎn)的性能和安全能力參差不齊,攻擊者很容易攻陷其中一些節(jié)點(diǎn).此外,攻擊者甚至可以偽裝成合法節(jié)點(diǎn)直接獲得交易數(shù)據(jù).因此,區(qū)塊鏈中隱私保護(hù)的重點(diǎn)是確保交易的匿名性,即攻擊者無法通過分析交易數(shù)據(jù)獲得用戶的身份信息,這種安全需求需要針對(duì)性的隱私保護(hù)機(jī)制.區(qū)塊鏈技術(shù)中采用了特殊的信息傳遞機(jī)制、共識(shí)機(jī)制和激勵(lì)機(jī)制,這也給隱私保護(hù)帶來了新的機(jī)遇和挑戰(zhàn).
區(qū)塊鏈技術(shù)面臨隱私泄露風(fēng)險(xiǎn),傳統(tǒng)的隱私保護(hù)技術(shù)又不適用,因此分析區(qū)塊鏈隱私泄露缺陷、研究針對(duì)性的隱私保護(hù)方法具有重要意義.目前已經(jīng)出現(xiàn)了很多針對(duì)區(qū)塊鏈隱私的防護(hù)方法,它們能夠從網(wǎng)絡(luò)層、交易層等不同的角度防范竊取隱私的攻擊行為.針對(duì)目前發(fā)展現(xiàn)狀,本文對(duì)現(xiàn)有典型的攻擊方法和防御機(jī)制進(jìn)行回顧與總結(jié),希望能給當(dāng)前及未來的相關(guān)研究提供一定的參考與幫助.
1.1區(qū)塊鏈技術(shù)概述
區(qū)塊鏈?zhǔn)菑谋忍貛诺讓蛹夹g(shù)衍生出來的新型技術(shù)體系,最早的定義來自于中本聰在2009年發(fā)表的論文[7],之后區(qū)塊鏈的內(nèi)涵和外延發(fā)生了很多改變,目前仍然在不斷演變.區(qū)塊鏈技術(shù)在架構(gòu)上通常被分為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層.但是隨著區(qū)塊鏈技術(shù)的快速發(fā)展,區(qū)塊鏈的架構(gòu)也在不斷變化.很多傳統(tǒng)的模塊被弱化,甚至被取消,例如在聯(lián)盟鏈和私有鏈技術(shù)中已經(jīng)不需要激勵(lì)層.因此,通過分析區(qū)塊鏈技術(shù)的本質(zhì)特征和目前的發(fā)展趨勢(shì),我們將區(qū)塊鏈技術(shù)的架構(gòu)分為3個(gè)層次,如圖1所示:
Fig. 1 The architecture of blockchain technology圖1 區(qū)塊鏈技術(shù)架構(gòu)
1) 網(wǎng)絡(luò)層.網(wǎng)絡(luò)層的核心任務(wù)是確保區(qū)塊鏈節(jié)點(diǎn)之間可以通過P2P網(wǎng)絡(luò)進(jìn)行有效通信.主要內(nèi)容包括區(qū)塊鏈網(wǎng)絡(luò)的組網(wǎng)方式和節(jié)點(diǎn)之間的通信機(jī)制.
區(qū)塊鏈網(wǎng)絡(luò)采用P2P組網(wǎng)技術(shù),具有去中心、動(dòng)態(tài)變化的特點(diǎn).網(wǎng)絡(luò)中的節(jié)點(diǎn)是地理位置分散但是關(guān)系平等的服務(wù)器,不存在中心節(jié)點(diǎn),任何節(jié)點(diǎn)可以自由加入或者退出網(wǎng)絡(luò).目前規(guī)模最大的區(qū)塊鏈網(wǎng)絡(luò)是比特幣網(wǎng)絡(luò).比特幣網(wǎng)絡(luò)建立在公共互聯(lián)網(wǎng)之上,節(jié)點(diǎn)來自全球各地,每天對(duì)外提供服務(wù)的節(jié)點(diǎn)數(shù)量平均為5 400個(gè)[8],總體節(jié)點(diǎn)數(shù)量(包括不對(duì)外提供服務(wù)的節(jié)點(diǎn))估計(jì)為10萬個(gè)左右.
區(qū)塊鏈節(jié)點(diǎn)之間的通信類型主要分為2種:
① 為了維持節(jié)點(diǎn)與區(qū)塊鏈網(wǎng)絡(luò)之間的連接而進(jìn)行的通信,通常包括索取其他節(jié)點(diǎn)的地址信息和廣播自己的地址信息(地址信息是指TCP/IP中的IP地址和端口號(hào)).節(jié)點(diǎn)新加入?yún)^(qū)塊鏈網(wǎng)絡(luò)時(shí),首先讀取硬編碼在客戶端程序中的種子地址并向這些種子節(jié)點(diǎn)索取其鄰居節(jié)點(diǎn)地址,然后通過這些地址繼續(xù)搜索更多的地址信息并建立連接,直到節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的數(shù)量達(dá)到穩(wěn)定值.此后,節(jié)點(diǎn)會(huì)定期通過ping等方式驗(yàn)證鄰居節(jié)點(diǎn)的可達(dá)性,并使用新的節(jié)點(diǎn)替代不可達(dá)節(jié)點(diǎn).此外,為了保證新節(jié)點(diǎn)的信息被更多節(jié)點(diǎn)接收,節(jié)點(diǎn)將定期向自己的鄰居節(jié)點(diǎn)廣播自己的地址信息.
② 為了完成上層業(yè)務(wù)而進(jìn)行的通信,通常包括轉(zhuǎn)發(fā)交易信息和同步區(qū)塊信息(交易和區(qū)塊是區(qū)塊鏈中的數(shù)據(jù)結(jié)構(gòu),將在交易層介紹).節(jié)點(diǎn)轉(zhuǎn)發(fā)交易信息時(shí)采用中繼轉(zhuǎn)發(fā)的模式.始發(fā)節(jié)點(diǎn)首先將交易轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),鄰居節(jié)點(diǎn)收到交易后再轉(zhuǎn)發(fā)給自己的鄰居節(jié)點(diǎn),以此類推,逐漸傳遍整個(gè)網(wǎng)絡(luò).同步區(qū)塊信息采用請(qǐng)求響應(yīng)的模式.節(jié)點(diǎn)首先向鄰居節(jié)點(diǎn)發(fā)送自己的區(qū)塊高度(類似于ID),如果小于鄰居節(jié)點(diǎn)的高度則索取自己欠缺的區(qū)塊,如果大于鄰居節(jié)點(diǎn)的高度則鄰居節(jié)點(diǎn)將反向索取區(qū)塊信息.所有節(jié)點(diǎn)都不斷地和鄰居節(jié)點(diǎn)交換區(qū)塊信息,從而保證整個(gè)網(wǎng)絡(luò)中所有節(jié)點(diǎn)的區(qū)塊信息保持同步.
2) 交易層.交易層實(shí)現(xiàn)區(qū)塊鏈的核心業(yè)務(wù),即在2個(gè)“地址”之間進(jìn)行可靠的、具有公信力的數(shù)據(jù)傳遞.主要內(nèi)容包括:地址格式、交易格式、智能合約、全局賬本、共識(shí)機(jī)制和激勵(lì)機(jī)制.
區(qū)塊鏈中的“地址”,類似于銀行卡賬號(hào),是用戶參與區(qū)塊鏈業(yè)務(wù)時(shí)使用的假名.通常是在用戶的控制下利用公鑰加密算法(例如ECC)生成.其中生成的公鑰信息將用于交易的輸入地址或者輸出地址,私鑰信息由用戶自己保存,用于對(duì)交易簽名.2種常見的區(qū)塊鏈地址如下所示:
① 比特幣地址:
“1DAY1DUpbBdGLkkFYj32J5g4h9X2zsxDv5”
② 以太坊地址:
“02B51B20185c04D1CbDA2996dFA02AF2D308EeEa”
區(qū)塊鏈中的“交易”記錄了用戶之間數(shù)據(jù)交互的過程.通常包括輸入地址、輸出地址、交易內(nèi)容等信息.交易內(nèi)容在數(shù)字貨幣應(yīng)用中主要包括交易的金額,在其他應(yīng)用中可能代表一個(gè)字符串或者一個(gè)證書ID.例如在基于區(qū)塊鏈技術(shù)的數(shù)據(jù)存儲(chǔ)應(yīng)用STORJ[9]中,交易的內(nèi)容主要包括存儲(chǔ)數(shù)據(jù)的Hash值.我們以使用最廣泛的區(qū)塊鏈應(yīng)用比特幣為例,介紹交易層的數(shù)據(jù)格式.
圖2(a)展示一個(gè)簡化的比特幣交易格式,圖2(b)展示2個(gè)交易例子.從交易格式部分可以看出,每個(gè)比特幣交易都有一個(gè)交易Hash(txhash).此Hash值是針對(duì)整個(gè)交易內(nèi)容計(jì)算得到,唯一指向此條交易.因此,在比特幣中交易Hash通常作為交易的ID.交易的正文主要包括2部分:輸入地址信息和輸出地址信息.輸入地址信息記錄此次交易發(fā)送方的賬戶信息,值得注意的是輸入地址信息中并不是記錄發(fā)送者的賬號(hào),而是記錄輸入資金的來源(pre-txhash),即通過來源交易Hash指定全局賬本中的一條交易,通過索引信息(index)指定交易中對(duì)應(yīng)的輸出地址,并通過簽名信息(sign)證明用戶對(duì)這筆資金的所有權(quán).輸出地址信息中記錄此次交易接收方的賬戶信息,包括輸出地址(account)和輸出金額(amount).輸出地址是由用戶自行生成的公鑰信息經(jīng)過字符變換得到的一串字符串.輸出地址經(jīng)過反向變換后可以得到公鑰的Hash,用于驗(yàn)證簽名.交易實(shí)例部分介紹了2條交易.其中,編號(hào)為“10002”的交易中第“0”個(gè)輸入地址中的來源交易Hash是“3306ff5a64d900937ad1429466fd2c8f”,同時(shí)索引為“1”.因此,可以確定此輸入地址的真實(shí)賬戶是編號(hào)“10001”交易中第“1”個(gè)輸出地址“1A1RmbbVoL4 pnMZf”.通過這種設(shè)計(jì),比特幣中每一個(gè)交易的來源都可以驗(yàn)證真實(shí)性和合法性,攻擊者無法偽造交易,也不能冒用其他人的賬號(hào)進(jìn)行交易.此外,交易中的輸入賬戶和輸出地址都是由用戶自行創(chuàng)建,與身份信息無關(guān),因此外部觀察者不能直接根據(jù)交易記錄推測(cè)交易者的身份信息.
Fig. 2 The format of bitcoin transaction圖2 比特幣交易格式
合約是區(qū)塊鏈中一種特殊的數(shù)據(jù)交換方式,能夠提供比交易更靈活的數(shù)據(jù)交換.區(qū)塊鏈中的合約的概念在不斷變化.在比特幣中,合約是交易中的腳本,用于實(shí)現(xiàn)延時(shí)交易、條件交易等復(fù)雜業(yè)務(wù).在以太坊中,合約被擴(kuò)展為圖靈完備的腳本語言,可以實(shí)現(xiàn)更加復(fù)雜的功能.在超級(jí)賬本(Hyperledger)中,合約直接用于實(shí)現(xiàn)區(qū)塊鏈業(yè)務(wù).同交易類似,合約的內(nèi)容也將寫入?yún)^(qū)塊鏈全局賬本.
全局賬本是區(qū)塊鏈中的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),用于存儲(chǔ)所有的交易記錄、合約以及相關(guān)的參數(shù)信息.全局賬本通常由“區(qū)塊”構(gòu)成,每個(gè)區(qū)塊存儲(chǔ)一定數(shù)量的交易信息以及針對(duì)這些交易的Hash值、時(shí)間戳等參數(shù).區(qū)塊之間按照時(shí)間關(guān)系通過區(qū)塊Hash連接.全局賬本實(shí)際上從初始區(qū)塊到最新區(qū)塊的數(shù)據(jù)鏈條,這也是區(qū)塊鏈名字的由來.全局賬本由所有參與節(jié)點(diǎn)共同維護(hù),每一個(gè)節(jié)點(diǎn)各自維護(hù)本地的全局賬本,節(jié)點(diǎn)通過定期和鄰居節(jié)點(diǎn)交換信息使全局賬本保持同步.持有不同全局賬本的節(jié)點(diǎn)不能參與后續(xù)的交易.
區(qū)塊鏈技術(shù)采用共識(shí)機(jī)制保證所有合法節(jié)點(diǎn)維持的全局賬本是相同的.常見的共識(shí)機(jī)制包括POW機(jī)制[10]、POS機(jī)制[11]、PBFT機(jī)制[12]等.POW機(jī)制的核心思路是設(shè)置一個(gè)數(shù)學(xué)難題,讓參與節(jié)點(diǎn)求解難題,在求解過程中付出最大工作量(算力)的節(jié)點(diǎn)將被選擇為記賬節(jié)點(diǎn),即由此節(jié)點(diǎn)生成新的區(qū)塊.其他節(jié)點(diǎn)通過接受此區(qū)塊更新自己的全局賬本.通過選擇一個(gè)特定用戶記賬,解決了多用戶記賬帶來的數(shù)據(jù)不同步問題.但是此類共識(shí)機(jī)制將浪費(fèi)大量的算力,同時(shí)導(dǎo)致記賬權(quán)逐步被擁有大額算力的用戶(例如礦池)壟斷,帶來很多的安全問題.POS機(jī)制通過使用幣天(節(jié)點(diǎn)持有的數(shù)字貨幣和持有的天數(shù))來選擇記賬節(jié)點(diǎn),不需要消耗大量的計(jì)算資源,目前被很多應(yīng)用作為POW的替代機(jī)制.此外,還有許多共識(shí)機(jī)制從速度、安全性等角度做出了改進(jìn),滿足區(qū)塊鏈技術(shù)在不同業(yè)務(wù)場(chǎng)景的需要.
為了鼓勵(lì)更多用戶參與共識(shí),提高系統(tǒng)的安全性,最初的區(qū)塊鏈技術(shù)中設(shè)置了激勵(lì)機(jī)制獎(jiǎng)勵(lì)參與共識(shí)的用戶.例如在比特幣中,參與記賬的節(jié)點(diǎn)被稱為礦工,成功獲得記賬權(quán)的礦工節(jié)點(diǎn)將收到比特幣作為獎(jiǎng)勵(lì).但是隨著區(qū)塊鏈技術(shù)的發(fā)展,區(qū)塊鏈的應(yīng)用場(chǎng)景從公有鏈衍生到聯(lián)盟鏈和私有鏈,在這些場(chǎng)景中節(jié)點(diǎn)是可控的,因此不需要設(shè)置額外的激勵(lì)機(jī)制.
3) 應(yīng)用層.應(yīng)用層提供針對(duì)各種應(yīng)用場(chǎng)景的程序和接口,用戶通過部署在應(yīng)用層的各種應(yīng)用程序進(jìn)行交互,而不用考慮區(qū)塊鏈底層技術(shù)細(xì)節(jié).目前典型的區(qū)塊鏈應(yīng)用包括數(shù)字貨幣應(yīng)用、數(shù)據(jù)存證應(yīng)用、能源應(yīng)用等.
數(shù)字貨幣應(yīng)用是區(qū)塊鏈中最早出現(xiàn)的應(yīng)用,除了比特幣以外,目前出現(xiàn)了大量的競爭幣,例如以太幣、Zcash、門羅幣等.區(qū)塊鏈中的數(shù)字貨幣是由被稱為礦工的節(jié)點(diǎn)在參與區(qū)塊鏈共識(shí)機(jī)制時(shí)創(chuàng)建.普通用戶可以通過交易所或者私下交易的方式購買數(shù)字貨幣.用戶持有的數(shù)字貨幣可以在數(shù)字貨幣系統(tǒng)中進(jìn)行交易,用于購買商品或者服務(wù).目前已有很多大型的企業(yè)和商戶支持?jǐn)?shù)字貨幣交易,例如微軟和亞馬遜.
數(shù)據(jù)存證應(yīng)用是區(qū)塊鏈技術(shù)重要的應(yīng)用方向.區(qū)塊鏈中的全局賬本具有不可篡改、抗攻擊能力強(qiáng)的特點(diǎn),非常適合存儲(chǔ)重要的數(shù)據(jù)資料,例如知識(shí)產(chǎn)權(quán)文件、金融交易記錄等.此類應(yīng)用一般由區(qū)塊鏈公司開發(fā)便捷的存證系統(tǒng),普通用戶通過存證系統(tǒng)上傳文件資料,然后由系統(tǒng)完成后續(xù)寫入?yún)^(qū)塊鏈的流程.存證成功后,用戶使用系統(tǒng)返回的交易Hash值查看存儲(chǔ)記錄.
1.2區(qū)塊鏈隱私定義
信息系統(tǒng)中隱私通常是指數(shù)據(jù)擁者不愿意被披露的敏感數(shù)據(jù)或者數(shù)據(jù)所表征的特性[13].
區(qū)塊鏈技術(shù)為了在分散節(jié)點(diǎn)之間維持?jǐn)?shù)據(jù)同步并對(duì)交易達(dá)成共識(shí),必須公開一些信息,例如交易內(nèi)容.另一方面,為了保護(hù)用戶隱私,必須對(duì)一些敏感數(shù)據(jù)進(jìn)行處理,減少隱私泄露的風(fēng)險(xiǎn).通過分析區(qū)塊鏈技術(shù)的特點(diǎn),本文將區(qū)塊鏈中的隱私分為2類.
定義1. 身份隱私.身份隱私是指用戶身份信息和區(qū)塊鏈地址之間的關(guān)聯(lián)關(guān)系.
區(qū)塊鏈地址是用戶在區(qū)塊鏈系統(tǒng)中使用的假名,通常作為交易的輸入賬號(hào)或者輸出賬號(hào).地址的格式已在1.1節(jié)介紹.區(qū)塊鏈系統(tǒng)中地址是由用戶自行生成,與用戶身份信息無關(guān),用戶創(chuàng)建和使用地址不需要第三方參與.因此,相對(duì)于傳統(tǒng)的賬號(hào)(例如銀行卡號(hào)),區(qū)塊鏈地址具有較好的匿名性.但是,用戶在使用區(qū)塊鏈地址參與區(qū)塊鏈業(yè)務(wù)時(shí),有可能泄露一些敏感信息,例如區(qū)塊鏈交易在網(wǎng)絡(luò)層的傳播軌跡,這些信息有可能被用于推測(cè)區(qū)塊鏈地址對(duì)應(yīng)的真實(shí)身份.
定義2. 交易隱私.交易隱私是指區(qū)塊鏈中存儲(chǔ)的交易記錄和交易記錄背后的知識(shí).
在早期的區(qū)塊鏈數(shù)字貨幣應(yīng)用中,交易記錄通常是公開的,不需要額外的保護(hù)措施.但是隨著區(qū)塊鏈技術(shù)被應(yīng)用到銀行等金融領(lǐng)域,交易記錄屬于重要的敏感數(shù)據(jù),需要采取額外措施限制非授權(quán)用戶的使用.此外,交易記錄通常能夠反映一些敏感知識(shí),有可能泄露用戶的隱私.例如用戶購物的交易記錄能夠反映用戶的消費(fèi)水平、生活狀態(tài)等.
身份隱私和交易隱私是用戶在使用區(qū)塊鏈技術(shù)時(shí)需要重點(diǎn)保護(hù)的內(nèi)容,這些信息一旦泄露有可能對(duì)用戶造成危害.而且由于存儲(chǔ)在區(qū)塊鏈全局賬本中的數(shù)據(jù)無法刪除和篡改,即使用戶發(fā)現(xiàn)部分地址或者交易數(shù)據(jù)已經(jīng)曝光,也不能采取挽救措施.例如,傳統(tǒng)領(lǐng)域中可以通過刪除已曝光數(shù)據(jù)來減少隱私傳播范圍,但是在區(qū)塊鏈中很難實(shí)行類似方案.因此,區(qū)塊鏈系統(tǒng)應(yīng)該更加重視隱私問題,提高隱私防護(hù)能力.
2.1區(qū)塊鏈隱私保護(hù)存在的優(yōu)勢(shì)和缺陷
區(qū)塊鏈技術(shù)在隱私保護(hù)方面具有一些突出優(yōu)勢(shì),能夠解決一些中心化服務(wù)器面臨的隱私泄露問題.因此已經(jīng)被應(yīng)用到許多需要保護(hù)隱私的場(chǎng)景,例如基于區(qū)塊鏈技術(shù)的匿名投票.另一方面,區(qū)塊鏈技術(shù)采用的去中心化架構(gòu)和數(shù)據(jù)存儲(chǔ)機(jī)制給隱私保護(hù)帶來一些不利因素.表1分析了區(qū)塊鏈技術(shù)在隱私保護(hù)方面存在的優(yōu)缺點(diǎn).
區(qū)塊鏈技術(shù)在隱私保護(hù)方面的優(yōu)勢(shì)包括:
1) P2P網(wǎng)絡(luò)很難實(shí)現(xiàn)網(wǎng)絡(luò)竊聽.區(qū)塊鏈網(wǎng)絡(luò)是一種P2P網(wǎng)絡(luò),節(jié)點(diǎn)之間采用中繼轉(zhuǎn)發(fā)的模式進(jìn)行通信,傳統(tǒng)網(wǎng)絡(luò)中通過竊聽網(wǎng)絡(luò)流量發(fā)現(xiàn)用戶之間通信關(guān)系的方法不適用.例如區(qū)塊鏈網(wǎng)絡(luò)中,當(dāng)節(jié)點(diǎn)之間需要進(jìn)行交易時(shí),發(fā)送方首先將交易信息發(fā)給自己的鄰居節(jié)點(diǎn),收到信息的鄰居節(jié)點(diǎn)再將信息轉(zhuǎn)發(fā)給自己的鄰居節(jié)點(diǎn),以此類推,信息將逐漸廣播到整個(gè)網(wǎng)絡(luò).接收方節(jié)點(diǎn)最終將從網(wǎng)絡(luò)中收到交易信息,而不需要和發(fā)送方直接通信.因此,攻擊者很難通過竊聽發(fā)現(xiàn)網(wǎng)絡(luò)中傳播信息的真實(shí)來源和去向.
2) 區(qū)塊鏈技術(shù)支持匿名交易.區(qū)塊鏈交易中使用的地址(類似于銀行卡賬戶)通常由用戶自行創(chuàng)建和保存,不需要第三方參與,地址本身和用戶身份信息無關(guān).此外,區(qū)塊鏈地址通常具有非常大的地址空間,出現(xiàn)碰撞的概率非常低,這使得用戶可以為每次交易生成不同的地址,增強(qiáng)交易的匿名性.例如比特幣地址對(duì)應(yīng)的私鑰空間是2256,用十進(jìn)制表示是1077,而可見宇宙被估計(jì)只含有1080個(gè)原子[14],因此比特幣系統(tǒng)有充足的地址空間支持一次性地址策略.
3) 去中心化架構(gòu)能夠有效應(yīng)對(duì)網(wǎng)絡(luò)攻擊.采用區(qū)塊鏈技術(shù)的應(yīng)用程序通常是去中心化架構(gòu),不需要在中心服務(wù)器上存儲(chǔ)賬戶、密碼等敏感信息,能夠避免傳統(tǒng)服務(wù)器被攻擊而導(dǎo)致的數(shù)據(jù)泄露風(fēng)險(xiǎn).
區(qū)塊鏈技術(shù)在隱私保護(hù)方面的不足之處包括:
1) 區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)容易遭受攻擊.區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)通常是個(gè)人電腦,和傳統(tǒng)網(wǎng)絡(luò)架構(gòu)中的專用服務(wù)器相比性能低、抗攻擊能力差.此外,在中心化架構(gòu)中,管理者只需針對(duì)一臺(tái)或者少數(shù)幾臺(tái)服務(wù)器進(jìn)行重點(diǎn)保護(hù).而在區(qū)塊鏈網(wǎng)絡(luò)中,所有節(jié)點(diǎn)地位平等,很難對(duì)地理位置分散的眾多節(jié)點(diǎn)采用相同的安全措施.攻擊者可以尋找安全薄弱的節(jié)點(diǎn)入侵區(qū)塊鏈網(wǎng)絡(luò).
2) 區(qū)塊鏈交易之間的關(guān)聯(lián)性可以被用于推測(cè)敏感信息.區(qū)塊鏈中所有交易都存儲(chǔ)在公開的全局賬本中,攻擊者很容易獲得所有交易信息.通過分析交易中的關(guān)聯(lián)關(guān)系,攻擊者能夠逐步降低區(qū)塊鏈地址的匿名性,甚至發(fā)現(xiàn)匿名地址對(duì)應(yīng)用戶的真實(shí)身份信息.
3) 區(qū)塊鏈應(yīng)用面臨多種安全威脅.區(qū)塊鏈技術(shù)仍處于發(fā)展初期,存在多種安全缺陷,有可能對(duì)區(qū)塊鏈應(yīng)用造成安全威脅.例如基于以太坊的眾籌應(yīng)用DAO因?yàn)楹诳凸簦桓`取了300多萬個(gè)以太幣[15].
Table 1 The Advantages and Disadvantages in Aspect of the Privacy Protection on Blockchain Technology
2.2網(wǎng)絡(luò)層面臨的隱私威脅
根據(jù)2.1節(jié)對(duì)網(wǎng)絡(luò)層缺陷的分析可知,網(wǎng)絡(luò)層的主要威脅是惡意節(jié)點(diǎn)可以輕易接入網(wǎng)絡(luò),監(jiān)聽網(wǎng)絡(luò)層的通信數(shù)據(jù).以比特幣為例,能夠獲得信息包括:
1) 節(jié)點(diǎn)的IP地址.通過部署探針節(jié)點(diǎn),攻擊者可以搜集比特幣網(wǎng)絡(luò)中節(jié)點(diǎn)的IP地址.基于IP地址可以分析出網(wǎng)絡(luò)規(guī)模、節(jié)點(diǎn)在不同國家的分布情況、節(jié)點(diǎn)的在線規(guī)律等,可以為進(jìn)一步分析提供素材.我們利用開源程序搜集比特幣網(wǎng)絡(luò)中節(jié)點(diǎn)的IP信息.經(jīng)過一周的搜集,發(fā)現(xiàn)比特幣服務(wù)器節(jié)點(diǎn)IP 9 713個(gè),客戶端節(jié)點(diǎn)IP 36 514個(gè).針對(duì)服務(wù)器節(jié)點(diǎn),除了IP以外,還能搜到許多額外的身份信息.如圖3所示.
Fig. 3 The server information of bitcoin node圖3 比特幣服務(wù)器節(jié)點(diǎn)信息
2) 節(jié)點(diǎn)之間的拓?fù)潢P(guān)系.通過采用主動(dòng)獲取和被動(dòng)監(jiān)聽的方式,探針節(jié)點(diǎn)可以用于搜集節(jié)點(diǎn)之間的拓?fù)潢P(guān)系.比特幣網(wǎng)絡(luò)中節(jié)點(diǎn)的拓?fù)潢P(guān)系主要是指節(jié)點(diǎn)的鄰居節(jié)點(diǎn)信息.鄰居節(jié)點(diǎn)最多包括8個(gè)外向節(jié)點(diǎn)和117個(gè)內(nèi)向節(jié)點(diǎn)[16].基于節(jié)點(diǎn)拓?fù)潢P(guān)系,攻擊者可以分析網(wǎng)絡(luò)層信息的傳播路徑,確定信息的始發(fā)節(jié)點(diǎn).
3) 網(wǎng)絡(luò)傳輸信息.比特幣網(wǎng)絡(luò)層傳播的數(shù)據(jù)沒有加密,攻擊者可以直接讀取網(wǎng)絡(luò)中傳播的交易信息的內(nèi)容,例如發(fā)送地址和接收地址等.通過將發(fā)送地址和信息的始發(fā)節(jié)點(diǎn)相關(guān)聯(lián),能夠獲得匿名地址背后的真實(shí)身份信息.
基于上述信息,攻擊者有可能將網(wǎng)絡(luò)層捕獲的交易信息和始發(fā)節(jié)點(diǎn)的IP地址關(guān)聯(lián),從而對(duì)用戶身份隱私造成威脅,這種分析方法被稱為交易溯源技術(shù).
區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點(diǎn)采用中繼轉(zhuǎn)發(fā)的模式傳播信息,此模式已在1.1節(jié)介紹.根據(jù)轉(zhuǎn)發(fā)交易的時(shí)間順序,可以將參與轉(zhuǎn)發(fā)的節(jié)點(diǎn)分為始發(fā)節(jié)點(diǎn)和中繼節(jié)點(diǎn).始發(fā)節(jié)點(diǎn)是指第1個(gè)發(fā)出信息的節(jié)點(diǎn),中繼節(jié)點(diǎn)是指除始發(fā)節(jié)點(diǎn)以外的節(jié)點(diǎn).如果能夠找到網(wǎng)絡(luò)中傳播的交易信息對(duì)應(yīng)的始發(fā)節(jié)點(diǎn),就可以將交易中的輸入地址和具體的IP信息關(guān)聯(lián),從而降低地址的匿名性.但是,由于始發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易數(shù)據(jù)和中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易數(shù)據(jù)在內(nèi)容上并沒有明顯區(qū)別,很難分辨交易數(shù)據(jù)是否來自于始發(fā)節(jié)點(diǎn).因此,在網(wǎng)絡(luò)層獲取身份隱私的主要難點(diǎn)在于如何從眾多的信息中找到由始發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易數(shù)據(jù).
Koshy等人[17]通過分析比特幣交易傳播規(guī)律,發(fā)現(xiàn)可以利用特殊交易模式尋找始發(fā)節(jié)點(diǎn).比特幣中交易信息采用中繼轉(zhuǎn)發(fā)的模式進(jìn)行傳播.正常情況下每條交易信息將被多個(gè)節(jié)點(diǎn)轉(zhuǎn)播,且每個(gè)節(jié)點(diǎn)只轉(zhuǎn)發(fā)一次.但是在一些特殊情況下,交易信息可能只被1個(gè)節(jié)點(diǎn)轉(zhuǎn)發(fā)或者被個(gè)別節(jié)點(diǎn)多次轉(zhuǎn)發(fā).這些特殊交易可以用于推測(cè)交易的始發(fā)節(jié)點(diǎn).例如只被1個(gè)節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易通常是由于交易格式存在問題,只被始發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)一次,其他節(jié)點(diǎn)由于驗(yàn)證失敗拒絕轉(zhuǎn)發(fā).利用特殊交易尋找始發(fā)節(jié)點(diǎn)的方法簡單易行,但是由于特殊交易模式占所有交易的比例較小(論文實(shí)驗(yàn)中特殊交易的比例低于9%),因此效果有局限.
Kaminsky[18]在2011年的黑帽大會(huì)上提出:“第一個(gè)告訴你交易的節(jié)點(diǎn)可能就是交易的始發(fā)節(jié)點(diǎn)”.攻擊者只需要盡可能多地連接服務(wù)器節(jié)點(diǎn),記錄從不同節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易信息,然后可以直接判定首先轉(zhuǎn)發(fā)信息到達(dá)探針節(jié)點(diǎn)的節(jié)點(diǎn)就是始發(fā)節(jié)點(diǎn).這種方法實(shí)現(xiàn)簡單,推測(cè)的準(zhǔn)確率將隨著探針節(jié)點(diǎn)連接數(shù)的增加而不斷提高.但是這種方法存在一些缺陷:首先,比特幣中的很多節(jié)點(diǎn)并不對(duì)外提供服務(wù),例如部署在NAT服務(wù)后面的節(jié)點(diǎn)無法被探針節(jié)點(diǎn)連接.其次,交易數(shù)據(jù)在網(wǎng)絡(luò)中傳播時(shí)面臨網(wǎng)絡(luò)延遲等干擾,始發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的交易信息可能因?yàn)閭鞑パ舆t落后于其他中繼節(jié)點(diǎn)轉(zhuǎn)發(fā)的信息.
Biryukov等人[19]在Kaminsky提出的算法上進(jìn)行優(yōu)化,核心思路是始發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)交易后,始發(fā)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)會(huì)是第2批轉(zhuǎn)發(fā)交易的節(jié)點(diǎn),因此可以利用鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)信息的時(shí)間排序來定位始發(fā)節(jié)點(diǎn).作者將探針?biāo)鸭慕灰仔畔凑盏竭_(dá)時(shí)間分類排序,然后針對(duì)每一類交易抽取排名前8的節(jié)點(diǎn)和8個(gè)鄰居節(jié)點(diǎn)進(jìn)行比對(duì),如果重合率超過閾值,即認(rèn)為節(jié)點(diǎn)是交易的始發(fā)節(jié)點(diǎn).這種方法擴(kuò)展了判斷依據(jù),能夠減少網(wǎng)絡(luò)延遲等干擾條件的影響,有效提高推測(cè)的準(zhǔn)確率.實(shí)驗(yàn)顯示識(shí)別準(zhǔn)確率為11%,如果采用一些輔助的攻擊,準(zhǔn)確率能提高到60%.此外,這種攻擊方法可以發(fā)現(xiàn)隱藏在NAT服務(wù)后面的客戶端節(jié)點(diǎn).
2.3交易層面臨的隱私威脅
區(qū)塊鏈技術(shù)中存儲(chǔ)交易信息的全局賬本是公開的,任何加入?yún)^(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)都可以獲得完整的副本.通過分析全局賬本中的交易記錄,潛在攻擊者有可能對(duì)用戶的交易隱私和身份隱私帶來威脅.
1) 交易隱私威脅.攻擊者可以通過分析交易記錄獲得有價(jià)值的信息.例如特定賬戶的資金余額和交易詳情、特定資金的流向等.
2) 身份隱私威脅.攻擊者在分析交易數(shù)據(jù)的基礎(chǔ)上,可以通過結(jié)合一些背景知識(shí)獲得交易者的身份信息.
我們以比特幣為例,介紹交易層存在的隱私威脅.
2.3.1 交易隱私威脅
在比特幣中,每一筆交易都是可追溯的.交易的輸入地址來源于之前一筆交易的輸出,交易的輸出地址又會(huì)在其他交易中作為輸入.根據(jù)交易之間的鏈?zhǔn)疥P(guān)系,分析人員可以獲得2種信息:
1) 任何一筆資金的使用情況.比特幣中的資金來源于“挖礦”過程產(chǎn)生的比特幣,比特幣被挖出后首先記錄在礦工的挖礦地址上,然后通過交易的形式轉(zhuǎn)移給其他地址.由于挖礦信息和交易信息都將記錄在全局賬本中.因此,通過分析這些公開數(shù)據(jù),攻擊者可以獲得任何一筆比特幣的所有交易過程.
2) 任何一個(gè)比特幣地址的相關(guān)交易.每一筆交易中詳細(xì)記錄所有的輸入地址和輸出地址的信息.因此,分析人員可以在全局賬本中通過檢索特定地址發(fā)現(xiàn)全部相關(guān)交易.
基于上述信息,分析人員通過對(duì)具有關(guān)聯(lián)性的區(qū)塊鏈地址進(jìn)行聚類分析,能夠得到許多有價(jià)值的信息:
1) 發(fā)現(xiàn)不同地址之間的資金關(guān)系.賬戶之間的資金交易能夠反映出很多有價(jià)值的信息,尤其對(duì)一些特殊賬戶,這點(diǎn)更為明顯.Reid和Harrigan[20]針對(duì)維基解密公布的賬戶進(jìn)行數(shù)據(jù)分析,能夠統(tǒng)計(jì)出維基解密網(wǎng)站公布的比特幣地址的資金余額、資金來源和資金流向.論文還針對(duì)比特幣中公開的一個(gè)盜竊地址進(jìn)行分析,發(fā)現(xiàn)與盜竊地址交易最密切的5個(gè)地址,揭示攻擊者盜竊前的行為和盜竊后的資金流向.
2) 跟蹤特殊交易.針對(duì)大額或者涉嫌盜竊等惡意行為的特殊交易,可以通過持續(xù)觀察,監(jiān)控特殊交易后續(xù)的交易信息,追蹤資金流向.Liao等人[21]通過分析比特幣交易數(shù)據(jù),對(duì)勒索軟件CryptoLocker的攻擊行為進(jìn)行了分析.CryptoLocker是一類勒索軟件的統(tǒng)稱,通過加密受害者的文件并以比特幣的形式索取贖金.作者以勒索軟件公開的比特幣地址為起點(diǎn),研究關(guān)聯(lián)交易,最終找到了968個(gè)屬于該組織的地址,鑒定出價(jià)值1 128.40 BTC的贖金交易.這些信息有助于發(fā)現(xiàn)犯罪分子的真實(shí)身份,遏制此類勒索事件.
3) 發(fā)現(xiàn)交易規(guī)律.研究數(shù)字貨幣的交易規(guī)律有助于提高系統(tǒng)的安全性.Ron和Shamir[22]關(guān)注比特幣交易的統(tǒng)計(jì)數(shù)據(jù).作者發(fā)現(xiàn)了364個(gè)單筆交易大于50 000 BTC的特殊交易,并針對(duì)其中一筆90 000 BTC的交易研究交易規(guī)律.作者發(fā)現(xiàn)這種大額交易會(huì)采用多種方式將資金分散到不同的賬戶,包括長鏈交易模式、分叉合并模式、循環(huán)模式、存儲(chǔ)賬戶模式和二叉樹模式.
2.3.2 身份隱私威脅
區(qū)塊鏈交易中存在很多潛在的知識(shí),利用這些潛在知識(shí)有可能推測(cè)出交易數(shù)據(jù)背后的身份隱私.
第1種潛在知識(shí)來源于比特幣本身的設(shè)計(jì):
1) 同一個(gè)交易中的所有輸入地址都隸屬于同一個(gè)用戶集合(同一個(gè)人或者一個(gè)機(jī)構(gòu)).由于多輸入交易中的每個(gè)輸入都需要單獨(dú)簽名,因此大多數(shù)多輸入交易都是由同一個(gè)用戶發(fā)起.這項(xiàng)推測(cè)條件被很多研究作為啟發(fā)式推測(cè)條件使用[20-22],取得較好的效果.
2) 在同一個(gè)coinbase交易[23]中的多個(gè)輸出地址屬于同一個(gè)用戶集合,例如礦池.這項(xiàng)推測(cè)條件的背景是很多礦工為了增加收入而加入礦池進(jìn)行集體挖礦,挖礦完成后所有參與挖礦的礦工地址都會(huì)記錄在coinbase交易的輸出地址區(qū)域.
3) 找零地址和輸入地址隸屬于同一個(gè)用戶.找零地址用于接收交易中的找零資金,并在以后的交易中由比特幣程序自動(dòng)選擇作為輸入地址.因此,如果能夠識(shí)別出找零地址,就能夠發(fā)現(xiàn)兩個(gè)交易中輸入地址之間的關(guān)聯(lián)關(guān)系[24].找零地址的特征包括:作為輸出地址的情況通常只會(huì)出現(xiàn)一次;找零地址不會(huì)同時(shí)出現(xiàn)在輸入地址和輸出地址;輸出地址中不能只有找零地址.
此類的潛在知識(shí)是由于比特幣本身的設(shè)計(jì)造成的,分析人員利用這些潛在知識(shí),可以發(fā)現(xiàn)不同地址之間的關(guān)聯(lián)性,降低區(qū)塊鏈地址的匿名性.Meiklejohn等人[25]使用啟發(fā)式的聚類分析技術(shù)分析區(qū)塊鏈中的交易數(shù)據(jù),能夠識(shí)別出屬于同一個(gè)用戶的不同地址.作者針對(duì)絲綢之路網(wǎng)站的公開地址和一些盜竊案件相關(guān)的地址進(jìn)行分析,發(fā)現(xiàn)了很多有關(guān)聯(lián)的地址.Zhao[26]提出一種針對(duì)比特幣交易數(shù)據(jù)的聚類過程,針對(duì)比特幣全局賬本中35 587 286個(gè)地址進(jìn)行分析,得到13 062 822個(gè)不同的用戶集合.
第2種潛在知識(shí)來源于用戶使用區(qū)塊鏈時(shí)產(chǎn)生的一些規(guī)律信息.例如:
1) 交易特征.區(qū)塊鏈全局賬本中交易的特征通常和實(shí)際發(fā)生的交易過程相匹配.在日常生活中很多交易行為都有各自的特點(diǎn),例如早餐店的交易經(jīng)常發(fā)生在早晨,交易金額集中在1~20元左右;加油站交易時(shí)間比較平均,但是交易金額集中在幾個(gè)特殊值100元、200元或者是加滿的價(jià)格(隨著油價(jià)的變化而變化,具有普遍的規(guī)律性).當(dāng)用戶使用區(qū)塊鏈數(shù)字貨幣完成這些交易時(shí),這種交易特征會(huì)反映在區(qū)塊鏈交易中.因此,攻擊者可以通過分析區(qū)塊鏈交易數(shù)據(jù)背后的交易特征,給匿名賬戶進(jìn)行身份畫像,從而將匿名的區(qū)塊鏈地址和用戶真實(shí)身份匹配.Androulaki等人[27]在學(xué)校中設(shè)計(jì)模擬實(shí)驗(yàn),學(xué)生使用比特幣作為日常交易貨幣,分析人員采用基于行為的聚類技術(shù)對(duì)比特幣交易數(shù)據(jù)進(jìn)行分析.作者發(fā)現(xiàn)即使用戶采用比特幣推薦的隱私保護(hù)方法(一次性地址策略),也能夠?qū)?0%的學(xué)生身份和區(qū)塊鏈地址匹配.
2) 交易規(guī)律.不同用戶在使用區(qū)塊鏈服務(wù)時(shí)有不同的行為規(guī)律.這些規(guī)律包括交易時(shí)間間隔(RTI)、資金流向(coinflow)、連通性(交易中輸入地址和輸出地址的數(shù)目)等.Monaco[28]對(duì)用戶的交易規(guī)律進(jìn)行抽象,提出12種參數(shù)(時(shí)間間隔RTI、資金流向CF、輸入輸出數(shù)量差I(lǐng)OB等),然后提出一種基于參數(shù)的身份識(shí)別方法.通過對(duì)6個(gè)月的比特幣數(shù)據(jù)進(jìn)行實(shí)驗(yàn),作者發(fā)現(xiàn)最佳的參數(shù)組能夠有效識(shí)別匿名區(qū)塊鏈地址對(duì)應(yīng)的真實(shí)用戶身份,識(shí)別精度達(dá)到62%,同時(shí)錯(cuò)誤率低于10.1%.
2.4應(yīng)用層面臨的隱私威脅
應(yīng)用層的主要角色包括使用區(qū)塊鏈技術(shù)的用戶和提供區(qū)塊鏈服務(wù)的服務(wù)商.這兩者在處理區(qū)塊鏈業(yè)務(wù)時(shí)都有可能帶來隱私泄露威脅.
1) 用戶行為導(dǎo)致的隱私泄露威脅.區(qū)塊鏈?zhǔn)且环N新興技術(shù),用戶可能因?yàn)椴涣私鈪^(qū)塊鏈安全機(jī)制進(jìn)行了一些可能泄露隱私信息的行為.例如,很多用戶將自己的比特幣地址發(fā)布在論壇或者其他社交網(wǎng)站上,攻擊者可以通過社會(huì)工程學(xué)等方法將這些比特幣地址和用戶的真實(shí)身份關(guān)聯(lián).Meiklejohn等人[25]搜集了比特幣論壇上公開的比特幣地址,然后利用污點(diǎn)分析和聚類方法發(fā)現(xiàn)了很多比特幣地址的身份信息.
2) 區(qū)塊鏈服務(wù)商導(dǎo)致的隱私泄露威脅.區(qū)塊鏈技術(shù)本身提供了多種保護(hù)隱私的方法,但是很多提供區(qū)塊鏈服務(wù)的網(wǎng)站存在顯著的隱私泄露隱患.2014年,全球最大的比特幣交易平臺(tái)Mt.Gox遭遇大規(guī)模比特幣盜竊案件,網(wǎng)站存儲(chǔ)的涉及比特幣的身份信息被泄露到黑客手中.2015年,比特幣論壇BitcoinTalk遭受網(wǎng)絡(luò)攻擊,攻擊者竊取了49.9萬用戶數(shù)據(jù),包括用戶名、電子郵箱、密碼、生日、保密問題.
攻擊者獲得這些敏感信息后,能夠?qū)^(qū)塊鏈全局賬本中的匿名地址和真實(shí)用戶相關(guān)聯(lián),掌握用戶全部的交易信息,侵害用戶的隱私.
3.1區(qū)塊鏈隱私保護(hù)的特點(diǎn)
區(qū)塊鏈技術(shù)采用一系列密碼學(xué)算法在非信任節(jié)點(diǎn)之間建立信任關(guān)系,而不是依賴中心機(jī)構(gòu)的信用背書,這種特殊的安全模型使得區(qū)塊鏈下的隱私保護(hù)不同于傳統(tǒng)的隱私保護(hù),存在的差異主要分為2類:
1) 隱私保護(hù)的側(cè)重點(diǎn)不同.在傳統(tǒng)隱私保護(hù)方案中,所有的隱私數(shù)據(jù)都被保存在可信節(jié)點(diǎn)的中心服務(wù)器內(nèi)部,側(cè)重點(diǎn)在于保護(hù)數(shù)據(jù)在存儲(chǔ)階段和傳輸階段不被外泄.而在區(qū)塊鏈技術(shù)中,為了維護(hù)分布式賬本的一致性,保證交易的公信力,區(qū)塊鏈中的所有交易數(shù)據(jù)必須公開給全網(wǎng)所有參與節(jié)點(diǎn)(注:部分區(qū)塊鏈技術(shù)支持輕節(jié)點(diǎn),不用存儲(chǔ)全部數(shù)據(jù),而是在需要時(shí)向其他全節(jié)點(diǎn)索要數(shù)據(jù)).因此,區(qū)塊鏈技術(shù)無法采用中心存儲(chǔ)的方式保護(hù)隱私,而是將側(cè)重點(diǎn)落在保護(hù)交易的匿名性,即雖然所有的交易細(xì)節(jié)都是可見的,但是攻擊者無法根據(jù)交易數(shù)據(jù)找到交易雙方真實(shí)的身份信息,從而無法對(duì)用戶造成損害.
2) 隱私保護(hù)面臨很多限制條件.區(qū)塊鏈技術(shù)中運(yùn)行區(qū)塊鏈程序的節(jié)點(diǎn)通常是家用主機(jī),而非傳統(tǒng)服務(wù)器,很多復(fù)雜的隱私保護(hù)算法在區(qū)塊鏈中是不實(shí)用的.此外,設(shè)計(jì)隱私保護(hù)算法時(shí)必須避免破壞區(qū)塊鏈的共識(shí)機(jī)制.例如,對(duì)數(shù)據(jù)加密是保護(hù)隱私的常見方法,而在區(qū)塊鏈中直接對(duì)交易信息加密,會(huì)使得其他節(jié)點(diǎn)無法驗(yàn)證交易的正確性,導(dǎo)致交易作廢.
根據(jù)區(qū)塊鏈技術(shù)的特點(diǎn),我們將區(qū)塊鏈中的隱私保護(hù)機(jī)制分為3類:
1) 網(wǎng)絡(luò)層的隱私保護(hù).網(wǎng)絡(luò)層包含底層通信的整個(gè)過程,包括區(qū)塊鏈節(jié)點(diǎn)設(shè)置模式、節(jié)點(diǎn)通信機(jī)制、數(shù)據(jù)傳輸機(jī)制等.在區(qū)塊鏈最早的應(yīng)用比特幣系統(tǒng)中,節(jié)點(diǎn)不需要審批,任何用戶都可以通過運(yùn)行比特幣程序成為區(qū)塊鏈的節(jié)點(diǎn).節(jié)點(diǎn)之間利用P2P協(xié)議進(jìn)行相互通信和數(shù)據(jù)傳輸.這種機(jī)制導(dǎo)致攻擊者不僅可以監(jiān)聽整個(gè)網(wǎng)絡(luò)的通信信息,還可以主動(dòng)和其他節(jié)點(diǎn)通信獲取隱私數(shù)據(jù).因此,網(wǎng)絡(luò)層隱私保護(hù)的側(cè)重點(diǎn)是限制節(jié)點(diǎn)的權(quán)利,對(duì)抗被動(dòng)監(jiān)聽和主動(dòng)攻擊.
2) 交易層的隱私保護(hù).交易層包含區(qū)塊鏈中數(shù)據(jù)產(chǎn)生、驗(yàn)證、存儲(chǔ)和使用的整個(gè)過程.區(qū)塊鏈技術(shù)為了保證交易的可靠性、不可篡改性和分布式一致性,設(shè)計(jì)了特殊的數(shù)據(jù)結(jié)構(gòu)和共識(shí)機(jī)制.這些機(jī)制保證了在分布式不可信的網(wǎng)絡(luò)節(jié)點(diǎn)間維護(hù)統(tǒng)一的高公信力的賬本.但是,這些機(jī)制也導(dǎo)致了隱私泄露風(fēng)險(xiǎn).完整的、公開的交易賬本不僅會(huì)泄露交易數(shù)據(jù),還會(huì)泄露數(shù)據(jù)背后的交易者之間的關(guān)系,甚至泄露身份隱私.因此,交易層隱私保護(hù)的側(cè)重點(diǎn)是滿足區(qū)塊鏈基本共識(shí)機(jī)制的條件下,盡可能隱藏?cái)?shù)據(jù)信息和數(shù)據(jù)背后的知識(shí).
3) 應(yīng)用層的隱私保護(hù).應(yīng)用層包含區(qū)塊鏈技術(shù)被外部使用的過程.外部使用即包括普通用戶使用區(qū)塊鏈程序,也包括其他應(yīng)用程序調(diào)用區(qū)塊鏈的接口.區(qū)塊鏈被外部使用的過程存在泄露交易隱私和身份隱私的威脅.例如,用戶在論壇等社交網(wǎng)站公布自己的比特幣地址.因此,應(yīng)用層隱私保護(hù)的側(cè)重點(diǎn)包括提升用戶的安全意識(shí)、提高區(qū)塊鏈服務(wù)商的安全防護(hù)水平.
3.2網(wǎng)絡(luò)層的隱私保護(hù)機(jī)制
通過分析網(wǎng)絡(luò)層的攻擊方法,可以看出攻擊者主要是通過監(jiān)聽網(wǎng)絡(luò)層信息來搜集交易隱私和身份隱私.因此,網(wǎng)絡(luò)層防御機(jī)制的重點(diǎn)是增加攻擊者搜集網(wǎng)絡(luò)層數(shù)據(jù)的難度.
現(xiàn)有的防御機(jī)制可以分為3類:
1) 限制接入.對(duì)區(qū)塊鏈中的節(jié)點(diǎn)進(jìn)行授權(quán)控制,沒有得到授權(quán)的節(jié)點(diǎn)無法接入網(wǎng)絡(luò),不能獲得交易信息和區(qū)塊信息,這將從根本上增加網(wǎng)絡(luò)層攻擊的難度.但是,這種方法需要修改區(qū)塊鏈的運(yùn)行機(jī)制,目前主要運(yùn)用在私有鏈或者聯(lián)盟鏈的架構(gòu)中.例如,在超級(jí)賬本(hyperledger)[29]中,所有節(jié)點(diǎn)必須經(jīng)過CA節(jié)點(diǎn)的認(rèn)證才能接入網(wǎng)絡(luò).
2) 惡意節(jié)點(diǎn)檢測(cè)和屏蔽.在公有鏈架構(gòu)中,不能直接限制節(jié)點(diǎn)接入網(wǎng)絡(luò),但是可以采取檢測(cè)機(jī)制,發(fā)現(xiàn)惡意節(jié)點(diǎn)并加入黑名單,阻止惡意節(jié)點(diǎn)繼續(xù)搜集敏感信息.Huang等人[30]提出一種基于行為模式聚類的惡意節(jié)點(diǎn)檢測(cè)方法,能夠快速定位惡意節(jié)點(diǎn),消除惡意節(jié)點(diǎn)帶來的隱私泄露隱患.
3) 網(wǎng)絡(luò)層數(shù)據(jù)混淆.為了阻止攻擊者通過發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)浍@得身份隱私信息,一些研究人員提出可以將區(qū)塊鏈運(yùn)行在具有隱私保護(hù)特性的網(wǎng)絡(luò)上,例如洋蔥網(wǎng)絡(luò)(Tor)[31].洋蔥網(wǎng)絡(luò)是一種應(yīng)用層的匿名通信技術(shù),通信數(shù)據(jù)首先被多層加密然后再由若干個(gè)被稱為洋蔥路由器組成的通信線路上傳送,攻擊者很難發(fā)現(xiàn)發(fā)送者的真實(shí)IP.目前洋蔥網(wǎng)絡(luò)是比特幣官方推薦的保護(hù)隱私的方法.另外一種以隱私保護(hù)著稱的數(shù)字貨幣門羅幣采用一種替代Tor的匿名通信協(xié)議I2P[32].相對(duì)于Tor協(xié)議使用同一條網(wǎng)絡(luò)鏈路實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,I2P使用多條鏈路發(fā)送數(shù)據(jù)和接受數(shù)據(jù),能夠更好地隱藏IP,防止通過網(wǎng)絡(luò)層信息實(shí)現(xiàn)交易溯源[33].
3.3交易層的隱私保護(hù)機(jī)制
通過分析交易層的攻擊方法,可以看出攻擊者主要是通過分析公開的區(qū)塊鏈交易數(shù)據(jù)獲得隱私信息.因此,交易層保護(hù)機(jī)制的側(cè)重點(diǎn)是在滿足區(qū)塊鏈正常運(yùn)行的基礎(chǔ)上,防止惡意節(jié)點(diǎn)獲得準(zhǔn)確的交易數(shù)據(jù).目前,研究人員已經(jīng)提出多種交易層的隱私保護(hù)方案,這些方案在技術(shù)架構(gòu)、實(shí)現(xiàn)方法、實(shí)現(xiàn)策略上各不相同,能夠滿足不同的隱私保護(hù)需求.區(qū)塊鏈技術(shù)從數(shù)據(jù)存儲(chǔ)的角度可以看做是一種分布式數(shù)據(jù)庫,因此我們將不同的保護(hù)機(jī)制按照數(shù)據(jù)庫隱私保護(hù)的分類方法進(jìn)行3種分類:
1) 基于數(shù)據(jù)失真的技術(shù).通過將交易內(nèi)容的部分?jǐn)?shù)據(jù)進(jìn)行混淆,使攻擊者無法獲得準(zhǔn)確的數(shù)據(jù),增加分析難度.這種方案的難點(diǎn)在于不破壞交易結(jié)果的條件下,防止攻擊者發(fā)現(xiàn)不同地址之間的交易關(guān)系.
2) 基于數(shù)據(jù)加密的技術(shù).通過將交易信息加密,使攻擊者無法獲得具體的交易信息,從而無法開展分析.這種方案的難點(diǎn)在于實(shí)現(xiàn)加密的同時(shí),必須保證原有的驗(yàn)證機(jī)制不受影響.
3) 基于限制發(fā)布的技術(shù).通過發(fā)布少量或者不發(fā)布交易數(shù)據(jù),減少攻擊者能夠獲得的交易數(shù)據(jù),增加分析難度.
3.3.1 基于數(shù)據(jù)失真的保護(hù)方案
由于區(qū)塊鏈交易會(huì)詳細(xì)記錄在全局賬本中,攻擊者可以通過分析交易內(nèi)容發(fā)現(xiàn)輸入地址和輸出地址之間的關(guān)系,進(jìn)而推測(cè)出交易隱私和身份隱私.為了對(duì)抗這種攻擊,一種直觀的方法是在不改變交易結(jié)果的前提下對(duì)交易內(nèi)容進(jìn)行混淆,增加攻擊者的分析難度.這種防御方法在數(shù)字貨幣領(lǐng)域應(yīng)用廣泛,被稱為“混幣”機(jī)制.混幣機(jī)制最早來源于Chaum 1981年發(fā)表的文章[34],最早是用于實(shí)現(xiàn)雙方之間的匿名通信.基本思想可表達(dá)為
CM(Z1,CA(Z0,m),A)→CA(Z0,m),A,
(1)
式(1)左側(cè)為發(fā)送方發(fā)給中間人的信息,式(1)右側(cè)為接收者從中間人獲取的信息.發(fā)送方使用中間人的公鑰CM對(duì)內(nèi)容加密,然后發(fā)送給中間人.在發(fā)送過程中,即使信息被攻擊者截獲,也不能解密.中間人收到信息后使用自己的私鑰對(duì)內(nèi)容解密,能夠得到“Z1,CA(Z0,m),A”.其中,“Z1”用于確保傳送信息的準(zhǔn)確性,中間人驗(yàn)證合法后將丟棄此參數(shù).“CA(Z0,m),A”是用接收者的秘鑰“CA”進(jìn)行加密的內(nèi)容,中間人無法解密,A是通信目的地址.中間人將把密文“CA(Z0,m)”發(fā)送給地址A.接收方使用自己的秘鑰解密“CA(Z0,m)”,就可得到傳送的密文內(nèi)容“Z0”和“m”.
通過采用中間人中轉(zhuǎn)信息,攻擊者無法準(zhǔn)確判定發(fā)送者和接收者是否進(jìn)行通信.此方法還可以通過采用多個(gè)中間人中轉(zhuǎn)的方式提升攻擊者的分析難度.
數(shù)字貨幣中的混幣機(jī)制借鑒了上述思想,即采取機(jī)制隱藏交易中輸入地址和輸出地址之間的關(guān)系.由于這種機(jī)制中交易數(shù)據(jù)沒有減少,只是對(duì)交易來源和交易去向進(jìn)行模糊,因此可以歸類于數(shù)據(jù)失真的隱私保護(hù)技術(shù).
在數(shù)字貨幣領(lǐng)域,混幣技術(shù)主要可以分為基于中心節(jié)點(diǎn)的混幣方法和去中心化的混幣方法.
1) 基于中心節(jié)點(diǎn)的混幣方法.此類方案的核心特點(diǎn)是混幣過程由第三方節(jié)點(diǎn)執(zhí)行.參與混幣的用戶首先將資金發(fā)送給第三方節(jié)點(diǎn),然后第三方節(jié)點(diǎn)對(duì)資金進(jìn)行多次交易,最終將資金轉(zhuǎn)移給參與用戶指定的地址.由于資金經(jīng)過第三方節(jié)點(diǎn)的處理,攻擊者很難發(fā)現(xiàn)參與混幣用戶的資金流向.
此類方法簡單易行,不需要額外的技術(shù)改進(jìn),適用于比特幣以及其他數(shù)字貨幣.目前有很多網(wǎng)站提供這種混幣服務(wù).例如Bitlaunder[35],Bitcoin Fog[36],Blockchain.info[37].用戶通過支付混幣費(fèi)用,就可以使用網(wǎng)站提供的混幣服務(wù).
但是,這種方法由于需要第三方節(jié)點(diǎn)提供混幣服務(wù),存在很多天然的缺陷,包括:
① 額外的收費(fèi)和較慢的混幣速度.提供混幣服務(wù)的節(jié)點(diǎn)通常會(huì)收取混幣費(fèi)用,而且隨著混幣次數(shù)的增加,費(fèi)用會(huì)直線上升.此外,混幣的時(shí)間也會(huì)隨之增加.通常的延遲時(shí)間為48 h,交易費(fèi)用為1%~3%.
② 存在盜竊資金的風(fēng)險(xiǎn).此方案中,第三方節(jié)點(diǎn)收到用戶的資金后有可能不履行協(xié)議,盜竊用戶的資金.用戶沒有有效的反制措施.
③ 中間節(jié)點(diǎn)可能泄露混幣過程.此方案中第三方節(jié)點(diǎn)了解全部的混幣過程,用戶無法保證第三方節(jié)點(diǎn)不會(huì)泄露混幣過程信息.
針對(duì)這些缺陷,出現(xiàn)了很多改進(jìn)的方法.Bonneau等人[38]提出一種改進(jìn)的中心化混幣方案mixcoin.這種方案增加了審計(jì)功能,一旦第三方節(jié)點(diǎn)違規(guī)操作,用戶可以公布簽名數(shù)據(jù),使違規(guī)的中間人迅速丟掉聲譽(yù),不能繼續(xù)提供混幣服務(wù).Valenta和Rowan在mixcoin的基礎(chǔ)上,采用盲簽名技術(shù)對(duì)中心化混幣方案進(jìn)行進(jìn)一步優(yōu)化,他們?cè)O(shè)計(jì)的Blindcoin方案[39]能夠保證第三方節(jié)點(diǎn)正常提供混幣服務(wù)的同時(shí),不能建立起輸入地址和輸出地址的映射關(guān)系,因此能夠防止第三方泄露混幣過程信息.ShenTu和Yu[40]提出一種基于橢圓曲線的盲簽名混幣方案,能夠在保證匿名性的基礎(chǔ)上提升計(jì)算效率.2015年上線運(yùn)營的匿名數(shù)字貨幣達(dá)世幣(DASH)[41],從經(jīng)濟(jì)學(xué)的角度解決中心化混幣方案面臨的威脅.達(dá)世幣中執(zhí)行混幣過程的中心節(jié)點(diǎn)被稱為主節(jié)點(diǎn),所有主節(jié)點(diǎn)必須向系統(tǒng)支付1 000達(dá)世幣(達(dá)世幣中的數(shù)字貨幣)的押金才能獲得執(zhí)行混幣操作的權(quán)利.通過設(shè)置押金,增加了主節(jié)點(diǎn)違規(guī)操作的代價(jià).
2) 去中心化的混幣方法.此類方案的核心特點(diǎn)是混幣過程不需要第三方節(jié)點(diǎn)執(zhí)行.最早的方案是由Gregory Maxwell在比特幣論壇上提出的CoinJoin機(jī)制[42],核心思想是通過將多個(gè)交易合并成1個(gè)交易,隱藏交易輸入方和輸出方的對(duì)應(yīng)關(guān)系.對(duì)于一個(gè)多輸入-多輸出交易,潛在攻擊者無法通過閱讀交易信息有效區(qū)分輸入和輸出之間的關(guān)系.CoinJoin思想被運(yùn)用在多種匿名比特幣交易中,例如Dark Wallet[43],CoinShuffle[44]和JoinMarket[45].
CoinJoin機(jī)制能夠增強(qiáng)所有用戶的隱私保護(hù)能力.一旦數(shù)字貨幣系統(tǒng)中部分節(jié)點(diǎn)采用CoinJoin協(xié)議,即使其余用戶沒有使用這種協(xié)議,也不能采用原有的推測(cè)方法,認(rèn)為一個(gè)交易中的多個(gè)輸入地址隸屬于同一個(gè)用戶.CoinJoin方案不依賴第三方節(jié)點(diǎn),能夠有效避免中心化混幣方案存在的資金偷竊、混幣費(fèi)用等問題.但是由于沒有中心節(jié)點(diǎn),CoinJoin方案中參與混幣的用戶必須自行協(xié)商和執(zhí)行混幣過程,這存在許多缺陷:
① 在尋找參與混幣用戶的過程中,可能需要中心節(jié)點(diǎn),面臨中心化混幣同樣的威脅.
② 在節(jié)點(diǎn)協(xié)商的過程中,參與混幣的節(jié)點(diǎn)可能會(huì)發(fā)現(xiàn)其他節(jié)點(diǎn)的混幣信息.
③ 在執(zhí)行混幣過程中,如果部分節(jié)點(diǎn)違規(guī)操作,可能導(dǎo)致混幣過程失敗.攻擊者可以利用這點(diǎn)以低成本實(shí)現(xiàn)拒絕服務(wù)攻擊.
④ CoinJoin方案形成的多輸入多輸出交易將記錄在全局賬本中,用戶無法抵賴他們?cè)?jīng)參與過混幣.
針對(duì)這些缺陷,出現(xiàn)了很多改進(jìn)的方法.Ruffing等人提出一種完全去中心化的比特幣混幣協(xié)議CoinShuffle[46].CoinShuffle方案在CoinJoin的基礎(chǔ)上設(shè)計(jì)一種輸出地址洗牌機(jī)制,能夠在不需要第三方的條件下完成混幣過程,還能保證混幣參與方不知道其他交易方的對(duì)應(yīng)關(guān)系.但是CoinShuffle方案在混幣過程中要求參與者同時(shí)在線,容易遭受拒絕服務(wù)攻擊.Bissias等人設(shè)計(jì)一種能夠利用區(qū)塊鏈中的廣告信息匿名發(fā)現(xiàn)混幣參與方的去中心化混幣協(xié)議Xim[47].Xim采用一種多輪兩方混幣協(xié)議,具有可調(diào)控的成功率.與CoinJoin機(jī)制相比,Xim方案中惡意節(jié)點(diǎn)發(fā)動(dòng)攻擊的代價(jià)將隨著參與混幣用戶的數(shù)量線性增加,能夠有效對(duì)抗女巫攻擊和其他拒絕服務(wù)攻擊.CoinParty[48]方案采用安全多方計(jì)算協(xié)議實(shí)現(xiàn)了一種改進(jìn)方案,能夠在部分混合節(jié)點(diǎn)惡意操作或者失效的情況下,保證混幣過程的有效性.門羅幣(Monero)[49]是一種以隱私保護(hù)為主要特征的新型數(shù)字貨幣,采用環(huán)簽名機(jī)制實(shí)現(xiàn)混幣過程.相對(duì)于其他方案,門羅幣中用戶實(shí)施混幣過程時(shí)不需要和其他用戶交流.任何一個(gè)用戶可以自行實(shí)現(xiàn)混幣,能夠有效杜絕去中心化混幣方案面臨的拒絕服務(wù)攻擊、混幣參與用戶泄露混幣過程等問題.
混幣方案操作簡單、適用性廣,在區(qū)塊鏈數(shù)字貨幣中應(yīng)用廣泛,有很多改進(jìn)方案.我們從是否依賴第三方、是否存在盜竊風(fēng)險(xiǎn)、是否需要混幣費(fèi)用等多個(gè)方面進(jìn)行對(duì)比分析.如表2所示:
Table 2 Comparison of Mix Mechanism in Blockchain
3.3.2 基于加密機(jī)制的保護(hù)方案
加密機(jī)制是隱私保護(hù)領(lǐng)域的常用方案.通過對(duì)敏感數(shù)據(jù)加密,確保只有持有秘鑰的用戶能夠閱讀數(shù)據(jù),其他人即使獲得密文也無法解密,從而避免數(shù)據(jù)泄露.傳統(tǒng)區(qū)塊鏈應(yīng)用中數(shù)據(jù)是明文存儲(chǔ)的,任何節(jié)點(diǎn)都可以維護(hù)數(shù)據(jù)副本,驗(yàn)證新產(chǎn)生的交易和區(qū)塊,這是區(qū)塊鏈交易公信力和可靠性的基礎(chǔ).因此,在區(qū)塊鏈中采用加密技術(shù)保護(hù)隱私必須保證節(jié)點(diǎn)可以在加密數(shù)據(jù)上完成交易驗(yàn)證任務(wù).此外,由于區(qū)塊鏈交易需要由所有節(jié)點(diǎn)共同驗(yàn)證,因此必須減少加密機(jī)制對(duì)驗(yàn)證效率的影響.
區(qū)塊鏈中需要加密的對(duì)象主要是具體的交易信息,包括交易的來源、去向和交易的內(nèi)容.在數(shù)字貨幣應(yīng)用中,已經(jīng)出現(xiàn)一些基于加密的保護(hù)方案:
1) 門羅幣的加密方案.門羅幣是一種專注于隱私保護(hù)的數(shù)字貨幣,采用多種隱私保護(hù)機(jī)制[50].其中,為了防止外部人員從賬本中發(fā)現(xiàn)一筆資金的真實(shí)去向,門羅幣對(duì)交易輸出地址進(jìn)行加密.傳統(tǒng)的數(shù)字貨幣中,交易輸出地址的內(nèi)容是接收方的公鑰信息和地址信息,觀察者可以直接發(fā)現(xiàn)資金的去向.在門羅幣中,輸出地址是由接收方的公鑰和發(fā)送方產(chǎn)生的隨機(jī)參數(shù)加密后得到的新地址信息,由于隨機(jī)參數(shù)只有發(fā)送方掌握,因此觀察者無法發(fā)現(xiàn)新地址信息和接收方之間的關(guān)系.通過產(chǎn)生不同的隨機(jī)參數(shù),可以保證每一次交易的輸出地址都不同,而且相互之間沒有關(guān)聯(lián)關(guān)系.
2) Zcash的加密方案.Zcash是一種新型的數(shù)字貨幣[51],前身為Zerocoin[52]項(xiàng)目.Zcash使用承諾函數(shù)將每一筆交易的來源、去向和金額封裝到若干參數(shù)中,同時(shí)使用零知識(shí)證明技術(shù)zk-SNARKs[53]來證明交易.證明過程不需透露相關(guān)信息,因而可以隱藏區(qū)塊鏈交易的發(fā)送方、收款方乃至交易的價(jià)值.花費(fèi)Zcash需要的若干參數(shù)由交易的發(fā)起方使用非對(duì)稱加密技術(shù)進(jìn)行加密,只有掌握正確查看密鑰的用戶才可訪問這些內(nèi)容.Zcash是目前隱私保護(hù)最好的數(shù)字貨幣,但其采用zk-SNARKs算法生成證明的過程非常緩慢,通常需要1 min才能生成新的證明,在效率上存在瓶頸.
3.3.3 基于限制發(fā)布的保護(hù)方案
限制發(fā)布方案是指直接將涉及隱私的數(shù)據(jù)從公開數(shù)據(jù)庫中移除.相比混幣機(jī)制和加密機(jī)制,這種思路直接徹底,能夠從根本上保證隱私數(shù)據(jù)的安全.但是,這種方法對(duì)業(yè)務(wù)場(chǎng)景的限制較多,需要對(duì)協(xié)議底層進(jìn)行較多修改.常見方案包括2種:
1) 閃電網(wǎng)絡(luò).閃電網(wǎng)絡(luò)是比特幣中的一種微支付技術(shù)[54],用于提供可靠的鏈外交易(交易細(xì)節(jié)不需要記錄在區(qū)塊鏈上),從而提升區(qū)塊鏈數(shù)字貨幣的交易規(guī)模,滿足微支付需求.閃電網(wǎng)絡(luò)技術(shù)實(shí)施后,用戶之間的大部分交易細(xì)節(jié)在線下執(zhí)行,只有第一次交易和最后一次交易需要記錄在區(qū)塊鏈賬本上,因此能夠有效保護(hù)交易隱私.
2) 聯(lián)盟鏈和私有鏈.傳統(tǒng)的區(qū)塊鏈應(yīng)用大多數(shù)是基于公有鏈的,例如比特幣、以太幣.在公有鏈應(yīng)用中,任何人都可以自由加入?yún)^(qū)塊鏈網(wǎng)絡(luò),維護(hù)全部的交易數(shù)據(jù),這使得公有鏈應(yīng)用具有很高的公信力,但是這也帶來了身份隱私和數(shù)據(jù)隱私的威脅.為了更好地保護(hù)隱私,區(qū)塊鏈技術(shù)產(chǎn)生了聯(lián)盟鏈和私有鏈的分支.聯(lián)盟鏈中,多個(gè)行業(yè)單位構(gòu)成聯(lián)盟,只有聯(lián)盟內(nèi)的成員能夠維護(hù)區(qū)塊鏈數(shù)據(jù),其他非授權(quán)節(jié)點(diǎn)不能接觸區(qū)塊鏈數(shù)據(jù);私有鏈中,只有內(nèi)部用戶才能維護(hù)區(qū)塊鏈數(shù)據(jù).這2種新的架構(gòu)從根本上關(guān)閉了非授權(quán)節(jié)點(diǎn)接觸數(shù)據(jù)的渠道,顯著降低隱私泄露的風(fēng)險(xiǎn).
3.4應(yīng)用層的隱私保護(hù)機(jī)制
通過分析應(yīng)用層的攻擊方法,可知看出攻擊者主要是利用用戶不規(guī)范的操作和區(qū)塊鏈服務(wù)商的漏洞搜集交易隱私和身份隱私.因此應(yīng)用層防御機(jī)制的重點(diǎn)是從用戶的角度提升保護(hù)能力.
用戶可以采用的防御方法通常有2種:
1) 使用具有隱私保護(hù)機(jī)制的區(qū)塊鏈應(yīng)用.比特幣是區(qū)塊鏈技術(shù)在數(shù)字貨幣領(lǐng)域的第1個(gè)應(yīng)用,在隱私保護(hù)方面存在明顯缺陷.攻擊者可以通過多種方法獲得身份隱私和數(shù)據(jù)隱私.在這種背景下,出現(xiàn)了許多隱私保護(hù)效果更好的替代貨幣,例如達(dá)世幣、門羅幣、零幣(Zcash).
達(dá)世幣在比特幣的基礎(chǔ)上增加了基于主節(jié)點(diǎn)的混幣策略,能夠隱藏資金流向.由于主節(jié)點(diǎn)需要支付大量押金,同時(shí)用戶可以配置使用多個(gè)主節(jié)點(diǎn)進(jìn)行混幣操作,達(dá)世幣的混幣過程能夠有效減少同類混幣服務(wù)面臨的盜竊資金、泄露混幣過程等問題.
門羅幣采用環(huán)簽名技術(shù)模糊交易的輸入地址,增加攻擊者分析資金來源的難度.由于環(huán)簽名過程不需要其他節(jié)點(diǎn)的參與,避免了同類混幣服務(wù)面臨的拒絕服務(wù)攻擊和中間節(jié)點(diǎn)泄露混幣過程等威脅.
Zcash是目前隱私保護(hù)效果最好的數(shù)字貨幣.通過采用zk-SNARKs(簡潔的非互動(dòng)性零知識(shí)證明)技術(shù),能夠在滿足驗(yàn)證和共識(shí)機(jī)制的條件下隱藏區(qū)塊鏈交易的發(fā)送方、收款方乃至交易的金額.
這些新型的數(shù)字貨幣采用密碼學(xué)技術(shù)保護(hù)交易數(shù)據(jù),相對(duì)比特幣能夠更好地保護(hù)用戶的身份隱私和交易隱私.
2) 使用具有隱私保護(hù)機(jī)制的區(qū)塊鏈程序.不同的區(qū)塊鏈程序在隱私保護(hù)方面具有不同的特點(diǎn),需要采用針對(duì)性的保護(hù)方法.以比特幣為例,冷錢包通過將秘鑰離線保存,能夠有效防止黑客攻擊,但是有可能出現(xiàn)存儲(chǔ)介質(zhì)丟失和被盜帶來的安全風(fēng)險(xiǎn),隱私保護(hù)的關(guān)鍵是保護(hù)存儲(chǔ)介質(zhì)的安全性,可以采用多重備份、加密存儲(chǔ)等機(jī)制保護(hù)存儲(chǔ)介質(zhì)的安全.本地錢包面臨黑客竊取錢包文件的風(fēng)險(xiǎn),可以采用錢包加密、修改默認(rèn)存儲(chǔ)位置、變換文件名等方式保護(hù)錢包文件.在線錢包的安全威脅主要是錢包服務(wù)器被黑客攻擊,在比特幣歷史上已經(jīng)出現(xiàn)了多起嚴(yán)重的數(shù)據(jù)泄露事件.目前在線錢包網(wǎng)站主要采用冷錢包[55]和多重簽名技術(shù)保護(hù)賬戶隱私.表3介紹各種錢包程序的特點(diǎn).
Table 3 Comparison of Blockchain Wallet
區(qū)塊鏈技術(shù)發(fā)展日新月異,隱私保護(hù)的重要性持續(xù)提升.但是,目前的隱私保護(hù)方案都存在一些缺陷,需要繼續(xù)進(jìn)行研究.
在網(wǎng)絡(luò)層,雖然現(xiàn)有的交易溯源技術(shù)準(zhǔn)確率低,還不具備大規(guī)模實(shí)施的條件,但是網(wǎng)絡(luò)層的安全威脅在區(qū)塊鏈技術(shù)體系中具有通用性,凡是采用P2P協(xié)議作為底層通訊協(xié)議的區(qū)塊鏈應(yīng)用都存在這個(gè)隱患.現(xiàn)有的保護(hù)方案中,限制接入的方案只適用于聯(lián)盟鏈和私有鏈,在公有鏈中很難實(shí)施;惡意節(jié)點(diǎn)檢測(cè)和屏蔽機(jī)制是事后的補(bǔ)救措施,而且必須配合限制接入機(jī)制才能起到較好的防御效果.否則,攻擊者可以隨時(shí)通過更換IP等方式重新部署惡意節(jié)點(diǎn);采用匿名通信協(xié)議能夠增加攻擊者監(jiān)聽網(wǎng)絡(luò)層信息的難度.但是現(xiàn)有的匿名通信協(xié)議在效率、性能、易用性上還存在缺陷.例如比特幣官方推薦采用洋蔥網(wǎng)絡(luò)(Tor)保護(hù)隱私,但是這種方案已經(jīng)被發(fā)現(xiàn)存在漏洞,攻擊者可以利用DOS攻擊強(qiáng)迫節(jié)點(diǎn)退出正常的Tor節(jié)點(diǎn),然后再進(jìn)行攻擊[56].此外,匿名通信協(xié)議通常伴隨著過于繁瑣的使用方法,這甚至?xí)共糠钟脩舾菀自馐軔阂廛浖耐{.
在交易層,基于數(shù)據(jù)失真的隱私保護(hù)方案實(shí)現(xiàn)簡單,適用于比特幣等現(xiàn)有的區(qū)塊鏈應(yīng)用.但是此類方法的保護(hù)效果有限,分析人員仍有可能通過分析交易之間的關(guān)聯(lián)性發(fā)現(xiàn)隱藏的信息;基于加密機(jī)制的保護(hù)方案能夠有效應(yīng)對(duì)基于數(shù)據(jù)分析的攻擊,但是此類方法必須對(duì)底層協(xié)議進(jìn)行大幅改動(dòng),不適用于比特幣等現(xiàn)有的區(qū)塊鏈應(yīng)用.此外,此類方案通常需要耗費(fèi)更多的計(jì)算資源,在效率上存在瓶頸;基于限制發(fā)布的技術(shù)能夠有效降低敏感數(shù)據(jù)的數(shù)量,從源頭上降低隱私泄露的可能性.但是此類技術(shù)通常需要修改底層協(xié)議,實(shí)施難度較大.此外,這種技術(shù)由于改變了傳統(tǒng)區(qū)塊鏈技術(shù)中所有交易數(shù)據(jù)公開的特點(diǎn),需要解決交易可靠性和共識(shí)機(jī)制面臨的問題.
在應(yīng)用層,現(xiàn)有的方案主要是通過提高用戶安全意識(shí)和能力來減少隱私泄露的風(fēng)險(xiǎn).然而,當(dāng)用戶數(shù)量增加時(shí),很難保證所有用戶具有相同的安全意識(shí)和防護(hù)能力.
基于上述問題,我們提出3項(xiàng)未來的研究方向:
1) 按需配置的網(wǎng)絡(luò)層安全防護(hù)機(jī)制.針對(duì)聯(lián)盟鏈和私有鏈,采用合適的訪問控制策略防止惡意節(jié)點(diǎn)接入和監(jiān)聽網(wǎng)絡(luò),從根本上增強(qiáng)網(wǎng)絡(luò)層的保護(hù)能力.此外,聯(lián)盟鏈或者私有鏈與傳統(tǒng)中心化架構(gòu)有很多相似之處,可以采用傳統(tǒng)中心化架構(gòu)中成熟的安全措施.針對(duì)公有鏈網(wǎng)絡(luò),重點(diǎn)研究異常節(jié)點(diǎn)檢測(cè)的方法,及早發(fā)現(xiàn)和屏蔽惡意節(jié)點(diǎn).此外,需要研究在效率、性能、易用性方面更好的匿名通信機(jī)制,替代現(xiàn)有的Tor等匿名通信方案.
2) 基于密碼學(xué)算法的交易層隱私保護(hù)機(jī)制.隨著數(shù)據(jù)分析技術(shù)的發(fā)展,傳統(tǒng)的混幣機(jī)制保護(hù)隱私的效果將逐漸降低.有必要研究采用密碼學(xué)算法保證混幣的安全性,例如零知識(shí)證明機(jī)制和同態(tài)加密機(jī)制.基于加密的保護(hù)方案應(yīng)該充分考慮區(qū)塊鏈服務(wù)器在計(jì)算性能和存儲(chǔ)性能上的缺陷,設(shè)計(jì)通用性更高的加密方法.
3) 安全秘鑰技術(shù).在應(yīng)用層,除了提升用戶安全意識(shí)、增強(qiáng)區(qū)塊鏈服務(wù)商安全能力以外,重點(diǎn)是要研究錢包的密鑰保護(hù)技術(shù),開發(fā)使用方便、安全可靠的錢包程序.錢包秘鑰直接關(guān)系到賬戶安全,可以研究基于口令、硬件以及生物特征等多因素認(rèn)證機(jī)制,增強(qiáng)私鑰的安全性.
此外,在研究區(qū)塊鏈隱私保護(hù)技術(shù)的同時(shí),也應(yīng)該關(guān)注如何對(duì)濫用區(qū)塊鏈技術(shù)的非法行為進(jìn)行監(jiān)管.目前使用區(qū)塊鏈技術(shù)進(jìn)行洗錢、勒索以及其他犯罪活動(dòng)的事件層出不窮,例如影響全球30萬名用戶的勒索病毒wannacry就是使用比特幣勒索贖金.由于比特幣去中心化、匿名化等特征,很難阻止勒索行為,追蹤勒索者的身份信息.
針對(duì)這種監(jiān)管需求,主要有2類解決方案:
1) 加強(qiáng)行政監(jiān)管.鎖定區(qū)塊鏈技術(shù)與現(xiàn)實(shí)社會(huì)的集合點(diǎn),例如交易所等區(qū)塊鏈服務(wù)商.目前大部分國家都出臺(tái)規(guī)定,要求數(shù)字貨幣交易所等區(qū)塊鏈服務(wù)機(jī)構(gòu)實(shí)施KYC政策(即充分了解你的客戶).通過登記用戶身份以及檢查大額數(shù)字貨幣交易,能夠有效控制利用區(qū)塊鏈技術(shù)實(shí)施非法活動(dòng)的規(guī)模.
2) 加快監(jiān)管技術(shù)研究.區(qū)塊鏈技術(shù)的去中心化架構(gòu)使得很難從根本上禁止區(qū)塊鏈應(yīng)用,很多區(qū)塊鏈應(yīng)用可以不依賴于外部服務(wù)商獨(dú)立運(yùn)行.例如,比特幣系統(tǒng)中的用戶可以不依賴于交易所直接進(jìn)行數(shù)字貨幣交易,或者在境外交易所交易.此外,各種混幣技術(shù)增加了區(qū)塊鏈交易的監(jiān)管難度.因此,除了行政手段外,有必要研究針對(duì)性的監(jiān)管技術(shù),檢查和遏制利用區(qū)塊鏈技術(shù)進(jìn)行的非法活動(dòng).目前已經(jīng)出現(xiàn)了很多專門從事區(qū)塊鏈監(jiān)管科技的公司和研究機(jī)構(gòu).美國紐約的公司Chainalysis開發(fā)了用于打擊網(wǎng)絡(luò)犯罪活動(dòng)的工具,已經(jīng)檢查了價(jià)值150億美金的比特幣交易[57].美國桑迪亞國家實(shí)驗(yàn)室受美國政府支持開發(fā)分析工具,這種工具將幫助執(zhí)法部門將比特幣交易去匿名化[58].英國倫敦的區(qū)塊鏈情報(bào)公司Elliptic為全球企業(yè)和執(zhí)法機(jī)關(guān)提供數(shù)字貨幣監(jiān)控支持,公司在2016年3月份收到500萬美元有政府背景的投資[59].加拿大公司Blockchain Intelligence Group(BIG)開發(fā)了QLUE來幫助世界各地的執(zhí)法機(jī)構(gòu)通過識(shí)別和追蹤比特幣來打擊涉及比特幣的金融犯罪交易[60].
本文介紹了區(qū)塊鏈技術(shù)中隱私保護(hù)遇到的問題和挑戰(zhàn).首先從身份隱私和交易隱私的角度定義了區(qū)塊鏈中隱私的概念;其次分別從網(wǎng)絡(luò)層、交易層和應(yīng)用層詳細(xì)闡述了區(qū)塊鏈隱私保護(hù)面臨的威脅及其防護(hù)對(duì)策;最后針對(duì)區(qū)塊鏈隱私保護(hù)的威脅和研究現(xiàn)狀,展望了未來可能的研究方向.
[1] Yuan Yong, Wang Feiyue. Blockchain: The state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494 (in Chinese)
(袁勇, 王飛躍. 區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 自動(dòng)化學(xué)報(bào), 2016, 42(4): 481-494)
[2] Chris B, Adam W. Bitcoin ringing the bell for a new asset class[EB/OL]. [2017-06-10]. http://research.ark-invest.com/bitcoin-asset-class
[3] Gartner. Top 10 strategic technology trends for 2017[EB/OL]. [2017-06-10]. http://www.gartner.com/technology/topics/trends.jsp
[4] Wang Jiye, Gao Lingchao, Dong Aiqiang, et al. Block chain based data security sharing network architecture research[J]. Journal of Computer Research and Development, 2017, 54(4): 742-749 (in Chinese)
(王繼業(yè), 高靈超, 董愛強(qiáng), 等. 基于區(qū)塊鏈的數(shù)據(jù)安全共享網(wǎng)絡(luò)體系研究[J]. 計(jì)算機(jī)研究與發(fā)展, 2017, 54(4): 742-749)
[5] Au M H, Liu J K, Fang Junbin, et al. A new payment system for enhancing location privacy of electric vehicles[J]. IEEE Trans on Vehicular Technology, 2014, 63(1): 3-18
[6] Mihaylov M, Jurado S, Avellana N, et al. NRGcoin: Virtual currency for trading of renewable energy in smart grids[C] //Proc of the 11th Int Conf on the European Energy Market. Piscataway, NJ: IEEE, 2014: 1-6
[7] Nakamoto S. Bitcoin: A peer-to-peer electronic cash system[EB/OL]. [2017-08-01]. http://www.bitcoin.org/bitcoin.pdf
[8] Bitnodes. Global bitcoin nodes distribution[EB/OL]. [2017-06-10]. https://bitnodes.21.co/
[9] Shawn W, Tome B, Josh B, et al. Storj: A peer-to-peer cloud storage network [EB/OL]. [2017-06-10]. https://storj.io/storj.pdf
[10] Dwork C, Naor M. Pricing via processing or combatting Junk Mail[C] // Proc of the 12th Annual Int Cryptology Conf Proceedings. Piscataway, NJ: IEEE, 1992: 139-147
[11] Larimer D. Transactions as proof-of-stake[EB/OL]. [2017-06-10]. https://bravenewcoin.com/assets/Uploads/Transactions AsProofOfStake10.pdf
[12] Castro M, Liskov B. Practical byzantine fault tolerance and proactive recovery[J]. ACM Trans on Computer Systems, 2002, 20(4): 398-461
[13] Zhou Shuigeng, Li Feng, Tao Yufei, et al. Privacy preservation in database applications: A Survey[J]. Chinese Journal of Computers, 2009, 32(5): 847-861 (in Chinese)
(周水庚, 李豐, 陶宇飛, 等. 面向數(shù)據(jù)庫應(yīng)用的隱私保護(hù)研究綜述[J]. 計(jì)算機(jī)學(xué)報(bào), 2009, 32(5): 847-861)
[14] Antonopoulos A M. Mastering Bitcoin[EB/OL]. [2017-06-10]. https://www. bitcoinbook.info/
[15] Andy D. THE DAO[EB/OL]. [2017-06-10]. http://ethfans.org/posts/127
[16] Bonneau J, Miller A, Clark J, et al. SoK: Research perspectives and challenges for Bitcoin and cryptocurrencies[C] //Proc of the 2015 IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2015: 104-121
[17] Koshy P, Koshy D, Mcdaniel P. An analysis of anonymity in bitcoin using P2P network traffic [G] //Financial Cryptography and Data Security. Berlin: Springer, 2014: 469-485
[18] Kaminsky D. Black Ops of TCP/IP 2011[EB/OL]. [2017-08-01]. https://dankaminsky.com/2011/08/05/bo2k11/
[19] Biryukov A, Khovratovich D, Pustogarov I. Deanonymisa-tion of clients in Bitcoin P2P network[C] //Proc of the 21st ACM Conf on Computer and Communications Security. New York: ACM, 2014: 15-29
[20] Reid F, Harrigan M. An analysis of anonymity in the bitcoin system[C] //Proc of the 3rd IEEE Int Conf on Privacy, Security, Risk and Trust. Piscataway, NJ: IEEE, 2011: 1318-1326
[21] Liao K, Zhao Ziming, Doupe A, et al. Behind closed doors: Measurement and analysis of cryptoLocker ransoms in bitcoin[C] //Proc of the 2016 APWG Symp on Electronic Crime Research (eCrime). Piscataway, NJ: IEEE, 2016: 1-13
[22] Ron D, Shamir A. Quantitative analysis of the full bitcoin transaction graph[G] //Financial Cryptography and Data Security. Berlin: Springer, 2013: 6-24
[23] Bitcoinwiki. Coinbase[EB/OL]. [2017-06-10]. https://en.bitcoin.it/wiki/Coinbase
[24] Bitcoinwiki. Change[EB/OL]. [2017-06-10]. https://en.bitcoin.it/wiki/Change
[25] Meiklejohn S, Pomarole M, Jordan G, et al. A fistful of bitcoins: Characterizing payments among men with no names[C] //Proc of the 13th ACM Internet Measurement Conf. New York: ACM, 2013: 127-140
[26] Zhao Chen. Graph-based forensic investigation of bitcoin transactions[D]. Ames, Iowa: Iowa State University, 2014
[27] Androulaki E, Karame G O, Roeschlin M, et al. Evaluating user privacy in bitcoin[C] //Proc of the 17th Int Conf on Financial Cryptography and Data Security. Okinawa, Japan: Financial Cryptography, 2013: 34-51
[28] Monaco J V. Identifying bitcoin users by transaction behavior[C] //Proc of 2015 SPIE DSS. Baltimore, Maryland: SPIE, 2015
[29] Hyperledger. Hyperledger architecture working group paper[EB/OL]. [2017-06-10]. https://www.hyperledger.org/
[30] Huang Butian, Liu Zhenguang, Chen Jianhai, et al. Behavior pattern clustering in blockchain networks[J]. Multimedia Tools & Applications, 2017, 76(19): 20099-20110
[31] Tor. Getting up to speed on Tor’s past, present, and future Tor[EB/OL]. [2017-06-10]. http://www.theonionrouter.com/docs/documentation.html.en
[32] I2P. What does I2P do for you?[EB/OL]. [2017-06-10]. https://geti2p.net/en/
[33] Monero. What is Monero?[EB/OL]. [2017-06-10]. https://getmonero.org/get-started/what-is-monero/
[34] Chaum D. Untraceable electronic mail, return addresses and digital pseudonyms[J]. Communications of the ACM, 1981, 24(2): 84-90
[35] BitLaunder. BitLaunder's mixer vs “major exchanges” mixer[EB/OL]. [2017-06-10]. https://bitcoin.stackexchange.com/questions/25722/bitlaunders-mixer-vs-major-exchanges-mixer/25753
[36] Bitcoin Fog. Accessing bitcoin fog[EB/OL]. [2017-06-10]. http://bitcoinfog.info/
[37] Blockchain. Wallet[EB/OL]. [2017-06-10]. https://Blockchain.info/wallet/
[38] Bonneau J, Narayanan A, Miller A, et al. Mixcoin: Anonymity for bitcoin with accountable mixes[C] //Proc of the 18th Int Conf on Financial Cryptography and Data Security Financial. Barbados: Financial Cryptography, 2014: 486-504
[39] Valenta L, Rowan B. Blindcoin: Blinded, Accountable Mixes for Bitcoin[G] //Financial Cryptography and Data Security. Berlin: Springer, 2015: 112-126
[40] Shentu Qingchun, Yu Jianping. A blind-mixing scheme for bitcoin based on an elliptic curve cryptography blind digital signature algorithm[EB/OL]. [2017-06-10]. https://arxiv.org/ftp/arxiv/papers/1510/1510.05833.pdf
[41] Dash. Dash is digital cash[EB/OL]. [2017-06-10]. https://www.dash.org/
[42] Gregory M. CoinJoin: Bitcoin privacy for the real world[EB/OL]. [2017-06-10]. http://bitcointalk.org/index.php?topic=279249.0
[43] Andy G. Dark wallet’ is about to make bitcoin money laundering easier than ever[EB/OL]. [2017-06-10]. https://www.wired.com/2014/04/dark-wallet/
[44] Kyle T. CoinShuffle aims to improve privacy in bitcoin[EB/OL]. [2017-06-10]. http://insidebitcoins.com/news/coinshuffle-aims-to-improve-privacy-in-bitcoin/29269
[45] Belcher. Joinmarket-Coinjoin that people will actually use [EB/OL]. [2017-06-10]. http://bitcointalk.org/index.php?topic=919116.0
[46] Ruffing T, Moreno-Sanchez P, Kate A. CoinShuffle: Practical decentralized coin mixing for bitcoin[G] //Computer Security (ESORICS 2014). Berlin: Springer, 2014: 345-364
[47] Bissias G, Ozisik A P, Levine B N, et al. Sybil-resistant mixing for bitcoin[C] //Proc of the 2015 ACM Workshop on Privacy in the Electronic Society. New York: ACM, 2014: 149-158
[48] Ziegeldorf J H, Grossmann F, Henze M, et al. CoinParty: Secure multi-party mixing of bitcoins[C] //Proc of the 5th ACM Conf on Data and Application Security and Privacy. New York: ACM, 2015: 75-86
[49] Monero. About monero[EB/OL]. [2017-06-10]. https://getmonero.org/knowledge-base/about
[50] Monero. A note on chain reactions in traceability in cryptoNote 2.0[EB/OL]. [2017-06-10]. https://lab.getmonero.org/pubs/MRL-0001.pdf
[51] Sasson E B, Chiesa A, Garman C, et al. Zerocash: Decentralized anonymous payments from bitcoin[C] //Proc of the 2014 IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2014: 459-474
[52] Miers I, Garman C, Green M, et al. Zerocoin: Anonymous distributed E-Cash from bitcoin[C] //Proc of the 2013 IEEE Symp on Security and Privacy (SP) Conf. Piscataway, NJ: IEEE, 2013: 397-411
[53] Ben-Sasson E, Chiesa A, Genkin D, et al. SNARKs for C: Verifying program executions succinctly and in zero knowledge[G] / /Advances in Cryptology (CRYPTO 2013). Berlin: Springer, 2013: 90-108
[54] Joseph P, Thaddeus D. The bitcoin lightning network: Scalable Off-Chain instant payments[EB/OL]. [2017-06-10]. http://lightning.network/lightning-network-paper.pdf
[55] Okcoin. OKCoin cold wallet security design and protocol[EB/OL]. [2017-06-10]. https://www.okcoin.com/security.html
[56] Biryukov A, Pustogarov I. Bitcoin over Tor isn’t a Good Idea[C] //Proc of the 2015 IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2014: 122-134
[57] Chainalysis. Protecting the integrity of digital assets[EB/OL]. [2017-06-10]. https://www.chainalysis.com/
[58] Sandia. Beating bitcoin bad guys[EB/OL]. [2017-06-10]. http://www.sandia.gov/news/publications/labnews/articles/2016/19-08/bitcoin.html
[59] Elliptic. The global standard for blockchain intelligence[EB/OL]. [2017-06-10]. https://www.elliptic.co/
[60] Blockchaingroup. Blockchain intelligence group[EB/OL]. [2017-06-10]. https://Blockchaingroup.io/
SurveyonPrivacyPreservingTechniquesforBlockchainTechnology
Zhu Liehuang1, Gao Feng1, Shen Meng1, Li Yandong1, Zheng Baokun1,2, Mao Hongliang3, and Wu Zhen3
1(SchoolofComputerScience,BeijingInstituteofTechnology,Beijing100081)2(ChinaUniversityofPoliticalScienceandLaw,Beijing102249)3(NationalComputerNetworkEmergencyResponseTechnicalTeamCoordinationCenterofChina(CNCERTCC),Beijing100029)
Core features of the blockchain technology are “de-centralization” and “de-trusting”. As a distributed ledger technology, smart contract infrastructure platform and novel distributed computing paradigm, it can effectively build programmable currency, programmable finance and programmable society, which will have a far-reaching impact on the financial and other fields, and drive a new round of technological change and application change. While blockchain technology can improve efficiency, reduce costs and enhance data security, it is still in the face of serious privacy issues which have been widely concerned by researchers. The survey first analyzes the technical characteristics of the blockchain, defines the concept of identity privacy and transaction privacy, points out the advantages and disadvantages of blockchain technology in privacy protection and introduces the attack methods in existing researches, such as transaction tracing technology and account clustering technology. And then we introduce a variety of privacy mechanisms, including malicious nodes detection and restricting access technology for the network layer, transaction mixing technology, encryption technology and limited release technology for the transaction layer, and some defense mechanisms for blockchain applications layer. In the end, we discuss the limitations of the existing technologies and envision future directions on this topic. In addition, the regulatory approach to malicious use of blockchain technology is discussed.
blockchain; privacy-preserving; peer-to-peer networking; clustering analysis; Bitcoin
TP391
ZhuLiehuang, born in 1976. PhD, professor. His main research interests include cryptography, network and infor-mation security.
GaoFeng, born in 1987. PhD candidate. His main research interests include blockchain, cloud computing security and data privacy.
ShenMeng, born in 1988. PhD, assistant professor. His main research interests include network security and privacy-preserving algorithms in cloud computing.
LiYandong, born in 1991. MS candidate. His main research interests include blockchain,cloud computing security and data privacy.
ZhengBaokun, born in 1978. PhD candidate. His main research interests include blockchain, network and information security.
MaoHongliang, born in 1990. PhD. Engineer of National Computer Network Emergency Response Technical TeamCoordination Center of China. His main research interest is blockchain application.
WuZhen, born in 1976. PhD. Senior engineer of National Computer Network Emergency Response Technical TeamCoordination Center of China. His main research interests include cyber security and blockchain application.