国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

比特幣隱私保護(hù)綜述*

2019-06-10 06:44李旭東牛玉坤魏凌波俞能海
密碼學(xué)報(bào) 2019年2期
關(guān)鍵詞:私鑰公鑰比特

李旭東,牛玉坤,魏凌波,張 馳,俞能海

1.中國(guó)科學(xué)技術(shù)大學(xué) 中科院電磁空間信息重點(diǎn)實(shí)驗(yàn)室,合肥 230027

2.中國(guó)科學(xué)院信息工程研究所信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100093

1 引言

比特幣的概念最初由中本聰在發(fā)表的題為《比特幣:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》中提出[1].比特幣是借助哈希函數(shù)、非對(duì)稱加密、數(shù)字簽名、Merkle 樹、PoW 共識(shí)機(jī)制等密碼學(xué)技術(shù)在P2P 網(wǎng)絡(luò)上開源實(shí)現(xiàn)的具有貨幣發(fā)行、交易和賬戶管理功能的密碼貨幣.其隱私概念包括交易匿名和地址不可關(guān)聯(lián),交易匿名要求不能將特定的交易與用戶真實(shí)身份聯(lián)系起來(lái),地址不可關(guān)聯(lián)要求同一用戶的兩個(gè)交易不能被關(guān)聯(lián)起來(lái).

比特幣通過(guò)全網(wǎng)節(jié)點(diǎn)共同校驗(yàn)數(shù)據(jù)區(qū)塊生成、維護(hù)區(qū)塊鏈,具有一致性、不可篡改性、可追溯性.(1)比特幣需要發(fā)送方使用私鑰簽名交易,經(jīng)節(jié)點(diǎn)廣播,全網(wǎng)達(dá)成共識(shí)之后被記錄到區(qū)塊鏈上,保證信息一致性.(2)區(qū)塊鏈依靠區(qū)塊間的哈希指針和區(qū)塊內(nèi)的Merkle 樹實(shí)現(xiàn)鏈上數(shù)據(jù)的不可篡改;基于難度系數(shù)的比特幣PoW 共識(shí)機(jī)制保證單一節(jié)點(diǎn)數(shù)據(jù)難以通過(guò)分叉攻擊篡改歷史交易數(shù)據(jù).(3)區(qū)塊鏈上存儲(chǔ)著自coinbase 交易以來(lái)的所有交易數(shù)據(jù),基于這些不可篡改的日志類型數(shù)據(jù),可追溯特定地址的歷史交易記錄.

然而,一旦比特幣用戶的身份信息遭到泄露,這些數(shù)據(jù)永遠(yuǎn)保存于整個(gè)區(qū)塊鏈賬本上,任何人也都可以公開獲取.因此區(qū)塊鏈系統(tǒng)應(yīng)該更加重視隱私問(wèn)題,提高隱私保護(hù)能力.

為了保護(hù)用戶隱私,比特幣用戶使用假名(即比特幣公鑰地址)參與交易.公鑰地址是標(biāo)識(shí)和區(qū)分一個(gè)用戶的唯一方法.為了保障交易安全性,需對(duì)每筆交易都進(jìn)行簽名與驗(yàn)證,簽名算法使用了橢圓曲線數(shù)字簽名算法(ECDSA).每個(gè)用戶可以擁有任意數(shù)量的比特幣地址,這些地址由其客戶端存儲(chǔ)并透明管理.盡管依賴于假名,比特幣的隱私保護(hù)問(wèn)題依然突出.(1)公開的區(qū)塊鏈賬本數(shù)據(jù)使得攻擊者可以提取有關(guān)用戶身份特征的信息(公開的交易金額和輸入輸出地址信息以及它們之間的關(guān)聯(lián)特征使得攻擊者可以追蹤整個(gè)歷史交易路徑).(2)比特幣通訊協(xié)議未加密,節(jié)點(diǎn)傳播交易信息時(shí)可能會(huì)泄露源IP 地址與比特幣地址的對(duì)應(yīng)關(guān)系.(3)輕量級(jí)客戶端向全節(jié)點(diǎn)請(qǐng)求過(guò)程可能會(huì)泄露節(jié)點(diǎn)隱私信息,同時(shí)存在第三方錢包平臺(tái)竊取、泄露地址交易記錄等信息.

目前比特幣去匿名的研究主要集中在兩種方法上:一是對(duì)區(qū)塊鏈的分析,它從公開的區(qū)塊鏈賬本獲得交易信息,基于交易內(nèi)在地址鏈接關(guān)系對(duì)其進(jìn)行聚類分析,并結(jié)合線下信息將比特幣地址與個(gè)人身份關(guān)聯(lián)起來(lái);另一種方法是對(duì)比特幣協(xié)議和網(wǎng)絡(luò)的分析,它利用了比特幣交易傳播機(jī)制和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)推斷交易的源IP 地址.針對(duì)已有的去匿名攻擊方法,研究人員也提出了一些隱私保護(hù)方案,其中混幣技術(shù)、離鏈支付協(xié)議可以在一定程度上提高匿名性,而混幣技術(shù)根據(jù)是否需要可信第三方又可以進(jìn)一步分為中心化混幣和去中心化混幣方案,這些都不需要對(duì)現(xiàn)有比特幣協(xié)議作出任何修改,然而也都存在缺陷.隱蔽地址、環(huán)簽名、零知識(shí)證明、同態(tài)加密等密碼學(xué)方案改進(jìn)比特幣協(xié)議來(lái)達(dá)到更好的區(qū)塊鏈隱私保護(hù)效果.

本文的其余部分組織如下:第2 節(jié)從區(qū)塊鏈、網(wǎng)絡(luò)層、錢包和輕量級(jí)客戶端角度介紹現(xiàn)有的比特幣隱私保護(hù)存在的威脅及對(duì)應(yīng)的保護(hù)機(jī)制;第3 節(jié)研究不需要修改現(xiàn)有比特幣協(xié)議的隱私保護(hù)機(jī)制,如混幣技術(shù)、離鏈支付協(xié)議;第4 節(jié)研究如何通過(guò)零知識(shí)證明、同態(tài)加密等密碼學(xué)方案改進(jìn)比特幣協(xié)議達(dá)到更好的區(qū)塊鏈隱私保護(hù)效果;最后,第5 節(jié)展望比特幣及區(qū)塊鏈隱私保護(hù)研究工作.

2 比特幣隱私攻擊方法

2.1 區(qū)塊鏈分析

Pfitzmann 等首先給出了匿名的定義,某一主體的匿名意味著該主體的身份在一組匿名集合主體內(nèi)是不可識(shí)別的[2].比特幣匿名目的是為了防止攻擊者通過(guò)P2P 網(wǎng)絡(luò)和記錄了全部交易信息的區(qū)塊鏈發(fā)現(xiàn)比特幣假名地址與真實(shí)用戶身份信息之間的鏈接關(guān)系.比特幣匿名性需要滿足以下兩個(gè)要求:

(1)交易匿名性對(duì)于任何交易,無(wú)法確認(rèn)其發(fā)送方或接收方所對(duì)應(yīng)的真實(shí)身份.

(2)地址不可關(guān)聯(lián)性給定任意兩個(gè)地址,無(wú)法判斷其是否由同一個(gè)用戶擁有.

然而,比特幣作為公有鏈,交易信息全網(wǎng)公開,比特幣賬本上記錄了從創(chuàng)世區(qū)塊開始的所有交易信息(比特幣交易將比特幣從輸入地址轉(zhuǎn)移到輸出地址,交易金額和輸入輸出地址的鏈接關(guān)系都是公開可見的),任何人都可以作為比特幣P2P 網(wǎng)絡(luò)中的全節(jié)點(diǎn)獲得完整的賬本.這給比特幣去匿名技術(shù)帶來(lái)了一個(gè)思路,追溯比特幣交易發(fā)起人真實(shí)身份從理論上來(lái)說(shuō)是可行的.

Reid 等分析比特幣交易的特征后提出了交易圖、初始用戶圖、用戶圖的網(wǎng)絡(luò)結(jié)構(gòu)概念,并研究它們對(duì)用戶匿名帶來(lái)的影響[3].這里簡(jiǎn)要介紹如何通過(guò)區(qū)塊鏈分析形成交易圖、初始用戶圖、用戶圖:

(1)交易圖整個(gè)區(qū)塊鏈可以看作是無(wú)環(huán)交易圖,其中每個(gè)頂點(diǎn)表示一個(gè)交易,起始點(diǎn)和終點(diǎn)之間的有向邊表示上一筆交易的輸出對(duì)應(yīng)于下一筆交易的輸入.每個(gè)有向邊還包括一個(gè)比特幣值和一個(gè)時(shí)間戳.交易圖表示區(qū)塊鏈交易之間的比特幣流動(dòng).

如圖1(a)所示,圖中t1,t2,t3,t4都代表交易,其中,t1與t3之間的有向邊表示t1的一個(gè)輸出作為t3的一個(gè)輸入被花費(fèi).

交易圖是區(qū)塊鏈分析中最大的圖表,存儲(chǔ)開銷很大,因此在分析之前使用主集方法[4]或按權(quán)重過(guò)濾交易[5]是可行的方法.

(2)初始用戶圖初始用戶圖中,每個(gè)頂點(diǎn)代表一個(gè)公鑰地址,頂點(diǎn)之間的每個(gè)有向邊代表從一個(gè)公鑰地址到另一個(gè)公鑰地址的比特幣流動(dòng).初始化視每個(gè)公鑰地址為一個(gè)用戶,并且用戶圖是可以是循環(huán)的.

