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

?

基于聚合簽名與加密交易的全匿名區(qū)塊鏈

2018-10-15 09:04:58王子鈺劉建偉張宗洋3喻
計(jì)算機(jī)研究與發(fā)展 2018年10期
關(guān)鍵詞:公鑰密文礦工

王子鈺劉建偉張宗洋,3喻 輝

1(北京航空航天大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 100191)2(北京航空航天大學(xué)高等理工學(xué)院 北京 100191)3(信息安全國家重點(diǎn)實(shí)驗(yàn)室(中國科學(xué)院信息工程研究所) 北京 100093)

自從2008年中本聰提出基于區(qū)塊鏈技術(shù)的比特幣這一全新的去中心化的數(shù)字貨幣[1],電子現(xiàn)金技術(shù)就此進(jìn)入了全新的發(fā)展篇章[2].傳統(tǒng)的電子現(xiàn)金以1983年Chaum提出的盲不可追蹤E-cash[3]為代表,用戶通過可信中心機(jī)構(gòu)實(shí)現(xiàn)交易交互,并利用盲簽名技術(shù)保護(hù)用戶隱私.然而在比特幣區(qū)塊鏈系統(tǒng)中,公開的賬本揭示各交易從區(qū)塊獎(jiǎng)勵(lì)交易(coinbase transaction)到未花費(fèi)交易輸出(unspent transaction output, UTXO)的所有細(xì)節(jié).作為用戶資產(chǎn)的合法證明,區(qū)塊鏈賬本包括各歷史交易的輸入交易簽名、面額和輸出交易地址;而輸出交易地址又可以視為比特幣系統(tǒng)用戶身份[1,4].研究表明,電子現(xiàn)金的匿名性(anonymity)需要實(shí)現(xiàn)假名性(pseudonym)和不可連接性(unlinkability)[5].比特幣區(qū)塊鏈賬本的輸出交易地址是簽名公鑰經(jīng)過一定雜湊變換的Base58Check編碼字符串,具有一定程度的假名性;但由于交易關(guān)系在區(qū)塊鏈中是顯式表達(dá)的,各用戶之間并非不可連接的.因此,比特幣系統(tǒng)不匿名且容易泄露用戶隱私[6].

針對(duì)比特幣系統(tǒng)用戶隱私的常見攻擊方式為去匿名化(deanonymous)攻擊[7-10],該攻擊包括3個(gè)步驟[11]:根據(jù)區(qū)塊鏈賬本生成交易圖;根據(jù)交易內(nèi)容將交易圖轉(zhuǎn)化為地址圖;根據(jù)社會(huì)工程學(xué)意義上的交易習(xí)慣將地址圖轉(zhuǎn)化為用戶實(shí)體圖.這些交易習(xí)慣包括:重疊的交易輸入意味著多個(gè)輸入交易地址被同一個(gè)用戶實(shí)體控制;唯一的新產(chǎn)生的輸出地址很可能是輸入交易用戶控制的找零地址.

需要指出的是,本文探討的匿名性僅涉及區(qū)塊鏈賬本的協(xié)議層面,而針對(duì)點(diǎn)對(duì)點(diǎn)(peer-to-peer, P2P)網(wǎng)絡(luò)的去匿名化攻擊不在本文的探討范圍內(nèi).學(xué)術(shù)界針對(duì)區(qū)塊鏈賬本式數(shù)字貨幣協(xié)議層隱私保護(hù)提升措施包括3個(gè)方面:

1) 混幣(Mixing).為打破交易之間的相互連接關(guān)系,Maxwell于2013年提出CoinJoin的思想[12],即若干用戶執(zhí)行相應(yīng)協(xié)議,將等額比特幣的交易輸出至新生成的地址,從而混淆交易中的連接關(guān)系.基于這一思想的混幣協(xié)議有眾多改進(jìn)和變體[13-23].盡管這些研究成果打破交易實(shí)體間聯(lián)系,但是本質(zhì)只保護(hù)了用戶身份隱私,混幣交易仍舊暴露交易金額.

2) 替代幣(Altcoin).由于比特幣系統(tǒng)在隱私性、交易速度、可擴(kuò)展性等許多方面并不完美,因此基于區(qū)塊鏈技術(shù)的替代幣亦受到學(xué)者們的廣泛關(guān)注,主要包括門羅幣(Monero)[24],ZeroCoin[25]和ZeroCash[26].但這些替代幣也各有缺陷.門羅幣基本思想是同時(shí)混淆全網(wǎng)當(dāng)前待執(zhí)行的若干筆交易,本質(zhì)仍借鑒了CoinJoin的混幣概念,而門羅幣分析攻擊[27-28]表明非強(qiáng)制性混幣的設(shè)計(jì)不足以迫使用戶主動(dòng)確保交易匿名集,弱匿名集的交易乃至非匿名性交易的增殖效應(yīng)將大大削弱系統(tǒng)整體匿名性;且門羅幣在不使用RingCT的情況下也無法保護(hù)交易金額隱私.ZeroCoin[25]只保護(hù)付款者隱私;ZeroCash[26]在其基礎(chǔ)上將擴(kuò)展隱私保護(hù)的內(nèi)容到付款者、付款金額及收款者三方面,實(shí)現(xiàn)全匿名區(qū)塊鏈系統(tǒng),但該方案的效率較低.

3) 加密交易(confidential transaction, CT).Maxwell在2015年首次提出了基于Pedersen承諾的加密交易思想[29].礦工(miner)可在具體交易金額未知的前提下利用承諾同態(tài)性對(duì)交易的輸入和輸出總和進(jìn)行驗(yàn)證.之后,該思想被持續(xù)完善與補(bǔ)充[30-31].但是Pedersen承諾在標(biāo)準(zhǔn)加密交易中無“打開承諾”的操作,交易收款者仍需額外通信信道協(xié)商交易金額.Dumb Account方案[32]利用非交互式零知識(shí)(none interactive zero knowledge,NIZK)證明技術(shù)來驗(yàn)證基于Paillier同態(tài)密文交易的合法性,符合CT的理念并可直接解密密文;但是其密文和公鑰過長將導(dǎo)致交易效率極低.上述金額加密方案都未改善輸入輸出的不可連接性,仍舊暴露用戶隱私.Ruffing和Moreno-Sanchez[33]在2018年將CT和CoinJoin的概念結(jié)合,提出了分布式隱藏交易金額的ValueShuffle協(xié)議,該協(xié)議同樣因?yàn)闊o強(qiáng)制混幣要求而不能抵抗分析攻擊[27-28].

