自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析區(qū)塊鏈隱私保護(hù)技術(shù)之門(mén)羅幣

安全 數(shù)據(jù)安全 應(yīng)用安全
今天我們還是從技術(shù)的角度來(lái)看看區(qū)塊鏈上的匿名與隱私,這篇應(yīng)該算是開(kāi)篇,所以前面會(huì)有一些簡(jiǎn)單的介紹。

一、前言

說(shuō)起來(lái)早期比特幣出現(xiàn)的時(shí)候亮點(diǎn)應(yīng)該就是其去中心化的特性以及隨之而來(lái)的不可篡改性,這意味著我們的賬戶(hù)信息不必提供給某家公司或者政府機(jī)構(gòu),看起來(lái)就比較自由,然而事實(shí)上隨著政府監(jiān)管的加強(qiáng)以及各個(gè)交易所的管理的加強(qiáng),這部分的自由已經(jīng)受到了極大的限制。

不過(guò)這就不是我們要討論的內(nèi)容了,今天我們還是從技術(shù)的角度來(lái)看看區(qū)塊鏈上的匿名與隱私,這篇應(yīng)該算是開(kāi)篇,所以前面會(huì)有一些簡(jiǎn)單的介紹。

[[245732]]

二、區(qū)塊鏈中的隱私保護(hù)

1. 為何需要隱私保護(hù)

其實(shí)比特幣在設(shè)計(jì)之初也考慮過(guò)賬戶(hù)與交易的匿名性,因?yàn)檎麄€(gè)比特幣的賬戶(hù)地址幾乎是無(wú)限的,大家都可以隨意創(chuàng)建錢(qián)包地址,這樣你甚至可以做到每筆交易都拿一個(gè)新地址來(lái)接收,然而受限于區(qū)塊鏈網(wǎng)絡(luò)的公開(kāi)性以及帶來(lái)的可追蹤性,對(duì)于這些分散的交易你可能需要整合才能進(jìn)行一筆較大的交易,而這種多輸入的交易一旦出現(xiàn),我們就可以將這些來(lái)源地址劃分到同一賬戶(hù)下,繼而對(duì)這些賬戶(hù)進(jìn)行進(jìn)一步追蹤,這樣通過(guò)對(duì)整個(gè)交易網(wǎng)絡(luò)的分析我們就能得到很多可關(guān)聯(lián)的信息,加上交易金額也是公開(kāi)的,對(duì)于一些特定金額的交易我們也能找到蛛絲馬跡,如果對(duì)應(yīng)地址的身份得到確認(rèn),通過(guò)這些信息就可以推算出更多的地址信息,另外還有找零所使用的零錢(qián)地址也會(huì)帶來(lái)信息的暴露,早期比特幣的客戶(hù)端就出現(xiàn)過(guò)零錢(qián)地址總是在輸出地址的第一個(gè)的bug,通過(guò)這樣層層遞進(jìn)我們就可以揭開(kāi)那些隱藏在比特幣網(wǎng)絡(luò)下的真實(shí)身份。

可以看到比特幣網(wǎng)絡(luò)所面對(duì)的隱私挑戰(zhàn)還是很多的,可以說(shuō)完全無(wú)法滿足匿名性的需求,另外由于區(qū)塊鏈交易的全程可追蹤性,每筆資金的歷史都可以查得清清楚楚,這就相當(dāng)于給比特幣都打上了烙印,那些涉及過(guò)黑產(chǎn)交易的比特幣會(huì)永遠(yuǎn)保持這一烙印,如果這樣的錢(qián)到了你的手上想必你也不太舒服吧,同時(shí)如果你在外使用比特幣支付那么別人也能看到你的賬戶(hù)里有多少錢(qián),怎么想這都不太安全。