如圖1(b)所示,每個(gè)菱形頂點(diǎn)代表一個(gè)公鑰地址,菱形頂點(diǎn)之間的每個(gè)有向邊代表從一個(gè)公鑰地址到另一個(gè)公鑰地址的比特幣流動(dòng).交易t1和t2的輸出被t3兌換,最終被發(fā)送給公鑰pk1的用戶和公鑰pk2的用戶.

(3)用戶圖用戶圖通過(guò)利用多輸入交易的特點(diǎn)(同一個(gè)多輸入交易簽名通常由同一用戶簽署,因此可以很大程度上將交易輸入的多個(gè)公鑰地址聚合到同一用戶)對(duì)初始用戶圖進(jìn)一步處理,聚合可能屬于同一用戶的公鑰地址來(lái)創(chuàng)建用戶圖.用戶圖中,每個(gè)頂點(diǎn)代表一個(gè)用戶,頂點(diǎn)之間的每個(gè)有向邊表示從一個(gè)用戶到另一個(gè)用戶的比特幣的流動(dòng).

如圖1(c)所示,每個(gè)圓形頂點(diǎn)代表一個(gè)用戶,并且圓形頂點(diǎn)之間的每個(gè)有向邊表示從一個(gè)用戶到另一個(gè)用戶的比特幣的流動(dòng).公鑰pk1和pk2由于它們對(duì)應(yīng)于單個(gè)交易的一對(duì)輸入而被收縮成單個(gè)頂點(diǎn)用戶u1.

2013年,Meiklejohn 等在Reid 等研究工作[3]之上提出了兩類啟發(fā)式聚類分析方法[6],基于兩個(gè)思想:(1)同一個(gè)交易的輸入地址由同一用戶集群控制,因?yàn)楸忍貛沤灰淄ㄟ^(guò)簽名驗(yàn)證交易的合法性,只有私鑰的所有者才擁有合法的公鑰地址簽名;(2)一次性找零地址由輸入地址的同一用戶集群控制.

除了交易圖對(duì)比特幣區(qū)塊鏈的分析,Androulaki 等通過(guò)攻擊實(shí)驗(yàn)AddUnl 來(lái)定量分析地址不可鏈接性[7].AddUnl 由攻擊者A和知道比特幣實(shí)體的地址分配情況的挑戰(zhàn)者C組成,實(shí)驗(yàn)按照如下步驟進(jìn)行:

(1)攻擊者A從出現(xiàn)在比特幣賬本pubLog 中的地址中選擇一個(gè)地址a0,并將其發(fā)送給挑戰(zhàn)者C.

(2)挑戰(zhàn)者C隨機(jī)選擇一個(gè)比特b.如果b=1,則C從pubLog 中隨機(jī)選擇屬于同一個(gè)用戶的另一個(gè)地址a1;否則,C隨機(jī)選擇一個(gè)不屬于該用戶的地址a1.挑戰(zhàn)者C發(fā)送給A.

(3)A對(duì)兩個(gè)地址是否屬于同一用戶作出響應(yīng)b′.若回答正確(即b=b′),則A獲勝.

若比特幣交易滿足地址不可鏈接性,則對(duì)于所有具有概率多項(xiàng)式時(shí)間攻擊能力的攻擊者A相對(duì)于AR(隨機(jī)猜測(cè)結(jié)果的攻擊者)獲勝的概率可忽略:

然后通過(guò)nA×nA矩陣Elink來(lái)表示A的估計(jì),其中矩陣元素Elink[i,j]={pi,j}表示每個(gè)地址同一個(gè)用戶擁有地址ai和aj的概率.然后引入真實(shí)關(guān)聯(lián)矩陣GTlink,如果ai和aj屬于同一個(gè)用戶,GTlink[i,j]=1,否則GTlink[i,j]=0.通過(guò)計(jì)算Elink與真實(shí)關(guān)聯(lián)矩陣GTlink的統(tǒng)計(jì)距離Elink[i,?]?GTlink[i,?]來(lái)量化比特幣提供的不可鏈接性UnlinkA=1 ?其中SuccA和SuccAR分別表示攻擊者A和AR通過(guò)最大誤差(Elink[i,?]?GTlink[i,?])表示的在攻擊實(shí)驗(yàn)中的成功率.

圖1 交易圖、初始用戶和用戶圖Figure 1 Transaction graph,initial user graph,and user graph

結(jié)合來(lái)自比特幣系統(tǒng)外的信息會(huì)進(jìn)一步提升攻擊效果.Reid 等[3]還將比特幣系統(tǒng)外部信息與流量和時(shí)間分析等技術(shù)結(jié)合起來(lái),以說(shuō)明各種類型的信息泄漏如何導(dǎo)致系統(tǒng)用戶的去匿名.2013年,Androulaki等[7]在大學(xué)進(jìn)行模擬實(shí)驗(yàn),學(xué)生使用比特幣作為日常交易貨幣.研究人員通過(guò)基于行為的聚類技術(shù)分析比特幣交易數(shù)據(jù),實(shí)驗(yàn)數(shù)據(jù)顯示,即使通過(guò)不重復(fù)使用比特幣地址作為隱私保護(hù)手段,依然可以將40% 的用戶真實(shí)身份和比特幣地址聯(lián)系起來(lái).美國(guó)普林斯頓大學(xué)最新研究[8]表明,如果用戶使用比特幣與接受數(shù)字貨幣的在線商家進(jìn)行交易,商家可以將比特幣的支付流通信息輕松地與用戶cookies 相關(guān)聯(lián),從而基本消除了比特幣交易匿名性質(zhì),找到用戶的真實(shí)身份.

隨著比特幣技術(shù)的不斷發(fā)展尤其是各類混合技術(shù)的出現(xiàn),同一個(gè)混合交易的輸入地址可以屬于多個(gè)用戶,也打破了輸入輸出地址之間的鏈接關(guān)系,啟發(fā)式聚類分析已不再完全適用.但是結(jié)合其他比特幣去匿名技術(shù),該方法仍然可以很大程度聚類用戶身份地址信息.

2.2 網(wǎng)絡(luò)層隱私保護(hù)

在本節(jié)中,我們從比特幣P2P 網(wǎng)絡(luò)隱私現(xiàn)狀開始分析,然后闡述研究人員對(duì)比特幣P2P 網(wǎng)絡(luò)機(jī)制作出的改進(jìn).

比特幣采用P2P 網(wǎng)絡(luò)架構(gòu)廣播交易和區(qū)塊.P2P 網(wǎng)絡(luò)具有可靠性、去中心化和開放性,是比特幣系統(tǒng)穩(wěn)定運(yùn)行的保障.但是P2P 網(wǎng)絡(luò)的開放性和弱匿名性等特點(diǎn)使得比特幣網(wǎng)絡(luò)容易受到Sybil 攻擊[9],其引入的大量惡意節(jié)點(diǎn)會(huì)傳輸非法交易信息以及威脅路由、資源分配等網(wǎng)絡(luò)通信安全.

除此之外,現(xiàn)有的比特幣網(wǎng)絡(luò)對(duì)用戶隱私泄露存在諸多隱患:(1)比特幣節(jié)點(diǎn)通過(guò)不經(jīng)加密和身份驗(yàn)證的TCP 連接與其他網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行通信,攻擊者可以直接監(jiān)聽網(wǎng)絡(luò)中傳播的交易信息內(nèi)容.(2)搜集節(jié)點(diǎn)之間的拓?fù)潢P(guān)系,基于節(jié)點(diǎn)拓?fù)潢P(guān)系攻擊者可以進(jìn)一步分析交易的傳播路徑,從而找到其源IP 地址節(jié)點(diǎn).(3)比特幣網(wǎng)絡(luò)中節(jié)點(diǎn)的IP 地址信息可以被用來(lái)鏈接到用戶真實(shí)身份信息.

因此通過(guò)將比特幣地址映射到源節(jié)點(diǎn)IP 地址成為比特幣去匿名的又一思路,這種技術(shù)不依賴于交易之間的聯(lián)系.2011年,Reid 首先指出從P2P 網(wǎng)絡(luò)獲得的IP 地址信息可以用來(lái)減少比特幣系統(tǒng)的匿名性[3].

受Kaminsky 等[10]的啟發(fā),2014年,Koshy 等分析了將比特幣地址直接映射到IP 數(shù)據(jù)的可能風(fēng)險(xiǎn)[11].他們使用CoinSeer 收集了超過(guò)500 萬(wàn)筆交易的數(shù)據(jù)的IP 地址信息.實(shí)驗(yàn)數(shù)據(jù)未經(jīng)過(guò)地址聚類以便執(zhí)行純網(wǎng)絡(luò)分析,試圖去尋找比特幣地址與源IP 地址的鏈接關(guān)系.然而由于P2P 網(wǎng)絡(luò)節(jié)點(diǎn)之間復(fù)雜拓?fù)潢P(guān)系和規(guī)模,攻擊效果并不明顯.

Lischke 和Fabian[12]利用網(wǎng)絡(luò)IP 分析來(lái)研究對(duì)比特幣隱私的影響后得出結(jié)論,使用代理或匿名服務(wù)(如Tor[13])時(shí),IP 地址可能保持不可追蹤.

然而,Biryukov 等[14]的研究顯示,即使使用了Tor 用戶也有可能被去匿名化.2015年,Biryukov等[15]的研究展示了一個(gè)中間人攻擊手段,聲稱Tor 和比特幣結(jié)合在一起將會(huì)比不使用Tor 面臨更大的去匿名風(fēng)險(xiǎn).一個(gè)擁有少量資源的攻擊者可以完全控制使用Tor 的比特幣用戶之間的信息流動(dòng).盡管使用了假名,攻擊者依然可以將用戶的交易鏈接在一起,控制哪些比特幣交易和區(qū)塊被中繼到用戶,并且可以延遲廣播或直接丟棄用戶交易和區(qū)塊,在用戶連接到比特幣網(wǎng)絡(luò)時(shí)得到他們的IP 地址信息.