綜上所述,本文研究一種實(shí)現(xiàn)收付款者身份隱私保護(hù)、交易金額加密的全匿名區(qū)塊鏈方案;該方案因系統(tǒng)性強(qiáng)制嵌入混幣操作到全區(qū)塊中,以抗文獻(xiàn)[27-28]的分析攻擊;并在方案構(gòu)造過程中考慮密文長度,避免引入過多的交易存儲(chǔ)開銷而導(dǎo)致單個(gè)區(qū)塊中的交易數(shù)目過少.

本文結(jié)合了混幣和加密交易的思想實(shí)現(xiàn)付款者、付款金額及收款者三者隱私保護(hù)的全匿名區(qū)塊鏈.本文利用BGN06加密方案*本文使用的同態(tài)加密方案最早于2005年由Boneh等人發(fā)表于TCC 2005會(huì)議[34],后由作者修訂于2006年發(fā)表在作者個(gè)人主頁,因此本文統(tǒng)一以更新稿年份代指本方案,即BGN06加密方案.的類Pedersen承諾同態(tài)性進(jìn)行交易金額驗(yàn)證,且交易收款者無需額外通信可直接解密密文,相比Dumb Account方案[32]密文長度減少一半;利用新型NIZK證明技術(shù)BulletProof[35]驗(yàn)證交易金額的正值區(qū)間,改進(jìn)原始CT實(shí)現(xiàn)[29]和MimbleWimble[31]中利用Borromean環(huán)簽名的區(qū)間證明方案;利用BGL03單向聚合簽名[36](one way aggregated signature, OWAS)及混幣技術(shù)保護(hù)用戶身份隱私;通過刪除獨(dú)立交易簽名和加密方案公鑰來提高區(qū)塊中存儲(chǔ)的交易數(shù)目.在本方案中,礦工負(fù)責(zé)交易驗(yàn)證、交易打包及交易混淆,符合礦工實(shí)體在原始區(qū)塊鏈系統(tǒng)分工;嵌入混幣方案到全區(qū)塊的范疇可提升匿名集的大小,可抗分析攻擊[27-28].

本文主要貢獻(xiàn)有5個(gè)方面:

1) 在原始區(qū)塊鏈系統(tǒng)中,礦工負(fù)責(zé)驗(yàn)證交易及區(qū)塊的合法性.本文基于此特性進(jìn)行適當(dāng)修改,為礦工添加加密交易密文驗(yàn)證及交易混淆的功能以實(shí)現(xiàn)全匿名區(qū)塊鏈.

2) 結(jié)合BGN06加密方案的同態(tài)特性,提出四步驗(yàn)證機(jī)制,符合真實(shí)區(qū)塊鏈系統(tǒng)交易模型,確保交易發(fā)起者和驗(yàn)證礦工不能非法增加或減少其所擁有的未花費(fèi)交易額度;且交易收款者無需額外通信信道即可獲知輸入交易金額.

3) 利用BGL03單向聚合簽名方案聚合區(qū)塊內(nèi)部所有交易的輸入交易簽名,系統(tǒng)性嵌入混幣技術(shù)到全區(qū)塊的范圍,保護(hù)交易用戶身份隱私且可抗針對(duì)區(qū)塊鏈交易數(shù)據(jù)的分析攻擊[27-28].

4) 本文所采用的BGN06加密方案密文長度在相同安全性下為Dumb Account方案[32]中Paillier密文長度的一半;且為進(jìn)一步降低區(qū)塊中交易存儲(chǔ)開銷,礦工打包交易密文到區(qū)塊的過程中,可刪去加密公鑰而只保留簽名公鑰以便于權(quán)屬證明.對(duì)比評(píng)估本方案相比各隱私保護(hù)區(qū)塊鏈方案,定量分析后可得知本區(qū)塊鏈系統(tǒng)因?qū)崿F(xiàn)全匿名特性而引入的交易存儲(chǔ)開銷是合理的.

5) 本方案相比ZeroCash[26]同樣可實(shí)現(xiàn)付款者、收款者身份和交易金額三者隱私保護(hù)的全匿名區(qū)塊鏈系統(tǒng).但本方案不需要ZeroCash中的可信啟動(dòng)(Setup)階段,不會(huì)因秘密參數(shù)泄露而造成貨幣濫發(fā);且支持區(qū)塊鏈數(shù)據(jù)修剪(Pruning),避免如ZeroCash中密文數(shù)據(jù)占用過大的存儲(chǔ)開銷.

1 背景知識(shí)

本節(jié)對(duì)比特幣區(qū)塊鏈系統(tǒng)及相關(guān)密碼學(xué)進(jìn)行詳細(xì)敘述.其中,為簡(jiǎn)化敘述便于讀者理解,本節(jié)關(guān)于比特幣區(qū)塊鏈交易結(jié)構(gòu)的介紹采用Pay-to-Public-Key(P2PK)結(jié)構(gòu),并省略部分與本文思想無關(guān)的細(xì)節(jié).本節(jié)分別規(guī)定本文所用的符號(hào);分析比特幣區(qū)塊鏈系統(tǒng)的交易結(jié)構(gòu)、區(qū)塊結(jié)構(gòu)和UTXO池;介紹CoinJoin思想與混幣概念;介紹BGL03單向聚合簽名方案、BGN06同態(tài)加密方案與Pedersen承諾方案、包括BulletProof正值區(qū)間驗(yàn)證和Pedersen承諾方案相等驗(yàn)證等在內(nèi)的本方案所需要的NIZK證明技術(shù).

1.1 符號(hào)定義

區(qū)塊鏈系統(tǒng)用戶實(shí)體為Alice,Bob,Carol,David;礦工Miner.抗碰撞雜湊函數(shù)Hash.大素?cái)?shù)p,q,q1,q2;大合數(shù)n=q1q2.比特幣區(qū)塊鏈系統(tǒng)中交易為tx,區(qū)塊為block;每一筆交易中輸入、輸出為TXin,TXout.模p,q和n的整數(shù)群表示為p,q和n;用于聚合簽名的橢圓曲線群和雙線性映射表示為,1和e1:×→1,用于BGN06加密方案的表示為2,3和e2:2×2→3.從集合或群中隨機(jī)選取元素表示為.交易及其下標(biāo)索引表示為:向用戶公鑰地址b發(fā)起的第a個(gè)輸入交易為TXina,b,并生成向用戶公鑰地址d發(fā)起的第c個(gè)輸出交易和TXtotal為交易發(fā)起用戶用礦工驗(yàn)證公鑰加密的密文交易;TXcoinbase為礦工的區(qū)塊獎(jiǎng)勵(lì)交易.交易中加密的金額用v表示.密碼學(xué)公私鑰為PK,SK;密文C,明文消息M;數(shù)字簽名σ.下標(biāo)i為加密和簽名敘述過程中用戶索引,用戶總個(gè)數(shù)為k.

