淺談 | 如何解決公共區塊鏈上的隱私需求

買賣虛擬貨幣

在這個聯絡日益緊密的世界中,我們的資訊頻繁地被人複製、共享及出售,因此想要保護隱私並不是一件易事。

和大多數事物一樣,隱私並非是二元對立關係的,而是介於完全公開及完全隱私之間。因此,在談到隱私問題時,我們需要進一步討論三個問題。

1.消費者和企業想要怎樣程度的隱私?

2.人們願意為隱私付出代價(成本和精力)嗎?

3.在公共區塊鏈上實現隱私交易要權衡哪些條件?

本文旨在簡要研究公共區塊鏈上的實際隱私需求,並在高維度上討論實施隱私解決方案的權衡取捨。

問題一:什麼程度的隱私才是有意義的?

隱私的其中一個例子就是匿名,或者說身份私密化。在公共區塊鏈的背景下,匿名指的是各方無需透露有關其自身或其他交易者身份相關資訊的情況下交換某物(即金錢、代幣或資料)。儘管這只是隱私的一個方面,但隨著區塊鏈的發展,它已經變得越來越重要。

像比特幣和以太坊之類的加密貨幣,因為相關交易地址及資訊公開,再加上分析方法的不斷髮展,人們可將這些交易與鏈外身份關聯到一起,使得這些加密貨幣的使用者的身份變得越來越透明。

在隱私方面,企業和消費者有著截然不同的需求。企業通常需要交易資料方面的隱私,例如產品名稱、數量、價格、地址、個人身份財務資訊等。

網路參與者通常是已知的,但根據角色的不同,可能需要將資料提供給其他參與者。例如,貨運代理可能不需要知道某個運輸集裝箱裡頭裝了什麼,只需知道該集裝箱已經到達。銀行規定還會限制誰可以訪問交易資料。安永公司(一家總部位於英國的會計師事務所)的Nightfall協議和摩根大通為Quorum(摩根大通傾力打造的一個區塊鏈平臺)定製的匿名Zether協議是企業為以太坊開發隱私解決方案的主要示例。

與通常在隱私方面具有很強的商業動機或監管的企業相比,迄今為止,消費者對隱私的瞭解和關注程度普遍偏低。當然,消費者也希望保護自己的身份、信用卡資訊或其他敏感資料,以防止欺詐或身份盜用。有時消費者希望交易匿名,就需要交易的傳送方及接收方都具有隱私性。然而,隱私在消費者的日常生活中並不是不可或缺的,大多數人為了便利或免費訪問(接受Cookie、使用免費wifi上網、跟蹤web衝浪等)而自願犧牲自己的隱私。

問題二:隱私有需求嗎?

隱私通常用於訊息傳遞,保護各方之間傳送的內容。它還被用於更廣泛的通訊通道和底層網路層構造中。如今構造已多種多樣,從公鑰密碼學的演變及其採用,到生成端到端安全網路/傳輸層協議(IPSec v2,SSL)的其他金鑰交換機制。此外,這也確保了安全的DNS查詢以及基於Tor的中繼器的採用。很多工作催生了學術研究及企業採用的開放標準,以確保資料傳輸過程中的隱私和保密性,但其中許多技術已在零售使用者技術堆疊中找到了自己的出路,從而使終端使用者受益。

尤其是在區塊鏈方面,儘管Zcash已存在了將近3年的時間,但只有大約5%的ZEC使用了SNARKs(其中約有一半使用舊版SNARKs)。另外大約95%的ZEC儲存在幾乎無隱私度的透明地址中。在這種低採用的情況下,我們可以推斷出,也許大多數使用者還沒有感覺到需要為隱私付出成本和精力。

然而,最終區塊鏈技術要成為主流仍然需要隱私。諸如SSL之類的內建隱私層的成功使網際網路成為一種值得信賴的商業媒介,這表明消費者和企業所希望的隱私,是被內建到系統和應用當中的。

問題三:隱私的權衡

第三個問題更具技術性,需要更深入地研究如何在以太坊實現隱私,以及所涉及的各種機制之間的權衡。區塊鏈網路需要在可擴充套件性與去中心化性之間進行權衡,而隱私機制和技術則需要權衡自己。本文將研究其他注重隱私的區塊鏈為隱私實現了什麼解決方案,然後討論一些以太坊網路隱私解決方案。

其他以隱私為中心的區塊鏈的經驗教訓(門羅和Zcash)

在詳細介紹以太坊之前,不妨先來說說匿名幣中的兩個典型——門羅和Zcash。在早期山寨幣時代中,門羅十分特殊,因為它的程式碼庫並不源自比特幣程式碼庫,而是基於一個完全不相關的加密貨幣專案Bytecoin(使用的是CryptoNote協議的參考設計)。原CryptoNote設計透過混合一筆交易的傳送者(透過混合他們的簽名以及很多其他誘餌簽名來實現)來達到隱私目的。透過這一點,再結合隱匿地址方案,給門羅帶來了非常強大的隱私保證。這一“環形簽名”方案早就被譽為是一種內建混合器,但其並不成熟。