Karame 介紹了一種通過(guò)將假名(地址)與底層客戶端的IP 地址相關(guān)聯(lián)來(lái)去匿名化比特幣用戶的方法[16].這種攻擊在文獻(xiàn)[11]中首次引入,后來(lái)在文獻(xiàn)[14]中進(jìn)行了擴(kuò)展.攻擊分3 步實(shí)行.

(1)攻擊者通過(guò)DoS 攻擊[17]斷開用戶與Tor 或其他匿名網(wǎng)絡(luò)的連接,客戶端可能利用這些工具來(lái)改變連接的比特幣節(jié)點(diǎn).這允許攻擊者直接使用網(wǎng)絡(luò)接收的信息(例如,找出網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)).

(2)推斷網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),在這個(gè)階段,攻擊者將不接受傳入連接的比特幣客戶端作為目標(biāo),并且僅向網(wǎng)絡(luò)的其余部分展示最少的(如8 個(gè))傳出連接.攻擊者的目標(biāo)是學(xué)習(xí)從每個(gè)目標(biāo)比特幣客戶端的八個(gè)入口節(jié)點(diǎn)獲得的信息.

(3)攻擊者使用所獲得的網(wǎng)絡(luò)知識(shí),結(jié)合比特幣網(wǎng)絡(luò)交易的傳播機(jī)制,對(duì)交易進(jìn)行去匿名化處理.作為該攻擊的一個(gè)實(shí)例,Koshy 等在文獻(xiàn)[11]中找到了比特幣網(wǎng)絡(luò)中11% 的交易的IP 地址.

2017年,Bojja 等[18]通過(guò)研究比特幣網(wǎng)絡(luò)節(jié)點(diǎn)的廣播機(jī)制對(duì)P2P 網(wǎng)絡(luò)進(jìn)行了重構(gòu),以提供穩(wěn)定的、可查證的匿名性為首要原則.Bojja 等提出了一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)政策Dandelion 保證在對(duì)網(wǎng)絡(luò)功能消耗最低的前提下,實(shí)現(xiàn)最佳的匿名性.

2.3 錢包隱私

比特幣錢包是一個(gè)存儲(chǔ)并管理比特幣私鑰的容器.與傳統(tǒng)錢包不同,比特幣錢包不存儲(chǔ)比特幣,而是存儲(chǔ)比特幣對(duì)應(yīng)的公私鑰對(duì),用戶使用私鑰去簽名交易,并用公鑰生成地址接收發(fā)送方的比特幣[19].在比特幣的使用過(guò)程中,比特幣的控制權(quán)是通過(guò)私鑰、比特幣地址和數(shù)字簽名來(lái)確立的,比特幣地址可以由公鑰生成,公鑰則由私鑰衍生,數(shù)字簽名只能通過(guò)私鑰生成.因此掌握了比特幣私鑰,就獲得了對(duì)該比特幣的使用權(quán).正是因?yàn)樗借€在比特幣系統(tǒng)中有如此高的重要性,需要用一個(gè)專門的軟硬件去保護(hù)私鑰的安全和有序使用,這也正是比特幣錢包在比特幣系統(tǒng)中扮演的角色.

中心化比特幣錢包不依賴比特幣網(wǎng)絡(luò),只依賴自己的中心化服務(wù)器,不同步數(shù)據(jù),所有的數(shù)據(jù)均從自己的中心化服務(wù)器中獲得.其在隱私與安全方面也存在諸多隱患,用戶無(wú)法保證服務(wù)提供商不保存任何轉(zhuǎn)賬記錄或者泄露客戶真實(shí)身份信息.每一個(gè)用戶的轉(zhuǎn)賬記錄和比特幣持有記錄都存儲(chǔ)在第三方數(shù)據(jù)庫(kù)中;即使錢包不要求實(shí)名制,也可以把賬戶的虛擬ID 作為識(shí)別用戶身份的方式:列在該ID 下的所有數(shù)字貨幣出入賬地址、轉(zhuǎn)賬交易記錄、持有比特幣數(shù)量,都有泄漏風(fēng)險(xiǎn).在這種情況下,雖然錢包平臺(tái)不知道用戶真實(shí)身份,ID 某種程度上也就對(duì)應(yīng)了真實(shí)身份.

由于區(qū)塊鏈的數(shù)據(jù)量太大(當(dāng)前在200 GB 以上),全節(jié)點(diǎn)錢包嚴(yán)重限制了普通用戶的使用場(chǎng)景,因此,當(dāng)前許多比特幣錢包客戶端開始采用SPV(simplified payment verification)模式.SPV 錢包只維護(hù)與本地地址相關(guān)的區(qū)塊鏈數(shù)據(jù),通過(guò)請(qǐng)求比特幣全節(jié)點(diǎn)完成對(duì)交易合法性的驗(yàn)證.

目前比較安全的比特幣存儲(chǔ)方式包括全節(jié)點(diǎn)錢包、硬件錢包、分層確定性錢包、多簽名錢包等.全節(jié)點(diǎn)(如Bitcoin-core 核心錢包)維護(hù)著全部的區(qū)塊鏈數(shù)據(jù),完全去中心化,同步比特幣網(wǎng)絡(luò)所有交易數(shù)據(jù);硬件錢包(如Ledger Nano S、Keepkey、Trezor)是指離線存儲(chǔ)私鑰,包含一個(gè)脫機(jī)部分可以決定是否對(duì)交易進(jìn)行簽名;分層確定性(hierarchical deterministic)錢包的原理是利用隨機(jī)數(shù)產(chǎn)生一個(gè)主私鑰,之后再由主私鑰產(chǎn)生一系列子私鑰,且該過(guò)程不可逆,可以很好地實(shí)現(xiàn)權(quán)限控制管理;多簽名錢包如Copay 需要“m-of-n” 簽名實(shí)現(xiàn)多私鑰和用戶控制管理.

2016年,開源比特幣隱私工程(Open Bitcoin Privacy Project,簡(jiǎn)稱OBPP)發(fā)布了比特幣錢包性能報(bào)告第二版,對(duì)20 款比特幣錢包進(jìn)行了測(cè)評(píng),根據(jù)這些錢包所提供的安全水平進(jìn)行了評(píng)級(jí).OBPP 評(píng)選出了5 款安全性或者隱私性最好的比特幣錢包,Ledger、Breadwallet、Airbitz、Darkwallet、ArcBit.報(bào)告發(fā)現(xiàn),越來(lái)越多的比特幣錢包都采用分層確定性架構(gòu),這是專注于保護(hù)隱私的比特幣錢包的一個(gè)重要特征,它可以幫助客戶避免地址重用.

2.4 輕量級(jí)客戶端隱私

并非所有的節(jié)點(diǎn)都有能力儲(chǔ)存完整的區(qū)塊鏈賬本,許多比特幣客戶端被設(shè)計(jì)成運(yùn)行在空間和功率受限的設(shè)備上,如智能電話、平板電腦、嵌入式系統(tǒng)等,在這些設(shè)備上使用的輕量級(jí)密碼算法和協(xié)議[20,21]也是目前重要的研究方向.對(duì)于這樣的設(shè)備,通過(guò)簡(jiǎn)化的支付驗(yàn)證(SPV)[22]的方式可以使它們?cè)诓槐卮鎯?chǔ)完整區(qū)塊鏈的情況下進(jìn)行工作.這種類型的客戶端被稱為SPV 客戶端或輕量級(jí)客戶端.隨著比特幣的使用熱潮,SPV 節(jié)點(diǎn)逐漸變成比特幣節(jié)點(diǎn)(尤其是比特幣錢包)最常采用的形式.

SPV 客戶端不存儲(chǔ)整個(gè)區(qū)塊鏈,也不驗(yàn)證系統(tǒng)中的所有交易,只接收其所連接的完整節(jié)點(diǎn)為其過(guò)濾的交易的子集.目前,SPV 客戶端默認(rèn)連接到四個(gè)不同的隨機(jī)選擇節(jié)點(diǎn).SPV 客戶端從一個(gè)給定的區(qū)塊高度請(qǐng)求整個(gè)區(qū)塊或只包含來(lái)自每個(gè)區(qū)塊的相關(guān)交易的過(guò)濾區(qū)塊.SPV 客戶端只執(zhí)行有限數(shù)量的驗(yàn)證,例如在Merkle 樹中驗(yàn)證區(qū)塊難度和交易的存在性證明,并將所有交易和區(qū)塊的驗(yàn)證工作交給比特幣全節(jié)點(diǎn).

由于SPV 節(jié)點(diǎn)需要讀取特定交易從而選擇性地驗(yàn)證交易,這樣就又產(chǎn)生了隱私風(fēng)險(xiǎn).與全節(jié)點(diǎn)收集每一個(gè)區(qū)塊內(nèi)的全部交易所不同的是,SPV 節(jié)點(diǎn)對(duì)特定數(shù)據(jù)的請(qǐng)求可能無(wú)意中透露了錢包里的地址信息.例如,監(jiān)控網(wǎng)絡(luò)的第三方可以跟蹤某個(gè)SPV 節(jié)點(diǎn)上的錢包所請(qǐng)求的全部交易信息,并且利用這些交易信息把比特幣地址和錢包的用戶關(guān)聯(lián)起來(lái),從而損害了用戶的隱私.SPV 錢包結(jié)合Bloom 過(guò)濾器(Bloom filter)[23]解決了客戶端檢索的問(wèn)題,原理是Bloom filter 可以通過(guò)一個(gè)采用概率而不是固定模式的過(guò)濾機(jī)制,從而可以過(guò)濾掉大量無(wú)關(guān)數(shù)據(jù),減少客戶端不必要的下載量.