1.2 比特幣區(qū)塊鏈系統(tǒng)

比特幣區(qū)塊鏈系統(tǒng)包括用戶和礦工2類實(shí)體.用戶執(zhí)行交易過程,生成交易并廣播;礦工接收到若干交易,對(duì)這些交易的合法性進(jìn)行驗(yàn)證后打包生成區(qū)塊,對(duì)區(qū)塊執(zhí)行工作量證明,獲得幸運(yùn)數(shù)字(Nonce)后即將合法區(qū)塊廣播至全網(wǎng),并更新UTXO池.以Alice發(fā)起一筆向Bob的交易為例,Alice將生成的交易廣播,被臨近礦工Miner收到后驗(yàn)證;Miner打包若干合法交易生成區(qū)塊,并將合法區(qū)塊廣播至全網(wǎng);且增加一筆指向Bob地址的未花費(fèi)輸出.比特幣區(qū)塊鏈系統(tǒng)架構(gòu)及基于上例分析的交易發(fā)起與認(rèn)證的過程如圖1所示:

Fig. 1 Transaction proposing and confirmation圖1 交易發(fā)起及確認(rèn)

比特幣區(qū)塊鏈系統(tǒng)的交易結(jié)構(gòu)包括交易ID、鎖定時(shí)間和輸入輸出交易等信息.交易ID是交易實(shí)體數(shù)據(jù)的雜湊值;鎖定時(shí)間約束了交易生效的UTC時(shí)間(國際標(biāo)準(zhǔn)時(shí)間);輸入交易引用了當(dāng)前交易的金額來源,來自于先前交易的輸出;輸出交易根據(jù)具體金額指向不同的輸出地址.此外,輸入交易需要提供對(duì)應(yīng)先前輸出交易公鑰地址的簽名以證明所有權(quán).比特幣區(qū)塊鏈系統(tǒng)中的公鑰與簽名使用基于橢圓曲線的數(shù)字簽名算法(elliptic curve digital signature algorithm, ECDSA);輸出地址是ECDSA公鑰經(jīng)過若干雜湊變換而成的.值得注意的是,交易支持多輸入、多輸出,輸出地址可為付款方控制的找零地址,以此實(shí)現(xiàn)比特幣系統(tǒng)中金額的合并與拆分.比特幣交易結(jié)構(gòu)如圖2所示:

Fig. 2 Bitcoin transaction structure圖2 比特幣交易結(jié)構(gòu)

比特幣區(qū)塊包括區(qū)塊信息、區(qū)塊頭部和區(qū)塊本體3部分.區(qū)塊信息包括網(wǎng)絡(luò)魔法數(shù)(作為比特幣客戶端解析區(qū)塊數(shù)據(jù)時(shí)的識(shí)別碼)、區(qū)塊大小.區(qū)塊頭部包括當(dāng)前區(qū)塊雜湊值、引用先前區(qū)塊雜湊值、區(qū)塊中交易的梅克爾(Merkle)樹樹根、幸運(yùn)數(shù)字、困難目標(biāo)和時(shí)間戳.雜湊當(dāng)前區(qū)塊本體、先前區(qū)塊、幸運(yùn)數(shù)字的結(jié)果應(yīng)滿足系統(tǒng)困難目標(biāo).比特幣區(qū)塊鏈結(jié)構(gòu)如圖3所示:

Fig. 3 Bitcoin blockchain structure圖3 比特幣區(qū)塊鏈結(jié)構(gòu)

比特幣所有已驗(yàn)證(Verified)、已確認(rèn)(Confirmed)且未花費(fèi)(Unspent)交易被存入U(xiǎn)TXO池中.礦工驗(yàn)證一筆交易是否合法的過程包括:輸入交易是否未花費(fèi),即在UTXO池中存在輸入交易;輸入金額總和與輸出金額總和相等;輸入輸出金額皆為正值;輸入交易簽名符合先前輸出交易的公鑰.如圖4所示,以一實(shí)例詳述上述過程.假設(shè)在先前區(qū)塊中包含某筆交易支付給Alice的地址2比特幣;Alice在區(qū)塊1中第1筆交易分別對(duì)Bob和Carol支付1比特幣;Bob在區(qū)塊2中第1筆交易支付1比特幣給David.礦工收到Alice發(fā)起的交易首先在先前的UTXO中尋找到該交易所引用的某人向Alice支付2比特幣交易的雜湊值及其索引,而后驗(yàn)證輸入輸出是否相等、金額正值及公鑰簽名匹配,最后將若干合法交易打包成區(qū)塊并進(jìn)行執(zhí)行后續(xù)操作.礦工針對(duì)Bob發(fā)起的交易驗(yàn)證過程類似,在UTXO池中尋找所引用的輸入交易雜湊值,這里具體為區(qū)塊1中第1筆交易,確認(rèn)其索引1的輸出金額1與當(dāng)前輸出金額1相等;確認(rèn)其輸出公鑰地址匹配PKBob當(dāng)前交易簽名σBob.

Fig. 4 Bitcoin blockchain and transaction example圖4 比特幣區(qū)塊鏈與交易實(shí)例

1.3 混幣與CoinJoin

比特幣區(qū)塊鏈系統(tǒng)中的CoinJoin交易包含若干對(duì)金額相等的輸入和輸出,通過各種類型的協(xié)議打亂原本的輸入輸出關(guān)系.當(dāng)交易發(fā)起者驗(yàn)證自己的輸出地址存在于輸出列表后,簽署CoinJoin交易.當(dāng)所有交易發(fā)起者簽署該交易后,該交易生效并被廣播給礦工.CoinJoin的本質(zhì)是破壞輸入輸出關(guān)系,使得去匿名化攻擊失效,即實(shí)現(xiàn)了付款者和收款者隱私.若干CoinJoin變體使用混幣費(fèi)用來防止DoS、女巫攻擊.混幣費(fèi)用亦作為提升匿名集的動(dòng)機(jī).若某一交易與弱匿名集乃至無匿名交易混幣,其真實(shí)匿名集則無法達(dá)到所宣稱的大小,因此敵手可通過增殖效應(yīng)對(duì)其去匿名化攻擊,即CoinJoin的匿名性依賴于匿名集大小.此外,CoinJoin還存在一個(gè)重要的缺陷,即混幣服務(wù)無法對(duì)參與混幣的金額進(jìn)行加密,且要求參與混幣的必須為同一金額的交易.

1.4 BGL03單向聚合簽名

