費(fèi)天龍,郭 靜,魯 寧,史聞博
(1. 東北大學(xué),沈陽(yáng) 110819;2. 東北大學(xué)秦皇島分校,秦皇島 066004;3. 中國(guó)電子科學(xué)研究院,北京 100041)
匿名性是現(xiàn)實(shí)貨幣的重要特征,它能有效地保護(hù)用戶(hù)身份隱私,使貨幣能夠更安全地流通。比特幣[1]作為一種新型的模擬真實(shí)貨幣的電子現(xiàn)金技術(shù),一經(jīng)提出,就受到人們廣泛關(guān)注,當(dāng)前市值更高達(dá)2180億美元。然而,比特幣交易細(xì)節(jié)的可公開(kāi)性以及交易信息的可追溯性導(dǎo)致它僅能提供較弱的匿名功能。例如,賓夕法尼亞州立大學(xué)的P. Koshy[2]通過(guò)深入分析由交易網(wǎng)絡(luò)和用戶(hù)網(wǎng)絡(luò)構(gòu)建的互惠視圖,將用戶(hù)和地址相關(guān)聯(lián),實(shí)現(xiàn)身份定位;蘇黎世聯(lián)邦理工學(xué)院的E. Androulaki[3]通過(guò)設(shè)計(jì)高效的啟發(fā)式算法將比特幣的地址集和實(shí)體身份相關(guān)聯(lián),完成去匿名化分析。很明顯,一旦攻擊者追蹤到用戶(hù)資金真實(shí)走向,就能通過(guò)探測(cè)軟硬件漏洞、種植木馬病毒等方式來(lái)竊取比特幣。為此,如何增強(qiáng)比特幣的匿名性就成為一個(gè)急需解決的問(wèn)題。
針對(duì)上述問(wèn)題,學(xué)者們提出了混幣技術(shù),通過(guò)將一系列交易的輸出地址進(jìn)行隨機(jī)置換或混合,從而割裂交易輸入和輸出的映射關(guān)系。按照網(wǎng)絡(luò)組織結(jié)構(gòu)來(lái)劃分,已提出的混幣方法可分為兩類(lèi)[4]:去中心化的混幣策略和中心化的混幣策略,前者是由用戶(hù)節(jié)點(diǎn)直接通過(guò)混淆輸出地址、構(gòu)建Coinjoin[5]式交易(是一種無(wú)信任的方法,可將多個(gè)消費(fèi)者的比特幣支付合并到單一交易中,使外部各方更難以確定哪個(gè)消費(fèi)者支付了哪個(gè)接收者或接收者)以及對(duì)交易進(jìn)行簽名來(lái)完成映射關(guān)系的割裂。然而,一方面有限規(guī)模的Coinjoin式交易會(huì)造成較小的匿名集,從而產(chǎn)生匿名強(qiáng)度低等問(wèn)題,另一方面惡意用戶(hù)拒絕簽名會(huì)造成混幣服務(wù)中斷,延長(zhǎng)服務(wù)時(shí)間。后者通過(guò)引入多個(gè)中心服務(wù)節(jié)點(diǎn)(稱(chēng)為混淆商)來(lái)完成用戶(hù)輸入地址與輸出地址的隔離,進(jìn)而切斷它們之間的映射關(guān)系。因無(wú)需Coinjoin式交易以及其他用戶(hù)簽名,故具備較大的匿名集和較高的安全性?;诖耍疚闹攸c(diǎn)關(guān)注中心化的混幣策略。
目前,絕大多數(shù)中心化的混幣策略都是先由用戶(hù)使用輸入地址將用于交易的比特幣轉(zhuǎn)移給混淆商,然后再由混淆商構(gòu)建一筆新的交易,將比特幣沿輸出地址返還給用戶(hù)。然而,為了避免混淆商因拒絕執(zhí)行第二筆交易而發(fā)起拒絕服務(wù)攻擊,它們大都使用了地址托管或者憑證簽名,從而公開(kāi)了輸出地址,使惡意用戶(hù)能夠輕易區(qū)分不同混淆商的匿名集。在交易總額一定的條件下,使匿名集的總體規(guī)模被限制,進(jìn)而降低了系統(tǒng)的匿名強(qiáng)度。
針對(duì)上述問(wèn)題,本文提出一種基于可信監(jiān)管方的比特幣強(qiáng)匿名混淆策略(a Strong anonymous Obfuscation scheme for Bitcoin based on Trusted Regulator,簡(jiǎn)稱(chēng)SOBR)。首先,受多銀行電子現(xiàn)金技術(shù)的啟發(fā),提出基于可信監(jiān)管方的混幣系統(tǒng)模型,它能在完成混幣任務(wù)的同時(shí)阻止混淆商的惡意行為(例如偷錢(qián)、好奇)。然后,利用群盲簽名的不可鏈接性,設(shè)計(jì)一個(gè)混幣協(xié)議,將相互獨(dú)立的混淆商構(gòu)建成整體,擴(kuò)大用戶(hù)的匿名集,增強(qiáng)系統(tǒng)的匿名性。
本文對(duì)SOBR的匿名集規(guī)模、可擴(kuò)展等性能進(jìn)行了理論評(píng)估。結(jié)果表明,本文方法不僅延續(xù)了傳統(tǒng)方法對(duì)匿名性的保障,而且極大提升了匿名集規(guī)模;此外,還具備抗拒絕服務(wù)攻擊、可擴(kuò)展性強(qiáng)等特點(diǎn)。
本文其余部分結(jié)構(gòu)如下:第2節(jié)介紹介紹相關(guān)工作的同時(shí)闡明本文的主要貢獻(xiàn);第3節(jié)介紹方法所需的預(yù)備知識(shí);第4節(jié)給出本文提出的混幣方法,其中4.1節(jié)給出方法的系統(tǒng)模型,4.2節(jié)給出方法的具體協(xié)議;第5節(jié)對(duì)所提協(xié)議進(jìn)行理論分析;第6節(jié)總結(jié)全文并指出下一步的工作重點(diǎn)。
迄今為止,已有數(shù)種混幣策略被提出。按照研究思路不同,它們可劃分為“革新型”和“改良型”,前者利用零知識(shí)證明與環(huán)簽名等密碼學(xué)手段設(shè)計(jì)一種可內(nèi)置隱私功能的新數(shù)字貨幣,例如ZeroCoin[6]、ZeroCash[7]與Monero[8]等,它們更適合下一代電子現(xiàn)金技術(shù)。后者認(rèn)為既然比特幣協(xié)議已經(jīng)占據(jù)了巨大的市場(chǎng)份額,一旦輕易地變革必然會(huì)帶來(lái)的巨大成本開(kāi)銷(xiāo)。為此,它們更傾向于在不打破基本協(xié)議的前提下來(lái)提高比特幣的隱私保護(hù)和匿名性。本文重點(diǎn)關(guān)注改良型的混幣策略,它們可分為兩大類(lèi):去中心化和中心化。前者依靠用戶(hù)間的交互來(lái)構(gòu)建基于點(diǎn)對(duì)點(diǎn)的用戶(hù)網(wǎng)絡(luò),進(jìn)而生成一個(gè)包含用戶(hù)信息的聚合交易,使惡意攻擊者無(wú)法探知Coinjoin式交易輸入方與輸出方的映射關(guān)系,經(jīng)典策略包括:Coinjoin[5]、Coinshuffle[9]、Coinshuffle++[10]和Xim[11]。但是它們存在匿名集小、拒絕服務(wù)等問(wèn)題。后者使用多個(gè)混淆商來(lái)完成用戶(hù)輸入地址與輸出地址的隔離,可以有效地避免上述問(wèn)題,提高匿名強(qiáng)度。為此,本文主要介紹當(dāng)前比較流行的中心化混幣策略。
Coinswap[12]借助比特幣腳本與混淆商構(gòu)建哈希鎖保障用戶(hù)與混淆商交易的公平性。雖然它通過(guò)許多發(fā)送者使用混淆商向許多接收者傳遞交易,切斷了用戶(hù)的輸入地址與輸出地址之間的映射關(guān)系,對(duì)外部實(shí)體是不可見(jiàn)的,但這種映射關(guān)系對(duì)于混淆商是可見(jiàn)的。它針對(duì)外部實(shí)體是匿名的,對(duì)于混淆商不是匿名的。
Mixcoin[13]是一個(gè)促進(jìn)比特幣與類(lèi)似加密貨幣匿名支付的第三方混淆協(xié)議。用戶(hù)與第三方的混淆商交互構(gòu)造一個(gè)標(biāo)準(zhǔn)大小的交易,這個(gè)交易與普通交易對(duì)于外部實(shí)體是不可區(qū)分的。但是它對(duì)于混淆商是可區(qū)分的,混淆商可以知道用戶(hù)的所得到的新地址。此外它提出一種基于信譽(yù)度的追責(zé)制度來(lái)保障用戶(hù)的資金的安全。但是混淆商可以在退出時(shí),選擇放棄聲譽(yù),得到用戶(hù)的資金。
Blindcoin[14]針對(duì)Mixcoin在匿名性上的弱點(diǎn),使用盲簽名對(duì)其進(jìn)行了改進(jìn)。在Blindcoin中,盲簽名隱藏輸入與輸出的映射關(guān)系,使混淆商不能打破用戶(hù)的匿名。但是它降低了Mixcoin對(duì)于外部實(shí)體的匿名集大小。
BlindlySignedContract[15]在用戶(hù)與混淆商交易過(guò)程中使用盲簽名和智能合約保障匿名性和安全性。但是它需要軟分叉來(lái)增加一個(gè)操作符以支持具有高效的雙線(xiàn)性對(duì)橢圓曲線(xiàn),從而達(dá)到與比特幣兼容。
TumbleBit[16]是一個(gè)與比特幣兼容的雙向不可鏈接支付中心。TumbleBit的混淆商為了構(gòu)建信任,使用多方安全計(jì)算的cut-and-choose方法來(lái)構(gòu)建信任,并使用RSA盲簽名來(lái)構(gòu)造謎題保障匿名性,在不用對(duì)比特幣進(jìn)行軟分叉的情況下實(shí)現(xiàn)用戶(hù)的匿名性與混淆商資金偷竊問(wèn)題的抵抗。此外,Claudio Ferretti[17]對(duì)TumbleBit做出改進(jìn),能夠適用私鏈的匿名支付。但是它們的匿名集的大小取決與用戶(hù)參與某個(gè)特定的tumbler的數(shù)量。
與上述工作相比,本文提出一種強(qiáng)匿名的混幣策略,其特色在于解決混淆不可區(qū)分性的同時(shí)增大用戶(hù)的匿名集,進(jìn)而增強(qiáng)系統(tǒng)對(duì)所有外界觀(guān)察者的匿名性。需要說(shuō)明的是,作者團(tuán)隊(duì)之前提出過(guò)可監(jiān)管的隱私保護(hù)混淆服務(wù)[18]。它使用公平的RSA盲簽名方案對(duì)用戶(hù)的憑證進(jìn)行簽名,但是盲簽名方案不具備簽名者的匿名性。而本文使用群盲簽名方案具備簽名者的匿名性,在不降低用戶(hù)匿名等級(jí)的前提下,提升系統(tǒng)可擴(kuò)展性,使混淆策略具備強(qiáng)匿名性。
本文利用群盲簽名[19]和多混淆商來(lái)實(shí)現(xiàn)強(qiáng)匿名性。所謂群盲簽名是指群成員在不知道內(nèi)容的前提下能夠代表群來(lái)簽署消息。當(dāng)簽名者在回復(fù)用戶(hù)的對(duì)m的簽名請(qǐng)求時(shí),簽名者執(zhí)行操作如下:
用戶(hù)執(zhí)行操作如下:
本文首先提出一個(gè)基于可信監(jiān)管方的混幣系統(tǒng)模型,在此基礎(chǔ)上設(shè)計(jì)面向比特幣的強(qiáng)匿名混淆協(xié)議。
本文系統(tǒng)主要由監(jiān)管方、混淆商和用戶(hù)三類(lèi)角色組成。監(jiān)管方與混淆商之間交互包括監(jiān)管方為混淆商提供資格認(rèn)證、資金托管以及監(jiān)管惡意行為。混淆商與用戶(hù)之間的交互主要包括混淆商為用戶(hù)提供比特幣混淆。用戶(hù)之間也可以使用簽名憑證進(jìn)行支付交易。主要流程如下:在注冊(cè)階段,如果混淆商想要加入群組且被用戶(hù)認(rèn)可,那么混淆商向監(jiān)管方提出加入請(qǐng)求,監(jiān)管方審核混淆商,一旦審核通過(guò),監(jiān)管方就給混淆商提供群證書(shū)。在交易階段,用戶(hù)使用非匿名地址向認(rèn)證過(guò)的混淆商支付一定數(shù)量的比特幣,同時(shí)提供憑證,以換取混淆商的群簽名。用戶(hù)使用這個(gè)群簽名,以匿名方式任意尋找一個(gè)混淆商,要求其向憑證中的匿名地址支付一定的比特幣。如此,用戶(hù)就擁有了一定數(shù)量比特幣的匿名地址。系統(tǒng)模型如圖1所示。
監(jiān)管方:監(jiān)管方R負(fù)責(zé)群參數(shù)的建立,驗(yàn)證、簽發(fā)證書(shū)與審計(jì)。由于混淆商不可完全信任,因此本文引入一個(gè)可信第三方作為監(jiān)管方對(duì)惡意的混淆商進(jìn)行追責(zé)以及資金的保管。在注冊(cè)階段,監(jiān)管方可以添加或刪除混淆商。在審計(jì)階段中,監(jiān)管方可以解密簽名并獲得簽名者信息,還可以通過(guò)解密簽名對(duì)惡意混淆商進(jìn)行追責(zé)。本文假設(shè)監(jiān)管方由銀行或者政府等可信權(quán)威機(jī)構(gòu)擔(dān)任。
混淆商:只有經(jīng)過(guò)監(jiān)管方認(rèn)證通過(guò)注冊(cè)的混淆商(即得到群證書(shū)的混淆商)才會(huì)被用戶(hù)認(rèn)可?;煜膛c監(jiān)管方的交互不以匿名的方式進(jìn)行,但是每次消息的發(fā)送我們都會(huì)加密的方式進(jìn)行。為了激勵(lì)更多的混淆商參與混淆,每次混淆過(guò)程中混淆商可以收取一定的混淆費(fèi)作為激勵(lì)。
圖1 基于可信監(jiān)管方的混幣系統(tǒng)模型
用戶(hù):用戶(hù)是一個(gè)想將一定數(shù)量比特幣從比特幣地址ua1轉(zhuǎn)移到一個(gè)全新的比特幣地址ua2的實(shí)體。用戶(hù)與混淆商與監(jiān)管方間的通信以匿名通道的方式(如:Tor)進(jìn)行。這可以保障混淆商無(wú)法將地址ua1與ua2聯(lián)系起來(lái)。
公告板:公告板具有可公開(kāi)訪(fǎng)問(wèn)以及不可篡改的特點(diǎn)。這可以使用比特幣消息服務(wù)來(lái)協(xié)助實(shí)現(xiàn)[20],可以一次性發(fā)布多條消息,在一條比特幣交易中,只需要支付一小筆比特幣費(fèi)用(1 kB大概只需要支付0.0002 btc)。每條消息都將有一個(gè)不可更改的唯一區(qū)塊高度作為時(shí)間點(diǎn)。公告板所記錄消息,可以成為揭發(fā)參與者惡意行為的強(qiáng)力證據(jù)。一旦混淆商或用戶(hù)存在惡意行為,那么監(jiān)管方可以憑借這些證據(jù)作為依據(jù)對(duì)惡意行為做出懲罰。
本文混幣協(xié)議采用時(shí)間片輪轉(zhuǎn)方式,一個(gè)時(shí)間片包括注冊(cè)階段、混淆階段以及審計(jì)階段。以下是協(xié)議參數(shù)的介紹,然后分別詳細(xì)描述這三個(gè)階段。
3.2.1協(xié)議參數(shù)
本協(xié)議所用參數(shù)主要包括群參數(shù)和混淆參數(shù)。前者主要用來(lái)構(gòu)建群盲簽名,后者主要用于混淆。
混淆參數(shù):交易的固定面額di,混淆費(fèi)的費(fèi)率r,交易混淆階段開(kāi)始時(shí)間點(diǎn)t1,審計(jì)的開(kāi)始時(shí)間點(diǎn)t6。
3.2.2注冊(cè)階段
在本階段,混淆商向監(jiān)管方進(jìn)行注冊(cè),只有注冊(cè)過(guò)的混淆商才能夠?yàn)橛脩?hù)提供混淆服務(wù)。
Step1:混淆商給監(jiān)管方發(fā)送一些注冊(cè)參數(shù)D1=〈a1,(y,z),b,Mi,s1,tx1id〉。
a1:混淆商為用戶(hù)兌換比特幣的資金地址,我們成為兌換地址。
(y,z):混淆商對(duì)x的知識(shí)證明,用于申請(qǐng)群證書(shū)。
b:y的承諾。
Mi:混淆商的基本信息,用于用戶(hù)尋找混淆商交易以及審計(jì)階段的追責(zé)。
s1: 混淆商對(duì)a1的擁有權(quán)證明,使用地址a1所對(duì)應(yīng)的私鑰對(duì)Mi的簽名[21]。
tx1id:tx1是一個(gè)比特幣交易,交易輸入是地址a1,交易的解鎖條件為混淆商與監(jiān)管方的共同簽名或者混淆商的簽名與時(shí)間窗口tw1。
Step2:監(jiān)管方收到Step3中的消息D1后進(jìn)行驗(yàn)證。監(jiān)管方驗(yàn)證:a)混淆商的所擁有的地址a1中是否有足夠的比特幣用于兌換;b)s1是否為a1的擁有權(quán)證明;c)交易IDtx1id所對(duì)應(yīng)的交易是否構(gòu)造正確;d)s1是否之前使用過(guò);e) (y,z)能否成功證明混淆商知道x。如果驗(yàn)證通過(guò),那么保存D1中的s1,并為驗(yàn)證通過(guò)的消息解鎖交易tx1。然后選擇一些驗(yàn)證通過(guò)的消息,根據(jù)消息中的(y,z)為其生成群證書(shū)v≡(y+1)1/e(modn),最后向混淆商發(fā)送回復(fù)消息D2=〈v,a2,s2〉。否則什么都不做。
v: 混淆商Mi的群證書(shū)。
a2:混淆商為用戶(hù)提供簽名以接受比特幣的地址,初值為0。該地址的私鑰由監(jiān)管方保存,我們稱(chēng)為托管地址。
s2:監(jiān)管方對(duì)a2的擁有權(quán)證明。
Step3:在監(jiān)管方確定完混淆商之后,公布索引表list1={M1-a2,M2-a2,…,Mm-a2}到公告板上。列表list1記錄混淆商的基本信息Mi與混淆商為每個(gè)用戶(hù)提供簽名以接受比特幣的新地址a2(每個(gè)混淆商的a2都是獨(dú)特的)及其兩者的對(duì)應(yīng)關(guān)系。
3.2.3混淆階段
在本階段,用戶(hù)將要混淆的比特幣交給任意選擇的一個(gè)混淆商,獲得一個(gè)憑證。用戶(hù)將該憑證交給任意一個(gè)混淆商,獲得“等額”的比特幣。此時(shí)新獲得比特幣將不會(huì)泄露用戶(hù)的身份。
假設(shè)混淆商Ma與Mb的個(gè)人私鑰分別為xa、xb。相對(duì)應(yīng)的公鑰為ya、yb。
Step1:用戶(hù)U隨機(jī)選擇一個(gè)混淆商Mb,然后在一個(gè)匿名通道上給Mb發(fā)送混淆參數(shù)D3=〈t4,t5〉。
t4:用戶(hù)U匿名地在公告板中給混淆商Mb提供憑證的截止時(shí)間。
t5:混淆商Mb給用戶(hù)U的匿名地址ua2支付BTC的截止時(shí)間。
Step2:如果混淆商Mb同意用戶(hù)U所提供的參數(shù),那么在此匿名通道給用戶(hù)發(fā)送同意簽名D4=〈{D3,nouce}xb,D3,nouce〉。否則User尋找其他混淆商重新執(zhí)行Step1。
nouce:一個(gè)隨機(jī)數(shù),對(duì)于每個(gè)證明都是唯一的。
Step3: 用戶(hù)U隨機(jī)選擇一個(gè)混淆商Ma,然后給Ma送混淆參數(shù)D5=〈t2,t3〉。
t2:用戶(hù)U給混淆商Ma的托管地址a2支付面額為(1-r)*di的BTC的截至?xí)r間。
t3:混淆商Ma將簽名應(yīng)答發(fā)到公告板的截止時(shí)間。
Step4: 如果混淆商Ma同意用戶(hù)U所提供的參數(shù),那么發(fā)送D6=〈{D5,a2,nouce}xa,D5,a2,nouce〉同意簽名給用戶(hù)。否則User尋找其他混淆商重新執(zhí)行Step3。
nouce:隨機(jī)數(shù),每個(gè)用戶(hù)的nouce都不一樣。
Step5: 用戶(hù)收到D6之后,用戶(hù)在時(shí)間點(diǎn)t2之前構(gòu)建托管交易tx2。然后將D7=〈{tx2id,s3}yb〉發(fā)到公告板中。如果用戶(hù)沒(méi)有在t2之前將s3發(fā)到公告板中,那么我們終止協(xié)議。
tx2id:交易tx2的交易id。
s3:用戶(hù)對(duì)ua1的擁有權(quán)證明:使用地址ua1所對(duì)應(yīng)的私鑰對(duì)信息Mi的簽名。
tx2:一個(gè)比特幣交易,交易的輸入方為用戶(hù)U的一個(gè)比特幣地址ua1,輸出方為混淆商Ma的托管地址a2,支付面額為diBTC。
tx3:一個(gè)比特幣交易,交易的輸入方為混淆商Mb的兌換地址a1,輸出方為用戶(hù)的匿名地址ua2,支付面額為(1-r)*diBTC。
3.2.4 審計(jì)階段
在本階段,監(jiān)管方可以對(duì)混淆數(shù)據(jù)進(jìn)行審計(jì),從而發(fā)現(xiàn)并追責(zé)惡意混淆商(若存在),進(jìn)而確保系統(tǒng)的正常運(yùn)行。
本節(jié)主要對(duì)該策略的匿名性、抗拒絕服務(wù)攻擊、可擴(kuò)展性和可監(jiān)管性進(jìn)行理論分析。
(1)匿名性,是指一個(gè)用戶(hù)的比特幣地址無(wú)法與具體的身份實(shí)體產(chǎn)生映射關(guān)系。匿名性的論證是使用群盲簽名對(duì)包含輸出地址的憑證的盲化。攻擊者可以是不同的角色,對(duì)于混淆商Ma,他在對(duì)憑證群簽名之前無(wú)法獲知被盲化后地址的具體信息。用戶(hù)以匿名的方式(如Tor)尋找混淆商Mb與在公告板上公布被解盲后的群簽名時(shí),混淆商Mb也無(wú)法此用戶(hù)的具體的身份。對(duì)于一個(gè)誠(chéng)實(shí)而好奇的可信監(jiān)管者來(lái)說(shuō),雖然他可以通過(guò)群簽名對(duì)憑證進(jìn)行解密,獲得憑證簽名者的信息,但是這并不能獲取匿名地址與某個(gè)用戶(hù)之間的映射關(guān)系。對(duì)于外部攻擊來(lái)說(shuō),它們能夠獲取的信息只有匿名集的用戶(hù)數(shù)量。所以攻擊者無(wú)法將用戶(hù)的輸入地址與輸出地址之間的映射關(guān)系建立起來(lái)。因此,用戶(hù)正常地執(zhí)行交易混淆協(xié)議可以確保地址之間的不可鏈接。
(2)匿名集規(guī)模,是指幫助用戶(hù)提高匿名集的大小,即參與混淆的用戶(hù)地址集合的大小。根據(jù)對(duì)區(qū)塊鏈分析,攻擊者可以嘗試猜測(cè)混淆用戶(hù)的輸入和輸出地址之間的映射。此外攻擊者可能構(gòu)建很多Sybil身份來(lái)參與交易,降低誠(chéng)實(shí)節(jié)點(diǎn)的匿名集大小,提高混淆用戶(hù)的輸入與輸出地址之間映射關(guān)系的被找到的概率。因此構(gòu)建一個(gè)更大的匿名集可以為用戶(hù)提供更強(qiáng)的匿名。為了更好的分析所提出的混幣方案的匿名性,我們假設(shè)有N個(gè)用戶(hù),M個(gè)混淆商。在平均情況下,每個(gè)混淆商可能與N/M個(gè)用戶(hù)參與交易混淆。我們協(xié)議中不同的混淆商產(chǎn)生的簽名憑證是不能夠被除了監(jiān)管方之外的其他人所分辨的。因此我們的協(xié)議所產(chǎn)生的匿名集大小為N,用戶(hù)的輸出地址被攻擊者找到的概率為1/N。因此,我們具有大的匿名規(guī)模,使我們的策略具有強(qiáng)匿名。
(3)抗拒絕服務(wù)攻擊,是指基于Coinjoin交易的混淆協(xié)議中,惡意用戶(hù)在簽名階段通過(guò)拒絕簽名而達(dá)到中止交易的目的。這種攻擊會(huì)延長(zhǎng)誠(chéng)實(shí)用戶(hù)混淆時(shí)間。但是在本文協(xié)議中,用戶(hù)參與混淆都是獨(dú)立的,不存在用戶(hù)與用戶(hù)之間的交互,因此不會(huì)發(fā)生該攻擊。此外,可能存在惡意混淆商在用戶(hù)執(zhí)行托管交易之后,拒絕向其提供群簽名,或者在用戶(hù)提交群簽憑證之后,拒絕向用戶(hù)的匿名地址支付比特幣。但是,這些惡意行為都可以被用戶(hù)使用存在于公告板中的證據(jù)證明這種惡意行為,監(jiān)管者可以對(duì)惡意混淆商做出處罰。
(4)可擴(kuò)展性,是指去中心化的混淆策略大多使用Coinjoin式交易,即將多個(gè)用戶(hù)的交易輸入與輸出匯總在一筆交易中,考慮到比特幣協(xié)議對(duì)交易產(chǎn)生數(shù)據(jù)的尺寸進(jìn)行了限制,最終影響了匯總交易所包含用戶(hù)的數(shù)量。本文采用中心化的混淆策略,用戶(hù)只與混淆商進(jìn)行交互,彼此不存在交互,這可以很容易地完成用戶(hù)擴(kuò)展??赡苣硞€(gè)混淆商在帶寬以及資金等多方面的存在限制,影響其添加用戶(hù)參與混淆,因本文很容易添加多個(gè)不同的混淆商來(lái)擴(kuò)張帶寬與資金,故這并不會(huì)對(duì)可擴(kuò)展性產(chǎn)生影響。
(5)可監(jiān)管性,可監(jiān)管性,是指本文使用憑證方案,允許用戶(hù)提供混淆商惡意行為的證據(jù),監(jiān)管方可以對(duì)這些證據(jù)進(jìn)行驗(yàn)證,從而對(duì)惡意行為做出懲罰(如:下次混淆剔除其作為混淆商的資格)。我們系統(tǒng)所做的檢測(cè)包括:抵抗拒絕服務(wù)和混淆商所提供的簽名數(shù)量與托管地址資金數(shù)額的一致性檢測(cè)。對(duì)于前者,我們使用證據(jù)揭發(fā)的方式來(lái)進(jìn)行監(jiān)管。公告板中的證據(jù)是不可刪除的,因此證據(jù)都可在區(qū)塊鏈網(wǎng)絡(luò)或公告板中被記錄查閱。對(duì)于后者,在審計(jì)階段,監(jiān)管方會(huì)對(duì)惡意行為做出認(rèn)定,并對(duì)其做出懲罰。我們的公告板機(jī)制與[14]類(lèi)似。但是,我們與他們使用信譽(yù)度的方式不同,我們使用可信的第三方進(jìn)行監(jiān)管。
比特幣的弱匿名性極大地危害著其未來(lái)的應(yīng)用前景?;诖?,可增強(qiáng)其匿名性的混幣技術(shù)一經(jīng)提出,就成為區(qū)塊鏈領(lǐng)域的研究重點(diǎn)和熱點(diǎn)。為了進(jìn)一步擴(kuò)大匿名集,提高匿名效果,本文提出一種基于可信監(jiān)管方的比特幣強(qiáng)匿名混淆策略。與已有策略不同,該策略具備以下特征:
(1)采用基于可信監(jiān)管方的混幣系統(tǒng)模型,在完成混幣任務(wù)的同時(shí)阻止混淆商的惡意行為;
(2)采用基于群盲簽名的混幣協(xié)議,有效地?cái)U(kuò)大了用戶(hù)匿名集。
到目前為止,本文方法只支持監(jiān)管方的完全可信,缺乏一種機(jī)制來(lái)降低監(jiān)管方的可信程度。因此,我們希望在今后,以當(dāng)前研究為基礎(chǔ)設(shè)計(jì)一個(gè)半可信的監(jiān)管方協(xié)議。其目標(biāo)是在不久的將來(lái)研究半可信的監(jiān)管方為用戶(hù)提供更好的混淆服務(wù)。