999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于中間人的區塊鏈混幣機制

2022-01-01 00:00:00宋建華李智凱張柏晨
計算機應用研究 2022年3期

摘 要:混幣機制是區塊鏈隱私保護技術之一,目前面臨效率低下、安全性不足、容易遭受拒絕服務攻擊等問題,因此提出了一種基于中間人的區塊鏈混幣機制,稱為IMShuffle。該混幣機制首先對混幣交易的參與者隨機分組,每個小組成員都需要從小組中選擇一位參與者作為中間人發送自己的輸出地址,這些中間人將接收到的輸出地址發送給小組的最后節點;然后運用多層加密的思想完成小組間最后節點輸出地址的傳遞;最后一組的最后節點接收到所有參與者的輸出地址完成混幣交易。經過實驗分析表明,IMShuffle在參與者達到70名時混幣時間僅11 s,與CoinShuffle、TTShuffle機制的運行時間相比,大大提升了混幣交易的效率,縮短了混幣交易消耗的時間,同時保護了交易過程中參與者的隱私,并降低了遭受拒絕服務攻擊的風險。

關鍵詞:區塊鏈; 隱私保護; 混幣機制; 中間人; 多層加密

中圖分類號:TP393 文獻標志碼:A

文章編號:1001-3695(2022)03-039-0868-06

doi:10.19734/j.issn.1001-3695.2021.08.0405

基金項目:國家自然科學基金資助項目(61977021);湖北省技術創新專項重大項目(2019ACA144,2020AEA008)

作者簡介:宋建華(1973-),女,湖北襄陽人,教授,碩導,博士,主要研究方向為信息安全、網絡安全;李智凱(1997-),男(通信作者),湖北孝感人,碩士研究生,主要研究方向為區塊鏈安全、信息安全(511353271@qq.com);張柏晨(1996-),男,吉林遼源人,碩士研究生,主要研究方向為信息安全、網絡安全.

Coin mixing mechanism in blockchain based on intermediator

Song Jianhua1,2,3, Li Zhikai1?, Zhang Baichen1

(1.School of Computer Science amp; Information Engineering, Hubei University, Wuhan 430062, China; 2.Engineering amp; Technical Research Center of Hubei Province in Educational Informatization, Wuhan 430062, China; 3.Hubei Province Project of Key Research Institute of Humanities amp; Social Sciences at Universities (Research Center of Information Management for Performance Evaluation), Wuhan 430062, China)

Abstract:Coin mixing mechanism is one of the privacy protection technologies of the blockchain, which faces some issues such as low efficiency, insufficient security and DoS attacks. Therefore, this paper proposed a blockchain coin mixing mechanism based on intermediator, called IMShuffle. Firstly, it divided the participants in the coin mixing transaction into different groups at random. Each group member took the initiative to broadcast and sent its own output address to its intermediator, these intermediators sent the received output address to the last node of the group. Then it used the idea of multi-layer encryption to complete the transfer of the output address of the last node between the groups. The last node of the last group received the output addresses of all participants to complete the coin mixing transaction. Experimental analysis shows that the IMShuffle has a mixing time of only 11 s when the participants reach 70. Compared with the running time of the CoinShuffle and TTShuffle mixing mechanism, it greatly improves the efficiency of the mixing transaction and shortens the time of mixing transaction. It protects the privacy of participants in the transaction process and reduces the risk of DoS attacks.

Key words:blockchain; privacy protection; mixing mechanism; intermediator; multi-layer encryption

0 引言

2008年以來,中本聰[1]提出的比特幣快速進入人們的視野,其底層技術區塊鏈也越來越受到關注。區塊鏈作為一種分布式賬本,因其具有去中心化、不可竄改、可溯源以及公開性等特點而受到了研究人員的重點關注,并在金融、數字貨幣、醫療、保險等多個領域廣泛應用[2]。隨著區塊鏈技術的快速發展,其隱私保護問題也逐漸暴露出來,在比特幣、以太坊等虛擬貨幣的應用中,用戶在區塊鏈網絡上的交易記錄、賬戶地址、交易金額等敏感信息都是公開透明的,攻擊者可以利用這些公開的賬本分析出用戶的個人信息,達到竊取個人隱私的目的,因此區塊鏈技術存在隱私泄露的問題[3]

混幣機制是解決區塊鏈隱私保護問題的重要手段之一[4~6],其主要思想是通過不同用戶相互交換資產的方式將交易者之間的關系分散在不相關的地址中,隱藏區塊鏈的交易過程以增加攻擊者的分析難度,達到隱私保護的目的[7]。現有的混幣機制主要分為兩類[8]:a)以Mixcoin[9]、Blindcoin[10]等為代表的中心化的混幣機制,用戶需要通過提供混幣服務的提供商來實現混幣交易,雖然在一定程度上能夠實現地址混淆的目的,但是無法保證第三方混幣服務提供商的可信度[11];b)以CoinJoin[12]、CoinShuffle[13]等為代表的去中心化的混幣機制,用戶無須第三方服務商的參與就能夠完成地址混淆,從根本上解決了中心化混幣機制存在的可信度問題,但是也存在惡意節點監聽混幣關系、容易遭受拒絕服務攻擊等不足之處[14]

