如何運用區塊鏈隱私保護技術區塊鏈

                  曲速未來安全區 2018-10-15 09:42
                  分享到:
                  導讀

                  無論是公司還是個人都不希望將自己的所有信息發布到公共區塊鏈上,不受任何限制,被本國政府、外國政府、家庭成員、同事或商業競爭對手隨意讀取。

                  在當今的加密技術中,隱私是一個很重要的話題,這已經不是什么秘密了。無論是公司還是個人都不希望將自己的所有信息發布到公共區塊鏈上,不受任何限制,被本國政府、外國政府、家庭成員、同事或商業競爭對手隨意讀取。

                  比特幣最初是作為一種假名加密貨幣開發的,只要現實世界的身份不會與比特幣地址聯系起來,它就能保持隱匿。然而,由于比特幣區塊鏈的公共性質,很快人們就清楚地發現,是有可能根據特定地址和交易的使用模式來甄別個人的。此外,節點在廣播交易時也會泄漏其 IP 地址。

                  節點代表一個地址,邊代表一項交易

                  區塊鏈中的隱私保護

                  其實比特幣在設計之初也考慮過賬戶與交易的匿名性,因為整個比特幣的賬戶地址幾乎是無限的,大家都可以隨意創建錢包地址,這樣你甚至可以做到每筆交易都拿一個新地址來接收,然而受限于區塊鏈網絡的公開性以及帶來的可追蹤性,對于這些分散的交易你可能需要整合才能進行一筆較大的交易,而這種多輸入的交易一旦出現,就可以將這些來源地址劃分到同一賬戶下,繼而對這些賬戶進行進一步追蹤,這樣通過對整個交易網絡的分析我們就能得到很多可關聯的信息,加上交易金額也是公開的,對于一些特定金額的交易我們也能找到蛛絲馬跡,如果對應地址的身份得到確認,通過這些信息就可以推算出更多的地址信息,另外還有找零所使用的零錢地址也會帶來信息的暴露,早期比特幣的客戶端就出現過零錢地址總是在輸出地址的第一個的bug,通過這樣層層遞進我們就可以揭開那些隱藏在比特幣網絡下的真實身份。

                  可以看到比特幣網絡所面對的隱私挑戰還是很多的,可以說完全無法滿足匿名性的需求,另外由于區塊鏈交易的全程可追蹤性,每筆資金的歷史都可以查得清清楚楚,這就相當于給比特幣都打上了烙印。

                  區塊鏈中記錄交易數據的全局賬本在網絡中是公開的,任意攻擊者都能夠獲取所有交易信息,使交易者的隱私有泄露的風險。對賬本中的數據進行分析整理,攻擊者可以獲得任意一個賬戶對應的所有交易,還可以分析不同賬戶之間的交易關系圖譜。

                  即使用戶采用不同的賬戶進行交易,攻擊者也可以利用地址聚類技術分析出隸屬于同一個用戶的不同賬戶。而且由于用戶進行的每一筆比特幣交易都將永久記錄在區塊鏈中,一旦某一筆歷史交易被實名化(例如比特幣交易所受到黑客攻擊,導致用戶賬戶信息泄露),則相關的所有交易記錄中的交易者身份信息都將泄露。

                  此外,隨著區塊鏈交易逐漸被應用到日常支付領域,攻擊者可以利用鏈外信息推測區塊鏈中賬戶的身份。例如,將用戶的購物記錄和比特幣賬戶支付記錄進行對比,分析賬戶的身份信息。

                  針對基于數據分析的隱私竊取方法,目前已出現一些隱私保護機制。主要思想是在不影響區塊鏈系統正常工作的情況下,對公開數據中的部分信息進行隱藏,增加數據分析的難度。其中,混幣是一種應用廣泛的隱私保護方法。目前來說,比較典型的對交易內容進行隱藏的隱私保護方案主要是達世幣(Dash)所采用的混幣技術,門羅幣所采用的環簽名與隱秘地址以及zcash所采用的零知識證明,這些都匯聚了很多密碼學的知識。

                  門羅幣(Monero 或 XMR)是一個注重隱私、匿名性和不可跟蹤的加密數字貨幣,它因為被網站或惡意程序利用 CPU 挖礦而受到廣泛關注。但門羅幣真的無法發現使用者的身份和跟蹤交易?一組研究人員發現,雖然門羅幣的隱私保護強于比特幣,但它仍然未能隱藏用戶的身份。

                  在 2017 年 2 月修改代碼前研究人員發現門羅幣并不匿名,可以被追蹤。在這之前的交易很容易識別身份,而之后的交易在識別身份上也比用戶以為的簡單。

                  門羅幣的匿名性主要是由其環形簽名技術實現的。在十七世紀的時候,法國群臣向國王進諫時,為了不讓國王追查到是由誰帶頭簽名上書的,于是他們發明出了一種環形簽名的方式,所有人的姓名按環形排列,自然的隱藏了簽名順序,從而做到無法追查源頭。

                  環形簽名算法與比特幣一樣也是使用基于哈希值的公鑰 私鑰模式,不同的是環形簽名技術將交易發送方的公鑰和另外一個公鑰進行混合,然后對信息進行簽署,最后再由接收者的私鑰解密驗證,這樣一來外界就無法判斷交易發起者的公鑰是哪一個,從而使門羅幣實現了隱藏交易發送方地址信息的功能,使外部攻擊者無法看出地址之間的關聯性。

                  Stealth Address (隱蔽地址)

                  首先我們來看看門羅幣所使用的Stealth Address技術,這是門羅幣用以提供匿名性保障的關鍵性技術之一。

                  與比特幣中一個賬戶地址只有一對公鑰與私鑰不同,門羅幣有兩對密鑰,可以理解為一對用來支付交易,一對用來查看交易。

                  用來支付的是spend key,這對密鑰中的公鑰用來參與后面的環交易,并對key image的簽名進行驗證,而私鑰則用以創建key image。用來查看的是view key,這一對密鑰中的公鑰就是用來生成我們的一次性的Stealth Address,而私鑰則是接收者用以掃描區塊鏈來查看發送給他的交易。

                  門羅幣的地址主要就是由上面的兩部分密鑰的公鑰組成,基本結構大致如下:

                  這樣得到的地址是138位,進行hex轉換后將得到95位的標準地址。

                  然后看一下stealth address,其實它的中心思想很簡單,就是利用接受者的view key的公鑰計算出一個臨時的一次性stealth address,然后將資金發送到這個地址,然后接收者對區塊鏈進行掃描時發現這筆交易就可以利用自己的view key取走這部分資金,而網絡上的其他人并不知道這筆交易是發送給誰的,只有接收者自己知道,從而確保了交易的匿名性

                  stealth address的公鑰的計算方式如下:

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

                  得到公鑰P后再由它得到一個門羅幣的地址,這就是一次性的stealth key了。

                  接下來發送者再計算一個R=rG,然后將R也打包到以P為目標的交易中,將這筆交易廣播到鏈上。

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

                  其中a為接收者的private view key,因為在橢圓曲線對應的公私鑰關系中 A=aG,所以rA=raG=aR,所以當接收者發現P=P1時,他就知道這筆交易是發送給自己的,因為對應的P1只有接收者自己可以計算出來,所以除了他以外別人并不知道該交易的目標地址。

                  要使用這筆交易,接收者只需計算出對應的私鑰:

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

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

                  隨后,開發人員又對門羅幣實施硬分叉,整合了RingCT環形保密交易技術 (RCT),通過密碼學原理將門羅幣的交易數額進行加密,這也就意味著除了交易雙方,沒有人能夠通過區塊鏈追蹤查詢到他們具體的地址信息和交易金額。在這次的升級成功之后,RCT地址成為門羅幣唯一的地址格式。

                  總結

                  區塊鏈安全咨詢公司 曲速未來 觀點:總的來說,隱私性問題是目前密碼學研究中最令人興奮的領域之一,為了讓其在現實世界中得以使用,在優化這些理論技術的效率方面還有大量的工作要做。加密貨幣的好處在于它為最新的隱私研究提供了直接的應用場景。代幣、智能合約和基礎設施中使用的許多隱私技術都是幾年前才發明出來的。考慮到這個領域的發展速度之快,隱私將繼續成為加密項目設計中不可或缺的一部分。

                  本文內容由 曲速未來 (WarpFuture.com) 安全咨詢公司整理編譯,轉載請注明。 曲速未來提供包括主鏈安全、交易所安全、交易所錢包安全、DAPP開發安全、智能合約開發安全等相關區塊鏈安全咨詢服務。

                  交易 地址 區塊 隱私 門羅
                  分享到:

                  1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
                  2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
                  3.作者投稿可能會經TMT觀察網編輯修改或補充。