2017年,隨著RingCT技術的引入,環形簽名隱藏交易資料的能力得到了極大的提高。RingCT使用零知識範圍證明,增加了可批次處理的簽名種類。RingCT的引入還強制執行了最低混合要求,以減少困擾著早期門羅的可連結性攻擊。目前,環形簽名面臨的主要挑戰之一是,儲存在門羅區塊鏈上,會佔用大量磁碟空間。此外,環形簽名並不適用於大型群體,目前僅限於10到15人的群體。

2018年末,門羅引入“防彈協議”,一種全新的零知識方案,它與環形簽名的數量成對數擴充套件,從而減少交易所需大小。這大大降低門羅的隱私交易成本。

Zcash是首個使用zkSNARKs技術的加密貨幣。使用者可傳送僅對接收方可見的完全隱私的交易。對於第三者來說,ZEC似乎被髮送到了一個巨大的加密黑匣子中,當接收方想將他們的幣移回到非隱私地址(與標準比特幣地址非常類似),這些幣似乎又憑空冒出來了,這使得傳送者和接收者之間沒有明顯的聯絡。但關於零知識證明有一點需要注意,它的執行需要消耗更多的算力,因此這也使得交易費用變得更加昂貴。

可替代性所面臨的威脅

以太坊網路提供偽匿名性(即交易連結到由使用者持有的私鑰所對應的地址),且其分散式性質和透明性使許多全新的技術得以實現。

但是,與比特幣類似,以太坊也會無意中暴露使用這些數字資產的使用者的資訊。

隱私所面臨的威脅之一在於,公鑰和私鑰可以與身份相關聯。鑑於像比特幣和以太坊這樣的區塊鏈,使用其內建交易框架就好比吃麵包會掉麵包屑一樣,攻擊者可追蹤到所有資產(甚至是可替代資產)的交易路徑。

生成地址所帶來的隱私性

隨著隱私技術的進步,我們可考慮更多更為複雜的威脅模型。2012年,BIP32引入了分層確定性金鑰,透過種子生成主私鑰,然後派生出私鑰和地址。這使得使用者每次接受交易時都可以生成新地址,而且所有這些地址都可被輕鬆匯出和匯入到新的錢包中,而不必分別匯入不同的隨機生成金鑰。

而以太坊也有相同的功能,儘管其新生成的金鑰只有在獲得燃料費ETH之前,才能與智慧合約進行互動。由於許多構建在以太坊上的系統都將使用者的現實世界身份與其地址聯絡在一起,這也使問題變得更加棘手。連結到以太坊地址的額外後設資料量會使以太坊特別容易遭受去匿名化攻擊。但幸運的是,那些使以太坊暴露於這些威脅的智慧合約,也可被尖端的新密碼學系統所使用,從而實現安全和無縫的隱私交易。

ZK結構和預信任機制

許多零知識結構需要所謂的“預信任機制”。這意味著整個結構都要依賴於特殊隨機數的生成,任何知道這些隨機數的人都能夠窺探內部操作。因此,為了減輕這些顧慮,人們就設計了複雜的方法來生成這些隨機引數,以確保結構能夠被信任。這通常還涉及到社羣幾個可信成員的參與,每個成員都要派生出他們自己的私人隨機資料,並以某種方式將它們彼此組合,如果其中任一參與方刪除了他們的金鑰資料,那麼秘密值就是安全的。因此,所有參與方都需要聯合起來保護結構的安全。

值得注意的是,門羅使用的防彈協議無需預信任機制,而Zcash中的zkSNARK卻是需要的。著名的RadioLab播客就有記錄Zcash的預信任機制儀式。然而STARK無需預信任機制,因為它們使用雜湊函式選擇作為其“機制”,而不是任何特殊數字。

零知識Note(ZK-Note)

作為以太坊隱私領域的先驅,AZTEC協議使用“零知識Note”系統來追蹤隱秘的財務狀況。這些note在以太坊網路上可見,包括每個note的所有者,但是除了note所有者之外,note上儲存的金額數量對其他所有人而言都是不可見的。

當一個note所有者決定執行“joinSplit”操作時,零知識的特點在於,他們可以記下其控制的任意數量的note,並建立一組輸出note,這些note可能屬於也可以不屬於其他人。與隱形地址技術相結合,使建立的每個新note都歸一個完全乾淨的以太坊地址所有(以前從未在網路上使用過)。在一個常見用例中,一個“ZK-Asset(零知識資產)”合約可連線到任何ERC20相容代幣,允許使用者存放代幣以生成ZK-Note,並允許使用者燃燒ZK-Note進行提幣。該機制允許以太坊網路上的任何現有資產以保護隱私的方式進行交易。AZTEC協議使用的證明比ZK-Snarks更易於使用,但仍需預信任機制。

AZTEC也在探索擁有其他新生解決方案的預信任機制。PLONK是一種新型的、高效的ZK-SNARK結構,需要預信任機制,並且所有程式都可以重用此機制。由於PLONK對燃料費需求並不大,因此它對以太坊而言更有實用價值。因此,AZTEC協議執行長Tom Pocock認為,PLONK可用於程式設計複雜的邏輯語句,以保持完美的隱私。

