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

?

可追蹤的區(qū)塊鏈賬本隱私保護方案

2020-12-07 08:20張思亮陳家輝
計算機工程與應(yīng)用 2020年23期
關(guān)鍵詞:同態(tài)公鑰賬本

張思亮,凌 捷,陳家輝

廣東工業(yè)大學(xué) 計算機學(xué)院,廣州 510000

1 引言

區(qū)塊鏈技術(shù)從以比特幣[1]為代表的數(shù)字貨幣發(fā)展到應(yīng)用廣泛的分布式賬本技術(shù)[2]。其數(shù)據(jù)不可篡改和去信任化的兩大特性,實現(xiàn)了資產(chǎn)的可靠支付(如跨國轉(zhuǎn)賬),在現(xiàn)實世界中創(chuàng)造了價值轉(zhuǎn)移的新形式,降低了社會信任的成本,有效提升了社會合作的效率。在各界積極探索區(qū)塊鏈應(yīng)用場景的同時[3],區(qū)塊鏈技術(shù)中公開賬本數(shù)據(jù)帶來的用戶隱私泄露問題也逐漸受到重視。傳統(tǒng)區(qū)塊鏈系統(tǒng)[1,4]中的用戶往往使用假名(即公鑰地址)參與交易,但仍將所有交易數(shù)據(jù)以明文形式登記在分布式賬本上,由區(qū)塊鏈結(jié)點進行驗證。但因賬本的公開性,傳統(tǒng)區(qū)塊鏈不能抵抗交易分析攻擊[5]。目前已有大量研究通過使用密碼學(xué)算法對賬本數(shù)據(jù)進行某種程度的隱藏。但是,賬本數(shù)據(jù)完全的隱藏又會帶來另一個問題:完善的隱私使得區(qū)塊鏈不受任何中心的監(jiān)管而逃離法律的約束[6],變成非法交易和避稅者的天堂。因此,區(qū)塊鏈中的隱私保護需要在隱私性和可追蹤性取得某種平衡,這是區(qū)塊鏈隱私保護研究的難點之一。

本文對當前區(qū)塊鏈的隱私攻擊和隱私保護方法進行研究,提出了一種基于隱身地址、環(huán)簽名、零知識證明技術(shù)的可追蹤的區(qū)塊鏈隱私保護方案。理論分析證明該方案相比現(xiàn)存方案具有更強的匿名性,并且提供了面向監(jiān)管人的可追蹤性,解決了各類文獻中未能解決的監(jiān)管問題。實驗結(jié)果表明該方案相比傳統(tǒng)區(qū)塊鏈不會有顯著的性能短板,具有現(xiàn)實意義。

2 相關(guān)工作

區(qū)塊鏈賬本中公開的交易數(shù)據(jù)和輸入輸出的公鑰地址信息以及它們之間的可鏈接性使得攻擊者可以追蹤賬本中的所有歷史交易路徑,降低用戶匿名性。文獻[7]分析比特幣交易的特征后提出了交易圖、初始用戶圖、用戶圖的網(wǎng)絡(luò)結(jié)構(gòu)概念,還將比特幣系統(tǒng)外部信息與流量和時間分析等技術(shù)結(jié)合起來,以說明各種類型的信息泄漏如何導(dǎo)致系統(tǒng)用戶的去匿名。文獻[8]等通過攻擊實驗AddUnl來定量分析地址不可鏈接性。實驗數(shù)據(jù)顯示,即使通過不重復(fù)使用比特幣地址作為隱私保護手段,依然可以將40%的用戶真實身份和比特幣地址聯(lián)系起來。文獻[9]提出了兩類啟發(fā)式聚類分析思想:(1)同一個交易的輸入地址由同一用戶集群控制,因為傳統(tǒng)區(qū)塊鏈交易通過簽名驗證交易的合法性,只有私鑰的所有者才擁有合法的公鑰地址簽名;(2)一次性找零地址由輸入地址的同一用戶集群控制。文獻[5,10]均指出在區(qū)塊鏈賬本層面保護用戶的隱私需要對交易中的三個內(nèi)容進行隱藏:交易發(fā)起者身份、交易接收者身份和交易數(shù)據(jù)。

