官术网_书友最值得收藏!

2.1.2 區塊鏈保障數據私密性

區塊鏈上的數據本來是公開透明的,所有賬戶的資產和每一筆交易記錄都可以被清楚地看到,這就產生了用戶賬戶數據缺乏私密性的問題,如果某人將自己的賬戶地址告訴交易的另一方,那么對方就能夠通過區塊鏈看到賬戶的所有資產和歷史交易記錄。

為了解決數據缺乏私密性的問題,需要使用密碼學工具對數據進行加密處理。常用的密碼學工具主要有通道(Channel)、混合器(Mixer)、環簽名(Ring Signature)、零知識證明(Zero Knowledge Proof)。

1.通道

通道技術的發展得益于支付手段的不斷創新,通道實際上是甲方向乙方發起的請求執行包含交易的智能合約的過程。

那么通道如何保護交易雙方的私密性呢?假設Ella和John在進行交易,El-la向John發起了交易總額為0.5以太幣(ETH)的智能合約,這個智能合約就是支付通道。發起合約后,雙方的交易和支付操作都是在線下進行,只有Ella和John兩人才能掌握交易的各種詳細信息。

在交易過程當中,每一筆交易都需要由Ella簽名發出,經過通道到達John手中,即使交易額非常小,也需要對方簽名確認。如圖2-2所示,在序列號為1的交易中,“Ella:0.499,8”和“John:0.000,2”代表著持有0.499,8以太幣的Ella,經簽名確認,向持有0.000,2以太幣的John發起交易。序列號為2的交易同理,以此類推,直到序列號為100的交易,最終能夠確認在總額為0.5以太幣的智能合約中,Ella持有0.382,5,John持有0.117,5。

圖2-2 通道

每一筆交易都需要簽名,簽名次數越多,交易的時間越長。交易的序列號越大,越能體現出交易雙方的近況。

通道內的交易都在鏈下進行,只有當出現沖突時,才會在鏈上解決。比如Ella無法辨認或不承認John的簽名,那么智能合約就會認為這筆交易不被雙方接受而將其提交到鏈上處理。

通道既保證了區塊鏈數據的安全性,又保障了交易雙方數據的私密性。

2.混合器

混合器是指交易雙方將貨幣發送給一個中心平臺,打亂交易關系后再把貨幣發送到指定地址的過程,如圖2-3所示。

圖2-3 混合器

混合器不需要交易雙方在鏈上直接將貨幣發送到對方指定的地址,因為這樣沒有私密性可言,而是設置了一個與所有交易方都彼此相連的第三方中心平臺,交易方A1、B1、C1、A2、B2、C2只需要將貨幣與對方指定的地址發送給平臺,平臺會打亂交易關系,然后把貨幣重新發送到指定地址。這樣,鏈上的用戶就只知道A1、B1、C1、A2、B2、C2這些用戶間發生了交易,卻不清楚具體是誰和誰發生了交易。

混合器保護了交易雙方數據的私密性,交易地址不會被其他用戶看到,但要充分信任第三方平臺。

混合器還有很多應用,比如抵抗Sybil攻擊和保護隱私的投票等。

3.環簽名

環簽名是一種保護簽名者信息不被泄露的解決方案。簽名者擁有著群簽名中任意一個簽名的簽署權,但不能證明具體是哪一個簽名。

應用到區塊鏈交易方面,表現為簽名者可以具體指定一個交易地址發送加密的貨幣,而其他用戶只知道是群簽名中的一個,卻不知道具體是哪一個簽名。但是同一筆交易不能出現兩次同樣的簽名,否則環簽名的保護措施就失效了。

環簽名與混合器組合使用,安全性和私密性更高,因為在使用混合器進行交易時,交易簽名的簽署權很容易就會得到,和單一環簽名技術相比,其組合使用保護能力更強。但要注意,只能簽一個名,不能簽兩個名。

4.零知識證明

零知識證明是目前為止在保護區塊鏈數據私密性方面最強大的解決方案,它難度最高,但是保護能力最強。一般來講,零知識證明指的是不需要借助任何數據就能夠完成整個證明的過程。比如有一個不完整的等式,我們需要在不借助任何其他知識的條件下,確定使這個等式成立的數字是什么,填入數字后如果等式成立,那么這就是零知識證明,如圖2-4所示。表現在區塊鏈交易中,則為不需要借助其他任何外界數據即可完成整個交易流程。

圖2-4 零知識證明

其中,在C和D之間存在一個閥門,并且知道密碼的人才能打開,B知道密碼并想向A證明,但證明過程中不想泄露答案。為了實現以上設想,步驟如下。

1)B一直走進洞穴,到達C點或者D點。

2)在B消失在洞穴中之后,A走到B出發的位置。

3)A隨機選擇左通道或者右通道,要求B從該通道出來。

4)B從A要求的通道出來,如果有必要就用密碼打開閥門。

5)B和A重復步驟1)至4)n次。

零知識證明不僅能有效保護數據的私密性,而且還會提供給交易方很多方便,比如追溯每一筆交易,查詢每一筆交易發起的時間等。如果用戶希望在不需要了解更多交易信息的前提下驗證每一筆交易,那么零知識證明就為用戶提供了強有力的解決和保護方案。

目前Zcash代幣交易已經使用了零知識證明技術,取得了突出效果。除了在虛擬貨幣領域,零知識證明技術在區塊鏈上的發展空間更為廣大,因為零知識證明技術幾乎能夠被用在區塊鏈上的所有應用當中,能夠最大化保證區塊鏈去中心化的原則,同時也能極大保障交易的安全性和私密性。

零知識證明保護隱私的能力極強,因為除了唯一正確的數據,其他任何數據都無法破壞交易。但是零知識證明技術目前并不完善,它也存在著一些明顯的缺點,比如生成效率低、需要信任支持等。相信在不久的將來,零知識證明技術的缺點會得到有效修正,它會成為在區塊鏈中使用最廣泛且最強大的技術。

主站蜘蛛池模板: 康定县| 介休市| 房山区| 扶风县| 于田县| 贵阳市| 上蔡县| 昌图县| 南充市| 阿拉善左旗| 青田县| 礼泉县| 连云港市| 吴忠市| 孟津县| 安西县| 忻州市| 资溪县| 绥滨县| 汝南县| 嘉鱼县| 天全县| 阜新| 济阳县| 丹寨县| 民勤县| 元朗区| 江城| 博野县| 德安县| 莒南县| 庆安县| 邯郸县| 盱眙县| 松江区| 巴林右旗| 丰都县| 绵竹市| 连云港市| 大荔县| 临海市|