圖2 SPV 客戶端操作示意圖Figure 2 Sketch of operation undergone by SPV client

如圖2 所示,SPV 客戶端向比特幣全節(jié)點(diǎn)發(fā)送Bloom 過(guò)濾器,并接收與本地錢包相關(guān)的交易.然而SPV 在隱私和安全方面也存在隱患,因?yàn)榫W(wǎng)絡(luò)中的關(guān)鍵安全組件外包給系統(tǒng)中的少數(shù)節(jié)點(diǎn),如果所有這些節(jié)點(diǎn)都是惡意的,那么它們可以有效地控制網(wǎng)絡(luò)上的SPV 客戶端的視圖,并且可以阻塞客戶端發(fā)送和接收交易.SPV 客戶端對(duì)Bloom 過(guò)濾器的依賴泄漏了關(guān)于比特幣用戶地址的大量信息,當(dāng)用戶重新啟動(dòng)SPV 客戶端或者攻擊者訪問(wèn)屬于同一個(gè)SPV 客戶端的多個(gè)Bloom 過(guò)濾器時(shí),這種信息泄漏進(jìn)一步惡化.

網(wǎng)絡(luò)層同樣也會(huì)信息泄露SPV 客戶端的隱私,攻擊者可以嘗試通過(guò)識(shí)別用于外包Bloom 過(guò)濾器的IP 地址來(lái)將不同的Bloom 過(guò)濾器鏈接到單個(gè)錢包.例如,如果相同的IP 地址將兩個(gè)不同的Bloom 過(guò)濾器外包給常規(guī)節(jié)點(diǎn),則該節(jié)點(diǎn)可以直接推斷出那些過(guò)濾器屬于同一個(gè)實(shí)體.由于與SPV 客戶端連接的攻擊者可以看到客戶端發(fā)出的交易,并且可能會(huì)使用該交易來(lái)了解客戶的地址,所以這種泄漏更加惡化.

源于網(wǎng)絡(luò)層的信息泄露可以得到遏制.例如,當(dāng)SPV 客戶端發(fā)布比特幣交易或者外包他們的Bloom過(guò)濾器時(shí),SPV 客戶端可以使用諸如Tor 的匿名網(wǎng)絡(luò)隱藏源IP 地址信息;BIP-150 和BIP-151 兩種比特幣改進(jìn)方案在比特幣P2P 網(wǎng)絡(luò)中增加了對(duì)P2P 認(rèn)證和加密的支持,其允許用戶運(yùn)行連接到受信任的完整節(jié)點(diǎn)的SPV 客戶端,使用加密和身份驗(yàn)證來(lái)保護(hù)SPV 客戶端的隱私.此外,可以使用身份驗(yàn)證來(lái)創(chuàng)建可信比特幣節(jié)點(diǎn)網(wǎng)絡(luò),并防止中間人攻擊.

2014年,Gervais 等[24]研究表明,現(xiàn)有比特幣SPV 客戶端對(duì)Bloom 過(guò)濾器的依賴泄漏了關(guān)于比特幣用戶地址的大量信息.Gervais 使用概率Ph(N)來(lái)量化由Bloom filterBi提供的隱私效果,即攻擊者正確地猜測(cè)Bi中與過(guò)濾器匹配的所有正確率(true positives)中的任何N個(gè),并且攻擊者無(wú)先驗(yàn)知識(shí).這里,N表示插入到Bi中的比特幣地址的數(shù)量,S表示集合的基數(shù).攻擊者正確猜測(cè)Bi的所有地址的概率由式(2)給出.顯然,Ph(.)值越大,SPV 節(jié)點(diǎn)的隱私性越小.

Gervais 等首先分析了攻擊者獲取與SPV 客戶端相關(guān)的單個(gè)Bloom 過(guò)濾器時(shí)SPV 客戶端的信息泄露情況,然后分析攻擊者可以獲取兩個(gè)不同的Bloom 過(guò)濾器B1、B2的情況.在分析由于獲取兩個(gè)Bloom過(guò)濾器而導(dǎo)致的信息泄漏時(shí),Gervais 等區(qū)分兩種情況:(1)B1、B2屬于不同用戶;(2)B1、B2屬于同一個(gè)用戶.在B1、B2對(duì)應(yīng)于同一個(gè)SPV 客戶端的情況下,出現(xiàn)三個(gè)子情況:(1)B1、B2使用相同的種子,過(guò)濾器大小相同;(2)B1、B2使用不同的種子;(3)B1、B2使用相同的種子,但過(guò)濾器大小不同.

3 比特幣隱私增強(qiáng)協(xié)議

在本節(jié),我們概述并分析增強(qiáng)比特幣隱私的協(xié)議,我們首先描述混合服務(wù)和混幣技術(shù),然后介紹盲簽名和離鏈支付協(xié)議對(duì)比特幣在隱私保護(hù)上的改善,這些協(xié)議都不需要修改現(xiàn)有的比特幣協(xié)議.

3.1 混幣技術(shù)

混幣技術(shù)是一種不需要修改比特幣協(xié)議的提高比特幣匿名性的有效手段,可以有效抵抗交易圖分析攻擊.混幣服務(wù)將不同用戶的比特幣混合后,重新分配到特定的接收地址.這一過(guò)程會(huì)破壞交易輸入輸出地址之間的鏈接關(guān)系.根據(jù)混合過(guò)程是否需要可信第三方(混合服務(wù)器)的參與,又可以進(jìn)一步分為中心化混合方案[25–28]和去中心化混合方案[29–35],下面分別加以介紹.

3.1.1 中心化混合

中心化混合服務(wù)平臺(tái)協(xié)助比特幣用戶去更好地保持匿名以保護(hù)隱私,其引入可信第三方(混合服務(wù)器)來(lái)完成比特幣用戶的資金收集和分配任務(wù).目前很多平臺(tái)(如BitcoinFog、BitLaundry、Blockchain.info等)都提供比特幣混合服務(wù),其混合服務(wù)能夠做到匿名性的前提是這些混合平臺(tái)處于自身利益考慮(如收取一定的交易費(fèi)和提高平臺(tái)聲譽(yù))不保存任何轉(zhuǎn)賬記錄,也不要求認(rèn)證用戶的真實(shí)身份信息.當(dāng)數(shù)據(jù)外泄或公開時(shí)(遭受黑客攻擊或接到監(jiān)管機(jī)構(gòu)要求),并不會(huì)對(duì)用戶產(chǎn)生任何影響,因?yàn)槠渲袥](méi)有任何轉(zhuǎn)賬記錄,使用混合服務(wù)的用戶的個(gè)人身份也無(wú)法識(shí)別.

除了中心化混合服務(wù)平臺(tái),Bonneau 等在文獻(xiàn)[25]中提出MixCoin,一種依賴于第三方的中心化混幣協(xié)議.MixCoin 用戶使用標(biāo)準(zhǔn)交易向第三方混合服務(wù)方發(fā)送一些比特幣,然后從混合服務(wù)方接收相應(yīng)數(shù)量的比特幣(扣除相應(yīng)的交易費(fèi)),因此它提供了外部匿名性.MixCoin 使用基于聲譽(yù)的加密問(wèn)責(zé)技術(shù)來(lái)防止混合中的用戶比特幣竊取和協(xié)議中斷.

然而,第三方混合服務(wù)方可能隨時(shí)竊取用戶比特幣,或者成為對(duì)用戶匿名的威脅,因?yàn)榈谌交旌戏?wù)方知道用戶輸入地址和輸出地址之間的關(guān)聯(lián).交易費(fèi)的限制使得Mixcoin 可以抵抗Sybil 攻擊,但是不提供內(nèi)部不可鏈接性,同時(shí)存在用戶資金失竊的風(fēng)險(xiǎn).

由此可見,中心化混合服務(wù)存在諸多問(wèn)題,例如:

(1)額外的混合費(fèi)用.隨著比特幣價(jià)格的持續(xù)上漲,其交易費(fèi)弊端也日益凸顯.

(2)混合服務(wù)平臺(tái)知道輸入輸出地址之間的鏈接關(guān)系,無(wú)法保證內(nèi)部不可鏈接性,同時(shí)也存在服務(wù)平臺(tái)盜竊用戶比特幣的風(fēng)險(xiǎn).

(3)存在服務(wù)平臺(tái)被惡意攻擊者侵入的風(fēng)險(xiǎn),這會(huì)導(dǎo)致比特幣失竊和用戶隱私泄露.

為了在混合過(guò)程中實(shí)現(xiàn)內(nèi)部不可鏈接性,Valenta 等提出BlindCoin 協(xié)議[26],通過(guò)使用盲簽名來(lái)創(chuàng)建用戶輸入和盲令牌的加密盲化輸出地址來(lái)改進(jìn)MixCoin 協(xié)議.BlindCoin 具體混合步驟如下:

(1)用戶A通過(guò)向服務(wù)方發(fā)送其請(qǐng)求(D,TAC)來(lái)選擇混合服務(wù),請(qǐng)求中包括混合參數(shù)D以及承諾函數(shù)AC加密的盲化令牌T,T由輸出地址kout、隨機(jī)數(shù)n組成.

