發布時間:2020-01-08所屬分類:計算機職稱論文瀏覽:1次
摘 要: 摘 要 區塊鏈技術的核心特征是去中心化和去信任化,作為分布式總賬技術、智能合約基礎平臺、分布式新型計算范式,可以有效構建可編程貨幣、可編程金融和可編程社會,勢必將對金融及其他領域帶來深遠影響,并驅動新一輪技術變革和應用變革.但是區塊鏈技術在提
摘 要 區塊鏈技術的核心特征是“去中心化”和“去信任化”,作為分布式總賬技術、智能合約基礎平臺、分布式新型計算范式,可以有效構建可編程貨幣、可編程金融和可編程社會,勢必將對金融及其他領域帶來深遠影響,并驅動新一輪技術變革和應用變革.但是區塊鏈技術在提高效率、降低成本、提高數據安全性的同時,也面臨嚴重的隱私泄露問題,得到研究者的廣泛關注.將介紹區塊鏈技術架構,定義區塊鏈技術中身份隱私和交易隱私的概念,分析區塊鏈技術在隱私保護方面存在的優勢和不足,并分類描述現有研究中針對區塊鏈隱私的攻擊方法,例如交易溯源技術和賬戶聚類技術;然后詳細介紹針對區塊鏈網絡層、交易層和應用層的隱私保護機制,包括網絡層惡意節點檢測和限制接入技術、區塊鏈交易層的混幣技術、加密技術和限制發布技術,以及針對區塊鏈應用的防御機制;最后,分析了現有區塊鏈隱私保護技術存在的缺陷,展望了未來發展方向.此外,還討論針對惡意使用區塊鏈技術的監管方法.
關鍵詞 區塊鏈;隱私保護;對等網絡;聚類分析;比特幣
區塊鏈技術具有“去中心化”和“去信任化”等特點,能夠不依賴第三方可信機構在陌生節點之間建立點對點的可信價值傳遞,有助于降低交易成本,提高交互效率,有非常廣闊的應用前景,被認為是引領信息互聯網向價值互聯網轉變的關鍵技術[1].
在數字貨幣領域,比特幣和類似比特幣的新型數字貨幣 發 展 迅 速.ARK 投 資 公 司 和 coinbase公司2017年發布的聯合報告指出:全球比特幣用戶數量超過1000萬,每天交易金額超過1.5億美元[2].Gartner的預測 指 出,到 了 2022 年,以 區 塊 鏈 為 中心的相關交易將高達100億美元[3].此外,各國央行逐漸支持數字貨幣,甚至計劃發行法定數字貨幣.在金融行業,銀行和金融機構希望利用區塊鏈技術改造傳統金融體系,降低數據維護成本.在能源行業,區塊鏈的去中心化、開源共享以及智能管理等特性與未來能源變革有著天然的契合性,能夠在能源互聯網、智能電網、碳交易、電動汽車、智能交通等領域發揮重要作用[4].在文化行業,利用區塊鏈技術數據不可更改、公信力高的特性,可以開展證書存儲、數字產權保護、文物鑒定等眾多業務.
相關期刊推薦:《計算機研究與發展》主辦單位:中國航天科工防御技術研究院中國宇航學會中國系統工程學會,周期: 雙月?莾热葜饕獮橛嬎銠C科學技術領域高水平的學術論文、最新科研成果和重大應用成果。有投稿需求的作者,可以直接與期刊天空在線編輯聯系。
隨著區塊鏈技術不斷發展和廣泛應用,其面臨的隱私泄露問題越來越突出,必須得到充分重視.相對于傳統的中心化架構,區塊鏈機制不依賴特定中心節點處理和存儲數據,因此能夠避免集中式服務器單點崩潰和數據泄露的風險.但是為了在分散的區塊鏈節點中達成共識,區塊鏈中所有的交易記錄必須公開給所有節點,這將顯著增加隱私泄露的風險.例如,在數字貨幣應用中,分析人員通過分析交易記錄可以獲得用戶的交易規律,甚至能夠推測出用戶的身份信息和位置信息[5].在金融應用中,如果分析人員獲得全部的交易記錄,既可以追溯個體賬戶的交易細節,也可以分析宏觀的金融趨勢,這些信息既屬于用戶的隱私信息,也屬于公司的核心數據.在能源行業中,區塊鏈技術通常被用于實現點對點的能源交換[6],這種情況下區塊鏈交易數據有可能泄露能源傳輸等敏感信息,對個人安全和國家安全造成威脅.因此,區塊鏈技術在走向實用之前,必須解決隱私泄露問題.
然而,區塊鏈 技 術 與 傳 統IT 架 構 存 在 顯 著 區別,很多傳統的隱私保護方案在區塊鏈應用中不適用.傳 統IT 架 構 中,數據通常存儲在中心化服務器,隱私保護的重點是確保數據不被外泄.因此,管理者可以通過提高中心節點的防御能力來抵抗各種攻擊,例如使用高性能服務器、部署入侵檢測設備、安裝專用的數據防泄密軟件等.區塊鏈技術中,數據存儲在分散的節點,沒有統一的管理者,節點的性能和安全能力參差不齊,攻擊者很容易攻陷其中一些節點.此外,攻擊者甚至可以偽裝成合法節點直接獲得交易數據.因此,區塊鏈中隱私保護的重點是確保交易的匿名性,即攻擊者無法通過分析交易數據獲得用戶的身份信息,這種安全需求需要針對性的隱私保護機制.區塊鏈技術中采用了特殊的信息傳遞機制、共識機制和激勵機制,這也給隱私保護帶來了新的機遇和挑戰.
區塊鏈技術面臨隱私泄露風險,傳統的隱私保護技術又不適用,因此分析區塊鏈隱私泄露缺陷、研究針對性的隱私保護方法具有重要意義.目前已經出現了很多針對區塊鏈隱私的防護方法,它們能夠從網絡層、交易層等不同的角度防范竊取隱私的攻擊行為.針對目前發展現狀,本文對現有典型的攻擊方法和防御機制進行回顧與總結,希望能給當前及未來的相關研究提供一定的參考與幫助.
1 區塊鏈隱私保護背景知識
1.1 區塊鏈技術概述
區塊鏈是從比特幣底層技術衍生出來的新型技術體系,最早的定義來自于中本聰在2009年發表的論文[7],之后區塊鏈的內涵和外延發生了很多改變,目前仍然在不斷演變.區塊鏈技術在架構上通常被分為數據層、網絡層、共識層、激勵層、合約層和應用層.但是隨著區塊鏈技術的快速發展,區塊鏈的架構也在不斷變 化.很多傳統的模塊被弱化,甚 至 被 取消,例如在聯盟鏈和私有鏈技術中已經不需要激勵層.因此,通過分析區塊鏈技術的本質特征和目前的發展趨勢,我們將區塊鏈技術的架構分為3個層次,如圖1所示:
1)網絡層.網絡層的核心任務是確保區塊鏈節點之間可以通過P2P網絡進行有效通信.主要內容包括區塊鏈網絡的組網方式和節點之間的通信機制.
區塊鏈 網 絡 采 用 P2P 組 網 技 術,具 有 去 中 心、動態變化的特點.網絡中的節點是地理位置分散但是關系平等的服務器,不存在中心節點,任何節點可以自由加入或者退出網絡.目前規模最大的區塊鏈網絡是比特幣網絡.比特幣網絡建立在公共互聯網之上,節點來自全球各地,每天對外提供服務的節點數量平均為5400個[8],總體節點數量(包括不對外提供服務的節點)估計為10萬個左右.
區塊鏈節點之間的通信類型主要分為2種:
① 為了維持節點與區塊鏈網絡之間的連接而進行的通信,通常包括索取其他節點的地址信息和廣播自己的地址信息(地址信息 是 指 TCP/IP 中 的IP地址和端口號).節點新加入區塊鏈網絡時,首先讀取硬編碼在客戶端程序中的種子地址并向這些種子節點索取其鄰居節點地址,然后通過這些地址繼續搜索更多的地址信息并建立連接,直到節點的鄰居節點的數 量 達 到 穩 定 值.此 后,節點會定期通過ping等方式驗證鄰居節點的可達性,并使用新的節點替代不可達節點.此外,為了保證新節點的信息被更多節點接收,節點將定期向自己的鄰居節點廣播自己的地址信息.
、 為了完成上層業務而進行的通信,通常包括轉發交易信息和同步區塊信息(交易和區塊是區塊鏈中的數據結構,將在交易層介紹).節點轉發交易信息時采用中繼轉發的模式.始發節點首先將交易轉發給鄰居節點,鄰居節點收到交易后再轉發給自己的鄰居節點,以此類推,逐漸傳遍整個網絡.同步區塊信息采用請求響應的模式.節點首先向鄰居節點發送自己的區塊高度(類似于ID),如果小于鄰居節點的高度則索取自己欠缺的區塊,如果大于鄰居節點的高度則鄰居節點將反向索取區塊信息.所有節點都不斷地和鄰居節點交換區塊信息,從而保證整個網絡中所有節點的區塊信息保持同步.
2)交易層.交易層實現區塊鏈的核心業務,即在2個“地址”之間進行可靠的、具有公信力的數據傳遞.主 要 內 容 包 括:地 址 格 式、交 易 格 式、智 能 合約、全局賬本、共識機制和激勵機制.
區塊鏈中的“地址”,類似于銀行卡賬號,是用戶參與區塊鏈業務時使用的假名.通常是在用戶的控制下利用公鑰加密算法(例如 ECC)生成.其中生成的公鑰信息將用于交易的輸入地址或者輸出地址,私鑰信息由用戶自己保存,用于對交易簽名.2種常見的區塊鏈地址如下所示:
、 比特幣地址: “1DAY1DUpbBdGLkkFYj32J5g4h9X2zsxDv5”
、 以太坊地址: “02B51B20185c04D1CbDA2996dFA02AF2D308EeEa”
區塊鏈中的“交易”記錄了用戶之間數據交互的過程.通常包括輸入地址、輸出地址、交易內容等信息.交易內容在數字貨幣應用中主要包括交易的金額,在其他應用中可能代表一個字符串或者一個證書ID.例如在基于區塊鏈技術的數據 存儲應用STORJ[9]中,交 易 的 內 容 主 要 包 括 存 儲 數 據 的Hash值.我們以使用最廣泛的區塊鏈應用比特幣為例,介紹交易層的數據格式.
圖2(a)展示一個簡化的比特幣交易格式,圖2(b)展示2個交易例子.從交易格式部分可以看出,每個比特 幣 交 易 都 有 一 個 交 易 Hash(txhash).此Hash值是針對 整 個 交 易 內 容 計 算 得 到,唯 一 指 向此條交易.因此,在比特幣中交易 Hash通常作為交易的ID.交易的 正 文 主 要 包 括2部 分:輸 入 地 址 信息和輸出地址信息.輸入地址信息記錄此次交易發送方的賬戶信息,值得注意的是輸入地址信息中并不是記錄發送者的賬號,而是記錄輸入資金的來源(pre-txhash),即通過來源交易 Hash指定全局賬本中的一條交易,通過索引信息(index)指定交易中對應的輸出地 址,并 通 過 簽 名 信 息(sign)證 明 用 戶 對這筆資金的所有權.輸出地址信息中記錄此次交易接收方的賬戶信息,包括輸出地址(account)和輸出金額(amount).輸出地址是由用戶自行生成的公鑰信息經過字符變換得到的一串字符串.輸出地址經過反向變換后可以得到公鑰的 Hash,用于驗證簽名.交易實例部分介紹了2條交易.其中,編號為“10002” 的交易中第“0”個 輸 入 地 址 中 的 來 源 交 易 Hash是 “3306ff5a64d900937ad1429466fd2c8f”,同 時 索 引 為 “1”.因此,可以確定此輸入地址的真實賬戶是編號 “10001”交 易 中 第“1”個 輸 出 地 址“1A1RmbbVoL4pnMZf”.通過這種設計,比特幣中每一個交易的來源都可以驗證真實性和合法性,攻擊者無法偽造交易,也不能冒用其他人的賬號進行交易.此外,交易中的輸入賬戶和輸出地址都是由用戶自行創建,與身份信息無關,因此外部觀察者不能直接根據交易記錄推測交易者的身份信息.
SCISSCIAHCI