本節(jié)參照文獻(xiàn)[36]給出BGL03單向聚合簽名的定義.單向聚合簽名方案包括5個(gè)算法:密鑰生成算法、簽名算法、驗(yàn)證算法、聚合算法和聚合驗(yàn)證算法.聚合出的簽名長度與聚合前的獨(dú)立簽名長度相當(dāng).聚合實(shí)體可以與簽名實(shí)體完全不同,聚合算法只需獲取參與簽名用戶單獨(dú)的簽名/消息對(duì)和公鑰,即可生成聚合簽名.聚合驗(yàn)證算法只需聚合簽名、聚合用戶公鑰和消息集合,即可驗(yàn)證聚合簽名是否合法.需要強(qiáng)調(diào)的是,聚合簽名的潛在要求是聚合過程中被簽名的消息應(yīng)彼此不同.

BGL03單向聚合簽名方案:

1) 參數(shù)約定.大素?cái)?shù)p,橢圓曲線群為和1,群生成元為g,雙線性映射e1:×→1;

3) 簽名.待簽名消息為Mi∈{0,1}*,雜湊變換為Hi=Hash(Mi)∈,簽名σi=∈;

5) 聚合.要求Mi各不相同,聚合結(jié)果為簽名

6) 聚合驗(yàn)證.驗(yàn)證等式是否成立:

上述聚合簽名方案的安全性依賴于隨機(jī)預(yù)言模型,需要假設(shè)判定性Diffie-Hellman(DDH)問題容易但計(jì)算性Diffie-Hellman(CDH)問題困難的間隙Diffie-Hellman群(GDH),且雙線性映射的原像為不同的群(co-GDH)[36].此外,聚合簽名方案的單向性體現(xiàn)在從聚合簽名中提取獨(dú)立的簽名個(gè)體的難度可規(guī)約到解CDH問題[37].

1.5 BGN06加密方案與Pedersen承諾方案

本節(jié)介紹BGN06同態(tài)加密方案[34]與Pedersen承諾方案[38].

1) BGN06同態(tài)加密方案

PKi=(ni=q1iq2i,2i,3i,e2i,gi,hi).

③ 解密.計(jì)算密文q1i次方得:

④ 同態(tài)性.密文域的乘法運(yùn)算等于明文域的加法,即

故同態(tài)性要求用相同公鑰加密,且盲化因子隨機(jī)數(shù)影響密文形態(tài).需要強(qiáng)調(diào)的是,若事先約定橢圓曲線,則群參數(shù)n與群生成元g可決定2群參數(shù);且群3與雙線性映射e2在文獻(xiàn)[34]中用于密文加法同態(tài)性,該性質(zhì)在本全匿名區(qū)塊鏈方案中不需要使用,故刪減后的公鑰可保留為PK=(ni,gi,hi).

2) Pedersen承諾方案

文獻(xiàn)[38]介紹的Pedersen承諾方案與BGN06加密方案密文形態(tài)類似,都將數(shù)域群上的秘密變換到橢圓曲線群上,并通過隨機(jī)盲化因子防止秘密泄露.需要強(qiáng)調(diào)的是,在BGN06加密方案中,元素h不再是隨機(jī)群元素,而是2的q1階子群的生成元,并作為公鑰的一部分.因此,BGN06加密方案賦予Pedersen承諾方案“解盲化”或“解承諾”的能力,這符合區(qū)塊鏈交易中收款方可以直接通過密文確認(rèn)自己收到交易金額的特性,而不需要依賴額外的金額傳輸信道.

1.6 零知識(shí)證明

本方案需要的零知識(shí)證明用于交易發(fā)起者(付款方)向交易驗(yàn)證者(礦工)驗(yàn)證交易的合法性,包括承諾內(nèi)容相等證明和區(qū)間證明.所有證明過程是非交互的,即示證內(nèi)容包含在交易發(fā)起者廣播的交易內(nèi)容中.

1.6.1 承諾相等證明

文獻(xiàn)[40]介紹承諾相等證明協(xié)議為:證明者Prover欲向驗(yàn)證者Verifier證明承諾E和F是對(duì)相同明文M值的承諾.針對(duì)安全參數(shù)t,l,s1和s2,承諾隨機(jī)數(shù)分別為r1和r2,模n1群中元素g1和h1,模n2群中元素g2和h2,承諾值分別為

其中,

r1∈[-2s1n1+1,2s1n1-1],
r2∈[-2s2n2+1,2s2n2-1].

步驟1.Prover選擇隨機(jī)數(shù)ω,η1,η2并計(jì)算

其中,

ω∈[1,2l+tb-1],
η1∈[1,2l+t+s1n1-1],
η2∈[1,2l+t+s2n2-1].

步驟2.Prover計(jì)算y=H(W1‖W2).

步驟3.Prover計(jì)算:

D=ω+yM,D1=η1+yr1,D2=η2+yr2.

上述D,D1,D2∈;并發(fā)送證明π=(y,D,D1,D2)給Verifier(包括承諾E和F);

步驟4.Verifier驗(yàn)證等式是否成立:

1.6.2 區(qū)間證明

高效非交互式BulletProof區(qū)間證明過程詳見文獻(xiàn)[35],本文由于篇幅所限,不贅述該方案證明過程.需要強(qiáng)調(diào)的是,BulletProof區(qū)間證明方案相比原始CT方案[29-31]中基于Borromean環(huán)簽名的區(qū)間證明方案和Dumb Account方案[32]中區(qū)間證明方案在效率上有所提升.

2 全匿名區(qū)塊鏈構(gòu)造

本節(jié)將詳細(xì)介紹基于聚合簽名與加密交易的全匿名區(qū)塊鏈系統(tǒng).全匿名區(qū)塊鏈系統(tǒng)保護(hù)用戶在交易過程中的隱私數(shù)據(jù),包括付款者身份、交易金額和收款者身份3類數(shù)據(jù).因此,本方案擁有類比于ZeroCash[26]方案的全匿名特性.本節(jié)依次詳述方案初始參量;詳述礦工對(duì)加密交易合法性的驗(yàn)證過程;詳述礦工對(duì)一個(gè)區(qū)塊內(nèi)所有交易聚合簽名的打包過程;介紹全匿名區(qū)塊鏈及UTXO池構(gòu)造.本節(jié)相等證明的思路基于文獻(xiàn)[32]、聚合簽名的思路基于文獻(xiàn)[16]并根據(jù)本方案的BGN06加密方案實(shí)際情況做出相應(yīng)修改.

2.1 系統(tǒng)參數(shù)約定