(2)服務(wù)方向用戶發(fā)送{[T]AC,kesc,D}Mpriv,其中包括盲令牌T、托管地址kesc和混合參數(shù)D,并用服務(wù)方私鑰Mpriv簽名.

(3)服務(wù)方簽名盲令牌{[T]AC}Mpriv完成證書.

(4)一旦盲令牌發(fā)布到公開日志上,用戶A可以通過(guò)承諾函數(shù)AC′來(lái)恢復(fù)簽名的去盲化令牌.用戶A′匿名地去盲化kout,將簽名的令牌發(fā)布到公開賬日志上.

然而,為了實(shí)現(xiàn)這種內(nèi)部的無(wú)關(guān)聯(lián)性,BlindCoin 需要兩次額外的交易來(lái)發(fā)布和贖回盲令牌,而且服務(wù)商跑路的威脅依然存在.BlindCoin 解決了內(nèi)部鏈接性問(wèn)題,但代價(jià)是盲簽名帶來(lái)的系統(tǒng)開銷和混合階段額外的時(shí)間開銷.于是研究人員提出了各類去中心化混合方案[29–35].

類似BlindCoin,研究人員提出基于RSA 盲簽名的比特幣混幣算法[27],使用混幣代理并設(shè)計(jì)協(xié)議混淆比特幣用戶交易使用地址與實(shí)際擁有地址之間的聯(lián)系,加大攻擊者從區(qū)塊鏈分析攻擊的難度.系統(tǒng)中引入的可信第三方實(shí)現(xiàn)了可控匿名.同年提出的基于橢圓曲線盲簽名方案的中心化混幣算法[28],在性能上有了進(jìn)一步的提升.

針對(duì)中心化混合服務(wù)存在的諸多問(wèn)題,研究人員提出了各類去中心化混合方案[29–35].

3.1.2 去中心化混合

去中心化混合實(shí)現(xiàn)比特幣匿名的思想是:n個(gè)至少有υ比特幣的混合節(jié)點(diǎn)將輸入地址I1,···,In混合后輸出地址O1,···,On,使得:

(1)每個(gè)輸入節(jié)點(diǎn)的輸出地址接收到υ比特幣.

(2)輸入地址和輸出地址是不可鏈接的,即只有輸入節(jié)點(diǎn)i知道Ii和Oi.

本質(zhì)上,這意味著每個(gè)輸入節(jié)點(diǎn)i發(fā)出交易IiOπ(i),其中π是{1,···,n} 上的隨機(jī)排列.

2013年,Maxwell 首先提出CoinJoin[29]協(xié)議,旨在打破比特幣輸入輸出地址之間的鏈接.每筆CoinJoin 交易是一個(gè)標(biāo)準(zhǔn)多簽名(multi-signature)比特幣交易,每個(gè)參與者匿名提供自己的輸出地址并檢查其是否被包含在該交易輸出中,如果沒(méi)有則拒絕簽名.所有參與者都完成簽名之后,該交易就會(huì)作為正常比特幣交易放到區(qū)塊鏈上,外部觀察者無(wú)法判斷輸入輸出地址之間的對(duì)應(yīng)關(guān)系.CoinJoin 提供了很好的外部不可鏈接性,也不存在混合費(fèi)和資金失竊問(wèn)題.但是其匿名性取決于混合參與者的數(shù)目,容易受到DoS 攻擊和Sybil 攻擊,內(nèi)部不可鏈接性也無(wú)法保證.CoinJoin 在以保護(hù)隱私為要旨的加密數(shù)字貨幣達(dá)式幣(DASH)中得到了應(yīng)用.

Fair Exchange 協(xié)議[30]由Barber 等提出,它是一個(gè)雙方比特幣交換協(xié)議,雙方使用比特幣腳本和三類比特幣交易(包括保證交易、退款交易和索賠交易)在不需要互相信任的情況下互相交換比特幣.

CoinSwap 協(xié)議[31]允許雙方(Alice 和Bob)不通過(guò)直接的可追溯的交易進(jìn)行比特幣轉(zhuǎn)賬.第三方Carol 從Alice 收到比特幣后,再使用自己的不相關(guān)比特幣支付給Bob.通過(guò)使用多簽名托管交易,CoinSwap 可在雙方無(wú)信任的前提下實(shí)現(xiàn)比特幣支付.通過(guò)發(fā)布在比特幣賬本上的哈希鎖定交易來(lái)解決一方不誠(chéng)實(shí)執(zhí)行協(xié)議問(wèn)題,避免資金損失.CoinSwap 的匿名性取決于同時(shí)參加混合的用戶數(shù)(金額相同),然而Carol 無(wú)利益驅(qū)動(dòng)參與Alice 和Bob 之間的交易,另一方面由于比特幣賬本的多簽名交易可以被識(shí)別出來(lái),加上三方之間轉(zhuǎn)賬金額一致,CoinSwap 匿名性也受到一定程度影響.

XIM 是一個(gè)雙方比特幣交換協(xié)議[32],不需要第三方參與.XIM 中提到了一種在比特幣區(qū)塊鏈中尋找混合節(jié)點(diǎn)的方法,其采用Fair Exchange 作為交換協(xié)議,通過(guò)收取交易費(fèi)防止Sybil 攻擊和DoS 攻擊.

2014年,Ruffing 等提出的CoinShuffle 協(xié)議[33]是一個(gè)完全去中心化的比特幣地址混合方案.每個(gè)節(jié)點(diǎn)i(以預(yù)定義的混洗順序表示的節(jié)點(diǎn)i)使用節(jié)點(diǎn)j>i的加密密鑰來(lái)創(chuàng)建它的輸出地址的分層加密.然后,從節(jié)點(diǎn)1 開始順序執(zhí)行混洗:每個(gè)節(jié)點(diǎn)i依次從節(jié)點(diǎn)i?1 接收到i?1 個(gè)密文.然后,每個(gè)節(jié)點(diǎn)從密文中剝離一層加密信息,添加自己的密文再隨機(jī)混洗結(jié)果集.節(jié)點(diǎn)將混合的密文集發(fā)送給下一個(gè)節(jié)點(diǎn)i+1,最后一個(gè)節(jié)點(diǎn)執(zhí)行解密產(chǎn)生一個(gè)混洗的輸出地址列表并廣播此列表.

CoinShuffle 混洗具體過(guò)程:每個(gè)節(jié)點(diǎn)先選擇一個(gè)新的比特幣地址,即新的驗(yàn)證-簽名密鑰對(duì)().接下來(lái)節(jié)點(diǎn)1 對(duì)輸出地址創(chuàng)建分層加密c1并發(fā)送到節(jié)點(diǎn)2,c1=Enc2(Enc3(···EncN())).C1是只有c1的一元向量.在接收到向量Ci?1后,節(jié)點(diǎn)i∈{2,···,N} 對(duì)向量中的每個(gè)消息進(jìn)行解密,之后用剩余N?i個(gè)節(jié)點(diǎn)的公鑰加密輸出地址獲得ci,ci=Enci+1(Enci+2(···EncN())).然后節(jié)點(diǎn)i將ci添加到解密消息向量中,并隨機(jī)混洗擴(kuò)展向量,獲得新的向量Ci.

CoinShuffle 去中心化的方式實(shí)現(xiàn)了內(nèi)部不可鏈接性,能夠抵抗DoS 攻擊和防止用戶混合資金失竊,但是匿名性與匿名集合大小有關(guān),匿名程度低,也容易受到交叉攻擊[36]和Sybil 攻擊.

2015年Ziegeldorf 等在CoinShuffle 之上提出了CoinParty 協(xié)議[35],基于解密混合網(wǎng)和閾值簽名方案,通過(guò)安全多方計(jì)算[37]模擬可信第三方在用戶之間實(shí)現(xiàn)安全、匿名的比特幣混合.CoinParty 帶來(lái)的優(yōu)點(diǎn)是無(wú)需混合費(fèi),提高了協(xié)議魯棒性和可擴(kuò)展性,缺點(diǎn)是容易受到DoS 攻擊和需要更多的混合時(shí)間.

2017年,Heilman 等提出了一種去中心化、去信任的混幣TumbleBit[34]協(xié)議,旨在實(shí)現(xiàn)快速實(shí)時(shí)的匿名線下交易.TumbleBit 通過(guò)中間節(jié)點(diǎn)Tumber 為交易雙方建立支付通道,但是支付通道信息對(duì)Tumber 隱藏,Tumber 也不知道交易雙方的身份.TumbleBit 不需要區(qū)塊確認(rèn)(節(jié)約了交易時(shí)間),交易資金保密并且同一支付通道下的多個(gè)交易也不能被鏈接在一起,同時(shí)TumbleBit 無(wú)需對(duì)比特幣協(xié)議作出修改.

我們?cè)诒? 給出了各類去中心化混合方案的技術(shù)特點(diǎn)及其優(yōu)缺點(diǎn)對(duì)比.

表1 去中心化混合方案對(duì)比Table 1 Comparison of decentralized coin-mixing schemes

3.2 離鏈支付協(xié)議

離鏈支付協(xié)議是一類基于限制發(fā)布的保護(hù)方案,是指不將涉及隱私的歷史交易數(shù)據(jù)記錄在區(qū)塊鏈上,既保護(hù)了隱私,又提高了比特幣區(qū)塊容量,典型應(yīng)用包括閃電網(wǎng)絡(luò)、支付通道、Bolt 方案等.