當前已有很多的學(xué)術(shù)成果或開源項目針對區(qū)塊鏈賬本的交易分析提出了解決方案。這些解決方案大致可以分為兩種:后向兼容的隱私保護方案和非后向兼容的隱私保護方案[5]。使用了前者的區(qū)塊鏈能夠兼容傳統(tǒng)區(qū)塊鏈,運行傳統(tǒng)區(qū)塊鏈的結(jié)點能夠?qū)π路桨傅慕灰缀蛥^(qū)塊進行驗證。而使用了后者的區(qū)塊鏈系統(tǒng)不兼容傳統(tǒng)區(qū)塊鏈,導(dǎo)致傳統(tǒng)結(jié)點無法對新型交易和賬本進行驗證。從交易協(xié)議來看,后向兼容的方案不需要修改傳統(tǒng)區(qū)塊鏈的交易協(xié)議,而非后向兼容的方案需要。

后向兼容的隱私保護方案?;鞄偶夹g(shù)是后向兼容類方案的主要手段?;鞄艑⒍喙P交易的輸入混合后定向輸出到特定的混幣地址,再從該地址中贖回原交易輸出的虛擬資產(chǎn)。由于將交易重定向到某特定的混幣中心,經(jīng)過中轉(zhuǎn)的原始交易中輸入輸出地址的鏈接性被破壞,保持了用戶的匿名性。部分混幣技術(shù)如Mixcoin[11]依靠第三方提供可信的混幣服務(wù),被稱為中心化混幣。Mixcoin 破壞了外部鏈接性,但混幣服務(wù)商的腐敗可能導(dǎo)致用戶資產(chǎn)失竊或失去匿名性。CoinShuffle 協(xié)議[12]是一種去中心的混幣協(xié)議,但匿名性取決于同時參與混幣的用戶數(shù)量,匿名程度低且多輪的加解密帶來較大的開銷。BlindCoin[13]同為中心化混幣,其盲簽名防止混幣服務(wù)商獲取交易鏈接關(guān)系,但盲簽名支付協(xié)議帶來了巨大的開銷。另一部分混幣技術(shù)不依賴第三方服務(wù)提供商,被稱作去中心化混幣。CoinParty 協(xié)議[14]受到Coin-Shuffle 的啟發(fā),使用MPC(安全多方計算)模擬可信混幣服務(wù)商,提高了魯棒性和擴展性的同時容易遭受DDoS攻擊。

非后向兼容的隱私保護方法。非后向兼容的實現(xiàn)方案類型多樣。Monero實現(xiàn)了CryptoNote協(xié)議[15],使用環(huán)簽名和隱身地址隱藏交易雙方的身份,但其環(huán)機密交易(Ring Confidential Transactions)存在交易過大的缺點。Zerocoin[16]和Zerocash[17]除存在效率問題之外,還各自有低匿名度和依賴可信初始化服務(wù)器的缺點。文獻[18]通過在以太坊合約中執(zhí)行Paillier 同態(tài)加密和NIZK 零知識證明隱藏交易數(shù)據(jù),但其交易過大且未能隱藏用戶身份。文獻[19]使用聚合簽名和同態(tài)加密構(gòu)造全匿名區(qū)塊鏈賬本,但其交易構(gòu)造仍然直接暴露用戶公鑰,并且大量點乘操作造成交易生成和驗證緩慢。此外,其構(gòu)造中的礦工只擁有同態(tài)加密公鑰意味著需要可信啟動階段保證私鑰的銷毀。

綜上所述,現(xiàn)有大部分研究成果在效率和隱私性上不能達到良好的平衡,并且均未能在可追蹤性上有所考量。

3 預(yù)備知識

3.1 符號定義

3.2 隱身地址

隱身地址最早在2011年由名為ByteCoin的比特幣論壇成員提出,其安全性依賴于橢圓曲線上的離散對數(shù)難題。為了解決原始方案中存在的私鑰頻繁使用等安全問題,2014年名為rynomster/sdcoin的開發(fā)人員提出了雙密鑰隱身地址協(xié)議(Dual-Key Stealth Address Protocol)[20],現(xiàn)對DKSAP協(xié)議描述如下:

參數(shù)設(shè)置:選擇橢圓曲線群G 的p階生成元g,抗碰撞哈希函數(shù)為H(?)。