基于現有混幣機制存在的問題,本文提出了一種基于中間人的混幣機制(IMShuffle),采用隨機分組和選取中間人的方式降低了混幣交易的運行時間,提升了混幣機制的效率,同時保證了參與者輸出地址的隱秘性,減少了遭受拒絕服務攻擊的風險。

1 相關研究

CoinSwap[15]是一種基于區塊鏈系統中哈希時間鎖定合約的中心化混幣機制,通過引入第三方用戶作為交易雙方的媒介,同時借助哈希時間鎖定合約來限制第三方用戶竊取參與者的資產,交易雙方可以在無信任環境下實現輸入輸出地址的混淆,但是該方案需要發起多次交易完成混幣過程,帶來了額外的gas費用,并且交易雙方的資產需要更長的時間解鎖,導致混幣交易的效率較低。Mixcoin是由Bonneau等人[9]在2014年提出中心化混幣機制,該混幣機制通過引進第三方混幣服務提供商實現隱藏交易雙方的關聯關系。混幣交易的參與者將交易資產、輸入輸出地址等交給中心化的提供商,由提供商來完成輸出地址的混淆操作。該方案一定程度上保護了用戶的隱私,但是無法保證提供商的可信度,可能導致用戶資產損失和隱私泄露。Valenta等人[10]提出了基于盲簽名技術的Blindcoin混幣機制。該機制采用盲簽名技術保障了交易過程中的匿名性,隱藏輸入輸出地址的關聯關系,解決了Mixcoin混幣機制中參與者的輸入輸出地址對第三方混幣服務提供商可見的問題。但是該混幣機制仍無法杜絕中心化提供商放棄聲譽進行違規行為的情況。Heilman等人[16]提出了TumbleBit混幣機制,利用Tumbler節點建立混幣交易的支付渠道,Tumbler節點無法獲取匿名用戶的身份和交易信息,保障了混幣交易參與者的隱私,解決了中心化混幣交易無法保證內部隱私的缺陷,但是參與者需要支付高昂的費用,同時也存在用戶資產被侵吞的風險。

針對中心化混幣機制存在的缺陷,Maxwell[12]提出了CoinJoin去中心化混幣機制,主要思想是將區塊鏈中傳統的多筆一對一的交易封裝為一筆多對多的交易,從而隱藏交易雙方輸入輸出地址的關聯關系,從根本上杜絕了中心化混幣機制存在的第三方提供商作弊的問題,但是存在容易遭遇拒絕服務攻擊或者其他節點的隱私被泄露的問題。為了解決CoinJoin方案無法保障內部隱私的問題,Ruffing等人[13]提出了去中心化的混幣機制CoinShuffle,針對混幣交易中輸入輸出地址傳遞過程進行改進,通過多層加密的方式隱藏輸入輸出地址的關聯關系以保障交易過程中的內部隱私性。該方案提供了內部隱私性,也繼承了CoinJoin機制的外部隱私性,但是也導致消耗的算力較大,效率低下。Ziegeldorf等人[17]在2015年提出了CoinParty混幣機制,采取安全多方計算技術對混幣交易參與者的輸入輸出地址進行保護,并通過模擬可信第三方的方式實現了參與者之間安全、匿名的地址混淆。該混淆機制不需要支付混淆費用,因此容易遭受拒絕服務攻擊,同時計算量的增加也導致了更多的混幣交易時長。TTShuffle[18]在CoinShuffle混幣機制的基礎上對混幣交易的參與者進行分組,改進了CoinShuffle混幣機制面臨的單點故障問題,但是當參與者增加時運行效率存在明顯下降的問題。

IMShuffle采用隨機分組和選取中間人的方式實現輸出地址安全、高效的傳遞。在該方案中混淆階段被分為三步。首先每個小組成員在小組中選取一位參與者作為中間人,并向其發送自己的輸出地址,這些中間人將接收到的輸出地址發送給本小組的最后節點;然后利用多層加密的思想完成小組間最后節點輸出地址的傳遞;最后一組的最后節點接收到所有參與者的輸出地址完成混幣交易。該方案與其他去中心化的混幣機制相比,不僅提升了混幣機制的效率性,也降低了混幣交易遭受拒絕服務攻擊的風險,減少了算力資源的浪費。

2 IMShuffle

IMShuffle機制主要分為協商階段、混淆階段、確認階段以及責備階段四個階段,其中混淆階段的機制架構如圖1所示。

2.1 概述