你可能會(huì)覺(jué)得看上去區(qū)塊鏈的隱私保護(hù)只是為了隱藏賬戶(hù)擁有者的個(gè)人身份信息以及消費(fèi)信息,不過(guò)事實(shí)上對(duì)于各企業(yè)而言區(qū)塊鏈的隱私性也是非常重要的,比如某些在區(qū)塊鏈上與對(duì)方簽訂的合約,以及跟客戶(hù)的交易信息等等,很多應(yīng)該算是商業(yè)機(jī)密了,這些都需要得到保護(hù)。

區(qū)塊鏈在隱私保護(hù)上的薄弱之處還有很多,這里就不展開(kāi)說(shuō)了,一些針對(duì)網(wǎng)絡(luò)的嗅探以及對(duì)節(jié)點(diǎn)的攻擊也非常具有威脅性,不過(guò)區(qū)塊鏈技術(shù)在匿名性上又確實(shí)有著得天獨(dú)厚的優(yōu)勢(shì),也不能就這么放棄了,所以凡此種種都在敦促著新的技術(shù)的應(yīng)用。

2. 區(qū)塊鏈中的隱私保護(hù)方案

說(shuō)了這么多,其實(shí)我們關(guān)心的也就是交易的可見(jiàn)性,所以后面我主要介紹的也是基于對(duì)交易信息進(jìn)行加密的隱私保護(hù)方案,可以說(shuō)它們是工作在交易層,如果考慮更進(jìn)一步的話還得想辦法應(yīng)對(duì)在更底層也就是網(wǎng)絡(luò)層面的分析,水平以及篇幅所限就不多說(shuō)了,有興趣的可以自行查閱相關(guān)資料

目前來(lái)說(shuō),比較典型的對(duì)交易內(nèi)容進(jìn)行隱藏的隱私保護(hù)方案主要是達(dá)世幣(Dash)所采用的混幣技術(shù),門(mén)羅幣所采用的環(huán)簽名與隱秘地址以及zcash所采用的零知識(shí)證明,這些都匯聚了很多密碼學(xué)的知識(shí),深入進(jìn)去,你會(huì)發(fā)現(xiàn)它們真的很難,特別是零知識(shí)證明,然而又非常讓人著迷,這可能就是密碼學(xué)的魅力所在吧

此外,還有針對(duì)智能合約設(shè)計(jì)的Hawk方案以及針對(duì)聯(lián)盟鏈的Quorum和Coco框架,也值得了解了解,下面我們簡(jiǎn)單來(lái)看看門(mén)羅幣所采用的加密方案。

三、門(mén)羅幣的隱私保護(hù)方案

1. 介紹一下門(mén)羅幣

門(mén)羅幣應(yīng)該算是比較出名的加密貨幣了,現(xiàn)在貌似也超越了達(dá)世幣成為了匿名貨幣的老大哥,不過(guò)說(shuō)實(shí)話在之前我對(duì)它的認(rèn)識(shí)還主要是在挖礦領(lǐng)域,因?yàn)樗褂玫膆ash算法比較特殊,不像比特幣那樣可以通過(guò)定制ASIC來(lái)大幅提高挖礦效率,比特幣的這一特點(diǎn)使得其主要算力幾乎完全來(lái)自于ASIC,也就是各大礦池,而要針對(duì)門(mén)羅幣定制ASIC則成本會(huì)很高昂,而且所獲得的提升也沒(méi)那么大,所以我們可以直接拿自己的電腦來(lái)進(jìn)行挖礦,而不至于像比特幣那樣被礦池完虐,那些常見(jiàn)的針對(duì)服務(wù)器的挖礦入侵以及一些網(wǎng)站嵌入的惡意挖礦腳本一般也是針對(duì)門(mén)羅幣的,這些黑產(chǎn)對(duì)門(mén)羅幣的青睞很大程度上也是看中了它的匿名性,大家如果有閑置的服務(wù)器倒也不妨拿來(lái)挖挖門(mén)羅幣,收益好的時(shí)候說(shuō)不定可以收回服務(wù)器的成本。