隱身地址計算:發(fā)送方計算接收方的隱身地址S.A.作為交易的輸出地址:S.A.=gc+s=gc?S,接收方可以計算c+s來進行簽名。

交易掃描:在DKSAP中,接收方可以共享掃描私鑰x和支付公鑰S給代理服務(wù)器。這些實體可以通過計算S.A.=gc?S得到接收方的隱身地址,從而代表接收方掃描這些區(qū)塊鏈交易。但是,他們無法計算隱身地址私鑰c+s并花費資產(chǎn)。

3.3 d-CLASG環(huán)簽名

環(huán)簽名是群簽名中的一種,能夠?qū)⒑灻叩恼鎸嵐€隱藏在一個公鑰集里從而隱藏簽名者的身份。環(huán)簽名被廣泛用于區(qū)塊鏈隱私保護方案[15,21-24]。本文使用的d-CLASG(緊湊可鏈接自發(fā)性匿名群簽名)方案[24]能夠使用多把私鑰對多筆交易進行簽名,并且其可鏈接性能夠檢測雙花交易。d-CLSAG 方案發(fā)展自Monero 的環(huán)機密交易,相比后者簽名更小,并且在匿名公鑰集小于256 時驗證速度更快?,F(xiàn)使用乘法群的表達方式將d-CLSAG方案簡略描述如下:

參數(shù)設(shè)置:選擇橢圓曲線群G 的p階生成元g,其中p為質(zhì)數(shù);簽名密鑰組數(shù)d。

密鑰生成:KeyGen→(sk,pk)。KeyGen 函數(shù)選擇d把私鑰構(gòu)成私鑰向量與其對應(yīng)的d把公鑰構(gòu)成公鑰向量pk。