在協商階段,參與者需要協商統一的輸出金額以及分組組數,公布自己的輸入地址、密鑰對中的公鑰;接著進入混淆階段,所在小組中選取各自的中間人,分別使用除中間人以外其他小組成員的公鑰對自己的輸出地址加密,并將它們廣播給中間人,中間人可以被多個參與者同時選擇;接收到最少輸出地址的中間人將作為該小組的最后節點,每個中間人需要將接收到的加密信息廣播給該小組的最后節點;小組最后節點接收到匯總之后的加密消息后使用自己的私鑰對其進行解密,剔除掉發送給自己的參與者的輸出地址,得到小組成員的輸出地址;在每個小組的最后節點確定完畢并接收到小組成員的輸出地址之后,各小組最后節點采用多層加密廣播傳遞接收到的輸出地址,直至最后一個小組的最后節點接收到前一小組廣播的加密信息,使用自己的私鑰進行解密得到輸出地址列表;因選取的中間人成為了小組最后節點而被剔除掉的參與者同樣利用多層加密思想傳遞輸出地址,直到最后一個參與者接收到所有被剔除掉參與者的輸出地址列表,然后將這些輸出列表發送給最后一個小組的最后節點;最后節點獲取到了所有的參與者輸出地址后開始輸出地址的混淆,完成混幣交易;在驗證階段,每個參與者需要驗證自己的輸出地址是否在列表中并進行簽名,如果出現異常導致混幣交易失敗則進入責備階段找出違規參與者。

2.2 協商階段

首先,混幣交易的參與者ni(i∈{1,2,3,…})要在區塊鏈上廣播自己的輸出地址di(i∈{1,2,3,…}),同時每個參與者生成一個公鑰私鑰密鑰對(ki,pi)(i∈{1,2,3,…}),以用于混淆階段對輸出地址di等信息進行加密解密;參與者還需要協商此次混幣交易涉及到的交易金額,避免因為混幣交易參與者的交易金額差異導致被攻擊者獲取用戶輸入輸出地址之間的關聯。

2.3 混淆階段

步驟Ⅰ 如圖2所示,小組參與者選取中間人并向其廣播加密后的輸出地址,中間人再將接收到的數據發送給小組的最后節點。

首先每個小組中的參與者ni從所在小組選擇一位成員up作為中間人,并使用除up以外的其他小組成員公鑰分別對自己的輸出地址di進行加密,并使用自己的私鑰對其簽名,得到加密之后的輸出地址信息k(ali),表達式如式(1)所示。小組中的所有參與者在完成了對輸出信息的加密操作之后,將k(ali)廣播給各自選取的中間人up。

其中:di是參與者ni的輸出地址;kj是除up以外該小組參與者的公鑰,kj∈Sk∩Skp , Sk是小組中所有參與者的公鑰的集合,Skp是小組參與者ni在小組中選取的中間人up的公鑰kp的集合(集合Skp只有kp一個元素)。

小組中的所有中間人共同組成集合Sup,集合Sup中接收到最少輸出地址的參與者被稱為最后節點ldm;集合Sup中其余中間人把接收到的輸出地址打包成k(alm′)一起發送給最后節點ldm,k(alm′)表達式如式(2)所示;最后節點ldm接收到k(al′m)之后,解密得到其他所有小組參與者的輸出地址列表alm′。

選取的中間人被確定為最后節點ldm的小組參與者nldl共同組成集合Snld,地址列表alm′中不包含參與者nldl的輸出地址。

混淆階段步驟Ⅰ算法流程。

輸入:m,di //m表示分組數,di表示每組參與者的輸出地址

輸出:alm′ //alm′表示小組參與者傳遞的輸出地址

k(ali)=(k1(di),k2(di),…,kj(di)) //對輸出地址加密

for up in Sup // up表示中間人,Sup表示中間人集合

up←k(ali) //小組參與者選取中間人并廣播加密信息

ldm←up(k(ali)) //中間人將加密信息傳遞給小組最后節點

alm′=alm′.append(decrypt(k(ali))) //解密得到輸出地址

步驟Ⅱ 如圖3所示每個小組的最后節點對輸出地址進行多層加密并按照順序逐級傳遞。

第一個小組的最后節點ld1使用其他小組最后節點的公鑰對輸出地址列表al′1進行多層加密得到k(lda1),用私鑰簽名后將k(lda1)發送給第二個小組的最后節點ld2。k(lda1)表達式如式(3)所示。

第二個小組最后節點ld2首先使用自己的密鑰對k(lda1)進行解密得到de(k(lda1)),然后進行相同的操作,對輸出地址列表al′2進行多層加密插入到解密信息中得到k(lda2)并使用私鑰簽名,發送給下一個小組的最后節點。de(k(lda1))和k(lda2)的表達式如下:

