Vitalik 使用的隱私池是什麼?如何保護隱私的同時證明合法性?
Vitalik 近期將其 ETH 資產存入一個名為 Railgun 的隱私池協議 (privacy pools
這篇文章 Vitalik 使用的隱私池是什麼?如何保護隱私的同時證明合法性? 最早出現於 鏈新聞 ABMedia。
Vitalik 近期將其 ETH 資產存入一個名為 Railgun 的隱私池協議 (privacy pools protocol) 專案,並發文再次向外界介紹隱私池的概念,本文複習 Vitalik 等人過往關於隱私池的論文,介紹如何在保有隱私的同時證明資產合法性。
隱私池想解決什麼問題
區塊鏈並沒有保障隱私
從隱私的角度來看,區塊鏈地址的每筆交易都是公共資料集是有問題的。每當有人將資產轉移到另一個地址或與智能合約互動時,交易將在區塊鏈上永遠可見
舉例來說,Alice 吃晚餐使用區塊鏈錢包支付費用。收件人 (餐廳)現在知道他的地址,並且可以分析該地址過去和未來的所有活動。同樣 Alice 現在知道了餐廳的錢包地址,並且可以使用這些資訊來獲取其他客人的錢包地址或查看餐廳的收入。甚至知道餐廳錢包地址的第三方也可以分析這一連串用戶的過往歷史。
Tornado 無法證明合規性
爲了解決區塊鏈的隱私問題,出現許多包含 Zcash、Tornado Cash 的隱私協議,雖然確實解決了隱私問題,但是除了合法用戶之外,Tornado Cash 也被各種不良行為者使用,造成許多衍生問題。
(資安科普|黑客是如何通過Tornado.Cash洗白贓款的?)
因此許多開發者開始思考,如何在保有用戶隱私的同時,又可以證明其資金的合法性。
隱私池概念介紹
Vitalik 所討論的隱私池,是一種基於智能合約的隱私協議。可以讓用戶證明自己的資金 (非) 來自已知的 (非) 合法來源,而無需公開透露用戶自己的整個交易圖譜。
用戶可以自選資金的關聯集
隱私池的核心思想是:使用者證明自己的資金是在一個更限縮的關聯集之內,而不是像 Tornado Cash 僅僅透過零知識證明 (ZKP) 驗證提款與先前的一些存款相關聯。
隱私池的關聯集可以是所有用戶存款的完整子集,或者是僅包含該用戶自己存款的集合,不過更常見的情況應該是介於兩者之間的任何集合大小,最大化隱私的同時避免將非法資金納入集合。
這個集合可以按照用戶的意願擴寬或收窄。使用者可以透過提供集合的 Merkle 根作為輸入來指定集合,也預期會形成一個生態系統,出現讓用戶更容易指定符合偏好關聯集的相關工具。
舉例來說,假設有五個使用者:Alice、Bob、Carl、David 和 Eve。前四名是誠實守法的用戶,但仍希望保護自己的隱私,而 Eve 是小偷,也假設這件事情是眾所周知的,雖然公眾可能不知道 Eve 的真實身份,但他們有足夠的證據得出結論並標記 Eve 的地址是有疑慮的。
當用戶要提款時,每個用戶都可以選擇指定的關聯集。他們的關聯集必須包括自己的存款,同時可以自由選擇要包括哪些其他地址的資金。
依照經濟學,考慮到 Alice、Bob、Carl、David 的動機與效益最大化,並不會將 Eve 的地址納入集合。一方面他們希望最大限度地保護自己的隱私,使他們擴大關聯集;另一方面,他們希望減少被視為可疑資金的機率,因此他們不將 Eve 的資金納入關聯集中。
當然,Eve 也想最大化自己的聯想集,但 Eve 不能排除自己的存款,因此被迫使她的關聯集變為所有五項存款的集合。因此儘管 Eve 本人沒有提供任何資訊,但透過簡單的排除過程,可以做出明確的推論:第五號提款只能來自 Eve。
藉由市場機制,用戶最大化自己存款集合的同時,自然讓非法資金被孤立出來
預期藉由隱私池的關聯集合設計,可以同時滿足用戶對隱私的需求,以及避免被懷疑合法性的問題。
當然,若用戶有特定需求,可以對外提供更多資訊。
挑選關聯及基礎設施
預期實務上,用戶不會手動挑選存款的關聯集,而是訂閱關聯集提供者 (ASP) 的中介服務,這些服務將產生具有某些屬性的關聯集自動化為用戶保護隱私並剔除可疑資金,在某些情況下 ASP 可以完全在鏈上打造且不需要外力干預。
本次 Vitalik 所提到的 Railgun 就是一例。
隱私池面對的挑戰
不過該論文也指出幾點隱私池可能需要面對的問題。
判斷資產是否正當的標準
很明顯上述隱私池協議要能正常運作,需要有一套系統與標準,協助判斷哪些資產是「好的」、哪些資產是「壞的」,這需要有社會共識。
在沒有全球共識的情況下,關於資產是否被視為好或壞的結果取決於社會觀點或管轄範圍,關聯集依照國家與地區的不同可能會存在很大差異。
假設有兩個具有不同規則集的司法管轄區。管轄區 A 和 B 的主體都可以使用相同的隱私協議並選擇發佈滿足其各自管轄區要求的證明。兩者都可以輕鬆地在自己的管轄範圍內實現隱私,並排除在各自管轄範圍內不合規的提款。如果需要,用戶可以針對兩個關聯集的交集簽發一份證明,讓這些提款同時符合兩個司法管轄區的要求。
關聯集的大小與穩定性
每組的關聯集的屬性應該是穩定的,不應該隨著時間而改變。不過這將限制新集合重新驗證提款的需求。一般來說,大型且多樣化的集合可能具有更好的隱私性,但可能不太準確和穩定,而較小的集合更容易維護,但提供的隱私性較差。
為了實現有意義的隱私,重要的是要確保關聯集足夠大並且包含各種各樣的存款,但可能會變得不好維護。
鏈上分析工具競爭
如今許多實體依賴鏈上工具,分析區塊鏈交易病識別潛在可疑活動、非法地址的互動與其他不合規交易。這類工具通常透過風險評分來評估與每筆交易相關的風險。
隱私池協議可能會讓此分析變更困難,因為隱私池消除了存款和提款之間的聯繫。
隱私池或將成為新隱私標準
隱私池的概念也已經受到社群討論許久,Vitalik 本次參與 Railgun 的專案也表明其自身立場與支持,或許真的可以解決 Tornado Cash 長期被市場詬病合規性的問題,讓市場理解隱私與合規並不是平行線。
不過也有開發者對此持負面意見,例如 Zcash 創辦人 Zooko 認為隱私池需要用戶主動證明自身資產無罪,並不是一個好主意。
(隱私 OG 吵架!Privacy Pools 開發者與 Zcash 創辦人互看不順眼)
這篇文章 Vitalik 使用的隱私池是什麼?如何保護隱私的同時證明合法性? 最早出現於 鏈新聞 ABMedia。