簽名:Sign(m,

驗證:Verify(m,

鏈接:Link((m,

3.4 Pedersen同態(tài)承諾

Pedersen承諾基于橢圓曲線密碼學(xué),在橢圓曲線離散對數(shù)不被破解的情況下不會泄露秘密數(shù)。其承諾形式如:gvhr,其中g(shù)是橢圓曲線群G 上的p階生成元,h是橢圓曲線上的隨機生成元,r是隨機盲因子,v是秘密數(shù)且假設(shè)v=v1+v2,r=r1+r2,則有g(shù)vhr=gv1hr1?gv2hr2,即Pedersen承諾符合加法同態(tài)性。因此使用Pedersen承諾隱藏資產(chǎn)數(shù)量時,礦工可以在不知道秘密數(shù)的同時完成秘密數(shù)的加法。

3.5 BGN同態(tài)加密

BGN 同態(tài)方案[25]是基于雙線性對提出的同態(tài)加密方案,安全性依賴雙線性對上的子群決定性難題,密文支持多次的加法同態(tài)操作和一次乘法同態(tài)操作?,F(xiàn)參照文獻對BGN同態(tài)方案給出如下描述:

參數(shù)生成:q1、q2為兩個大質(zhì)數(shù),n=q1×q2,橢圓曲線群G1階為n,雙線性對e:G1×G1→GT。

密鑰生成:KeyGen→PK,SK。KeyGen函數(shù)生成公鑰PK=(n,G1,GT,e,g1,h1),私鑰SK=q1,其中G1,h1=uq2。

加密:Encrypt(PK,m)→C。假設(shè)明文m∈{0,1,…,q2},取,生成密文:C=g1mh1r。

解密:Decrypt(SK,C)→m。使用私鑰SK=q1解密密文:,由于m∈ {0,1,…,q2}可以使用Pollard方法解得離散對數(shù)m。

BGN同態(tài)方案的密文與Pedersen承諾相似,其形式均為兩個橢圓曲線群元素之冪的乘積,即兩者均形如:gmhr,也同樣擁有同態(tài)性。不同之處在于Pedersen承諾方案使用的橢圓曲線群的群階為質(zhì)數(shù),群元素h是群上的隨機元素,而BGN 同態(tài)方案使用的橢圓曲線群的階為合數(shù)n,根據(jù)群理論可知h1是群上的q1階生成元,持有密鑰q2的一方可以擁有密文解密能力。

3.6 Bulletproofs零知識證明

2013年提出的機密交易(Confidential Transactions)使用Pedersen 承諾隱藏資產(chǎn)數(shù)量,并利用Pedersen 承諾的加法同態(tài)性驗證交易的輸入之和與輸出之和是否相等。Pedersen 承諾的秘密數(shù)在大于橢圓曲線群階時的承諾等效于模群階后的承諾。利用此性質(zhì),惡意的交易發(fā)起者可以憑空創(chuàng)造資產(chǎn)。為此機密交易中還需要包括零知識的范圍證明以保證資產(chǎn)數(shù)量不大于群階。

Bulletproofs[26]是一種新型的零知識證明方案。該方案包含兩種證明系統(tǒng),一種是證明兩組向量的內(nèi)積大小等于某個數(shù)的內(nèi)積證明;一種是證明承諾中的被承諾數(shù)的大小落在一定范圍內(nèi)的范圍證明,區(qū)塊鏈技術(shù)中使用的就是這一證明系統(tǒng)。Bulletproofs 的范圍證明較原始機密交易中的零知識范圍證明更小更高效,同等證明范圍下證明大小僅為后者的五分之一左右,證明時間是后者的大約四分之一。Bulletproofs 還支持證明聚合的功能。如果多個Bulletproofs零知識范圍證明使用相同的證明范圍,則可以將多個證明聚合為一個證明,而其大小僅以對數(shù)增長。Bulletproofs 的另一個特點是不需要可信的參數(shù)設(shè)置階段,這與Zerocash 使用的zk-SNARKs 方案不同,因此較zk-SNARKs 更加適合用于區(qū)塊鏈。由于篇幅限制,這里不再重復(fù)Bulletproofs 范圍證明的具體過程。

在Bulletproofs中,資產(chǎn)數(shù)量使用Pedersen承諾方案隱藏,資產(chǎn)數(shù)量密文沒有解密的方法,這意味著除了交易雙方外沒有其他人能夠獲知交易中的資產(chǎn)數(shù)量,這一事實與賬本隱私可追蹤的需求相違背。根據(jù)文獻[20],BGN同態(tài)方案中的密文與Pedersen承諾類似,可以替換Bulletproofs 中的Pedersen 承諾且能夠通過解密得到秘密數(shù)。

4 可追蹤的區(qū)塊鏈賬本隱私保護方案

本章在提出可追蹤的區(qū)塊鏈賬本隱私保護方案之前,首先提出可追蹤的區(qū)塊鏈賬本隱私保護方案的實現(xiàn)目標。在可追蹤的隱私區(qū)塊鏈中僅有監(jiān)管人能夠?qū)灰走M行追蹤,礦工和用戶無法得到交易中的隱私信息,即對于礦工和用戶,可追蹤的區(qū)塊鏈具有高度的隱私性;而對于監(jiān)管人,可追蹤的區(qū)塊鏈不具有隱私性。

本章論述可追蹤的區(qū)塊鏈賬本隱私保護方案中的交易構(gòu)造和區(qū)塊構(gòu)造。為了簡化描述,本文僅考慮P2PK(Pay to Public Key)的情況,并且忽略區(qū)塊包含的必要信息(如區(qū)塊高度、區(qū)塊哈希、Nonce 等)以及挖礦等內(nèi)容,重點描述與交易、驗證和追蹤有關(guān)的內(nèi)容。

可追蹤的隱私區(qū)塊鏈包括三類角色:用戶、礦工和監(jiān)管人。用戶生成交易然后廣播給礦工,交易中需要包含四類信息:輸入資產(chǎn)數(shù)量、資產(chǎn)所有權(quán)證明、輸出資產(chǎn)數(shù)量、輸出資產(chǎn)存放地址;礦工在收到交易后對交易進行驗證,驗證內(nèi)容包括:(1)資產(chǎn)所有權(quán)證明有效;(2)輸入資產(chǎn)數(shù)量等于上一筆交易中的輸出資產(chǎn)數(shù)量;(3)輸入資產(chǎn)數(shù)量之和等于輸出資產(chǎn)數(shù)量之和。礦工還負責將驗證通過的交易打包,放入?yún)^(qū)塊鏈中。監(jiān)管人負責在發(fā)生交易糾紛或者懷疑出現(xiàn)不法交易時追蹤交易中用戶的身份和資產(chǎn)數(shù)量,為追責提供證據(jù)。區(qū)塊鏈系統(tǒng)中交易方式和追蹤方式如圖1所示。

圖1 方案中的交易和追蹤方式

4.1 初始化

由于本文方案不需要BGN同態(tài)方案提供的同態(tài)乘法運算,可舍棄與同態(tài)乘法相關(guān)的雙線性對參數(shù)。因此監(jiān)管人取同態(tài)加密公共參數(shù)(n,g1,h1),其中n=q1×q2,解密私鑰q2,取生成監(jiān)管密鑰對 (t,T),滿足T=gt,用戶i取生成支付密鑰對 (si,Si),掃描密鑰對(xi,Xi)和追蹤公鑰Yi滿足Si=gsi,Xi=gxi,Yi=Txi,其資產(chǎn)所有證明為σi,其資產(chǎn)數(shù)量密文的Bulletproofs 零知識范圍證明為πi。此外Bulletproofs 所使用的橢圓曲線參數(shù)也需要與同態(tài)加密公共參數(shù)保持一致。設(shè)交易中用戶i持有資產(chǎn)數(shù)量vi,該資產(chǎn)存放的隱私地址為S.A.i,接收該資產(chǎn)使用的共享秘密為ci,以監(jiān)管公鑰T對ci進行非對稱加密的密文為ηi。

4.2 交易生成

以用戶i向j和k發(fā)起的交易為例,發(fā)送給j和k的資產(chǎn)數(shù)量分別為vj和vk。i擁有資產(chǎn)數(shù)量的密文,其中ri是盲因子,該筆資產(chǎn)存放的隱身地址是S.A.i=gci+si。i廣播給礦工的交易內(nèi)容如下:

4.3 交易驗證

礦工按照以下過程對交易進行驗證:

(1)檢查S.A.i下的資產(chǎn),如果資產(chǎn)不存在或則丟棄交易,否則進行下一步。

(2)對σi進行驗證和鏈接,若驗證失敗或鏈接成功則丟棄交易,否則進行下一步。

(4)驗證πj和πk,若任意一個驗證不通過則丟棄交易,否則接收交易。

4.4 區(qū)塊打包

礦工在完成交易的驗證后需要將交易打包成區(qū)塊加入?yún)^(qū)塊鏈。交易中用于驗證的 Δr、l、πj、πk被刪去,只包括下列內(nèi)容:

4.5 交易追蹤

隱身地址追蹤:監(jiān)管人解密隱私地址S.A.i對應(yīng)的密文ηi得到ci,再計算得到用戶i的支付公鑰。

環(huán)簽名追蹤:監(jiān)管人對pk中的pki(i={0,1,…,α-1})逐個計算(pki)t直到找到pkl滿足(pkl)t=g(ci+si)t,則pkl為屬于用戶i的隱私地址S.A.i,隨后按照隱身地址追蹤中的方法追蹤用戶i的支付公鑰。

追蹤資產(chǎn)數(shù)量:監(jiān)管人對用戶i的資產(chǎn)數(shù)量密文進行解密得到明文vi。

5 方案分析

5.1 安全性分析

本方案基于隱身地址、d-CLSAG環(huán)簽名、BGN同態(tài)加密和Bulletproofs零知識證明。隱身地址的安全性基于橢圓曲線上的離散對數(shù)難題。隱身地址的安全性保證了隱身地址對應(yīng)的支付密鑰不被破解,即攻擊者無法從隱身地址中推斷出支付密鑰ci+si。d-CLSAG環(huán)簽名的安全性基于k-OMDL 困難性假設(shè)[24]。該難題可以表述為:給定群參數(shù)(p,G,g)和k+1 個群元素X={G}k+1,沒有多項式時間算法能夠讓攻擊者在訪問舞弊預(yù)言機(Corruption oracle)不超過k次的情況下確定向量x={?p}k+1,對所有i滿足。根據(jù)文獻[24],d-CLSAG 環(huán)簽名具有不可偽造性(Unforgeability),即給定一組公鑰向量pk,攻擊者無法偽造一個由pkl中任意一把公鑰對應(yīng)的私鑰簽下的d-CLSAG環(huán)簽名。這一性質(zhì)保證了攻擊者無法通過盜用賬本上的環(huán)簽名轉(zhuǎn)移他人的資產(chǎn)。另外,該環(huán)簽名方案具有的可鏈接性也提供了抵抗雙花交易的能力,即攻擊者無法通過使用同一把私鑰簽下兩個簽名的方式惡意創(chuàng)造資產(chǎn)。BGN同態(tài)加密安全性基于雙線性對上的子群決定難題(The Subgroup Decision Problem)。該難題可以表述為:給定雙線性對e和橢圓曲線群G、G1,其中G 的群階為合數(shù)n,則沒有多項式算法能夠在不對n進行因數(shù)分解的情況下確定元素X是否屬于G 的一個子群。Bulletproofs 零知識證明的安全性同樣基于橢圓曲線離散對數(shù)難題,即交易發(fā)起者向接受者發(fā)送的資產(chǎn)數(shù)量只能在?n中,無法惡意創(chuàng)造或銷毀資產(chǎn)。

5.2 匿名性分析

本方案使用了隱身地址而不是真實公鑰作為區(qū)塊鏈中的資產(chǎn)接收地址,賬本中屬于同一個用戶的所有接收地址均不相同。隱身地址的使用隱藏了用戶的真實公鑰,使得攻擊者無法將屬于同一用戶的交易輸出聯(lián)系起來。使用d-CLSAG環(huán)簽名方案代替?zhèn)鹘y(tǒng)簽名方案作為資產(chǎn)的所有權(quán)證明,將交易發(fā)起者的公鑰隱藏在包含多個公鑰之中,這使攻擊者無法將上一筆交易的輸出與下一筆交易的輸入建立聯(lián)系,從而抵抗針對賬本的分析攻擊。BGN同態(tài)加密方案保證了在群階n足夠大無法被分解的情況下,攻擊者無法解密密文,即無法得知賬本中的交易資產(chǎn)數(shù)量。相比文獻[15-16],本文方案提供了交易資產(chǎn)的隱私保護,回避了由固定交易額帶來的大量開銷。相比文獻[11-12,17],本文方案不需要可信服務(wù)器或可信初始化,杜絕了資產(chǎn)偷竊的可能性。相比文獻[18],本文方案提供了用戶的身份隱私保護,擁有更強的匿名性。相比文獻[19],本文方案支持賬本上的交易資產(chǎn)驗證,更能抵抗礦工泄密下的交易分析攻擊。

