加密世界所追求的「隱私」往往無法監管合規,甚至被政府打壓,如何在合法合規的前提下,保證加密使用者的鏈上隱私呢?本文源自初焱律師所著文章,由 Foresight News 整理、編譯。 (前情提要: Vitalik 理想的加密錢包:跨L2交易體驗、帳戶隱私安全、成為數據錢包..) (背景補充: 隱私幣都該死!國際學術論文:政府應對公鏈51%攻擊、打壓幣價…)   2024 年 11 月,美國第五巡迴法院裁定美國財政部外國資產控制辦公室(OFAC)對混幣器 Tornado Cash 的制裁行為違反了 《國際緊急經濟權力法》(IEEPA)。 第五巡迴法院認為 Tornado Cash 的智慧合約是去中心化的、自執行、不可控制的程式碼,不能被擁有,不是財產,不應該被列入 OFAC 的制裁名單, OFAC 的制裁行為超越了其法定許可權。 雖然第五巡迴法院對 Tornado Cash 案件的裁定被看做加密行業的勝利,但不得不承認的事實是朝鮮駭客以及盜幣犯罪組織確實在利用 Tornado Cash 進行洗幣,逃避監管執法部門的制裁。 那麼在加密世界裡是否可以在合法合規的前提下,保證加密使用者的鏈上隱私呢?今天就來分享混幣協議 Railgun 是如何合規地保護使用者鏈上隱私。 Railgun 協議的執行模式 Railgun 是一個基於智慧合約的隱私協議,通過零知識證明和默克爾樹保證使用者鏈上隱私支付,並且採用「無罪證明」的方式保障流入協議的鏈上資金安全合規,這種方式實現了鏈上隱私支付與監管合規的平衡。 灰度母公司 DCG 集團目前已投資價值 1000w 美金的 Railgun 協議代幣 RAIL,並且向 Railgun DAO 捐贈了超過 700w 美金的穩定幣以及通過子公司 Foundry Labs 投入資源保證 Railgun 協議的後端承壓能力。 執行機制 1. 代幣隱私化 使用者使用 Railway Wallet 將自己 0x 地址中的代幣隱藏到 Railgun 的 0zk 地址中,等待一個小時後 0zk 地址中的代幣餘額就可以用於 0zk 地址之間的轉帳以及 Defi 等隱私鏈上互動,0zk 地址間的轉帳不需要等待,即時到帳。Railway Wallet 支援將 ERC20 代幣、ERC-721 和 ERC-1155 NFT 隱私化。 2. 通過 Broadcasters 代替協議使用者與鏈底層進行互動,保證交易隱私 在代幣隱私化後,使用者進行鏈上互動操作是通過 Railgun 協議中的 Broadcasters 進行的,Broadcasters 指的是公開的 0x 地址,它代替協議使用者與底層區塊鏈支付 gas,完成鏈上互動操作。所以整個鏈上互動操作中,使用者不需要花費 ETH/MATIC/BNB 作為 GAS。 理論上任何一個 0x 地址都可以作為 Broadcasters,使用者可以基於 gas 和是否可用去選擇 Broadcasters。Broadcasters 不控制使用者地址中的代幣,只去傳遞互動資訊,並且獲取不到鏈上互動的傳送地址、金額、接收地址以及代幣種類等詳細資訊,保證了交易的隱私和安全。Broadcasters 在整個過程中可獲取總 GAS 10% 的費用。 3. 完成鏈上互動後解除隱私 使用者指定 Broadcasters 替代自己完成隱私交易後,輸入任何 0x 地址發起解除隱私互動,從而提取 Railgun 協議中自己剩餘的代幣。在代幣隱私和解除隱私的操作中,Railgun 協議智慧合約將會收取 0.25% 的費用,傳送到 Railgun DAO 的金庫地址。這些協議收益將會分配給協議治理者以及質押者。 Railgun 使用零知識證明保證鏈上隱私 零知識證明(Zero-Knowledge Proof,簡稱 ZKP)是一種密碼學技術,可以讓證明者在不透露資訊來源細節資訊向驗證者證明資訊的真實性。在 Railgun 協議中使用者可以證明自己有權使用代幣,而無需透露代幣種類和數量,Broadcasters 和資金池可將發生地址和接收地址隱私化。 舉例來說,Railgun 使用者類似寫信者,ZKP 負責核實信件內容,Railgun 協議的智慧合約是密封的信封,Broadcasters 是郵遞員。從公開的鏈上只能看到信件已寄出,但他們無法確定信件的內容或寄信人和收信人。 Railgun 利用 Merkle Tree 防止雙花,保證交易安全 默克爾樹(Merkle Tree)也稱為hash樹,常用於鏈上驗證交易資料的完整性。每個區塊頭中都包含了默克爾樹的根hash值,以便驗證整個區塊中的交易資料是否被篡改。自 FTX 因挪用使用者資產的事件後,目前主流的中心化交易所都採用默克爾樹驗證使用者資產的託管安全,不被挪用。 使用者使用 Railgun 協議將地址隱私化後,代幣就會被新增到隱私池中。Railgun 協議隱私池中的代幣餘額通過類似 BTC 的 UTXO 登錄檔構建,Railgun UTXO 整個列表構成一個默克爾樹資料結構,用於驗證交易期間的餘額狀態。Railgun 協議內所有代幣共享默克爾樹,每次代幣隱私化的操作都會更新默克爾樹的狀態,生成一個新的 Merkle 根 / 葉。從而保證使用者在傳送隱私交易時代幣數量充足,防止雙花,保證了交易的安全性。 Railgun 協議如何實現監管合規 Tornado Cash 被制裁的原因主要是朝鮮駭客組織 Lazarus Group 以及盜幣洗錢犯罪集團使用其進行混幣,逃避 FBI 等監管執法部門追蹤偵查。 無罪證明(Private Proofs of Innocence) 上面介紹 Railgun 協議執行機制的時候提到,使用者將 0x 地址隱私化時有一個小時的等待期。在等待期中,Railgun 會對使用者地址中的代幣進行鏈上反洗錢,確保使用者地址中的資金不是來源於高危的犯罪、制裁地址。 Railgun 協議的鏈上反洗錢不像中心化交易...