2015年,Poon 和Dryja 提出了比特幣閃電網(wǎng)絡(luò)概念[38].通過(guò)擴(kuò)展雙向支通道方式[39],創(chuàng)造性地設(shè)計(jì)出了兩種類型的交易合約:序列到期可撤銷合約RSMC(revocable sequence maturity contract)和哈希時(shí)間鎖定合約HTLC(Hashed timelock contract),實(shí)現(xiàn)允許任意數(shù)量的節(jié)點(diǎn)即時(shí)交易.閃電交易是一種正常的比特幣交易,只是大部分交易并沒(méi)有發(fā)布到區(qū)塊鏈上.因?yàn)榇罅康慕灰讛?shù)據(jù)是被存儲(chǔ)在線下,閃電交易顯著降低了比特幣交易成本,使其能夠?qū)崿F(xiàn)小額快速支付.

用戶之間可以開通一個(gè)雙向支付通道,通過(guò)中間節(jié)點(diǎn)在這個(gè)通道中進(jìn)行交易.只有當(dāng)交易完成后,通道的最終狀態(tài)才會(huì)廣播給區(qū)塊鏈.廣播公開的交易信息包括他們之間的總交易量,但不會(huì)公布他們之間的交易次數(shù),這種模糊性有利于保護(hù)隱私.但是中間節(jié)點(diǎn)會(huì)獲知交易雙方隱私數(shù)據(jù),為解決這個(gè)問(wèn)題,目前的閃電網(wǎng)絡(luò)包含在一種P2P 網(wǎng)絡(luò)上匿名轉(zhuǎn)播信息的Sphinx 協(xié)議[40](類似于Tor)隱藏所有來(lái)自中間節(jié)點(diǎn)的路由數(shù)據(jù).

Green 等提出的Bolt[41]方案通過(guò)解除交易在支付通道內(nèi)的聯(lián)系解決在小額支付渠道背景下的隱私保護(hù)問(wèn)題.Bolt 通過(guò)使用承諾和盲簽名兩種加密技術(shù),保證同一通道下的多重支付不能被鏈接在一起.但是目前Bolt 只能支持單跳中介網(wǎng)絡(luò),其去中心化問(wèn)題也有待完善.

4 密碼學(xué)方案保護(hù)比特幣隱私

本節(jié)討論基于密碼學(xué)的比特幣隱私保護(hù)技術(shù),相比之下,比特幣的密碼學(xué)保護(hù)機(jī)制消除了對(duì)可信第三方的需求,但代價(jià)是在性能方面有所下降.

4.1 隱蔽地址

隱蔽地址首先由Todd 在文獻(xiàn)[42]中提出,思想是每次發(fā)送者要發(fā)起一筆交易時(shí),先利用接收者的公鑰信息計(jì)算出一次性臨時(shí)中間地址,然后將幣發(fā)送到這個(gè)中間地址,接收方再利用自己的公私鑰信息找到那筆交易,從而進(jìn)行花費(fèi).這樣網(wǎng)絡(luò)上其他的用戶包括礦工等就無(wú)法確定中間地址到底屬于誰(shuí)的,但依然可以驗(yàn)證交易的有效性,而由于這個(gè)地址又是一次性的,每次都重新隨機(jī)產(chǎn)生,攻擊者也就無(wú)法對(duì)真實(shí)的發(fā)送者接收方作任何關(guān)聯(lián).

隱蔽地址基于橢圓曲線上的Diffie-Hellman 密鑰交換.當(dāng)Bob 想要接收比特幣同時(shí)保持匿名,Bob首先生成一個(gè)ECDSA 密鑰對(duì)Q=d·G(G是一個(gè)公開的生成器),然后發(fā)布公鑰Q作為靜態(tài)標(biāo)識(shí)符.Alice 現(xiàn)在生成自己的臨時(shí)密鑰對(duì)P=e·G并計(jì)算共享密鑰c=H(e·G).然后,Alice 使用c導(dǎo)出點(diǎn)Q′=Q+c·G,將Q′轉(zhuǎn)換為比特幣地址,并向其發(fā)送比特幣.在交易中,Alice 還將以前生成的點(diǎn)P包含在OP_RETURN 輸出(比特幣基本交易類型之一)中.對(duì)區(qū)塊鏈上可能包含P的交易,Bob 計(jì)算c=H(d·P)并檢查這是否可以導(dǎo)出有效點(diǎn)Q′=(d+c)·G.然后Bob 可以通過(guò)計(jì)算匹配的私鑰d′=d+c來(lái)花費(fèi)在Q′上的比特幣.

CryptoNote[43]就使用了隱蔽地址技術(shù)來(lái)實(shí)現(xiàn)接收方匿名.每個(gè)CryptoNote 輸出的目的地址(默認(rèn)情況下)是一個(gè)公鑰,從接收方的地址和發(fā)送方的隨機(jī)數(shù)據(jù)派生.首先,發(fā)送方執(zhí)行Diffie-Hellman 交換,從接收方數(shù)據(jù)和接收方的一半地址獲取共享密鑰.然后,接收方使用共享密鑰和地址的第二部分計(jì)算一次性目的地址密鑰.接收方還執(zhí)行Diffie-Hellman 交換以恢復(fù)相應(yīng)的秘密密鑰.以Alice 向Bob 發(fā)起一筆支付為例:

1.Alice 首先獲取Bob 的公鑰信息(A,B).

2.Alice 生成一個(gè)隨機(jī)數(shù)r并計(jì)算一次性公鑰P=Hs(rA)·G+B.

3.接下來(lái)Alice 計(jì)算R=rG,然后生成一筆交易將P作為目的地址并將R也放入交易中,也就是說(shuō)現(xiàn)在交易中包括R和P兩部分信息.

4.Alice 將交易廣播到區(qū)塊鏈上.

5.Bob 對(duì)所有的交易進(jìn)行檢查:從交易中獲得R,并通過(guò)公鑰對(duì)應(yīng)的私鑰(a,b)計(jì)算期望的地址P′=Hs(rA)·G+B,如果P′=P,那么該交易就是發(fā)給Bob 的.

6.Bob 找到自己的交易后就可以計(jì)算出對(duì)應(yīng)的私鑰x=Hs(aR)+B,然后使用私鑰簽名交易進(jìn)行花費(fèi).

通過(guò)變換r的值,即使Alice 發(fā)給Bob 很多筆交易,每筆交易的輸出目標(biāo)地址也是不同的,這樣交易的匿名性就得到了保障(既無(wú)法猜到交易的發(fā)送方是誰(shuí),也無(wú)法猜到接收方是誰(shuí)).由于交易的接收方(即Bob)需要不斷檢查交易是否是給自己的,其需要對(duì)每筆交易的每個(gè)輸出進(jìn)行計(jì)算,這也消耗不少的計(jì)算資源.Bob 可以將其一半的私鑰(a,B)告訴第三方,由其提供服務(wù)對(duì)交易進(jìn)行檢查(即計(jì)算P′并判斷其是否等于P),而由于B對(duì)應(yīng)的私鑰b沒(méi)有公開,所以第三方也無(wú)法花費(fèi)Bob 擁有的資產(chǎn)(即交易輸出).此外,Alice 也可以通過(guò)公布r(或者通過(guò)r進(jìn)行簽名并由他人驗(yàn)證)來(lái)證明交易的發(fā)送方是其本人.

DarkWallet 和BitShares 也在使用隱蔽地址技術(shù),然而隱蔽地址技術(shù)不對(duì)發(fā)送方匿名,為了解決這個(gè)問(wèn)題,CryptoNote[43]引入了環(huán)簽名方案將發(fā)送方交易隱藏在匿名集合中.

4.2 環(huán)簽名

2001年,Rivest 等[44]在如何匿名揭示秘密的背景下提出了環(huán)簽名(ring signatures)技術(shù),環(huán)簽名是一種特殊的群簽名,沒(méi)有可信中心,也沒(méi)有群的建立過(guò)程,對(duì)于驗(yàn)證者來(lái)說(shuō)簽名者是完全匿名的.在環(huán)簽名方案中,環(huán)中一個(gè)成員利用他的私鑰和其他成員的公鑰進(jìn)行簽署交易,而驗(yàn)證者只知道簽名來(lái)自這個(gè)環(huán),但不知到誰(shuí)是真正的簽名者.環(huán)簽名解決了對(duì)簽名者完全匿名的問(wèn)題,環(huán)簽名允許一個(gè)成員代表一組人進(jìn)行簽名而不泄漏簽名者的信息.基于環(huán)簽名的方案為去中心化的賬本體系提供了可行的匿名化思路.

與一般數(shù)字簽名方案類似,環(huán)簽名方案包含兩個(gè)基本的環(huán)節(jié):

(1)環(huán)簽名(ring-sign):對(duì)于消息m,用戶s使用一組公開信息(P1,P2,···,Pr)以及私鑰Ss,生成簽名σ.

(2)環(huán)簽名驗(yàn)證(ring-verify):對(duì)于驗(yàn)證者,當(dāng)其獲得消息m和簽名σ時(shí),判斷這個(gè)簽名是否有效.

CryptoNote[43]協(xié)議正是使用環(huán)簽名保護(hù)用戶隱私,其一次性環(huán)簽名的簽名和驗(yàn)證步驟如下:

(1)密鑰生成(GEN).簽名者首先隨機(jī)選擇一個(gè)私鑰x,然后計(jì)算對(duì)應(yīng)的公鑰P=xG,同時(shí)還計(jì)算另外一個(gè)公鑰I=xHp,這個(gè)公鑰I稱之為“密鑰鏡像”(key image),對(duì)于每一個(gè)簽名來(lái)說(shuō)這個(gè)密鑰鏡像是唯一的,所以后面也被用來(lái)判斷簽名是否之前出現(xiàn)過(guò).