門(mén)羅幣的前身是bytecoin,它的基礎(chǔ)是cryptonote協(xié)議,至于其特性,也就是在區(qū)塊鏈網(wǎng)絡(luò)上的匿名性,在這里所有的交易數(shù)據(jù)都是加密的,沒(méi)人知道一筆交易的輸入與輸出分別來(lái)自哪個(gè)賬戶(hù),所以這里的資金是不可追蹤的,看起來(lái)很神奇,你一定很好奇這樣的話交易該如何確認(rèn),畢竟這樣別人都不知道你有沒(méi)有足夠的資金來(lái)完成交易,下面我們就來(lái)看看門(mén)羅幣所采用的加密方案是如何工作的

2. Stealth Address (隱蔽地址)

首先我們來(lái)看看門(mén)羅幣所使用的Stealth Address技術(shù),這是門(mén)羅幣用以提供匿名性保障的關(guān)鍵性技術(shù)之一。

 

與比特幣中一個(gè)賬戶(hù)地址只有一對(duì)公鑰與私鑰不同,門(mén)羅幣有兩對(duì)密鑰,可以理解為一對(duì)用來(lái)支付交易,一對(duì)用來(lái)查看交易。

用來(lái)支付的是spend key,這對(duì)密鑰中的公鑰用來(lái)幫助我們參與后面的環(huán)交易,并對(duì)key image的簽名進(jìn)行驗(yàn)證,而私鑰則用以創(chuàng)建key image。用來(lái)查看的是view key,這一對(duì)密鑰中的公鑰就是用來(lái)生成我們的一次性的Stealth Address,而私鑰則是接收者用以掃描區(qū)塊鏈來(lái)查看發(fā)送給他的交易。這部分只是為了把概念給引出來(lái),看不懂也沒(méi)關(guān)系,后面我們?cè)僮稣f(shuō)明。

門(mén)羅幣的地址主要就是由上面的兩部分密鑰的公鑰組成,基本結(jié)構(gòu)大致如下:

  1. 網(wǎng)絡(luò)編碼(1 byte)+public spend key(32 byte)+public view key(32 byte)+校驗(yàn)和(4 byte) 

這樣得到的地址是138位,進(jìn)行hex轉(zhuǎn)換后將得到95位的標(biāo)準(zhǔn)地址,有興趣的可以在這里進(jìn)行門(mén)羅幣地址的相關(guān)測(cè)試

然后我們來(lái)看看stealth address,其實(shí)它的中心思想很簡(jiǎn)單,就是利用接受者的view key的公鑰計(jì)算出一個(gè)臨時(shí)的一次性stealth address,然后將資金發(fā)送到這個(gè)地址,然后接收者對(duì)區(qū)塊鏈進(jìn)行掃描時(shí)發(fā)現(xiàn)這筆交易就可以利用自己的view key取走這部分資金,而網(wǎng)絡(luò)上的其他人并不知道這筆交易是發(fā)送給誰(shuí)的,只有接收者自己知道,從而確保了交易的匿名性

stealth address的公鑰的計(jì)算方式如下:

  1. P = H(rA)G+B 

其中H()表示門(mén)羅幣所使用的hash算法,r是發(fā)送者選取的一個(gè)隨機(jī)數(shù),G表示的是橢圓曲線的基點(diǎn),如果不了解的話最好還是先去看看ECC,畢竟這也算是區(qū)塊鏈中的基礎(chǔ)密碼學(xué)了,公式中的A和B則分別表示接收者的public view key和public send key。

得到公鑰P后再由它得到一個(gè)門(mén)羅幣的地址,這就是一次性的stealth key了。

接下來(lái)發(fā)送者再計(jì)算一個(gè)R=rG,然后將R也打包到以P為目標(biāo)的交易中,將這筆交易廣播到鏈上。

接收者則在這邊一直掃描著鏈上的交易,對(duì)于每筆交易,計(jì)算:

  1. P1=H(aR)G+B 

其中a為接收者的private view key,因?yàn)樵跈E圓曲線對(duì)應(yīng)的公私鑰關(guān)系中 A=aG,所以rA=raG=aR,所以當(dāng)接收者發(fā)現(xiàn)P=P1時(shí),他就知道這筆交易是發(fā)送給自己的,因?yàn)閷?duì)應(yīng)的P1只有接收者自己可以計(jì)算出來(lái),所以除了他以外別人并不知道該交易的目標(biāo)地址。