本全匿名區(qū)塊鏈系統(tǒng)所依賴的密碼學(xué)工具包括BGN06加密方案[34]與BGL03單向聚合簽名[36],因此需要對(duì)這2個(gè)方案的初始參數(shù)進(jìn)行約定.其內(nèi)容包括BGN06加密方案的合數(shù)階橢圓曲線;BGL03單向聚合簽名方案的素?cái)?shù)階橢圓曲線、大素?cái)?shù)p、群和1、群生成元g、雙線性映射e1:×→1.

2.2 礦工交易驗(yàn)證

礦工交易驗(yàn)證的本質(zhì)是驗(yàn)證交易發(fā)起者(付款方)生成的交易是否合法:包括付款方對(duì)輸入交易的權(quán)屬證明(簽名符合先前交易輸出的公鑰)、交易輸入之和與輸出之和相等及所有金額滿足正值等內(nèi)容.為敘述方便,本節(jié)在此暫時(shí)忽略對(duì)交易費(fèi)的考量,但本方案支持交易發(fā)起者顯式地向礦工可解密賬戶支付交易費(fèi)用.驗(yàn)證交易的本質(zhì)是確保交易發(fā)起者只能對(duì)自己所擁有的金額執(zhí)行交易操作,無法憑空創(chuàng)造或惡意破壞交易金額.本節(jié)敘述礦工對(duì)交易驗(yàn)證的過程,包括在第2.2.1節(jié)詳述四步驗(yàn)證交易輸入、輸出之和相等,在第2.2.2節(jié)介紹利用BulletProof驗(yàn)證金額區(qū)間及簽名驗(yàn)證.

2.2.1 四步驗(yàn)證輸入輸出和相等

交易驗(yàn)證的本質(zhì)是確保交易發(fā)起者無法作弊.因此交易驗(yàn)證的過程包括:交易發(fā)起者對(duì)自身擁有交易金額的正確解讀與對(duì)交易輸出金額的正確分發(fā).不失一般性,本節(jié)以多輸入、多輸出的交易為例詳述四步驗(yàn)證過程.

2) 交易生成.

PRNc,d,TXoutc,d←TXCreate(TXina,b),

其中,TXina,b表示用PKb加密的若干輸入交易密文,下標(biāo)a表示輸入密文序號(hào);TXoutc,d表示用PKd加密的若干輸出交易密文,下標(biāo)c表示輸出密文序號(hào).交易輸入與輸出均為對(duì)金額va,b或vc,d的BGN06密文,要求va,b,vc,d∈[0,vtotal],輸入交易密文為

例如:輸入、輸出交易可為

TXin1,1,TXin2,1,TXin1,2,TXin2,2,TXin3,2,
TXout1,3,TXout2,3,TXout3,3,TXout1,4,TXout2,4,

即交易生成者輸入為用公鑰PK1加密的交易TXin1,1,TXin2,1,和用公鑰PK2加密的交易TXin1,2,TXin2,2,TXin3,2;交易輸出是用PK3加密的交易TXout1,3,TXout2,3,TXout3,3,和用公鑰PK4加密的交易TXout1,4,TXout2,4.

3) 交易驗(yàn)證.礦工針對(duì)交易發(fā)起者的交易驗(yàn)證,

相等秘密驗(yàn)證過程參照1.6節(jié),四步驗(yàn)證為:

2.2.2 其他驗(yàn)證

π5為BulletProof驗(yàn)證交易金額正值所用證明,驗(yàn)證過程詳見文獻(xiàn)[35].由于BGN06加密方案本質(zhì)是針對(duì)n上的金額,因此負(fù)值模n計(jì)算后為正,可使得惡意交易發(fā)起者憑空創(chuàng)造或惡意毀滅交易輸出金額.需要強(qiáng)調(diào)的是,由于驗(yàn)證過程包括輸入輸出求和相等驗(yàn)證,因此區(qū)間證明不需單獨(dú)驗(yàn)證每筆交易金額的上限是否小于輸入或輸出總和.

單筆交易的簽名驗(yàn)證過程與傳統(tǒng)比特幣區(qū)塊鏈系統(tǒng)相同,即驗(yàn)證當(dāng)前交易的σb與先前交易PKd中的簽名驗(yàn)證公鑰是否匹配.

2.3 礦工打包交易

礦工在驗(yàn)證完若干合法交易后,需要對(duì)合法交易打包成區(qū)塊并進(jìn)行工作量證明,以獲得區(qū)塊獎(jiǎng)勵(lì).這里的潛在要求是所有交易為已確認(rèn)(Confirmed)的交易,因此不存在對(duì)未驗(yàn)證(Unverified)交易的引用.所有交易將去除中間證明,只包括內(nèi)容:

TXina,b,(PRNc,d,TXoutc,d),σb,PKd.

由于BGL03單向聚合簽名方案要求聚合的簽名消息完全不同,而同一區(qū)塊中可能存在支付給相同收款方公鑰且相同金額的交易TXoutc,d.因此,礦工需要對(duì)每筆輸出交易的偽隨機(jī)數(shù)PRNc,d進(jìn)行驗(yàn)證,確保區(qū)塊內(nèi)(PRNc,d,TXoutc,d)完全不同,對(duì)于相同偽隨機(jī)數(shù)、交易輸出密文對(duì)的交易可延遲到后續(xù)區(qū)塊處理.

礦工針對(duì)若干筆附帶有偽隨機(jī)數(shù)的交易內(nèi)容進(jìn)行隨機(jī)排布,包括無輸入的coinbase交易TXcoinbase,并聚合簽名σ=∏σb,則區(qū)塊內(nèi)的簽名和交易內(nèi)容為

σ,TX=(TX1,TX2,…,TXi,…),
TXi=[TXcoinbase,TXina,b,(PRNc,d,TXoutc,d),PKd]i.

需要強(qiáng)調(diào)的是,為削減區(qū)塊中次要信息所占據(jù)的空間以最大化提升區(qū)塊中的交易數(shù)量,包含到區(qū)塊中的交易輸出公鑰只需包含交易收款方簽名公鑰以用于交易權(quán)屬證明,而不需要包含加密公鑰.

2.4 區(qū)塊鏈與UTXO池構(gòu)造

為驗(yàn)證先前交易的引用以匹配單向聚合簽名的內(nèi)容,UTXO池的結(jié)構(gòu)也需要適當(dāng)修改.原始的比特幣區(qū)塊鏈系統(tǒng)的UTXO結(jié)構(gòu)為:hashTX,[Index],現(xiàn)修改為hashBlock,H(PNGc,d,TXoutc,d).這是因?yàn)?,原始交易引用的索引是針?duì)單一交易中不同的交易輸出;而全匿名區(qū)塊鏈中的輸入索引是針對(duì)混淆交易順序的區(qū)塊中所有交易輸出的索引.因此,針對(duì)1.2節(jié)中原始區(qū)塊鏈與UTXO池結(jié)構(gòu)所舉實(shí)例,圖4可對(duì)應(yīng)修改為圖5.

