作者:Kaori,BlockBeats
談及隱私關涉到人性,儘管區塊鏈數據公開透明可追溯,我們彷彿找到了自由平等的烏托邦;但另一方面,如何保護交易或是個人隱私也成為了一個無法迴避的問題。儘管有隱私保護需求,但棘手的是我們仍生活在中心化監管的數字社會之中。如何使隱私和監管可以在公共區塊鏈上共存將是一場漫長的征途。
上週,Vitalik 和其他四位作者發布了一篇論文——《區塊鏈隱私和監管合規:邁向實際平衡》(Blockchain Privacy and Regulatory Compliance: Towards a Practical Equilibrium),引發了廣泛的討論。
幾位作者表示這篇論文避開了誰對誰錯的法律辯論,而是旨在解決Tornado Cash 無法區分非法用戶和正常用戶行為的這個問題,在已有的隱私協議技術基礎上提出了一個新的技術解決方案——Privacy Pools。
Privacy Pools 想解決的問題是——隱私和監管真的可以在公共區塊鏈上共存嗎?
Privacy Pools 如何證明錢是「乾淨」的
作為中立的基礎設施,Privacy Pools 的核心思想是允許用戶發布zkSNARK 證明,證明他們的資金來自已知的合法來源或是不來自於非法來源,而無需公開透露整個交易環節。
也就是說使用Privacy Pools 你可以以任何人都能驗證的方式進行證明,說我的存款是合法的而不是來自於那些非法的資金。然後提供這個證明,就不用再公開你的確切存款信息,從而保護交易隱私。
有了zkSNARK 證明這個模型支撐,Privacy Pools 的具體實現就需要另一個核心配置——關聯集(Association Set)。
所謂關聯集是由關聯集提供者(ASP)遵循某些規則生成的,比如這個關聯集的規則是「包含」——「來自受信任交易平台的所有存款」,另一些關聯集的規則是「排除」——「除標記為有風險的存款外的所有存款」。然後用戶只需要證明自己的關聯集成員資格,無需公開透露選擇的是哪一個關聯集,只需要做出承諾,就可以在不完全披露其交易的情況下表明合規性。
用戶向Privacy Pools 存款,每筆存款都會分配一個唯一的secret/coin ID 對,在提款時,用戶指定一個與其存款存在關聯的關聯集,通過提供一個nullifier,證明確實有這筆存款,並且存款要位於用戶選擇的關聯集中,如此就可以在不暴露具體是哪筆存款的情況下顯示。特殊情況下用戶也可以向交易對手方提供更直接的證明來說明具體的存款。
Privacy Pools 的關聯集還有一個值得一提的是,普通用戶為了「自證清白」會被激勵去證明自己屬於合法關聯集,但那些非法用戶無法提供這種證明,從而達到了「分離均衡」 。
Vitalik 在論文中將其中的一個用例進行了生動形象的闡釋,在此進行摘錄供讀者理解。
假設有五個用戶:Alice、Bob、Carl、David 和Eve。前四者是誠實的,Eve 是已知的小偷。雖然Eve 的真實身份可能未知,但公眾知道標記為「Eve」的地址接收的資金是被盜過的錢。
每個用戶提款時可以選擇關聯集,這個關聯集必須包括他們自己的存款。這意味著,每個用戶在選擇關聯集時,都不能排除自己的存款。
對於Alice、Bob、Carl 和David 這四個用戶來說,為了避免與已知的不良行為者Eve 關聯,他們可以選擇一個不包括Eve 的關聯集。這樣,他們可以證明自己與Eve 沒有關聯。
但是,Eve 面臨一個問題,他不能選擇一個只包括他自己的關聯集,因為這樣會立即揭示他是不良行為者。為了嘗試隱藏他的不良行為,Eve 可能會選擇一個包括所有五個用戶的關聯集,希望混淆視聽。
由於其他四個用戶都選擇了不包括Eve 的關聯集,這使得Eve 的嘗試變得徒勞,因為人們可以通過排除法確定Eve 是不良行為者。
結果就是通過關聯集的選擇,Alice、Bob、Carl 和David 可以證明他們與已知的不良行為者Eve 沒有關聯。 Eve 無法隱藏他的不良行為,因為他的關聯集包括了所有人。
論文中的這張圖進一步說明了這兩種證明的差異。 Membership proof 包括一個特定的存款集合,而exclusion proof 的關聯集則包括除了一個特定存款集合之外的所有存款。
理論上來說,Privacy Pools「仍然允許」朝鮮黑客或任何非法用戶使用該協議,但他們就像Eve 一樣無法生成高質量的白名單證明,儘管他們仍然可能生成低質量或過時的證明從而短暫的混淆視聽,但由此監管機構相比之前更容易對非法用戶進行定位。
關聯集的是與非
關聯集(Association Set)的出現使得用戶不需要證明提款和存款之間的直接聯繫,而是證明自己的的關聯集成員資格。但關於關聯集是否真的可以保護用戶的隱私,社區有很多質疑和爭論。
前文提到,關聯集是由鏈下Set 提供者遵循某些規則生成的,那誰負責生成這些關聯集?憑什麼用戶要相信這些關聯集的提供商?又如何保證這些關聯池中在未來不會出現非法地址?
有推特用戶表示這與在Coinbase 中進行混幣交易獲得合規隱私有什麼不同?儘管Privacy Pools 是非託管隱私,只是用於證明你和非法交易沒有關聯,而Coinbase 完全控制和保管資金,並且完全了解用戶身份。但我們又如何知道,關聯集提供商對選擇關聯集的用戶的了解比Coinbase 對其用戶的了解多還是少呢?
論文的聯合作者之一、加密行業研究機構Chainalysis 的研究員Jacob Illum 在播客中稱,提供關聯集對普通用戶來說是不可能的,這需要某種區塊鏈取證或區塊鏈分析的背景和能力才能做到這一點。所以只有擁有這種能力的人或者機構才能成為關聯集提供者(ASP),比如一些分析機構或者大的金融機構等組織。
與此同時,用戶需要選擇規模足夠大的關聯集才能盡可能的保護交易隱私,因為集合越小,一旦集合內容洩漏用戶暴露的風險就越大。
AX1 主編VL(@VladislavLiu)表示非法「用戶仍然可以用低質量的白名單證明來欺騙系統,論文建議使用第三方白名單提供商(也就是關聯集提供者),但這又帶來了另一堆蠕蟲。如果這些提供商不夠好怎麼辦?或者如果他們受到損害怎麼辦?」
究竟誰有資格來提供這些關聯集,論文給出了幾種解決方法,但現實中也還未有機構或者組織站出來說我可以。這是Privacy Pools 即將要面臨的問題,也是所有想要獲得區塊鏈隱私權的人面臨的挑戰,信任或是不信任,妥協或是不退讓,又或是漠然處之,視隱私如無物。
「Tornado Cash」 VS 「Privacy Pools」
鏈上隱私保護我們不得不提到Tornado Cash,既然Privacy Pools 是在Tornado Cash 的基礎之上進行了改進,那我們來看看兩者到底有什麼區別。
Tornado Cash 的主要思路是把大量的存取款行為混雜在一起,存款者在Tornado 存入Token 後,出示ZK Proof 證明自己存過款,再用一個新地址提款,以此切斷存取款地址之間的關聯性。由此,在鏈上只能看到存和取,而不能看到二者的對應關係,所以具有匿名性。
Tornado Cash 的關鍵問題是,合法用戶很難與協議吸引來的犯罪活動脫鉤,如果證明無關就需要依賴Tornado Cash 的中心化服務器。用戶需要向服務器提供提款的具體信息,服務器利用自己持有的數據庫,檢查這個提款確實對應的是哪個存款,然後生成這個證明。但前文我們提到,Privacy Pools 通過關聯集的設置將合法用戶的交易放進一個白名單,非法用戶無法證明自己的交易屬於這個關聯集,從而區分合法用戶與非法用戶。
也就是說,Tornado Cash 使用通用匿名集——所有存款和取款都混合在一個池中。 Privacy Pools 使用可定制的匿名集——用戶可以根據自己的喜好和需求選擇他們想要混合的存款和取款方式。
推特用戶@0xArhat 製作了一張表格將兩者從靈活性、披露情況、隱私級別等多角度進行了對比。
Privacy Pools 由於可以自定義關聯集的內容,這樣一來就可以根據不同的司法管轄或者實體不斷變化的規則和要求來對關聯集進行定制和更新。並且每個關聯集都有自己的資金池和證明規則,從而避免了資金污染。但Tornado Cash 的所有存款都放在一個資金池中,這樣就很容易造成匿名違規行為的發生。
Privacy Pools 還通過在合規性以及聲譽等方面來激勵用戶做出誠實的行為,而Tornado Cash 運行在無信任和無許可的基礎上,這樣天然會吸引非法者的「青睞」。
這些正是論文作者們設想的可以使Privacy Pools 免於Tornado Cash 命運的一些設定,讓監管與隱私共同實現,就得在完全具有隱私無許可的基礎上,捨棄一點隱私,添加一點「靈活性」。
KOL Eva Beylin(@evabeylin)表示Privacy Pools 除了在交易隱私方面可以發力,甚至在DAO 治理(成員資格)、節點聲譽、kyc 合規性等多方面都可以做出貢獻。 Privacy Pools 的無心插柳,也許會擁有比Tornado Cash 更好的未來。
如何使用Privacy Pools
目前Privacy Pools 還在測試階段,用戶可以使用Optimism Goerli 測試網對協議進行測試。
1、創建Note Wallet
2、生成助記詞並進行安全保存
3、設置密碼
4、下載Secrets 文件,登錄時將該.json 文件上傳
5、註冊步驟已經結束,登錄時,點擊「選擇文件」,上傳剛才下載的json 文件即可,隨後輸入密碼
隱私無罪,隱私有罪
Tornado Cash 創始人的遭遇讓「代碼即言論」的信仰受到了打擊,Privacy Pools 的出現也讓區塊鏈的去中心化又一次遭到了質疑。比如使用Privacy Pools 就證明資金來源是否已經違背了最開始的保護隱私的目的?可是為了合規似乎就得做出讓步,讓兩者處於某種平衡狀態,因為越來越多的人意識到徹底的匿名性在如今的世界已無法成立。
說到底,徹底完全的隱私和監管合規有天然的衝突,我們無法忽視這個問題,但可以自己選擇,尋找其中的平衡點。 Privacy Pools 可能不是每個人的解決方案,但這對很多人來說確實是一個解決方案。
那個平衡點在哪裡,不僅僅需要行業建設者去思考,立法者執法者同樣需要思考,因為如果當你把隱私定為犯罪時,那麼只有罪犯有隱私。