依此類推,直到第m個小組的最后節點ldm接收到加密的輸出地址信息k(ldam-1),最后節點ldm使用自己的私鑰對k(ldam-1)進行解密得到前m-1個小組的輸出地址列表,此時最后節點ldm接收到了除集合Snld中參與者以外的參與者輸出地址列表address1。k(ldam-1)和address1如式(6)(7)所示。

混淆階段步驟Ⅱ算法流程:

輸入:ldai //第i組最后節點接收到的輸出地址信息,m為分組數

輸出:address1 //最后一組最后節點接收到的輸出地址

k(ldai)=kldi+1(…(kldm-1(kldm(al′1)))) //多層加密

for i in (2,m) // m為分組數

ldm←decrypt(k(ldai-1)) //解密得到上一組參與者輸出地址

k(ldai)=kldi+1(…(kldm-1(kldm(al′1)))) //對輸出地址多層加密

ldi+1←k(ldai) //將加密信息傳遞給下一組的最后節點

address1=address1.append(decrypt(kldm-1)) //多層解密

ldm←address1//將解密后的輸出地址發送給最后一組的最后節點

步驟Ⅲ 如圖4所示,每個小組中選取的中間人被確定為小組最后節點的參與者對各自的輸出地址進行多層加密,并按照順序逐個傳遞。

集合Snld中的參與者在第m小組的最后節點接收到輸出地址address1后,按照上述操作進行相同的操作,第一個參與者將自己的輸出地址使用集合Snld中其他參與者的公鑰進行多層加密,使用私鑰簽名后發送給第二個參與者,第二個參與者使用自己的私鑰解密,并插入自己的輸出地址,再使用其余參與者的公鑰進行加密得到加密信息,使用私鑰簽名后發送給集合Snld的第三個參與者,依此類推直到最后一個參與者接收到前一個參與者發送的加密信息,解密后得到集合Snld中所有參與者的輸出地址address2,使用私鑰簽名后將輸出地址address2發送給最后節點ldm。最后節點ldm將接收到的輸出地址插入到address1中,得到所有參與者的輸出地址列表address,表達式為

2.4 確認階段

最后節點ldm將輸出地址列表address向所有參與者廣播;參與者接收到輸出地址列表address之后,驗證自己的輸出地址是否在列表中,如果存在,則使用自己的私鑰對address進行簽名并廣播,直到每個參與者接收到由所有參與者簽名的輸出地址列表address,確認無誤后生成混幣交易,提交給區塊鏈網絡完成混幣交易;如果參與者發現自己的輸出地址不在列表中,則拒絕簽名,混幣交易則無法生成,從而進入責備階段找出違規者。

2.5 責備階段

責備階段主要的任務是判斷導致混幣交易失敗的環節和違規參與者。混幣參與者在混淆階段和確認階段都需要對自己的操作進行簽名,以確保每個階段的操作都有據可查,保證混幣機制能夠在最快的時間內定位到錯誤階段和違規參與者。責備階段通過分析以下幾種情況來判斷錯誤階段和違規參與者:

a)協商階段出現違規現象。該階段的主要任務是參與者之間相互廣播各自的輸出地址和公鑰,以確保每一個參與者都能夠完成混幣交易。當違規節點拒絕廣播輸出地址和公鑰時,合法的參與者可以通過驗證其他參與者的簽名來找出并剔除未廣播相關信息的違規參與者。

b)混淆階段發現錯誤輸出地址。若節點發現輸出地址列表address中存在錯誤的輸出地址,則通過查找該錯誤輸出地址的簽名來追溯到具體的小組最后節點,該小組最后節點再查找接收到的輸出地址列表addrlistm,找到發送包含該錯誤輸出地址的小組成員um,p;小組成員um,p驗證簽名找到廣播錯誤輸出地址的參與者,最后剔除掉該輸出地址。

c)中間人為惡意節點或者中途退出協議流程。在混淆階段各小組參與者會選定某個節點作為中間人來接收自己的輸出地址,當選定的中間人為惡意節點并且拒絕發送、漏報、竄改參與者輸出地址甚至中途退出流程時,會導致部分參與者無法完成混幣交易;當中間人拒絕發送、漏報輸出地址或者中途退出流程時,可以通過查找缺失的參與者簽名來回溯到該參與者選定的中間人,從而將該惡意中間人剔除混幣流程;當中間人竄改某個參與者輸出地址時,其無法偽造該參與者的簽名,因此也會被發現并剔除出流程。

d)確認階段出現未確認的現象。確認階段所有的參與者都需要確認輸出地址列表有自己的輸出地址并對其進行簽名,若有違規參與者始終不確認簽名,參與者可以通過檢查輸出地址列表中缺失的參與者簽名來定位違規的參與者,并將其輸出地址剔除。

3 實驗與分析

為了驗證IMShuffle機制的性能是否較其他混幣方案有優勢,本文從影響IMShuffle機制性能的因素以及IMShuffle與CoinShuffle、TTShuffle機制的效率差異兩個方面進行實驗與分析。本章設置了四個仿真實驗和多個對照組,對分組數、每組參與者數等可能會影響IMShuffle性能因素進行分析,并對比IMShuffle與CoinShuffle、TTShuffle機制的性能差異。

