發(fā)布時(shí)間:2020-01-08所屬分類:計(jì)算機(jī)職稱論文瀏覽:1次
摘 要: 摘 要 區(qū)塊鏈技術(shù)的核心特征是去中心化和去信任化,作為分布式總賬技術(shù)、智能合約基礎(chǔ)平臺(tái)、分布式新型計(jì)算范式,可以有效構(gòu)建可編程貨幣、可編程金融和可編程社會(huì),勢必將對金融及其他領(lǐng)域帶來深遠(yuǎn)影響,并驅(qū)動(dòng)新一輪技術(shù)變革和應(yīng)用變革.但是區(qū)塊鏈技術(shù)在提
摘 要 區(qū)塊鏈技術(shù)的核心特征是“去中心化”和“去信任化”,作為分布式總賬技術(shù)、智能合約基礎(chǔ)平臺(tái)、分布式新型計(jì)算范式,可以有效構(gòu)建可編程貨幣、可編程金融和可編程社會(huì),勢必將對金融及其他領(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)勢和不足,并分類描述現(xiàn)有研究中針對區(qū)塊鏈隱私的攻擊方法,例如交易溯源技術(shù)和賬戶聚類技術(shù);然后詳細(xì)介紹針對區(qū)塊鏈網(wǎng)絡(luò)層、交易層和應(yīng)用層的隱私保護(hù)機(jī)制,包括網(wǎng)絡(luò)層惡意節(jié)點(diǎn)檢測和限制接入技術(shù)、區(qū)塊鏈交易層的混幣技術(shù)、加密技術(shù)和限制發(fā)布技術(shù),以及針對區(qū)塊鏈應(yīng)用的防御機(jī)制;最后,分析了現(xiàn)有區(qū)塊鏈隱私保護(hù)技術(shù)存在的缺陷,展望了未來發(fā)展方向.此外,還討論針對惡意使用區(qū)塊鏈技術(shù)的監(jiān)管方法.
關(guān)鍵詞 區(qū)塊鏈;隱私保護(hù);對等網(wǎng)絡(luò);聚類分析;比特幣
區(qū)塊鏈技術(shù)具有“去中心化”和“去信任化”等特點(diǎn),能夠不依賴第三方可信機(jī)構(gòu)在陌生節(jié)點(diǎn)之間建立點(diǎn)對點(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ù)量超過1000萬,每天交易金額超過1.5億美元[2].Gartner的預(yù)測 指 出,到 了 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ù).
相關(guān)期刊推薦:《計(jì)算機(jī)研究與發(fā)展》主辦單位:中國航天科工防御技術(shù)研究院中國宇航學(xué)會(huì)中國系統(tǒng)工程學(xué)會(huì),周期: 雙月?莾(nèi)容主要為計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域高水平的學(xué)術(shù)論文、最新科研成果和重大應(yīng)用成果。有投稿需求的作者,可以直接與期刊天空在線編輯聯(lián)系。
隨著區(qū)塊鏈技術(shù)不斷發(fā)展和廣泛應(yīng)用,其面臨的隱私泄露問題越來越突出,必須得到充分重視.相對于傳統(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ī)律,甚至能夠推測出用戶的身份信息和位置信息[5].在金融應(yīng)用中,如果分析人員獲得全部的交易記錄,既可以追溯個(gè)體賬戶的交易細(xì)節(jié),也可以分析宏觀的金融趨勢,這些信息既屬于用戶的隱私信息,也屬于公司的核心數(shù)據(jù).在能源行業(yè)中,區(qū)塊鏈技術(shù)通常被用于實(shí)現(xiàn)點(diǎn)對點(diǎn)的能源交換[6],這種情況下區(qū)塊鏈交易數(shù)據(jù)有可能泄露能源傳輸?shù)让舾行畔ⅲ瑢(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ù)器、部署入侵檢測設(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ù)獲得用戶的身份信息,這種安全需求需要針對性的隱私保護(hù)機(jī)制.區(qū)塊鏈技術(shù)中采用了特殊的信息傳遞機(jī)制、共識(shí)機(jī)制和激勵(lì)機(jī)制,這也給隱私保護(hù)帶來了新的機(jī)遇和挑戰(zhàn).
區(qū)塊鏈技術(shù)面臨隱私泄露風(fēng)險(xiǎn),傳統(tǒng)的隱私保護(hù)技術(shù)又不適用,因此分析區(qū)塊鏈隱私泄露缺陷、研究針對性的隱私保護(hù)方法具有重要意義.目前已經(jīng)出現(xiàn)了很多針對區(qū)塊鏈隱私的防護(hù)方法,它們能夠從網(wǎng)絡(luò)層、交易層等不同的角度防范竊取隱私的攻擊行為.針對目前發(fā)展現(xiàn)狀,本文對現(xiàn)有典型的攻擊方法和防御機(jī)制進(jìn)行回顧與總結(jié),希望能給當(dāng)前及未來的相關(guān)研究提供一定的參考與幫助.
1 區(qū)塊鏈隱私保護(hù)背景知識(shí)
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ā)展趨勢,我們將區(qū)塊鏈技術(shù)的架構(gòu)分為3個(gè)層次,如圖1所示:
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)來自全球各地,每天對外提供服務(wù)的節(jié)點(diǎn)數(shù)量平均為5400個(gè)[8],總體節(jié)點(diǎn)數(shù)量(包括不對外提供服務(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ū)塊信息采用請求響應(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)生成.其中生成的公鑰信息將用于交易的輸入地址或者輸出地址,私鑰信息由用戶自己保存,用于對交易簽名.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值是針對 整 個(gè) 交 易 內(nèi) 容 計(jì) 算 得 到,唯 一 指 向此條交易.因此,在比特幣中交易 Hash通常作為交易的ID.交易的 正 文 主 要 包 括2部 分:輸 入 地 址 信息和輸出地址信息.輸入地址信息記錄此次交易發(fā)送方的賬戶信息,值得注意的是輸入地址信息中并不是記錄發(fā)送者的賬號(hào),而是記錄輸入資金的來源(pre-txhash),即通過來源交易 Hash指定全局賬本中的一條交易,通過索引信息(index)指定交易中對應(yīng)的輸出地 址,并 通 過 簽 名 信 息(sign)證 明 用 戶 對這筆資金的所有權(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è) 輸 出 地 址“1A1RmbbVoL4pnMZf”.通過這種設(shè)計(jì),比特幣中每一個(gè)交易的來源都可以驗(yàn)證真實(shí)性和合法性,攻擊者無法偽造交易,也不能冒用其他人的賬號(hào)進(jìn)行交易.此外,交易中的輸入賬戶和輸出地址都是由用戶自行創(chuàng)建,與身份信息無關(guān),因此外部觀察者不能直接根據(jù)交易記錄推測交易者的身份信息.