3 方案評(píng)估

本節(jié)詳述本方案與其他方案效率與功能對(duì)比,首先論證本方案安全性與匿名性;其次詳述本方案公鑰長度、密文長度,及因功能提升所引入的區(qū)塊中交易存儲(chǔ)開銷,并與參考文獻(xiàn)對(duì)比;最后詳述本方案與各區(qū)塊鏈隱私保護(hù)改進(jìn)方案在功能和效率方面的對(duì)比提升.

Fig. 5 An example of full anonymous blockchain and transaction圖5 全匿名區(qū)塊鏈系統(tǒng)與交易實(shí)例

3.1 方案安全性與匿名性

本方案基于BGN06公鑰加密方案和BGL03聚合簽名方案.其中BGN06密文安全性基于子群判定困難問題,該問題可簡(jiǎn)述為:在未知大合數(shù)群階數(shù)的因數(shù)分解前提下,無法在多項(xiàng)式時(shí)間內(nèi)判斷某一隨機(jī)群元素是否屬于該合數(shù)階群的素?cái)?shù)階子群;具體的安全性分析詳見文獻(xiàn)[34].BGL03聚合簽名安全性依賴co-GDH群上的CDH困難問題[36-37].

本方案通過四步相等驗(yàn)證和BulletProof金額正值驗(yàn)證,交易發(fā)起者無法在交易生成過程中對(duì)加密金額作弊,且無法憑空造幣或惡意毀幣;無加密方案私鑰的礦工收到輸入交易密文無法正確解密,只能驗(yàn)證交易是否合法,因此礦工也不能造幣或毀幣.需要強(qiáng)調(diào)的是,本方案的交易金額權(quán)屬證明不可只依賴密文解密能力而拋棄簽名驗(yàn)證,因?yàn)槌用苷咄?,解密合法密文并不能?yàn)證用戶身份.但在方案實(shí)現(xiàn)中,可在鏈上數(shù)據(jù)中刪去交易收款者加密公鑰以提高區(qū)塊中可容納的交易數(shù)目.基于BGN06加密方案的密文交易符合加密交易的概念,確保用戶交易金額隱私;礦工打包交易時(shí)隨機(jī)排列合法交易,混淆了交易用戶關(guān)系,確保了收付款者隱私.因此,本區(qū)塊鏈方案是全匿名的.此外,本方案區(qū)塊數(shù)據(jù)可支持公開驗(yàn)證,只需驗(yàn)證聚合簽名、區(qū)塊內(nèi)的所有交易密文和偽隨機(jī)數(shù)、輸出公鑰是否滿足:

∏e1(PKc,d,H(PNGc,d,TXoutc,d))=e1(g,σ).

3.2 方案效率分析

3.2.1 公鑰與密文長度

根據(jù)當(dāng)前硬件系統(tǒng)的發(fā)展,密碼學(xué)安全參數(shù)的選取需要保證基于大整數(shù)分解方案模數(shù)為2048 b(256 B),基于橢圓曲線方案的安全參數(shù)為256 b(32 B)[41].此外,對(duì)于使用256 b表達(dá)的橢圓曲線上的點(diǎn)可用33 B編碼表示[29].因此,本方案中BGN06加密方案使用256 B表示大合數(shù);使用32 B表示BGL03聚合簽名的橢圓曲線.

由1.5節(jié)所述,若本方案在系統(tǒng)參數(shù)約定時(shí)優(yōu)先約定加密方案所基于的橢圓曲線,則群2可由群參數(shù)nb與群生成元gb決定;且群3與雙線性映射e2因不需要密文加法同態(tài)而刪去.因此,本方案公鑰長度為|PKb|=|nb|+|gb|+|hb|+|gxb|=801 B.但是,為提高區(qū)塊可容納交易數(shù),本方案在礦工驗(yàn)證交易合法后,刪去包含到區(qū)塊交易輸出地址中關(guān)于BGN06加密交易的公鑰.因此鏈上交易所含公玥長度加密交易需要模大合數(shù)nb,因此本方案密文長度為|nb|,即256 B.

不考慮P2PKH,原始比特幣區(qū)塊鏈系統(tǒng)用8 B空間表示輸出金額,33 B表示ECDSA公鑰.參考文獻(xiàn)[30-31]中標(biāo)準(zhǔn)加密交易實(shí)現(xiàn)的公鑰,其結(jié)構(gòu)包括掃描密鑰版本、傳統(tǒng)地址版本、掃描密鑰、傳統(tǒng)地址,并對(duì)上述內(nèi)容進(jìn)行Base58Check編碼.其中掃描密鑰本質(zhì)是基于橢圓曲線的Diffie-Hellman(ECDH)協(xié)商密鑰,協(xié)商出相同的隨機(jī)數(shù)種子以用于生成相同的盲化因子.不考慮版本號(hào)和P2PKH變換,文獻(xiàn)[30]所用中ECDH密鑰長33 B,ECDSA公鑰長33 B,共66 B.此外,文獻(xiàn)[30]中的密文采用Pedersen承諾形式,承諾密文為橢圓曲線上點(diǎn),長度為33 B.ValueShuffle協(xié)議[33]需要采用分布式協(xié)商算法混幣并協(xié)商隨機(jī)盲化因子之和,因此盡管在分布式協(xié)商過程中需要增加盲化因子所帶來的通信開銷,但其基礎(chǔ)加密交易公鑰、密文長度與原方案[30]相同.

若考慮相同安全性(大整數(shù)分解需要大合數(shù)為256 B),則文獻(xiàn)[32]中Dumb Account系統(tǒng)需要的Paillier密文需要512 B長度表示(模n2群);加密公鑰為大合數(shù)與群生成元,長度為256+256=512 B.同時(shí)考慮ECDSA簽名公鑰,總公鑰長度為512+33=545 B.

3.2.2 交易與區(qū)塊大小

由于本方案相比原始的比特幣區(qū)塊鏈方案將明文存儲(chǔ)的金額轉(zhuǎn)換到模n群上的密文,將導(dǎo)致交易(區(qū)塊)大小對(duì)應(yīng)提升;但由于采用了BGL03聚合簽名的方案,將區(qū)塊內(nèi)所有交易的簽名聚合成一個(gè)簽名,且在交易包含過程中刪除了BGN06加密方案的公鑰,又從另一個(gè)方向縮小了區(qū)塊中交易的大小.當(dāng)前,區(qū)塊鏈擴(kuò)容問題為學(xué)術(shù)界研究熱點(diǎn)[42],因此,本節(jié)定量評(píng)估本文與各參考文獻(xiàn)中單一區(qū)塊中可容納的交易數(shù)目.