3.1 實驗環境

本文采用AMD Ryzen7-4800H@2.9 GHz處理器、6 GB內存、操作系統為64位Windows 10的環境展開實驗,通過搭建P2P網絡生成多個參與者節點加入混幣交易,使用RSA加密算法保證參與者輸出地址的安全,同時利用橢圓曲線數字簽名算法確保混幣交易順利完成。

3.2 性能分析

IMShuffle的性能分析主要分為三個部分:a)設計了兩個實驗來分析能夠影響IMShuffle機制運行性能的因素(包括分組數、小組成員數);b)在第一個實驗的基礎上設計實驗與其他混幣機制進行對比,進一步評估該方案的效率;c)針對該方案在混幣交易過程中消耗的通信代價以及各節點之間進行的交互輪次進行了統計和分析。

實驗1 固定每組參與者數為3,設置分組數分別為8、9、10、…、19、20(參與者總數為24、27、30、…、57、60)。如圖5所示,通過不斷增加分組數來完成不同分組數與混淆階段中Ⅰ、Ⅱ、Ⅲ三個步驟的運行時間對比,分析分組數對IMShuffle機制運行性能的影響。

在圖5中可以看出,隨著組數的增加,步驟Ⅰ的運行時間一直保持在大約2 s以內;步驟Ⅱ和步驟Ⅲ運行時間隨著組數的增加有著明顯的上升趨勢,組數由2增加到20,步驟Ⅱ的運行時間從0 s增長到25 s,步驟Ⅲ的運行時間從0 s增長到9 s。出現上述現象的原因在于IMShuffle機制混淆階段的步驟Ⅰ中,組數對每個小組輸出地址廣播的次數并無影響,每一個小組的普通參與者只需要在區塊鏈網絡中廣播1次,該小組被普通參與者選定為中間人的參與者接收到信息后,也僅需要進行1次廣播發送給該小組的最后節點,并且伴隨著廣播而產生的加密解密時間也隨著廣播次數的減少而降低,因此步驟Ⅰ的運行時間遞增的幅度并不明顯;混淆階段的步驟Ⅱ、Ⅲ中,最后節點的數量與組數呈正相關,而小組的最后節點之間需要進行多層加密逐個傳遞的形式對輸出地址進行廣播,這就導致了廣播的次數、加密解密的次數會隨著組數的增加而增長,因此這兩個步驟的運行時間隨著組數的增加有著明顯上升的趨勢。

通過對實驗1數據的分析可得:在固定每組參與者數量的情況下,組數的增加會對混淆階段的步驟Ⅱ、Ⅲ運行時間產生明顯影響,從而導致方案整體的性能下降。

實驗1僅得出了組數對混淆階段的步驟Ⅱ、Ⅲ存在影響而對步驟Ⅰ影響不明顯的結論,無法全面分析影響步驟Ⅰ運行時間的因素,因此在實驗1的基礎上,增加實驗2來輔助分析小組參與者數量對步驟Ⅰ運行時間的影響。

實驗2 設置三個對照組,分別為小組參與者數為3、5和7。通過增加組數使得參與者總數不斷增加,并記錄三個對照組的運行時間,得到如圖6所示的小組參與者數量與運行時間關系圖。

通過分析圖6中三個對照組的曲線可知,在參與者總數相同的情況下,小組參與者數為3的對照組運行時間大于小組參與者數為5、7的對照組,因此小組參與者的數量越多,混幣機制的運行時間就越短。在實驗2中,參與者總數相同,小組參與者的數量越多,組數就越少,根據實驗1的結論,混淆階段步驟Ⅰ運行時間與組數無明顯相關性,而步驟Ⅱ、Ⅲ的運行時間會隨著組數的增加而增長,因此,當參與者總數不變、每個小組參與者的數量增加時,組數會隨之減少,從而導致步驟Ⅱ、Ⅲ的運行時間減少;圖6中的對照組清晰地表明了總的運行時間隨著小組參與者數量的增加而增加,而步驟Ⅱ、Ⅲ的運行時間減少,故可以得出結論:步驟Ⅰ的運行時間是隨著小組參與者數的增加而增長。

實驗1與2通過設置不同的參數來驗證組數、每組參與者數對IMShuffle機制混淆階段的三個小階段的運行時間存在影響,并將實驗數據與方案實際情況相結合進行了分析,得出了組數和每組參與者數與IMShuffle機制性能的關系。

實驗3 每組10個參與者,通過統計組數為2、3、4、5、6、7(即參與者總數分別為20、30、40、50、60、70)時IMShuffle機制、CoinShuffle機制、TTShuffle機制完成混幣交易所需時間,通過重復100次實驗并對各混幣機制的運行時間取平均值得到IMShuffle、CoinShuffle、TTShuffle機制的運行時間,實驗數據如圖7所示。