要使用這筆交易,接收者只需計(jì)算出對(duì)應(yīng)的私鑰:

  1. x=H(aR)+b 

使用該私鑰即可簽名這筆交易中的資金進(jìn)行使用。

可以看到接收方這邊的壓力還是比較大的,需要掃描整個(gè)鏈上的交易,這也是目前門(mén)羅幣性能的一大瓶頸。

3. 環(huán)簽名

接下來(lái)我們來(lái)看看門(mén)羅幣中用以提供匿名性的另一關(guān)鍵技術(shù),環(huán)簽名。

其實(shí)環(huán)簽名的中心思想也很好理解,當(dāng)你直接對(duì)一筆交易進(jìn)行簽名時(shí),這筆交易的來(lái)源自然就被確定是你,但是如果你另外挑一部分交易進(jìn)來(lái),將你的簽名跟這些簽名進(jìn)行混合,就又得到了一個(gè)新的簽名,這樣別人就無(wú)法確定這筆交易是否是來(lái)自你,只能判斷來(lái)自于那些公鑰組成的集合,其實(shí)這倒是跟混幣挺像的。

從2001年第一個(gè)正式的環(huán)簽名方案提出以來(lái),環(huán)簽名一直在不斷地發(fā)展完善,現(xiàn)在也算是成熟了,具體的操作方案挺多,不過(guò)都看得我有點(diǎn)懵逼,下面我們還是簡(jiǎn)要地講講環(huán)簽名的流程,如果想了解細(xì)節(jié)可以看看cryptonote 2.0的白皮書(shū)里的簽名方案。

首先發(fā)送者會(huì)確認(rèn)一個(gè)ring size,也就是這個(gè)環(huán)簽名中使用的簽名數(shù),一般而言這個(gè)ring size越大就代表著對(duì)應(yīng)的公鑰集合越大,這也意味著更大的安全性,然而這也將占用更多的空間,會(huì)對(duì)網(wǎng)絡(luò)的效率以及區(qū)塊數(shù)據(jù)的膨脹,畢竟這都是要存在鏈上的。

確定ring size后發(fā)送方就會(huì)隨機(jī)選擇一個(gè)ring size-1大小的公鑰集合,然后將自己的公鑰也添加進(jìn)去組成一個(gè)大小為ring size的公鑰集合{P1,P2,P3…Pn},接下來(lái)的操作就非常有趣了。

我們將利用這些公鑰一同構(gòu)建一個(gè)方程,而要解開(kāi)這個(gè)方程需要你知道這些公鑰中的一個(gè)對(duì)應(yīng)的私鑰,也只需要一個(gè),所以你就可以使用自己的私鑰進(jìn)行解密,然后將這一方程的解與公鑰以及選取的參數(shù)等打包組成簽名發(fā)送給驗(yàn)證節(jié)點(diǎn),驗(yàn)證節(jié)點(diǎn)對(duì)你的簽名驗(yàn)證過(guò)后就能確認(rèn)你確實(shí)是這筆交易的發(fā)送者,但是卻無(wú)法判斷你是公鑰集中的哪一個(gè),至于這種方程其實(shí)也有很多方案,cryptonote的白皮書(shū)中就有一種實(shí)現(xiàn),寫(xiě)的還算詳細(xì),不過(guò)著實(shí)是有點(diǎn)復(fù)雜,我也就不細(xì)說(shuō)了(其實(shí)還是太菜)。