對(duì)于原始比特幣區(qū)塊鏈系統(tǒng),近一年的區(qū)塊平均大小為644.2 kB,包含交易個(gè)數(shù)為1 682[43].扣除區(qū)塊頭及相關(guān)信息約100 B,可計(jì)算得每個(gè)交易大小約為392 B.其中,交易頭尾與輸入輸出無關(guān)的數(shù)據(jù)為8 B,不考慮P2PKH情況及交易輸入輸出個(gè)數(shù)計(jì)數(shù)器大小,每筆輸入包含32 B引用先前交易雜湊值、4 B索引、64 B的ECDSA簽名與4 B序號(hào),每筆輸出包含33 B的ECDSA公鑰與8 B金額.因此若考慮輸入與輸出相等情況,平均約有2.649筆輸入輸出;考慮極限情況為單輸入、6.832筆輸出或單輸出、3.299筆輸入.根據(jù)上述交易輸入輸出數(shù)據(jù),結(jié)合3.2.1節(jié)各方案公鑰、密文長度,計(jì)算在極限輸入輸出、相等輸入輸出時(shí)各方案區(qū)塊包含交易個(gè)數(shù),結(jié)果如表1所示:

Table 1 Comparison of Public Key Length, Ciphertext Length and Transactions Number表1 公鑰與密文長度

詳細(xì)分析表1中加密交易密文在區(qū)塊中交易存儲(chǔ)開銷的評(píng)估數(shù)據(jù),BGN06的密文大小還是顯著影響交易容量.BGN06的密文安全性基于合數(shù)階雙線性群上的子群判定問題,該困難問題的前提是合階數(shù)分解困難,因此不能選用過小的模數(shù)n.需要強(qiáng)調(diào)的是,雖然本方案相比標(biāo)準(zhǔn)加密交易實(shí)現(xiàn)的密文長度無優(yōu)勢(shì),但標(biāo)準(zhǔn)加密交易的Pedersen承諾無“解承諾”階段,即用戶在執(zhí)行交易過程中,還需要增加額外的通信信道告知收款方具體交易金額,這不僅增加通信開銷,容易泄露用戶隱私,且收款方不能驗(yàn)證是否收到付款方所聲稱的交易金額.相比之下,本方案的BGN06密文支持收款方私鑰解密,支持收款方直接通過交易信息獲取交易金額,符合實(shí)際交易場(chǎng)景,且根據(jù)對(duì)比基于Paillier密文的Dumb Account方案[32],因功能提升所引入的交易存儲(chǔ)開銷是合理的.

3.3 方案特性與匿名區(qū)塊鏈技術(shù)相關(guān)研究對(duì)比

在需要事先協(xié)商混幣對(duì)象的中心化或分布式混幣混幣方案[13-15,17-18,20-23]中存在自舉階段(Bootstra-pping),即混幣過程是用戶非強(qiáng)制選擇的.雖然可利用Xim[19]公告板配對(duì)混幣用戶,但一旦出現(xiàn)弱匿名集或無匿名性混幣對(duì)象,其增殖效應(yīng)將影響全網(wǎng)隱私保護(hù)效果[27-28],即使利用環(huán)簽名方案內(nèi)嵌混幣服務(wù)的門羅幣[24]也不能幸免.因此,只有類似本方案與OWAS方案[16]、ZeroCoin[25]等將混幣強(qiáng)制嵌入交易系統(tǒng)的方案能保證匿名集的大小,使其足夠抵抗此類分析攻擊.相比之下,基于加密交易的方案[29-32]都不保護(hù)用戶隱私,且Pedersen承諾交易密文[29-31,33]需要額外通信信道傳輸交易金額.若交易收款者無法直接解密交易密文,則不能驗(yàn)證是否收到付款方所聲稱的交易金額,直到下次花費(fèi)該交易時(shí)才驗(yàn)證輸入輸出合法性.ValueShuffle方案[33]雖然結(jié)合加密交易和分布式混幣實(shí)現(xiàn)了全匿名,但是非系統(tǒng)性嵌入混幣不抗分析攻擊[27-28].

綜上所述,本方案相比若干片面的區(qū)塊鏈隱私保護(hù)提升方案實(shí)現(xiàn)了全匿名性,并在區(qū)塊交易容量上相比Dumb Account方案[32]有所提升.相比全匿名方案ZeroCash[26],本文方案的系統(tǒng)參數(shù)約定不暴露加密交易相關(guān)的敏感信息,不存在因初始化信息泄露而出現(xiàn)的貨幣超發(fā)風(fēng)險(xiǎn);相比ValueShuffle方案[33]可抗分析攻擊,用戶身份匿名集覆蓋到全區(qū)塊.本方案亦可支持類似MimbleWimble[31]的區(qū)塊鏈修剪,且修剪后的區(qū)塊鏈需只需保留聚合的交易簽名,進(jìn)一步減小修剪后的區(qū)塊鏈大小.本方案與上述相關(guān)研究的具體功能對(duì)比如表2所示:

Table 2 Comparison of Related Works About Anonymous Blockchain Improvement表2 相關(guān)匿名區(qū)塊鏈改進(jìn)方案功能對(duì)比

4 相關(guān)研究

混幣技術(shù)基于Maxwell于2013年提出CoinJoin的思想[12],一筆CoinJoin交易混淆若干交易發(fā)起者制定的輸出地址,要求混幣的比特幣金額相等且公開.這一思想對(duì)匿名性的提升程度取決于參與混幣用戶的數(shù)目,即匿名集.基于這一思想的混幣協(xié)議有眾多改進(jìn)和變體版本,包括結(jié)合兩方公平交換思想的方案[13];依賴若干中間人且兼容比特幣系統(tǒng)的公平交換方案[14];依賴智能合約的盲簽合約公平交換方案[15];基于單向聚合簽名并將混幣中心與礦工結(jié)合的系統(tǒng)性混幣方案[16];引入可信第三方的Mixcoin方案[17]及其利用盲簽名提升匿名性的變體Blindcoin方案[18];配對(duì)混幣用戶的Xim方案[19];基于CoinSwap思想[20],并兼容當(dāng)前比特幣系統(tǒng)的Tumblebit方案[21];基于密碼學(xué)技術(shù)實(shí)現(xiàn)的點(diǎn)對(duì)點(diǎn)無中心混幣協(xié)議CoinShuffle[22]和引入DC-net的變體CoinShuffle++方案[23]等.但是,盡管上述研究成果打破交易實(shí)體的聯(lián)系,并在內(nèi)外部不可連接性、混幣效率、抗偷幣、抗拒絕服務(wù)(denial of service, DoS)攻擊、抗女巫(Sybil)攻擊等方面各有所改進(jìn),但本質(zhì)只保護(hù)了付款者和收款者身份隱私,CoinJoin交易仍舊暴露交易金額;且方案[13-15,17-18,20-23]需要自舉階段事先協(xié)商混幣對(duì)象,并可能因?yàn)槿跄涿驘o匿名性混幣對(duì)象所導(dǎo)致的增殖效應(yīng)而影響全網(wǎng)隱私保護(hù)效果[27-28].