由圖7可知,在參與者總數相同的情況下,IMShuffle機制的運行時間整體少于CoinShuffle機制。CoinShuffle機制在參與者總數為70時整體的運行時間達到了約107 s,而IMShuffle機制在總參與者數為70、組數為7、每組參與者為10的情況下,運行時間僅11 s,遠低于CoinShuffle機制的107 s。在CoinShuffle機制中輸出地址采用多層加密的方式進行傳遞,每一個參與者都需要等待前一個參與者向自己傳遞加密數據,才能完成對自己輸出地址的多層加密并傳遞給下一個參與者,直至最后一個參與者即最后節點接收到前一個參與者發送的加密數據后,整個混幣交易的混淆階段才結束,因此在參與者不斷增加,導致加密數據傳遞鏈增長時,混幣機制的運行時間會隨之大幅增長。在IMShuffle機制中,混淆階段步驟Ⅰ小組參與者傳遞加密數據給小組中間人的過程是并發進行,不需要考慮其他參與者是否完成了數據傳遞,節省了CoinShuffle機制中參與者需要等待的時間;步驟Ⅱ、Ⅲ進行多層加密的參與者數量與分組數有關,數據傳遞鏈較短,混淆階段步驟Ⅱ、Ⅲ運行時間相較于CoinShuffle機制而言大幅減少。TTshuffle機制通過分組的方法對CoinShuffle機制進行改進,在運行效率等方面較CoinShuffle機制有了很大程度的提升,但是IMShuffle機制與其相比在計算開銷上仍有優勢。

實驗4 假設每個參與者節點之間傳遞一個輸出地址的通信代價為1,現設計每組10個參與者,組數為2、3、4、5、6、7、8、9(即參與者總數分別為20、30、40、50、60、70、80、90)的實驗來統計IMShuffle機制以及CoinShuffle機制在交易過程中所需的通信代價和交互輪次。

參與者節點之間相互通信和交互主要集中在混幣機制的混淆階段。CoinShuffle機制的混淆階段中,層層加密傳遞鏈中的每個節點都需要向后一個節點發送加密數據,這些加密數據包括了自己的輸出地址以及前面所有節點的輸出地址,因此次序越靠后的節點需要消耗的通信代價就越大;而在IMShuffle機制中,混淆階段步驟Ⅰ、Ⅱ是主要的通信代價消耗時期,步驟Ⅰ中每個節點傳遞的輸出地址都只有該節點的輸出地址,步驟Ⅱ中各個中間人傳遞的輸出地址數量總和也只是該小組成員的數量,步驟Ⅲ中最后節點的數量僅僅為分組數,層層加密傳遞輸出地址消耗的通信代價遠低于CoinShuffle機制。綜合上述分析,如圖8所示,IMShuffle與CoinShuffle機制相比大大降低了混幣交易消耗的通信代價。

如圖9所示,在CoinShuffle機制中,參與層層加密的節點會按照既定的順序依次進行交互,每個節點之間的交互輪次會隨著總參與者節點的增加而增加;IMShuffle機制引入了中間人的角色,每個小組成員都需要與中間人進行交互,而每個中間人又會與小組的最后節點進行交互,因此交互的輪次與小組成員的數量以及中間人數量有關,分組的數量和總參與者的增加導致IMShuffle機制的交互輪次與CoinShuffle機制相比有所增加。

綜合上述的分析以及實驗數據可以得出以下結論:IMShuffle機制與CoinShuffle、TTshuffle機制相比,整體運行時間隨著參與者的增加而增加,但遞增的幅度遠小于CoinShuffle和TTShuffle,運行時間保持在0~15 s,較其他幾種混幣機制在運行效率方面有著明顯的優勢;雖然在交互輪次方面與CoinShuffle機制相比有一定的差距,但是從計算開銷的角度來看,IMShuffle機制在通信代價以及運行時間兩方面的改進能夠彌補在交互輪次上的不足。

3.3 安全性分析

首先保證了參與者與輸出地址對應關系以及參與者的個人信息不被泄露。IMShuffle機制采用RSA算法對參與者的輸出地址加密,每個參與者使用除了自己選取的中間人以外的參與者公鑰對自己的輸出地址加密,避免了除輸出地址以外的個人信息泄露,且輸出地址無法被自己選取的中間人獲取;小組中所有中間人將接收到的加密信息發送給最后節點后,最后節點雖然能夠使用自己的私鑰解密參與者的輸出地址,但是無法分辨輸出地址對應的參與者身份。因此,IMShuffle機制采用的加密算法和中間人機制很好地保證了參與者的隱私以及輸出地址與參與者之間的對應關系。