(2)簽名(SIG).簽名過(guò)程是一個(gè)非交互零知識(shí)證明過(guò)程.簽名者取其他(部分)用戶的公鑰Pi形成集合S′={Pi},|{Pi}| =n,和自己的公鑰一起組成集合S=S′∪{Ps}(s∈[0,n]表示交易發(fā)送方的公鑰Ps在集合S中的秘密索引).然后簽名者再隨機(jī)選擇{qi|i=0,···,n} 和{wi|i=0,···,n,is},計(jì)算

接著計(jì)算一個(gè)非交互式挑戰(zhàn)c=Hs(m,L1,···,Ln,R1,···,Rn),最后簽名者再計(jì)算響應(yīng):

最終的簽名就是σ=(I,c1,···,cn,r1,···,rn).

(3)簽名驗(yàn)證(VER).驗(yàn)證者要驗(yàn)證簽名的有效性,首先計(jì)算

(4)重復(fù)檢測(cè)(LNK).檢查密鑰鏡像是否已被使用,即雙重支付檢查.驗(yàn)證者保存已使用過(guò)(即曾經(jīng)已用于簽名的)的密鑰鏡像集合I=Ii,如果簽名σ中的密鑰鏡像在集合中存在,表示該密鑰鏡像已被使用,即說(shuō)明該交易存在雙重支付的情況.

CryptoNote 實(shí)現(xiàn)的可追溯環(huán)簽名可以有效防止雙花.在可追溯環(huán)簽名算法中,由一個(gè)私鑰簽發(fā)的兩個(gè)簽名是可以被關(guān)聯(lián)起來(lái)的,因此,只要一筆交易雙花,意味著私鑰簽發(fā)了兩個(gè)不同的簽名,因此可以被檢測(cè)出來(lái),從而解決雙花問(wèn)題.

雖然CryptoNote 加密技術(shù)解決了加密貨幣的許多問(wèn)題,提供了良好的匿名性,但是存在交易規(guī)模大和區(qū)塊鏈擴(kuò)展性差的問(wèn)題.目前在CryptoNote 加密貨幣中實(shí)現(xiàn)的環(huán)簽名大小上存在限制,因?yàn)殡S著環(huán)的尺寸的增加,交易數(shù)據(jù)的大小線性增長(zhǎng).該加密技術(shù)的主要缺點(diǎn)是,它的交易特別是RingCT[45](環(huán)狀機(jī)密交易)的交易非常大,占用了幾千字節(jié),這大大增加了存儲(chǔ)區(qū)塊鏈所需空間,目前還無(wú)法精簡(jiǎn)已形成的加密區(qū)塊鏈.使用與比特幣完全不同的代碼庫(kù),也意味著很難將其整合到現(xiàn)有的比特幣生態(tài)系統(tǒng)中.

除此之外,以太坊平臺(tái)[46]也增加了一個(gè)類CryptoNote 環(huán)簽名,這樣使得以太坊用戶擁有類似于門羅幣(Monero)的匿名能力.一些基于CryptoNote 的密碼貨幣例如Bytecoin 和DarkNetSpace 使用環(huán)簽名來(lái)隱藏發(fā)送方.

4.3 零知識(shí)證明

零知識(shí)證明最先由Goldwasser 等[47]在20 世紀(jì)80年代初提出,指的是一方(證明者)能夠在不向另一方(驗(yàn)證者)提供任何有用的信息(在密碼貨幣和區(qū)塊鏈中,這通常是指交易信息數(shù)據(jù))的前提下,也能使得另一方能夠相信某個(gè)論斷是正確的,一定程度上保護(hù)了自身的隱私.零知識(shí)證明具有3 條性質(zhì):

(1)完備性.如果論述是真實(shí)的,誠(chéng)實(shí)的證明者能夠以絕對(duì)優(yōu)勢(shì)的概率使誠(chéng)實(shí)的驗(yàn)證者相信該事實(shí).

(2)可靠性.如果論述是錯(cuò)誤的,欺騙性的證明者不能,或者只能以可忽略的概率使誠(chéng)實(shí)的驗(yàn)證者相信它是真實(shí)的.

(3)零知識(shí)性.證明過(guò)程執(zhí)行完之后,驗(yàn)證者只獲得了“證明者擁有這個(gè)知識(shí)” 這條信息,證明過(guò)程中不可向驗(yàn)證者泄漏任何有關(guān)被證明知識(shí)的內(nèi)容.

Zerocoin[48]和Zerocash[49]都是通過(guò)引入零知識(shí)證明而達(dá)到匿名目的的加密貨幣.

4.3.1 Zerocoin

Zerocoin 方案[48]把比特幣換成一個(gè)Zerocoin 幣,使用承諾隱藏交易細(xì)節(jié),再?gòu)牧硪粋€(gè)比特幣地址中換回Zerocoin 幣,割裂輸入地址和輸出地址的關(guān)系.Zerocoin 通過(guò)創(chuàng)建兩種新的交易類型來(lái)擴(kuò)展比特幣:鑄幣交易(mint)和花費(fèi)交易(spend).鑄幣交易允許用戶交換一定數(shù)量的比特幣以制造新的Zerocoin 幣.每個(gè)Zerocoin 幣是使用隨機(jī)數(shù)r對(duì)序列號(hào)sn 的幣承諾cm,cm:=COMMr(sn)=gsnhr.

隨后,用戶可以發(fā)出包括接收地址、序列號(hào)sn 和NP 語(yǔ)句的非交互式零知識(shí)證明的spend 交易“我知道秘密cm 和隨機(jī)數(shù)r使得:

(1)cm 過(guò)去被鑄幣(Zerocoin 幣存在于區(qū)塊鏈上);

(2)通過(guò)承諾隨機(jī)數(shù)r打開cm(揭露承諾cm 背后的序列號(hào)sn).”

Zerocoin 構(gòu)建相應(yīng)的零知識(shí)證明通過(guò)累加器累積所有鑄幣承諾的集合,然后證明該集合中相應(yīng)的承諾隨機(jī)數(shù)和集合中元素.在Zerocoin 中,計(jì)算累加器的見證(witness)需要訪問(wèn)目前為止的所有承諾.零知識(shí)證明并不將花費(fèi)交易與任何特定的鑄幣交易(迄今為止所有鑄幣交易之間)相聯(lián)系.如果驗(yàn)證正確,并且序列號(hào)以前沒(méi)有被花費(fèi),則將相應(yīng)量的比特幣發(fā)送到目的地址.同樣地,Zerocoin 也存在許多問(wèn)題:

(1)功能局限性.Zerocoin 不能用來(lái)支付,不能拆分金額.

(2)匿名效果.Zerocoin 不能隱藏交易金額和接收方地址.

(3)性能問(wèn)題.Zerocoin 的零知識(shí)證明,至少占45 KB 空間和450 ms 的驗(yàn)證時(shí)間(128 位密鑰長(zhǎng)度),必須全網(wǎng)廣播和存儲(chǔ),并且由每個(gè)節(jié)點(diǎn)驗(yàn)證,將帶來(lái)巨大的區(qū)塊鏈容量和驗(yàn)證時(shí)間.

4.3.2 Zerocash

針對(duì)Zerocoin 方案的諸多缺陷,研究人員提出Zerocash[49]方案加以改進(jìn),使用zk-SNARKs(zeroknowledge succinct non-interactive argument of knowledge,零知識(shí)的簡(jiǎn)潔非交互式知識(shí)論證)保證交易之間的不可鏈接性,同時(shí)也對(duì)交易金額和輸入地址保密,達(dá)到了更好的隱私保護(hù)效果.

Zerocash 是一個(gè)去中心化密碼貨幣協(xié)議,與比特幣一樣,用戶通過(guò)廣播和驗(yàn)證支付交易來(lái)協(xié)作維護(hù)電子貨幣.然而,在合并支付交易和驗(yàn)證方式上Zerocash 與比特幣是不同的.Zerocash 擴(kuò)展了比特幣協(xié)議,添加了新的交易類型,提供了獨(dú)立的隱私保護(hù)貨幣,交易不會(huì)泄露支付賬戶、接收賬戶以及支付金額等信息.Zerocash 創(chuàng)建了一種獨(dú)立的匿名幣,此外還有一種基礎(chǔ)幣Basecoin(非匿名).每一個(gè)用戶都可以將Basecoins 轉(zhuǎn)換為Zerocash 幣(匿名),我們將后者稱之為Zerocoins.之后用戶可以將Zerocoins 發(fā)送給其它用戶、拆分或合并Zerocoins.

Zerocash 結(jié)構(gòu)如圖3 所示,下面從可變金額、匿名傳輸、驗(yàn)證效率介紹Zerocash 的改進(jìn).

(1)可變金額.為完成支付功能,zerocash 使用地址密鑰對(duì)(apk,ask),對(duì)應(yīng)地址公鑰和地址私鑰.要鑄造一個(gè)望值υ的幣,用戶首先隨機(jī)選擇ρ,即將幣的序列號(hào)確定為sn:=PRF((ρ)))的秘密值.那么,用戶分兩個(gè)階段對(duì)元組(apk,υ,r)作出承諾:

(a)對(duì)隨機(jī)數(shù)r計(jì)算k:=COMMr(apkρ);

(b)對(duì)隨機(jī)數(shù)s計(jì)算cm:=COMMs(υk).