完成了環(huán)簽名過(guò)后你可能還是有很多疑惑,比如在無(wú)法確認(rèn)發(fā)送者的情況下如何保證不會(huì)出現(xiàn)雙花攻擊呢,這就要涉及到一個(gè)新東西key image了,即I = xH(P),此處的x就是發(fā)送方的private spend key,而P就是我們前面提到的stealth address,也就表示是要發(fā)送給接收方P的,因?yàn)镻是一次性的,所以說(shuō)這個(gè)key image是針對(duì)每筆交易生成的,也就是說(shuō)每筆交易的key image都不相同,節(jié)點(diǎn)可以通過(guò)驗(yàn)證key image來(lái)判斷這筆交易是否出現(xiàn)過(guò)從而避免雙花攻擊。

4. ring CT

環(huán)形加密,即ring CT,應(yīng)該算是門(mén)羅幣中比較新的技術(shù)革新了,去年才正式應(yīng)用,它對(duì)前面提到的環(huán)簽名進(jìn)行了進(jìn)一步的改進(jìn),縮小了簽名大小,進(jìn)一步提升了效率,更棒的是它的出現(xiàn)使得門(mén)羅幣的交易信息中的金額也得到了隱藏,唯一可見(jiàn)的僅有來(lái)自于Coinbase的交易金額,即挖礦所得,這也算是進(jìn)一步提升了門(mén)羅幣的匿名性,同時(shí)交易大小的縮小也減少了所需的手續(xù)費(fèi),這還是挺重要的,畢竟門(mén)羅幣之前就一直為高昂的手續(xù)費(fèi)而為人詬病,這其中很大一部分正是來(lái)自于這部分簽名。

至于算法的詳細(xì)流程,有興趣的話可以去看看它的論文,就不展開(kāi)說(shuō)了(畢竟太菜)。

四、寫(xiě)在最后

本文主要還是簡(jiǎn)單分析了一下區(qū)塊鏈的隱私保護(hù)形勢(shì)以及門(mén)羅幣所采用的一些隱私保護(hù)技術(shù),畢竟發(fā)展了這么多年,其結(jié)構(gòu)當(dāng)然不只是我講的這么簡(jiǎn)單,研究的過(guò)程可能會(huì)遇到很多的阻礙,還是不能輕言放棄啊。至于其他幾個(gè)隱私保護(hù)方案后面有空應(yīng)該也會(huì)寫(xiě)寫(xiě)吧,零知識(shí)證明很是讓人著迷,卻也讓我極度頭疼,此外水平所限,文中如有紕漏還請(qǐng)大佬們指教。

責(zé)任編輯:趙寧寧 來(lái)源: FreeBuf
相關(guān)推薦

2018-11-12 10:17:06

隱私保護(hù)區(qū)塊鏈網(wǎng)絡(luò)安全

2018-10-15 11:08:23

2022-05-15 23:34:08

區(qū)塊鏈去中心化安全

2022-02-28 11:23:51

區(qū)塊鏈數(shù)據(jù)安全隱私

2021-08-06 12:50:43

區(qū)塊鏈比特幣虛擬貨幣

2022-05-26 15:23:07

區(qū)塊鏈歷史保護(hù)無(wú)人機(jī)

2023-06-13 11:49:35

2019-07-01 15:27:42

區(qū)塊鏈礦業(yè)加密貨幣

2021-02-22 11:48:54

區(qū)塊鏈金融加密貨幣

2021-07-18 22:52:14

區(qū)塊鏈安全網(wǎng)絡(luò)

2018-09-29 10:38:09

區(qū)塊鏈數(shù)字貨幣比特幣

2017-12-25 23:32:23

2021-02-25 17:59:19

區(qū)塊鏈比特幣加密貨幣

2021-07-28 13:40:57

區(qū)塊鏈數(shù)據(jù)技術(shù)

2018-12-04 12:18:12

區(qū)塊鏈監(jiān)管加密貨幣

2018-05-06 16:17:01

2019-04-28 17:39:06

大數(shù)據(jù)區(qū)塊鏈數(shù)據(jù)隱私安全

2021-10-04 11:15:28

區(qū)塊鏈技術(shù)秘密

2023-02-24 14:57:42

區(qū)塊鏈元宇宙人工智能

2021-08-06 15:24:35

區(qū)塊鏈金融服務(wù)比特幣
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)