5.3 可追蹤性分析

相比現(xiàn)存方案[1,4,11-19,21-23],本文方案提供了可追蹤性,僅有監(jiān)管人能夠追蹤用戶公鑰并且不會帶來用戶資產(chǎn)的安全性問題。方案中,資產(chǎn)數(shù)量使用BGN 同態(tài)方案進行加密,因此只有持有私鑰的監(jiān)管部門能夠使用追蹤私鑰解密資產(chǎn)數(shù)量。d-CLSAG環(huán)簽名可追蹤部分原理與橢圓曲線密鑰交換協(xié)議(ECDH)相同,其安全性基于橢圓曲線離散對數(shù)難題,因此只有監(jiān)管部門能夠確定簽名者持有的隱身地址。隱身地址的共享秘密使用非對稱加密的方式存放在賬本中,而僅有監(jiān)管部門才能解密,從而保證只有監(jiān)管部門能夠使用該共享秘密尋找隱身地址對應(yīng)的真實公鑰。監(jiān)管部門無法通過持有的追蹤私鑰推斷用戶的支付私鑰,即只能追查用戶身份卻不能偽造合法的交易轉(zhuǎn)移用戶資產(chǎn),這保證了用戶資產(chǎn)的安全。

6 實驗驗證

由于d-CLSAG簽名以及包含BGN同態(tài)密文的Bulletproofs 零知識證明的驗證時間占交易驗證時間的主要部分,本文針對這兩部分做了驗證和測試。實驗環(huán)境為Ubuntu 19.10,CPU為Intel Core i5-8265U@1.60 GHz。

