這份研究結果之前從未公開,比較了各種不同方法的隱私度。Zcash聯合創始人Jack Gavigan是該項研究的負責人。作為零知識證明(zero-knowledge proofs,ZKP)的典型用例,加密貨幣Zcash也在本次評估范圍之內。金融機構迫切地希望利用區塊鏈技術的效率,但隱私性的缺失是一個重大障礙。
德意志銀行(Deutsche Bank)全球銀行業務的首席技術官Edward Budd表示,區塊鏈的隱私性需求與任意金融市場技術存在的監管問題同樣重要。
在區塊鏈交易環境中,軟件開發者已經提出了多種保護客戶隱私的方法,包括私有鏈(permissioned blockchains)、鏈下(off-chain)方式、多用戶混幣、環簽名(ring signatures)、Pederson commitment、零知識證明以及隱身地址(stealth addresses)。
這項研究表明,這些提高隱私性需求的技術需要存儲大量的數據。
與其它提高比特幣隱私的技術相比,門羅幣(Monero)的環簽名交易(隱藏發送地址)所需容量最大。而比特幣的交易容量最小,CryptoNote、Zcash和保密交易(Confidential Transactions)緊隨其后。
以下就是報告中對幾種隱私性技術的分析。
私有賬簿
私有賬簿會為區塊鏈中的參與者設限,他們的身份必須是互相知曉的。這份研究將私有鏈定義為“低技術含量”的隱私性選擇。在需要多部門保密性的內部交易和反壟斷規則中,這類賬簿可能無法做到保護參與者的利益。
鏈下方式
這一分類包括鏈下信息傳送、側鏈(sidechain)以及區塊鏈中隔離數據的交易通道。側鏈和交易通道使用者可以在私有化控制下的鏈中進行交易,其中的資產在公鏈中也是有效的。這類方法雖然能夠提高隱私性,但不同的計算機中需要進行數據復制,因此會破壞網絡回彈力。
混幣
混幣服務將不同用戶手中的幣混合在一起,減少單筆份額,并分配給特定的接收者。這一過程會導致交易歷史的隨機化。成功的混幣服務會聚合大量的隨機交易進行再分配,這是一個需要協調的并且相當耗時的方法。
而且監管者可能會盯上混幣服務。
環簽名
環簽名是CryptoNote協議的一部分,門羅幣部署環簽名用于隱藏發送方地址。用這種技術發送的交易通常捆綁了多個發送方的私鑰(private key)。因此,光從環簽名來看,很難識別出交易發送方以及最終的簽署方信息。
Zcash聯合創始人Zooko Wilcox也參與了這份研究,他認為環簽名策略就是“在人群中隱藏”,其成功與否取決于“人群”的規模以及成員的隨機性。
不過,有部分觀察值能夠提高攻擊者定位地址的準確度,比如說研究每個地址的前一筆交易。
門羅采用了一種三角分配的方法定位虛假地址。與交易地址中閑置的幣相比,這種方法對于近期在交易中被頻繁使用的幣更為有效,得出的結果也更加真實。
Pederson Commitments
Bitcoin core開發者Greg Maxwell研發出了Pederson commitments作為其保密交易的一部分。在這類環境中,發送方選擇的交易金額可以不對外公開,而是用哈希(hash)在區塊鏈中進行標記。用戶可以通過復制區塊鏈中的哈希來向接收者說明交易金額,并且證明自己的身份。
Pederson commitment是可轉讓的,因此接收者可以繼續在不公開金額的前提下花費這筆錢。這些哈希以“同態化”的形式呈現,可以在不進行數據解密的前提下承擔簡單的算術函數功能。
零知識證明
使用Zcash零知識證明的用戶能夠在不泄露數據內容的情況下證明數據狀態。這種方式用于加密數據的密碼學驗證,可以不公開發送方以及交易金額,但同時又能做到證明這筆交易的合理性。
這項研究的作者意識到零知識證明的速度很慢。整個計算過程需要花費約48秒的時間。因此,這種方法不適合用在大流量交易中。
另外,加密貨幣要想部署零知識證明還需要其它一些密碼學要素。這一過程創建的私鑰能夠創造出“假幣”,而Zcash用戶必須相信這些虛假的密鑰已經被銷毀。
Zcash采用了一種去中心化的參數生成方式,旨在確保私鑰不會被復制。他們創建了6個單獨的密鑰碎片分別散落在全球各地。因此,別有用心的攻擊者很可能會收集這6個密鑰。
隱身地址
隱身地址的應用會逆轉貨幣接收過程,將地址轉播給發送方。發送方可以通過隱身地址創建一個新的地址,并塞入交易。既然這個地址是新的,發送方就知道接收者需要密鑰來進行開啟。
在這一環境中,交易雙方可以相互約定一個目標地址,不向系統透露數據,也不會共享在接收者控制中的其它地址。
上述提到的每一種方法都能在特定的領域發揮所長。Gavigan說,很多部署方式通常會結合不同的技術。