鑄幣結(jié)果是幣承諾c:=(apk,υ,ρ,r,s,cm)和鑄幣交易txmint:=(υ,k,s,cm).由于嵌套的承諾,任何人都可以驗(yàn)證txmint中的cm 是價(jià)值υ的幣承諾(通過(guò)檢查COMMs(υk)等于cm),但不能識(shí)別所有者(通過(guò)地址apk)或序列號(hào)sn(派生自ρ),因?yàn)樗鼈兌茧[藏在k中.如前所述,只有在存入正確金額υ的情況下,txmint才被分類帳本接受.

圖3 Zerocash 結(jié)構(gòu)圖Figure 3 Structure of Zerocash

(2)匿名傳輸.Zerocash 修改地址密鑰對(duì)的結(jié)構(gòu),如圖4 所示,其中箭頭指示密鑰推導(dǎo)過(guò)程.Zerocash地址密鑰對(duì)包括兩個(gè)公鑰:與接收地址的幣承諾匹配的接收密鑰apk和用于key-private 非對(duì)稱加密方案的傳輸密鑰pkenc.“key-private” 意味著除了相應(yīng)的私鑰(查看密鑰skenc)的持有者,密文不會(huì)泄露關(guān)于它們被加密的密鑰的信息.地址密鑰對(duì)用于將區(qū)塊鏈上的加密幣承諾傳送給目的接收方,接收方可以使用查看密鑰skenc掃描區(qū)塊鏈中的幣承諾,然后解密.

圖4 Zerocash 地址密鑰對(duì)結(jié)構(gòu)Figure 4 Structure of address key-pair of Zerocash

(3)驗(yàn)證效率.Zerocash 通過(guò)對(duì)(增長(zhǎng)的)列表CMList 維護(hù)一個(gè)高效可更新的基于抗碰撞函數(shù)CRH的Merkle-tree:Tree,并使rt 表示Tree 的根.插入新的葉節(jié)點(diǎn)時(shí),rt 被更新的時(shí)間和空間復(fù)雜度與樹的深度成比例.因此,運(yùn)算成本從CMList 的線性級(jí)降至對(duì)數(shù)級(jí),也增加了列表空間(深度為64 的樹可以支持存儲(chǔ)264個(gè)幣).

Zerocash 將NP 語(yǔ)句修改為:“我知道r,使得COMMr(sn)作為葉節(jié)點(diǎn)出現(xiàn)在基于CRH 的Merkletree 中.” 與初始數(shù)據(jù)結(jié)構(gòu)相比,該修改指數(shù)增加了給定的zk-SNARKs 實(shí)現(xiàn)可以支持的CMList 的大小.

4.4 同態(tài)加密

同態(tài)加密最初在1978年由Rivest 等[50]提出:“是否可以無(wú)需密鑰就能夠?qū)γ芪倪M(jìn)行計(jì)算”? 同態(tài)加密也稱為隱私同態(tài),實(shí)現(xiàn)無(wú)需解密信息數(shù)據(jù)即可對(duì)加密數(shù)據(jù)進(jìn)行運(yùn)算.這種技術(shù)允許在保留對(duì)數(shù)據(jù)和交易隱私的同時(shí)還能對(duì)其進(jìn)行運(yùn)算,只有使用解密秘鑰才能訪問(wèn)這些數(shù)據(jù)和交易的詳細(xì)信息.區(qū)塊鏈上的數(shù)據(jù)將會(huì)被加密,保護(hù)了公有區(qū)塊鏈的隱私.使用同態(tài)加密技術(shù)在區(qū)塊鏈上加密存儲(chǔ)數(shù)據(jù),不會(huì)對(duì)其公有鏈屬性造成改變.同態(tài)加密技術(shù)使公有區(qū)塊鏈具有私有區(qū)塊鏈的隱私效果.

為了保護(hù)交易數(shù)據(jù)的私密性,通常需要將交易數(shù)據(jù)進(jìn)行加密,但同時(shí)還需要保障交易的合法性和可驗(yàn)證性.在很多場(chǎng)景下,交易合法性表現(xiàn)為交易的輸入總和等于輸出總和,交易中的每一個(gè)金額都大于0,小于一個(gè)上界.

2014年,Fran?a[51]改進(jìn)了微型區(qū)塊鏈[52],使之更加私密,更具可擴(kuò)展性.Fran?a 通過(guò)使用同態(tài)加密對(duì)交易金額和賬戶余額進(jìn)行加密來(lái)實(shí)現(xiàn)這一目的,允許用戶對(duì)加密值執(zhí)行加法和減法而不會(huì)泄露明文.隨后在2015年,Fran?a 設(shè)計(jì)了一個(gè)新的基于微型區(qū)塊鏈[52]和同態(tài)承諾的加密貨幣[53]以實(shí)現(xiàn)更好的隱私保護(hù),分析表明能有效防御區(qū)塊鏈分析攻擊.

機(jī)密交易(confidential transactions)最初由Adam 在2013年比特幣論壇中提出,并由比特幣核心開發(fā)人員Maxwell 開發(fā)[54].機(jī)密交易希望通過(guò)隱藏交易的金額提高比特幣區(qū)塊鏈的隱私,基本思想是加密明文交易腳本,使用Pedersen 承諾[55]作為同態(tài)工具來(lái)操作密文,保證轉(zhuǎn)賬交易數(shù)量只對(duì)參與者可見.但是,機(jī)密交易容量相對(duì)較大,標(biāo)準(zhǔn)交易需要大概200 字節(jié)的空間,機(jī)密交易所需空間是普通交易的60倍.即使通過(guò)軟分叉部署在比特幣區(qū)塊鏈上,也會(huì)對(duì)現(xiàn)有區(qū)塊鏈容量造成極大負(fù)擔(dān).機(jī)密交易目前部署在了Blockstream 的Element 側(cè)鏈上.

2017年,研究人員提出基于加法同態(tài)加密技術(shù)隱藏區(qū)塊鏈上的交易金額和用戶余額[56],解決了傳統(tǒng)區(qū)塊鏈交易中暴露了真實(shí)的轉(zhuǎn)賬金額的問(wèn)題,實(shí)現(xiàn)了區(qū)塊鏈上的隱私保護(hù)功能.但是需要利用到可信任第三方信息機(jī)構(gòu).同年,Wang 等[57]通過(guò)使用同態(tài)Paillier 加密系統(tǒng)[58]來(lái)實(shí)現(xiàn)交易金額的隱藏,以及用承諾證明方案來(lái)實(shí)現(xiàn)密文交易金額的驗(yàn)證過(guò)程,保證:(1)賬號(hào)余額非負(fù);(2)輸入總和與輸出總和相等.分析顯示,該系統(tǒng)不僅提高了匿名性,也能有效抵抗主動(dòng)攻擊和被動(dòng)攻擊.

同態(tài)加密對(duì)于區(qū)塊鏈的意義非常重大.目前,從安全的角度講,用戶并不愿意將敏感信息直接放到區(qū)塊鏈上進(jìn)行運(yùn)算,如果有足夠?qū)嵱玫耐瑧B(tài)加密技術(shù),用戶就可以放心地使用區(qū)塊鏈服務(wù)而不用擔(dān)心信息泄露.盡管當(dāng)前的同態(tài)加密尤其全同態(tài)加密技術(shù)需要消耗大量的計(jì)算時(shí)間,還遠(yuǎn)達(dá)不到大規(guī)模應(yīng)用的水平,但對(duì)于數(shù)據(jù)規(guī)模較小且需求較迫切的業(yè)務(wù)場(chǎng)景,如智能合約層面的實(shí)現(xiàn)依然具有極強(qiáng)的現(xiàn)實(shí)意義.

5 總結(jié)與展望

表2 分別從技術(shù)特點(diǎn)、匿名性、優(yōu)缺點(diǎn)等方面,總結(jié)了混幣技術(shù)、離鏈支付協(xié)議、隱蔽地址、環(huán)簽名、零知識(shí)證明、同態(tài)加密幾類最新區(qū)塊鏈隱私保護(hù)技術(shù).

表2 區(qū)塊鏈隱私保護(hù)技術(shù)對(duì)比Table 2 Comparison of Blockchain privacy protection technology

隨著以比特幣為代表的區(qū)塊鏈技術(shù)的快速發(fā)展以及其在金融、物聯(lián)網(wǎng)、通信、大數(shù)據(jù)等各個(gè)領(lǐng)域的廣泛應(yīng)用,其隱私保護(hù)與性能問(wèn)題也越來(lái)越突出.現(xiàn)有的匿名技術(shù)方案還不夠完善,需要設(shè)計(jì)更加安全、高效的隱私保護(hù)方案.其中最具有代表性的方案是結(jié)合區(qū)塊鏈和可信計(jì)算技術(shù)(如Intel SGX)提供信任機(jī)制和隱私保護(hù),也已經(jīng)成為該研究領(lǐng)域的新方向.

猜你喜歡
私鑰公鑰比特
比特幣的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
神奇的公鑰密碼
一種基于虛擬私鑰的OpenSSL與CSP交互方案
基于秘密共享的IBE移動(dòng)密碼系統(tǒng)
比特幣還能投資嗎
國(guó)密SM2密碼算法的C語(yǔ)言實(shí)現(xiàn)
比特幣分裂
基于身份的聚合簽名體制研究
比特幣一年漲135%重回5530元
德保县| 大冶市| 渝北区| 林西县| 二手房| 龙里县| 西林县| 宁海县| 福泉市| 张北县| 苏尼特左旗| 马关县| 章丘市| 曲松县| 平利县| 巨鹿县| 赤峰市| 集安市| 封丘县| 上林县| 得荣县| 镇雄县| 嘉峪关市| 丁青县| 菏泽市| 涿州市| 银川市| 陇西县| 永城市| 晋城| 广南县| 莱州市| 报价| 咸丰县| 宁波市| 黎平县| 介休市| 连城县| 绩溪县| 莲花县| 崇仁县|