圖2 給出了d-CLSAG 簽名的驗證效率與匿名集之間的關(guān)系??梢钥闯鲭S著匿名集的增大,d-CLSAG 簽名的驗證速度逐漸減慢。

圖2 驗證時間與匿名集大小

圖3展示了包含BGN同態(tài)密文的Bulletproofs零知識證明驗證時間與證明范圍之間的關(guān)系,其中橢圓曲線群階n的大小為1 024 位。在單個證明的情況下,隨著證明范圍的增大,驗證時間隨之延長。由于實際場景中驗證范圍往往并不需要達到64 位,應(yīng)用中可以選擇合適的證明范圍以降低驗證時間。

圖3 驗證時間與證明范圍

圖4展示了包含BGN同態(tài)密文的Bulletproofs零知識證明驗證時間與橢圓曲線群階n之間的關(guān)系,其中證明的范圍為(0,16]。隨著橢圓曲線群階n的增長,單個證明驗證時間增加,其原因是橢圓曲線上的運算速度隨著群階n的增長而降低。在批量證明的情況下,每證明平均驗證時間降低至單個證明的11.53%。

圖4 驗證時間與橢圓曲線群階比特位數(shù)

以一筆交易包含兩筆輸入和兩筆輸出為例,本方案的驗證過程中除了d-CLSAG環(huán)簽名驗證和Bulletproofs零知識證明驗證之外,還包括了一次點乘和兩次點加運算,經(jīng)測試1 024 位點加運算需要42 μs 可忽略不計,1 024 位的點乘運算需要25.60 ms。在1 024 位,環(huán)簽名匿名集大小為8的安全性下,本方案的每交易驗證時間最短為25.60 ms+2.15 ms+226.80 ms=254.55 ms。在批量證明的情況下每交易驗證時間可降低至53.90 ms。考慮到傳統(tǒng)區(qū)塊鏈2~10 min的交易確認時間,本方案開銷不會對現(xiàn)有區(qū)塊鏈系統(tǒng)的效率產(chǎn)生顯著影響。