此外,門羅幣[24]、ZeroCoin[25]和ZeroCash[26]等替代幣在引入改進(jìn)功能的同時(shí)仍具有一定問題.門羅幣[24]交易包含多個(gè)輸入,利用環(huán)簽名技術(shù)可證實(shí)輸入交易的所有權(quán)卻不暴露簽名實(shí)體,其基本思想與CoinJoin混幣概念類似,但文獻(xiàn)[27]所述門羅幣分析攻擊可追蹤約88%的交易數(shù)據(jù)起源.全網(wǎng)約62%的交易輸入易遭受基于“鏈?zhǔn)椒磻?yīng)”的分析攻擊而暴露用戶身份[28].此外,門羅幣交易也不強(qiáng)制保護(hù)交易金額隱私.基于零知識(shí)證明技術(shù)的ZeroCoin[25]系統(tǒng)引入非可連接性“籌碼”的思想,將混幣的范疇擴(kuò)展到全網(wǎng)可花費(fèi)的所有“籌碼”.鑄幣(Mint)時(shí)通過ZK技術(shù)證明付款者持有等額比特幣,在不泄露付款者隱私的前提下自主獲得“籌碼”;兌換(Redeem)時(shí)亦利用ZK技術(shù)證實(shí)“籌碼”的合法性并記錄所有歷史已花費(fèi)籌碼的列表.但是,ZeroCoin[25]不保護(hù)交易金額和收款者隱私,且相對(duì)于比特幣系統(tǒng)維護(hù)未花費(fèi)交易輸出,維護(hù)已兌換籌碼賬本的代價(jià)相對(duì)高昂.ZeroCash[26]在ZeroCoin[25]的基礎(chǔ)上將隱私保護(hù)的內(nèi)容擴(kuò)展到付款者、付款金額及收款者三方面,實(shí)現(xiàn)了全匿名;但是其問題包括需要可信第三方生成全局參數(shù),底層的零知識(shí)簡(jiǎn)潔非交互式知識(shí)證明技術(shù)依賴不可證偽(Non-falsifiable)的密碼學(xué)假設(shè),方案整體的實(shí)現(xiàn)效率相對(duì)較低.

基于Pedersen承諾的加密交易[29-31]在不知道具體交易金額的前提下利用ECDH協(xié)商相同的隨機(jī)數(shù)種子,基于此生成總和相同的盲化因子,并利用承諾同態(tài)性驗(yàn)證交易合法性.支持CT與區(qū)塊鏈修剪的MimbleWimble方案[31]雖然大大提升了UTXO大小,但修剪后區(qū)塊鏈數(shù)據(jù)本體大小趨于穩(wěn)定.需要強(qiáng)調(diào)的是,上述方案[28-32]都不保護(hù)用戶隱私,且需要額外信道傳輸交易金額[29-31,33].Dumb Account方案[32]通過Paillier同態(tài)密文實(shí)現(xiàn)加密交易,交易收款者可直接解密輸入密文.但其密文安全性基于大整數(shù)分解,模n2群在當(dāng)前算力條件下至少需要4 096 b密文以保證安全性,過長的密文和公鑰長度將導(dǎo)致每一區(qū)塊只能容納很少的交易個(gè)數(shù).ValueShuffle方案[33]雖然結(jié)合加密交易和分布式混幣實(shí)現(xiàn)了全匿名,但是非系統(tǒng)性嵌入混幣不抗分析攻擊[27-28].

5 結(jié) 論

本文利用BGN06同態(tài)加密方案與BGL03單向聚合簽名方案,將全區(qū)塊系統(tǒng)性混幣技術(shù)與加密交易技術(shù)完美結(jié)合,構(gòu)造了全匿名區(qū)塊鏈.結(jié)合類Pedersen承諾的相等證明,利用四步驗(yàn)證方案確保交易發(fā)起者和驗(yàn)證礦工無法憑空造幣或惡意毀幣,且礦工只能驗(yàn)證交易是否合法而無法知悉或者獲取交易金額.本方案相比標(biāo)準(zhǔn)加密交易方案無需利用額外信道向交易接收者告知交易金額,相比Dumb Account方案[32]加密密文存儲(chǔ)開銷較小,相比ValueShuffle[33]避免混幣用戶間的額外通信信道.通過定量分析表明,本方案因功能提升所引入的區(qū)塊交易容量開銷是合理的.文獻(xiàn)[44]提出轉(zhuǎn)換BGN06方案到素?cái)?shù)階群上可在保持相同安全性的前提下進(jìn)一步降低密文長度,后續(xù)工作將在此基礎(chǔ)上繼續(xù)研究全匿名且支持可擴(kuò)展的區(qū)塊鏈系統(tǒng).

猜你喜歡
公鑰密文礦工
一種針對(duì)格基后量子密碼的能量側(cè)信道分析框架
一種支持動(dòng)態(tài)更新的可排名密文搜索方案
基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯(cuò)恢復(fù)
金牌挖礦工
一種基于混沌的公鑰加密方案
老礦工的家國情懷
礦工老李
HES:一種更小公鑰的同態(tài)加密算法
SM2橢圓曲線公鑰密碼算法綜述
云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
山西省| 博白县| 江孜县| 旬邑县| 清丰县| 塘沽区| 西贡区| 江口县| 苏尼特左旗| 濉溪县| 永寿县| 江西省| 西安市| 朝阳县| 屯昌县| 丹巴县| 双柏县| 呼图壁县| 双鸭山市| 揭阳市| 荆州市| 丹巴县| 香格里拉县| 沧州市| 延吉市| 上高县| 普定县| 南安市| 皋兰县| 谷城县| 通辽市| 沧源| 栾川县| 抚宁县| 罗定市| 皮山县| 健康| 和田县| 深水埗区| 唐山市| 无极县|