其次降低了最后節點為惡意參與者的概率。CoinShuffle機制在輸出地址傳遞地過程中,會將所有參與者的輸出地址發送給最后節點,這種做法無法保證最后節點的身份是誠實的混幣參與者。IMShuffle機制在協商階段會隨機地對參與者進行分組,最后一組的參與者是被隨機選擇出來的;在混淆階段的步驟Ⅰ中每個小組的參與者會隨機地選取自己的中間人,步驟Ⅱ會根據每個中間人接收到的輸出地址多少來確定小組的最后節點,而最后一組的最后節點也是經過協商階段隨機而來的。因此,IMShuffle機制的最后節點經過了三輪隨機選擇,其為惡意節點的概率較CoinShuffle機制而言大大降低,保證了混幣機制的安全性。

最后降低了遭受拒絕服務攻擊的風險。在混幣交易過程中,當交易進行到某種程度時,惡意參與者通過拒絕進行相關操作來破壞交易,達到拒絕服務攻擊的目的。

如圖10所示,隨機抽取10%、20%的參與者作為惡意的拒絕服務攻擊者,通過設計混幣交易實驗統計總參與者數量為20、30、40、50、60、70、80、90時中間人為拒絕服務攻擊者的概率。實驗數據表明中間人為拒絕服務攻擊者的概率在兩種情況下均低于20%,IMShuffle機制通過分組的做法降低了交易過程中遭遇拒絕服務攻擊的風險,且每個中間人之間的輸出地址解密互不關聯,即使某個中間人是拒絕服務攻擊者也不會影響其他中間人的混幣交易流程。在混淆階段的步驟Ⅰ,若某個小組的參與者作為惡意節點拒絕進行輸出地址的廣播,該小組的最后節點也只會解密使用自己公鑰加密的輸出地址,其他無法解密的輸出地址將會被拋棄,也不會檢查輸出地址數量,因此該小組的惡意節點的拒絕服務攻擊并不會對其他參與者產生影響,從而降低了其他混幣交易參與者遭受拒絕服務攻擊的風險。

4 結束語

本文提出了一種基于中間人的混幣機制(IMShuffle)。為了完善現有去中心化混幣機制CoinJoin、CoinShuffle等存在的計算量大、效率低下、容易遭受拒絕服務攻擊等問題,通過采用隨機分組和選取中間人的方式實現輸出地址的高效傳遞,保障了混幣交易參與者的隱私,縮短了混幣交易運行時間,提升了混幣交易的效率,同時降低了遭受拒絕服務攻擊的風險。經過實驗分析可知,IMShuffle機制相較于CoinShuffle機制來說在效率、安全等方面有著顯著的優勢。雖然該方案提升了混幣交易的效率,保障了混幣交易參與者的隱私安全,但是也存在一些缺點。例如,在混淆階段每個小組的最后節點以及需要重新加密傳遞輸出地址的部分參與者承擔了比其他參與者更繁瑣的任務,可能會導致這些參與者進行混幣交易的積極性降低,在后續工作中將考慮引入激勵方案以提高他們的積極性。

參考文獻:

[1]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL].(2008-11-01)[2021-08-11].http://bitcoin.org/bitcoin.pdf.

[2]Bartoletti M, Pompianu L. An empirical analysis of smart contracts: platforms, applications, and design patterns[C]//Proc of International Conference on Financial Cryptography and Data Security.Berlin:Springer,2017:494-509.

[3]Androulaki E, Karame G O, Roeschlin M, et al. Evaluating user privacy in Bitcoin[C]//Proc of International Conference on Financial Cryptography and Data Security.Berlin:Springer,2013:34-51.

[4]Rivest R L, Shamir A, Tauman Y. How to leak a secret?[C]//Proc of the 7th International Conference on the Theory and Application of Cryptology and Information Security.Berlin:Springer,2001:552-565.

[5]Gentry C. Fully homomorphic encryption using ideal lattices[C]//Proc of the 41st Annual ACM Symposium on Theory of Computing.New York:ACM Press,2009:169-178.

[6]Khalilov M C K, Levi A. A survey on anonymity and privacy in Bit-coin-like digital cash systems[J].IEEE Communications Surveys amp; Tutorials,2018,20(4):2543-2585.

[7]Philip K, Diana K, Patrick D M. An analysis of anonymity in Bitcoin using P2P network traffic[C]//Proc of International Conference on Financial Cryptography and Data Security-18th International Confe-rence,Berlin:Springer,2014:469-485.

[8]Feng Qi, He Debiao, Zeadally S, et al. A survey on privacy protection in block chain system[J].Journal of Network and Computer Application,2019,126(1):46-58.

[9]Bonneau J, Narayanan A, Miller A, et al. Mixcoin: anonymity for Bitcoin with accountable mixes[C]//Proc of the 18th International Conference on Financial Cryptography and Data Security.Berlin:Springer,2014:486-504.

