亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        可審計(jì)且可追蹤的區(qū)塊鏈匿名交易方案

        2021-03-24 02:04:34趙曉琦
        關(guān)鍵詞:用戶

        趙曉琦,李 勇

        北京交通大學(xué)電子信息工程學(xué)院,北京100044

        區(qū)塊鏈作為一種新興技術(shù),具有去中心化、不可篡改性等優(yōu)勢,受到了多個領(lǐng)域的廣泛關(guān)注。與傳統(tǒng)的架構(gòu)相比,區(qū)塊鏈去中心化的結(jié)構(gòu)能夠降低中心化服務(wù)器數(shù)據(jù)崩潰的風(fēng)險。然而,公開的交易記錄增加了隱私泄露的風(fēng)險。例如,在數(shù)字貨幣應(yīng)用中,分析人員可以對交易記錄進(jìn)行分析,從而推算出用戶的交易規(guī)律以及交易細(xì)節(jié),甚至是用戶的真實(shí)身份。在金融領(lǐng)域中,研究人員可以從交易記錄中獲取交易的細(xì)節(jié)。從整體來看,可以推算出宏觀的金融走勢。由交易推算而得的信息屬于重要的核心數(shù)據(jù),若泄露則對公司構(gòu)成一定的威脅。因此,解決區(qū)塊鏈的隱私泄露問題至關(guān)重要,必須對交易中的敏感數(shù)據(jù)進(jìn)行處理。從數(shù)字貨幣的角度出發(fā),帶隱私保護(hù)的密碼貨幣應(yīng)運(yùn)而生。Zerocoin、Zerocash 等密碼貨幣的提出增強(qiáng)了交易的匿名性,但強(qiáng)隱私性帶來了新的挑戰(zhàn),不利于審計(jì)和監(jiān)管。因?yàn)閹в须[私保護(hù)的密碼貨幣各方具有匿名性,所以無法根據(jù)交易記錄來關(guān)聯(lián)相關(guān)的交易者,可能會讓洗錢、敲詐勒索等非法行為更加泛濫。審計(jì)機(jī)構(gòu)必須對違反法律法規(guī)行為(包括洗錢或其他非法活動)保持警惕,及時審計(jì)是否存在異常交易,如大額交易等,并在必要時對交易的關(guān)聯(lián)方進(jìn)行追蹤及追責(zé)。因此,有必要研究同時滿足匿名性、可審計(jì)性和可追蹤性的區(qū)塊鏈交易方案。

        1 相關(guān)工作

        中本聰于2008年提出以比特幣作為央行系統(tǒng)的替代品[1],但分析已公開的區(qū)塊鏈中的交易圖會將交易和用戶地址鏈接到一起,存在一定的隱私泄露問題[2]。為了解決這一問題,需對交易進(jìn)行隱私保護(hù)而實(shí)現(xiàn)匿名性,于是研究人員將同態(tài)加密、環(huán)簽名、承諾、數(shù)字簽名[3]和零知識證明等密碼學(xué)技術(shù)引入數(shù)字貨幣。2014年推出的Monero 為用戶及其交易提供了高度的匿名性[4],利用具有同態(tài)性質(zhì)的Pedersen 承諾隱藏交易金額,使用環(huán)狀機(jī)密交易算法[5]增強(qiáng)保密性。在環(huán)簽名算法中,簽名者用自己的私鑰和任意n個環(huán)成員(包括自己)的公鑰生成一個環(huán)簽名,使得惡意攻擊者無法分辨簽名是由環(huán)中哪個成員生成,從而增強(qiáng)保密性。文獻(xiàn)[6] 于2013年提出混幣方案,該方案將多個交易進(jìn)行混合,使敵手無法辨認(rèn)交易雙方的身份[7]。

        然而,在密碼貨幣交易中,許多犯罪活動可能是在匿名保護(hù)下進(jìn)行的。因此,用戶身份的追蹤在Monero 交易中也很重要。文獻(xiàn)[8] 提出了零幣(Zerocoin)方案,該協(xié)議可以提供內(nèi)置的不可鏈接性。Zerocoin 實(shí)現(xiàn)了交易發(fā)起方的匿名性,通過鑄幣交易將比特幣轉(zhuǎn)化成零幣。零幣在一定程度上拓展了比特幣,但效率較低。文獻(xiàn)[9] 提出了Zerocash 方案,將比特幣轉(zhuǎn)換成零幣,使用Pedersen 承諾和簡潔的非交互零知識證明(zero-knowledge succinct non-interactive argument of knowledge,ZK-SNARK)技術(shù)[10],既實(shí)現(xiàn)了交易的發(fā)起方和接收方身份的隱私性,又實(shí)現(xiàn)了交易金額的匿名性,還可以對金額進(jìn)行任意劃分。與Zerocoin相比,ZK-SNARK 技術(shù)進(jìn)一步提高了效率,但忽略了問責(zé)、監(jiān)管監(jiān)督等目標(biāo)實(shí)現(xiàn)。

        為了便于用戶使用匿名電子貨幣以及審計(jì)人員更好地規(guī)范電子貨幣的交易歷史,文獻(xiàn)[11] 提出了新的匿名支付電子貨幣協(xié)議,只有審計(jì)人員才能看到電子貨幣的流動過程。如果審計(jì)方不完全可信,那么也存在一定的隱私泄露風(fēng)險。文獻(xiàn)[12] 為Zerocoin 增加了審計(jì)功能,允許指定的審計(jì)方提出交易中的相關(guān)信息。文獻(xiàn)[13] 提出zkLedger,它是第1 個既可保護(hù)分類賬參與者的隱私同時提供快速正確審計(jì)的系統(tǒng)。對于多欄式總賬賬本結(jié)構(gòu),每增加一筆交易將在分布式賬本中添加一條含交易時間和類型的記錄,但該記錄依照Pedersen 承諾將交易金額隱藏。如果未參與交易就對數(shù)值0 進(jìn)行承諾,從而避免第3 方知曉。然而,在同時生成多筆交易的情況下,需要重新計(jì)算零知識證明。文獻(xiàn)[14] 提出一種新的區(qū)塊鏈貨幣PRCash,是第1 個可提供快速支付、具有強(qiáng)隱私性且可監(jiān)管的區(qū)塊鏈貨幣。該方案增添一個額外的輸出值來改進(jìn)Mimblewimble 方案[15],提高了創(chuàng)建交易時的隱私性;使用一種新的零知識證明結(jié)構(gòu)增加了對交易的監(jiān)管力度,限制了用戶在一段時間內(nèi)可以匿名接收的金額總額,因?yàn)槊總€輸出都有范圍證明和監(jiān)管證明[16]。若超過限額,則根據(jù)監(jiān)管證明解密用戶身份。但事實(shí)上,審計(jì)方可能不是完全可信的,于是文獻(xiàn)[17] 提出了可平衡監(jiān)管的保密性和公眾問責(zé)的方案[17],法官利用安全多方計(jì)算[18]將各報(bào)告中的分散信息匯總,能實(shí)現(xiàn)數(shù)據(jù)的保密性。文獻(xiàn)[19] 提出了可問責(zé)的機(jī)密交易系統(tǒng)(簡稱交易系統(tǒng)),利用簽名證明賬戶的所有權(quán),用公鑰加密和Bulletproofs 證明[20]來保證交易金額的隱私性和交易的有效性,以滿足可問責(zé)的性質(zhì)。

        本文提出一種可審計(jì)且可追蹤的區(qū)塊鏈匿名交易方案,同時滿足3 個安全性質(zhì),即匿名性、可審計(jì)性和可追蹤性。通過使用Elgamal 加密[21]和改進(jìn)的隱地址的方式來實(shí)現(xiàn)交易發(fā)起方隱私、交易接收方隱私和交易金額隱私三方面的保護(hù)問題。審計(jì)方審計(jì)是否存在超出金額限制的惡意交易行為,若存在非法交易,則請求監(jiān)管方追蹤到交易雙方的身份。引入審計(jì)方和監(jiān)管方兩種角色可以實(shí)現(xiàn)權(quán)力的分配,從而限制雙方權(quán)力,避免權(quán)力濫用現(xiàn)象的發(fā)生。

        2 系統(tǒng)框架

        可審計(jì)且可追蹤的區(qū)塊鏈匿名交易系統(tǒng)有3 類角色組成:用戶、審計(jì)方和監(jiān)管方。

        1)用戶

        區(qū)塊鏈交易的參與方,包括交易的發(fā)起者和接收者。

        2)審計(jì)方

        具有審計(jì)功能,可以審計(jì)區(qū)塊鏈上的交易,判別該區(qū)塊鏈上是否存在非法交易。

        3)監(jiān)管方

        具有監(jiān)管功能,可以追蹤揭示區(qū)塊鏈上非法交易者的身份。

        系統(tǒng)框架如圖1所示。

        圖1 系統(tǒng)框架Figure 1 System framework

        實(shí)現(xiàn)可審計(jì)且可追蹤的區(qū)塊鏈匿名交易的具體步驟如下:

        步驟1用戶首先將自己的追蹤密鑰發(fā)送給監(jiān)管方。

        步驟2交易的發(fā)起者將交易內(nèi)容廣播到區(qū)塊鏈網(wǎng)絡(luò)上。

        步驟3審計(jì)方審計(jì)單筆交易的金額。若交易金額符合單筆交易金額限制,則為合法交易;若超出單筆交易金額限制,則為非法交易,從而得到審計(jì)結(jié)果。

        步驟4審計(jì)方產(chǎn)生解密非法交易者身份請求并發(fā)送給監(jiān)管方。

        步驟5監(jiān)管方收到請求后驗(yàn)證簽名,證明請求是由審計(jì)方所發(fā)后進(jìn)行追蹤,揭密交易的發(fā)起方和接收方的身份;若驗(yàn)證失敗則丟棄該請求。

        3 可審計(jì)可追蹤的區(qū)塊鏈匿名交易方案和安全模型

        本文以下述困難問題和假設(shè)為基礎(chǔ):

        1)雙線性Diffie-Hellman(bilinear Diffie-Hellman,BDH) 問題[22]

        設(shè)G1、G2和GT為p階的群,g1為G1的生成元,g2為G2的生成元,e:G1×G2→GT是一個可計(jì)算的雙線性映射,給定g1、g2、ga1、gb1,計(jì)算e(g1,g2)ab,其中a ∈Zp,b ∈Zp。

        2)BDH 假設(shè)

        對于任何概率多項(xiàng)式時間(probabilistic polynomial time,PPT)算法,成功解決BDH 問題的概率是可忽略的。

        3.1 方案定義

        可審計(jì)且可追蹤的區(qū)塊鏈匿名交易方案由以下算法構(gòu)成:

        1)Setup(1λ)→(pubpara,secpara)為參數(shù)設(shè)置算法,以安全參數(shù)1λ作為輸入,輸出公共參數(shù)pubpara=(G1,G2,GT,Zp,Zq,g1,g2,h,H,pku,pka,pkr) 和私有參數(shù)secpara=(sku,ska,skr)。

        2)TKeyGen(pubpara,sku)→tku為追蹤密鑰生成算法,由用戶執(zhí)行,以公共參數(shù)和用戶的私鑰作為輸入,輸出用戶的追蹤密鑰tku。

        3)TKeyVerify(pubpara,pku,tku)→b為追蹤密鑰驗(yàn)證算法,由監(jiān)管方執(zhí)行,以公共參數(shù)、用戶公鑰和收到的追蹤密鑰作為輸入,驗(yàn)證追蹤密鑰tku的有效性。若b輸出為1,則追蹤密鑰有效;若輸出為0,則密鑰無效。

        4)Addr(pubpara,pku)→(Addrp,Eku) 為一次性地址生成算法,由用戶執(zhí)行,以公共參數(shù)和用戶的公鑰作為輸入,輸出用戶的交易地址為(Addrp,Eku)。

        5)Mint(pubpara,pka,v)→(c1,c2) 為鑄幣算法,由用戶執(zhí)行,以公共參數(shù)、審計(jì)方的公鑰和交易金額作為輸入,輸出加密后的密文(c1,c2)。

        6)Enc(pubpara,pku,pkr)→(c3,c4) 為加密算法,由用戶執(zhí)行,以公共參數(shù)、用戶公鑰和監(jiān)管方公鑰為輸入,對用戶的公鑰進(jìn)行加密處理后輸出加密后的密文(c3,c4)。

        7)RAddr(Addrp,Eku,sku)→Addrs為恢復(fù)地址算法,由用戶執(zhí)行,以一次性地址和用戶私鑰作為輸入,輸出用戶的真實(shí)地址Addrs。

        8)Audit(ska,(c1,c2))→b為審計(jì)算法,由審計(jì)方執(zhí)行,以審計(jì)方的私鑰ska作為輸入,打開密文(c1,c2)。若符合單筆金額限制,則輸出1,否則輸出0,并向監(jiān)管方請求用戶身份。

        9)ReqTrace(Addrp,Eku,(c3,c4),ska)→R為請求追蹤算法,由審計(jì)方執(zhí)行,以交易地址、公鑰密文和審計(jì)方的私鑰作為輸入,生成R并發(fā)送給監(jiān)管方。

        10)ReqVerify(pubpara,R,pka)→b為驗(yàn)證請求算法,由監(jiān)管方執(zhí)行,將追蹤請求R和審計(jì)方公鑰pka作為輸入,驗(yàn)證審計(jì)方身份。若輸出1,則驗(yàn)證通過;若輸出0,則驗(yàn)證失敗,丟棄請求。

        11)Trace(Addrp,Eku,(c3,c4),tku,skr)→(b1,b2) 為追蹤算法,由監(jiān)管方執(zhí)行,以用戶的交易地址、用戶公鑰密文(c3,c4)、追蹤密鑰和監(jiān)管方私鑰作為輸入,輸出(b1,b2)。若b1輸出1,則表示追蹤到交易發(fā)起方的身份;若輸出0,則表示追蹤失?。蝗鬮2輸出1,則表示追蹤到交易接收方的身份;若輸出0,則表示追蹤失敗。

        3.2 安全模型

        定義1匿名性

        如果不存在任何概率多項(xiàng)式時間的敵手以不可忽略的優(yōu)勢贏得以下游戲,則稱方案具有匿名性。

        Gameanon游戲步驟如下。

        步驟1挑戰(zhàn)者輸入安全參數(shù),運(yùn)行Setup 算法,并將安全參數(shù)pubpara 發(fā)送給敵手A。

        步驟2在查詢階段進(jìn)行下列詢問。

        1)密鑰對詢問

        A選擇一個身份i ∈I1,其中I1為一組用戶,向挑戰(zhàn)者請求公私鑰對。挑戰(zhàn)者運(yùn)行用戶密鑰生成算法得到公私鑰對,并將結(jié)果發(fā)送給A。A最多可以查詢q1次公私鑰對。

        2)公鑰查詢

        A選擇一個身份i ∈I2,其中I2為一組用戶,向挑戰(zhàn)者請求公鑰。挑戰(zhàn)者運(yùn)行用戶密鑰生成算法得到密鑰對,并將公鑰發(fā)送給A。A最多可以查詢q2次公鑰。

        3)哈希查詢

        A選擇一個隨機(jī)點(diǎn)Gi ∈GT,向挑戰(zhàn)者請求其哈希值。挑戰(zhàn)者計(jì)算答案并返回給A。A最多可以查詢q3次哈希值。

        步驟3A選擇一個由公鑰查詢得到的公鑰pk′,發(fā)送給挑戰(zhàn)者。挑戰(zhàn)者隨機(jī)選擇一個b ∈{0,1},如果b=0,挑戰(zhàn)者隨機(jī)選擇一個T ∈G1發(fā)送給A;如果b=1,挑戰(zhàn)者運(yùn)行一次性地址生成算法,將Addrp發(fā)送給A。

        步驟4A執(zhí)行多次詢問,但不得詢問pk′對應(yīng)的私鑰。

        步驟5A輸出b′作為對b的猜測。

        A贏得游戲的優(yōu)勢為

        即除了用戶的私鑰和跟蹤密鑰外,其他人無法從交易地址鏈接到用戶身份。

        定義2可審計(jì)性

        上述方案若滿足以下條件,則審計(jì)方可以審計(jì)到單筆交易的金額,也就是方案具有可審計(jì)性。

        或者

        即當(dāng)單筆交易金額符合金額限制時,審計(jì)方可審計(jì)到這一情況的概率接近于1;當(dāng)單筆交易金額超出金額限制時,審計(jì)方可以審計(jì)到這一情況的概率也接近于1。

        定義3可追蹤性

        若滿足以下條件,則監(jiān)管方可以追蹤到單筆交易金額超出限制的發(fā)送方和接收方的身份。

        即在審計(jì)方審計(jì)到單筆交易金額超出限制的非法交易后,向監(jiān)管方發(fā)出身份追蹤請求。驗(yàn)證請求通過后,追蹤者可以追蹤到交易雙方身份的概率接近于1。

        4 方案設(shè)計(jì)

        4.1 方案概述

        本方案為可審計(jì)且可追蹤的區(qū)塊鏈匿名交易方案,既能對區(qū)塊鏈交易的金額與交易者雙方的身份進(jìn)行隱私保護(hù),同時又可以審計(jì)到金額超出限額的非法交易,并實(shí)現(xiàn)交易雙方身份的追蹤。

        在本方案中,用戶生成一個密鑰對后公開自己的公鑰,并計(jì)算追蹤密鑰發(fā)送給監(jiān)管方,保證只有監(jiān)管方可以追蹤到用戶身份;交易發(fā)起方用審計(jì)方公鑰對交易金額進(jìn)行加密,保證只有審計(jì)方可審計(jì)到交易金額。這樣可以確保審計(jì)方和監(jiān)管方不會同時知道交易者身份和交易內(nèi)容,限制了審計(jì)方的權(quán)利,防止出現(xiàn)權(quán)利濫用的現(xiàn)象。交易發(fā)送方以隱地址的方式為接收方創(chuàng)建一個一次性地址作為交易地址,并將自己的公鑰用監(jiān)管方公鑰加密,以便隱藏發(fā)送方和接收方的身份。接收方檢查交易是否屬于自己,若交易屬于自己,則解密交易地址后獲取交易內(nèi)容。審計(jì)方以審計(jì)私鑰驗(yàn)證交易金額的合法性,若存在非法交易,則發(fā)送追蹤身份請求給監(jiān)管方。監(jiān)管方驗(yàn)證該請求,確認(rèn)是由審計(jì)方所發(fā)后,利用追蹤密鑰追蹤交易接收者的身份,用監(jiān)管私鑰解密交易發(fā)起方的身份,但是監(jiān)管方也只能獲得該筆交易的雙方身份而不能獲取交易內(nèi)容。

        4.2 方案具體構(gòu)建

        方案中各算法的具體構(gòu)建如下:

        1)Setup(1λ)→(pubpara,secpara) 為參數(shù)設(shè)置算法,以安全參數(shù)1λ作為輸入,輸出公共參數(shù)和私有參數(shù)。設(shè)G1、G2和GT是p階的群,Zp為p階的整數(shù)群,g1為G1的生成元,g2為G2的生成元,e:G1×G2→GT為可計(jì)算的雙線性映射。H:GT →Zp是一個抗碰撞的哈希函數(shù)。選擇一個隨機(jī)數(shù)α ∈Zp,令用戶私鑰sku=α,公鑰pku=g1α。選擇一個隨機(jī)數(shù)μ∈Zp,令監(jiān)管方私鑰skr=μ,pkr=g2μ。

        隨機(jī)選擇一個滿足安全要求的大素?cái)?shù)q,并生成有限域Zq,生成元為h。選擇一個隨機(jī)數(shù)β(1< β < q ?1),令審計(jì)方私鑰ska=β,則pka=hβmodq,輸出pubpara=(G1,G2,GT,Zp,Zq,g1,g2,h,H,pku,pka,pkr),secpara=(sku,ska,skr)。

        2)TKeyGen(pubpara,sku)→tku為追蹤密鑰生成算法,由用戶執(zhí)行,以公共參數(shù)和用戶的私鑰作為輸入,輸出用戶的追蹤密鑰。tku=g2sku,用戶將個人的追蹤密鑰發(fā)送給監(jiān)管方。3)TKeyVerify(pubpara,pku,tku)→b為追蹤密鑰驗(yàn)證算法,由監(jiān)管方執(zhí)行,以公共參數(shù)、用戶公鑰和收到的追蹤密鑰作為輸入,驗(yàn)證追蹤密鑰tk的有效性。若e(g1,tk)=e(pku,g2)等式成立,則b輸出為1,追蹤密鑰有效;若等式不成立,則輸出為0,密鑰無效。

        4)Addr(pubpara,pku)→(Addrp,Eku) 為一次性地址生成算法,由用戶執(zhí)行,以公共參數(shù)和用戶的公鑰作為輸入,首先選取一個隨機(jī)數(shù)r ∈Zp,計(jì)算一個臨時密鑰Eku=gr1,令X=e(pku,gr2),用戶的一次性地址為Addrp=gH(X)1,輸出用戶的交易地址(Addrp,Eku)。

        5)Mint(pubpara,pka,v)→(c1,c2) 為鑄幣算法,由用戶執(zhí)行,以公共參數(shù)和審計(jì)方的公鑰和金額作為輸入,選擇一個隨機(jī)數(shù)k,k ∈(1,q ?1),c1=hkmodq,c2=vpkkamodq,輸出金額v加密后的密文(c1,c2)。

        6)Enc(pubpara,pku,pkr)→(c3,c4) 為加密算法,由用戶執(zhí)行,以公共參數(shù)、用戶公鑰和監(jiān)管方公鑰為輸入對用戶的公鑰進(jìn)行加密,選取一個隨機(jī)數(shù)l,c3=gl2modp,c4=pkapklrmodp。輸出加密后的密文(c3,c4),將密文(c1,c2)、(c3,c4) 以及用戶的交易地址一起廣播到區(qū)塊鏈中。

        7)RAddr(Addrp,Eku,sku)→(Addrs) 為恢復(fù)地址算法,由用戶執(zhí)行,以一次性地址和用戶私鑰作為輸入,用戶即交易接收方檢查區(qū)塊鏈上的交易,同時計(jì)算用于交易地址相對應(yīng)的私鑰,輸出Addrs=H(e(Eku,g2sku))。

        8)Audit(ska,(c1,c2))→b為審計(jì)算法,由審計(jì)方執(zhí)行,以審計(jì)方的私鑰ska作為輸入打開密文(c1,c2),v′=(c2/cs1ka)modq。若v′符合單筆金額限制,則輸出1;否則輸出0,請求用戶身份。

        9)ReqTrace(Addrp,Eku,(c3,c4),ska)→R為請求追蹤算法,由審計(jì)方執(zhí)行,將交易地址用審計(jì)方私鑰進(jìn)行簽名,令m=(Addrp,Eku,(c3,c4)),計(jì)算t=hkmodq,s=k?1(m ?tska)(modq ?1),其中k ∈(1,q ?1),且k與q ?1 互質(zhì)。R=(m,t,s) 為帶有審計(jì)方簽名的請求,可由審計(jì)方發(fā)送給監(jiān)管方。

        10)ReqVerify(pubpara,pka,R)→b為驗(yàn)證請求算法,由監(jiān)管方執(zhí)行,將審計(jì)方公鑰pka和追蹤請求R作為輸入,驗(yàn)證審計(jì)方身份。若等式pktats=hmmodq成立,則接收該簽名,輸出1,驗(yàn)證通過;若等式不成立,則輸出0,丟棄該請求。

        11)Trace(Addrp,Eku,tku,(c3,c4),skr)→(b1,b2) 為追蹤算法,由監(jiān)管方執(zhí)行,以用戶的交易地址、追蹤密鑰和用戶公鑰密文(c3,c4) 作為輸入,計(jì)算pk′u=(c4/cs3kr)modp,Addr′p=g1H(e(Eku,tku))。若pk′u為某用戶公鑰,則b1輸出1,表示追蹤到交易發(fā)起者身份;若等式Addr′p=Addrp成立,則b2輸出1,表示追蹤到交易接收方身份。

        5 安全性分析

        定理1如果哈希函數(shù)H是一個隨機(jī)預(yù)言機(jī),并且BDH 假設(shè)成立,那么方案滿足匿名性。

        證明如果存在一個概率多項(xiàng)式時間敵手A,以不可忽略的優(yōu)勢v打破了匿名性,則可構(gòu)造一個算法B解決BDH 問題。

        假設(shè)A和B為Gameanon的參與者,B模擬挑戰(zhàn)者試圖解決BDH 問題。B首先初始化系統(tǒng)參數(shù),獲得安全參數(shù)para=(G1,G2,GT,Zp,g1,g2)。B與A交互步驟如下。

        步驟1B將系統(tǒng)參數(shù)發(fā)送給A。

        步驟2在查詢階段進(jìn)行下列詢問。

        1)密鑰對詢問

        A選擇一個身份i ∈I1,其中I1為一組用戶,發(fā)送給B,請求密鑰對。B運(yùn)行用戶密鑰生成算法,得到密鑰對后將結(jié)果發(fā)送給A。A最多可以查詢q1次密鑰對。

        2)公鑰查詢

        A選擇一個身份i ∈I2,其中I2為一組用戶,發(fā)送給B,請求公鑰。B運(yùn)行用戶密鑰生成算法,得到密鑰對將公鑰發(fā)送給A。A最多可以查詢q2次公鑰。

        3)哈希查詢

        B維護(hù)一個哈希列表,初始化為空集。A選擇一個隨機(jī)點(diǎn)Gi ∈GT,向B請求其哈希值。如果哈希列表中存在元組(i,Gi,Zi),則把Zi返回給A,若不存在,則隨機(jī)選擇一個Zi ∈Zp返回給A,并把元組(i,Gi,Zi) 存在哈希列表中。A最多可以查詢q3次哈希值。

        步驟3A選擇一個由公鑰查詢得到的公鑰pk′,發(fā)送給B。B隨機(jī)選擇一個b ∈{0,1},如果b=0,B隨機(jī)選擇一個pk?u,運(yùn)行一次性地址生成算法,得Addrp=T(T ∈G1) 后發(fā)送給A;如果b=1,B運(yùn)行一次性地址生成算法,將Addrp發(fā)送給A。

        步驟4A執(zhí)行多次詢問,但不得詢問pk′對應(yīng)的私鑰。

        步驟5A輸出b′作為對b的猜測。

        若A成功猜到答案,則B輸出Zi作為BDH 問題的解。B解決BDH 問題的概率為

        如果B成功解決BDH 問題,那么滿足下列條件:

        1)A正確選擇了pk′,因此Pr[A[pk′]]≥1/q2。

        2)B選擇的Zi滿足e(g1,g2)ab=Zi,于是有Pr[B(Zi)]≥1/q3。

        因此

        即B解決BDH 問題是不可忽略的,這與BDH 假設(shè)矛盾,所以滿足匿名性。

        定理2在用戶和審計(jì)方都是誠實(shí)的情況下,對于用戶以審計(jì)方公鑰加密后產(chǎn)生的交易,審計(jì)方能夠?qū)徲?jì)到交易金額,即具有可審計(jì)性。

        證明對于用審計(jì)公鑰pka加密的密文(c1,c2),其中c1=hkmodq,c2=vpkkamodq,審計(jì)方以私鑰解密可得

        也就是

        因此輸入由審計(jì)方公鑰pka加密的密文(c1,c2),審計(jì)方可以用ska解密得到交易金額v,判斷金額v是否超出金額限制。若Audit 算法輸出1,則表示單筆交易金額符合金額限額,反之則輸出0。審計(jì)方能審計(jì)到交易金額,即具有審計(jì)性。

        定理3如果追蹤密鑰由用戶的私鑰計(jì)算而得,且交易發(fā)起方的公鑰由監(jiān)管方的公鑰加密生成密文,則監(jiān)管方可以追蹤到交易雙方的身份,即具有追蹤性。

        證明由用戶私鑰計(jì)算而得的追蹤公鑰tku,tku=g2sku,可以根據(jù)用戶的交易地址計(jì)算出交易接收方的用戶身份。其中,用戶的交易地址(Addrp,Eku)中Addrp=g1H(X),X=e(pku,g2r),Eku=g1r。正確性的證明過程如下:

        令X′=e(Eku,tku),則

        由雙線性映射性質(zhì)可得

        即Addr′p=Addrp。

        因此,根據(jù)用戶的追蹤密鑰和交易地址可以得出用戶的身份,即可以追蹤交易接收方的身份。

        對于用監(jiān)管公鑰pkr加密的密文(c3,c4),其中,c3=gl2modp,c4= pkupklrmodp,監(jiān)管方用私鑰解密可得

        也就是

        因此,輸入由監(jiān)管方公鑰pkr加密的密文(c3,c4),監(jiān)管方可以用解密得到交易發(fā)起方的公鑰,即可以追蹤到交易發(fā)起方的身份。

        綜上所述,監(jiān)管方可以追蹤到交易雙方的身份,即具有追蹤性。

        6 性能分析

        本節(jié)從方案對比及仿真實(shí)驗(yàn)兩方面進(jìn)行分析。對比本方案與Cryptonote 方案[23]的存儲成本如表1所示,可以看出本方案的追蹤密鑰存儲成本更低。

        表1 不同方案的存儲成本對比Table 1 Comparison of storage costs of different schemes

        對比不同方案的性質(zhì)如表2所示,可以發(fā)現(xiàn)本方案同時滿足3 種安全性質(zhì),顯然更有優(yōu)勢。

        表2 不同方案的性質(zhì)對比Table 2 Comparison of properties of different schemes

        通過仿真實(shí)驗(yàn)對各算法進(jìn)行性能評估。本實(shí)驗(yàn)用Java 語言編寫,調(diào)用pbc 庫進(jìn)行雙線性映射。實(shí)驗(yàn)環(huán)境的具體配置如表3所示。

        表3 實(shí)驗(yàn)環(huán)境配置Table 3 Experimental environment configuration

        實(shí)驗(yàn)實(shí)現(xiàn)了4.2 節(jié)方案中的各個算法,輸出結(jié)果如圖2~6 所示。其中,|G1|=|G2|=|GT|=128 字節(jié),|Zp|=20 字節(jié)。

        圖2 用戶公鑰的生成Figure 2 Generation of user public key

        圖3 追蹤密鑰的生成及驗(yàn)證Figure 3 Generation and verification of tracking key

        圖4 交易地址的生成Figure 4 Generation of transaction address

        圖5 鑄幣及審計(jì)算法的生成Figure 5 Generation of minting and audit algorithm

        圖6 恢復(fù)地址算法的生成Figure 6 Generation of recovery address algorithm

        圖7追蹤算法生成的用戶公鑰與圖2生成的用戶公鑰相同,表示追蹤到發(fā)送者的身份;追蹤算法生成的Addr′p與圖4交易地址生成算法生成的Addrp相同,表示使用的追蹤密鑰正確,即追蹤到交易接收方的身份。

        圖7 追蹤算法的生成Figure 7 Generation of tracking algorithm

        圖8給出了各算法的運(yùn)行時間。雖然系統(tǒng)算法設(shè)置時間較長,但是生成了用戶的公私密鑰、審計(jì)方的公私密鑰以及監(jiān)管方的公私密鑰,因此僅執(zhí)行一次而不必反復(fù)執(zhí)行。交易地址算法的生成時間約為70 ms,恢復(fù)地址算法的時間約為24 ms,追蹤交易雙方時間約為38 ms,審計(jì)時間約為2 ms,可見具有較高的審計(jì)效率。

        圖8 算法的運(yùn)行時間Figure 8 Running time of algorithms

        7 結(jié) 語

        針對區(qū)塊鏈交易缺乏審計(jì)和難以追責(zé)的問題,本文提出可審計(jì)可追蹤的區(qū)塊鏈匿名交易方案。針對交易發(fā)起方的身份隱私保護(hù)采用了Elgamal 加密方法,這樣除監(jiān)管方之外其他用戶無法確認(rèn)發(fā)起方身份。針對交易接收方的身份隱私保護(hù),采用了改進(jìn)的隱地址的方法,由于產(chǎn)生一次性地址,其他用戶無法確認(rèn)用戶的真實(shí)地址。在下一次交易時產(chǎn)生新的一次性地址,無法鏈接到接收方的身份,實(shí)現(xiàn)了匿名性和不可鏈接性。針對交易數(shù)據(jù)的隱私保護(hù),使用Elgamal 加密對交易數(shù)據(jù)進(jìn)行加密,使得除審計(jì)方以外的其他用戶無法窺探到具體的交易內(nèi)容。安全性分析表明:該方案可以實(shí)現(xiàn)審計(jì)單筆交易金額,且追蹤非法交易的雙方身份,同時有效保護(hù)交易金額,并且限制審計(jì)方和監(jiān)管方的權(quán)力。鑒于各類技術(shù)的應(yīng)用場景和目的不同,可以采用改進(jìn)隱地址的方法并使用Elgamal 加密和簽名技術(shù)實(shí)現(xiàn)匿名性、可審計(jì)性和可追蹤性,因?yàn)檫@3 種安全性質(zhì)的結(jié)合可有效檢測到區(qū)塊鏈中非法交易并追蹤到其身份。應(yīng)該指出的是:當(dāng)審計(jì)方審計(jì)區(qū)塊鏈中交易金額時,審計(jì)時間隨用戶數(shù)量的增多而增加,因此如何優(yōu)化審計(jì)策略進(jìn)而提高審計(jì)效率,完善交易體系是下一步的研究方向。

        猜你喜歡
        用戶
        雅閣國內(nèi)用戶交付突破300萬輛
        車主之友(2022年4期)2022-08-27 00:58:26
        您撥打的用戶已戀愛,請稍后再哭
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年5期)2016-11-28 09:55:15
        兩新黨建新媒體用戶與全網(wǎng)新媒體用戶之間有何差別
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        挖掘用戶需求尖端科技應(yīng)用
        Camera360:拍出5億用戶
        100萬用戶
        精品黄色国产一区二区| 亚洲夜夜骑| 国产精品不卡无码AV在线播放| aa日韩免费精品视频一| 久久理论片午夜琪琪电影网| 好男人日本社区www| 久久精品亚洲中文无东京热| 伊人久久综合狼伊人久久| 人妻少妇偷人精品久久性色av| 久久中文精品无码中文字幕下载 | 女同视频网站一区二区| 国产一区二区视频免费在线观看| 久久精品黄aa片一区二区三区| 精品十八禁免费观看| 综合人妻久久一区二区精品| 久久精品人妻少妇一二三区| 日本人妻系列中文字幕| 国产禁区一区二区三区| 无码免费一区二区三区| 欧美大香线蕉线伊人久久| 丰满少妇棚拍无码视频| 成人性生交大片免费5| 亚洲最大av网站在线观看| 欧美日韩亚洲精品瑜伽裤| 午夜天堂精品一区二区| 中文字幕精品人妻在线| 欧美放荡的少妇| 色综合另类小说图片区| 少妇高潮呻吟求饶视频网站| 一区二区三区内射美女毛片| 日本无遮挡吸乳呻吟视频| 国产亚洲精选美女久久久久| 中美日韩在线一区黄色大片| 欧美性受xxxx狂喷水| 国产剧情福利AV一区二区| av无码特黄一级| 美艳善良的丝袜高跟美腿| 亚洲精品www久久久| 国产精品欧美久久久久老妞| 久久99国产精品久久99密桃| 成人免费无码大片a毛片抽搐色欲|