7 結(jié)語

近年來隨著區(qū)塊鏈技術(shù)的持續(xù)發(fā)展,區(qū)塊鏈應(yīng)用的落地也在不斷變成現(xiàn)實,傳統(tǒng)區(qū)塊鏈中一系列的隱私泄露問題也亟待解決。以往方法均把重點放在增強區(qū)塊鏈用戶隱私之上,缺乏對區(qū)塊鏈監(jiān)管方法的探索。本文基于可追蹤的隱私地址、d-CLSAG 環(huán)簽名和Bulletproofs 零知識證明提出了可追蹤的區(qū)塊鏈賬本隱私保護方案。該方案在支持交易公開驗證的同時保證了用戶的隱私,并且允許監(jiān)管人對用戶的隱私進行追蹤,解決了區(qū)塊鏈隱私保護方案中的監(jiān)管問題。理論分析表明其具有足夠的安全性,相比其他同類方案具有更強的匿名性,并且提供了面向監(jiān)管人的可追蹤性。實驗結(jié)果表明相比傳統(tǒng)區(qū)塊鏈系統(tǒng),該方案在驗證效率上不會帶來顯著影響,這對區(qū)塊鏈的可追蹤性研究具有重大意義。然而,在可追蹤區(qū)塊鏈的研究中如何降低交易長度和驗證時間仍然是未來值得研究的問題。

猜你喜歡
同態(tài)公鑰賬本
關(guān)于半模同態(tài)的分解*
拉回和推出的若干注記
τ-內(nèi)射模的若干性質(zhì)①
數(shù)說:重慶70年“賬本”展示
一種基于混沌的公鑰加密方案
丟失的紅色賬本
大樹爺爺?shù)馁~本
神奇的公鑰密碼
丟失的紅色賬本
P2X7 receptor antagonism in amyotrophic lateral sclerosis
德州市| 赣榆县| 武陟县| 青岛市| 昔阳县| 壤塘县| 莆田市| 台东县| 安吉县| 怀集县| 靖安县| 河津市| 新余市| 小金县| 当雄县| 白朗县| 嘉鱼县| 湘潭市| 昭觉县| 古蔺县| 汝州市| 邓州市| 六安市| 辽宁省| 定州市| 同德县| 浦县| 垦利县| 旅游| 蓬莱市| 怀来县| 石阡县| 芮城县| 饶平县| 疏勒县| 无极县| 大石桥市| 湛江市| 资中县| 尖扎县| 固原市|