使用安全MPC的ZK

在ZKBoo以及最近的Ligero例子中,零知識證明系統就與安全多方計算(MPC)進行了結合使用。這要求證明者提交安全的MPC協議的記錄,然後由驗證者隨機評估其中一方的檢視,將安全多方計算協議“編譯”成ZK-PCP系統(最早使用概率證明的ZK系統之一)。更重要的是,使用MPC有可能建立隱私智慧合約。

與ZK-STARK相同,基於MPC的證明具有:

·透明性——隨機數的生成是公開資訊

·後量子安全性——依賴公共隨機性和雜湊函式的可用性仍然是量子系統無法大規模解決的問題

·可擴充套件性——基於MPC的證明具有一個(準線性)證明時間及一個驗證者時間,這可提高分期和批次計算的效率

使用此類技術的一些權衡取捨涉及如何使這些技術對中小型“電路”或問題具有最佳效果,而這可能會導致驗證程式出現可擴充套件性問題。

也就是說,基於MPC的技術在區塊鏈領域還沒有得到充分開發,這些技術將比現有的ZK技術更加通用,特別是在各方需保護與實際計算本身相關的機密資訊的情況下。例如,MPC技術對於嘗試執行信用評分演算法來評估客戶信用度而言是有用的,無論客戶還是銀行都不想放棄與其交易歷史相關的機密資訊以及在ML信用評分模型中的權重。

硬體限制

當Zcash首次提出使用zk-SNARKs來傳送交易的想法時,人們對使用隱藏交易所需的算力感到十分的擔憂(生成一筆交易需要幾個小時或更長時間)。而相對於那時,我們已經取得了長足的進步,現代實現如今能夠在瀏覽器甚至移動裝置上在幾秒鐘內就完成類似的任務。

隱私混合器

混合器是最近一個備受關注的話題。早在今年五月,Vitalik就釋出了以太坊網路下一代混合器的設計動機和粗略概要。

使用者需要以太坊混合器來幫助他們實現錢包或個人的隱私交易。以太幣的可追溯性意味著特定交易可被追蹤並連結到其他錢包、賬戶等。而混合器則用於交換以太幣,以提高交易的隱私性。

從那時起,許多團隊致力於使混合器更適用於以太坊。以下是一個最新圖表,計算了相關混合交易的燃料費成本。

應用層的單個混合器永遠不會給使用者帶來絕對的隱私性,而只是提供了概率保證。然而,這也許足以滿足大多數個人及企業的需求。

誰為燃料費買單?——中繼者的湧現

然而,上述這些混合器方法都存在一個致命缺陷,也就是最終需要有人支付燃料費才能確認輸出。那這些以太幣從何而來呢?如果支付最終輸出的以太幣可追溯到某個使用者,那麼該使用者相當於失去了匿名保護,這就違背了整個隱私目的。

這就等於產生了一種隱私方面的“先有雞還是先有蛋”的場景,在這種情況下,接受匿名以太幣的唯一方法就是已擁有匿名以太幣。在Vitalik的原混合器帖子中,他用一個簡單的中繼器註冊合約解決了這個問題,其中承諾釋出任意交易的中繼運營者可註冊一個HTTP端點,這樣交易就可實現匿名釋出。

最後,我們還必須考慮錢包和操作的安全性問題。這就需要在保護使用者安全的同時,又不會給他們帶來太麻煩的體驗,這個問題還在討論中。所有這些混合器解決方案都需要大量參與者來合理地預期隱私,因此工具需要易於大眾使用,但是這裡的任何捷徑都可能導致一些嚴重侵犯隱私的行為。打個比方,某個使用者混合了一些以太幣,將其中一部分以太幣用於隱私交易上,但後來卻忘了他們將哪個錢包用於隱私交易了,然後將剩餘的以太幣發回某個與他們公開關聯的地址中。

這些技術以及行業中正在開發的其他許多技術,都表明以太坊網路的隱私問題已得到越來越多的重視,這些技術進展可能很快會得到巨大的推動。雖然在公共區塊鏈上實現隱私似乎有些自相矛盾,但零知識和其他隱私技術方案將使得各種新的、尖端的用例成為可能。同時,這些解決方案將增強使用者的能力,讓他們對自己的財務隱私放心。

展望未來

雖然本文並不是對以太坊所有隱私方案的完整概述,但它研究了實現企業及消費者隱私需求的各種方法。加密生態系統中的許多個體都受到了能夠提供自由的抗審查技術的啟發。匿名交易或保護個人資訊的能力對於建立一個加密原生世界至關重要。當說到隱私時,其實並沒有什麼靈丹妙藥能夠解決所有的問題,而是需要針對不同的用例使用不同的方法和機制。

因此,我們將繼續研究和評估以太坊的隱私解決方案,以幫助科普和推動這類技術的發展。未來我們還會發布有關具體隱私解決方案的帖子,以及解釋各種隱私技術的報告,以及對當前正在構建隱私解決方案的專案和公司的更深入分析。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;