[10]Valenta L, Rowan B. Blindcoin: blinded, accountable mixes for Bit-coin[C]//Proc of International Conference on Financial Cryptography and Data Security.Berlin:Springer,2015:112-126.

[11]張奧,白曉穎.區塊鏈隱私保護研究與實踐綜述[J].軟件學報,2020,31(5):1406-1434.(Zhang Ao, Bai Xiaoying. Survey of research and practices on blockchain privacy protection[J].Journal of Software,2020,31(5):1406-1434.)

[12]Maxwell G. CoinJoin: Bitcoin privacy for the real world[EB/OL].(2013)[2021-08-11].https://bitcointalk.org/index.php?topic=279249.0.

[13]Ruffing T, Moreno S P, Kate A. CoinShuffle:practical decentralized coin mixing for Bitcoin[C]//Proc of European Symposium on Research in Computer Security.Berlin:Springer,2014:345-364.

[14]李旭東,牛玉坤,魏凌波,等.比特幣隱私保護綜述[J].密碼學報,2019,6(2):133-149.(Li Xudong, Niu Yukun, Wei Lingbo, et al. Overview on privacy protection in Bitcoin[J].Journal of Cryptologic Research,2019,6(2):133-149.)

[15]Maxwell G. CoinSwap: transaction graph disjoint trustless trading[EB/OL].(2013)[2021-08-11].https://bitcointalk.org/index.php?topic=321228.0.

[16]Heilman E, Alshenibr L, Baldimtsi F, et al. TumbleBit: an untrus-ted Bitcoin-compatible anonymous payment hub[C]//Proc of the 24th Annual Network and Distributed System Security Symposium.2017.

[17]Ziegeldorf J H, Grossmann F, Henze M, et al. CoinParty:secure multi-party mixing of Bitcoins[C]//Proc of the 5th ACM Conference on Data and Application Security and Privacy.New York:ACM Press,2015:75-86.

[18]程其玲,金瑜.TTShuffle:一種區塊鏈中基于兩層洗牌的隱私保護機制[J].計算機應用研究,2021,38(2):363-366,371.(Cheng Qiling, Jin Yu. TTShuffle: privacy protection mechanism based on two-tier shuffling in blockchain[J].Application Research of Computers,2021,38(2):363-366,371.)

主站蜘蛛池模板: 中文字幕乱码中文乱码51精品| 国产黑人在线| 99re精彩视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 午夜久久影院| 久久性妇女精品免费| 91亚洲精品第一| 午夜欧美理论2019理论| 97se亚洲综合在线天天| 98精品全国免费观看视频| 亚洲精品制服丝袜二区| 一级毛片无毒不卡直接观看| 天天综合网色| 九九热视频在线免费观看| 国产成人8x视频一区二区| 一级毛片在线直接观看| 国产综合网站| 亚洲最猛黑人xxxx黑人猛交| 高清不卡毛片| 欧美激情视频二区| 亚洲欧美另类日本| 无码一区二区三区视频在线播放| 免费高清a毛片| 丰满少妇αⅴ无码区| 影音先锋亚洲无码| 国产亚洲欧美日韩在线一区| 国产精品亚洲一区二区三区z | 久久精品视频一| 亚洲精品亚洲人成在线| 国产日韩av在线播放| 久996视频精品免费观看| 无码专区第一页| 欧美激情伊人| 精品午夜国产福利观看| 亚洲国产成人精品青青草原| 美女被操黄色视频网站| 国产成人综合久久精品下载| 国产精品黑色丝袜的老师| аⅴ资源中文在线天堂| 99re在线视频观看| 国产福利微拍精品一区二区| 亚洲成在线观看| 久久不卡国产精品无码| 久草视频中文| 色吊丝av中文字幕| 91精品伊人久久大香线蕉| 亚洲AV无码久久天堂| 欧美日韩v| 国产一级精品毛片基地| 精品成人一区二区三区电影| 亚洲欧美在线精品一区二区| 亚洲日韩AV无码精品| 午夜三级在线| 日韩天堂在线观看| 一区二区三区精品视频在线观看| 精品国产黑色丝袜高跟鞋| 麻豆精品在线视频| 91精品国产综合久久不国产大片| 婷婷伊人五月| 91麻豆久久久| 国内精品久久人妻无码大片高| 国产成人91精品| 久久人人97超碰人人澡爱香蕉| 色婷婷啪啪| 亚洲三级电影在线播放| 啪啪永久免费av| 中文一区二区视频| 亚洲欧美日韩成人在线| 国产噜噜在线视频观看| 首页亚洲国产丝袜长腿综合| 少妇露出福利视频| 99re精彩视频| 亚洲精品福利网站| 国产精品一线天| 欧美国产在线一区| 99伊人精品| 午夜无码一区二区三区| 一级黄色网站在线免费看| 亚洲va在线∨a天堂va欧美va| 综合色天天| 成年免费在线观看| 东京热av无码电影一区二区|