12 月 18 日,以太坊隱私交易平臺 Tornado.Cash 發文宣布推出新的治理提案,將推出治理代幣 TORN 並將啟動流動性挖礦。
但是,由於一般的流動性挖礦不能很好地保護用戶的隱私,會迫使用戶披露他們的存款在 Tornado.Cash 池中質押了多長時間。這與 Tornado.Cash 的核心價值「保護隱私」相衝突,因此 Tornado 團隊將流動性挖礦升級成為「匿名挖礦」。在匿名挖礦中,用戶將可以通過兩級屏蔽的流動性挖礦系統接收 TORN,充分保護用戶隱私。
用戶在 Tornado.Cash 入金後,用戶會在一個「屏蔽帳戶」中累積「匿名點數(AP)」,這個屏蔽帳戶會屏蔽你的錢包地址、餘額,並且不會洩露你的任何存款信息。一旦用戶在屏蔽帳戶上積累了足夠的 AP,就可以隨時通過 Tornado 定製的 Tornado.Cash AMM 將 AP 轉換成公共的 TORN 代幣。
這個系統有點複雜。但它能確保用戶在申領 TORN 代幣的過程中,隱私始終得到保護。
註:只有部署儀式後存入的 TORN 券才有資格進行匿名挖礦,早期的 TORN 券可以用來領取 TORN 空投。
以下是它的工作原理:
申領你的 AP
首先,用戶必須為已經花掉的 TORN 券申領匿名點(AP)(在用戶使用 TORN 券之前不能申請 AP)。TORN 券使用後才可以申領 AP,會有一點延遲。為了申領 AP,用戶的瀏覽器會生成一個特殊的零知識證明,計算出可申領的 AP(根據用戶的票據在 ETH Tornado.Cash 池中的區塊數),然後將其添加到用戶屏蔽的餘額中。下面是不同面值的 TORN 券對應的每個區塊 AP 數量的表格。
其他用戶在鏈上看到的唯一信息是,有人為某個 Tornado.Cash 池的某個 TORN 券申領了某批面額不明的 AP。為了進一步提高隱私性,用戶可以通過「轉接者(relayer)」(轉接者會接受 AP 作為補償,以支付其轉接費用)來認領 AP。
屏蔽帳戶
因為 AP 是完全私有的,用戶需要生成一個秘密密鑰來存儲 AP 餘額。這個密鑰是隨機生成的,然後用你的以太坊公鑰加密(使用 Metamask 的 eth_getEncryptionPublicKey)並存儲在鏈上。這樣一來,如果你丟失了,就可以使用用戶的 Ethereum 密鑰無縫恢復。該秘鑰用於加密和提交索賠和提款數據,而不會洩露用戶身份。
將 AP 轉換為 TORN
要將你挖礦產出的 AP 轉換成公開可見的 TORN,你可以使用定製的 Tornado.Cash 自動做市商(AMM)。TORN 被持續均勻地投入這個 AMM 中(1 年 1 百萬 TORN 代幣)。所有在任何時候被獲取到的 AP 都可以兌換到該點為止積累在 AMM 中的 TORN。
這確實意味著將 AP 轉化為 TORN 的時機具有一定的策略性:如果同時提取的人太多,AP/TORN 的轉化率就會收縮,如果提取的人很少,轉化率就會提高。不過,在前 45 天,TORN 將完全不能交易。
這裡有一個粗略的比喻:你可以想像一下,TORN 代幣在一年的時間裡被滴水不漏地釋放到一個桶裡(AMM)。AP 代幣讓你兌換到目前為止桶裡有多少 TORN。如果同時有很多 AP 參與,桶裡的 TORN 會很快流走,每個 AP 的比率會很低。但如果 AP 持有者有耐心的話,隨著時間的推移,應該會趨於平穩,AP 兌 TORN 數量應該是大致相等的。
這就是兌換 TORN 的整個過程,可惜有一些不可化約的複雜性。但是,我們不可能知道在匿名挖礦計劃的過程中會產生多少 AP(因為它是私密的),所以這是唯一的方法,既能保證 TORN 有固定的供應,又能保證所有的 AP 在轉化為公共 TORN 之前保持屏蔽。
AMM 的具體公式是這樣的:
T——TORN 挖礦計劃分配
Tvirt——虛擬 TORN 餘額
Twithdrawn——用戶已經提取的 TORN 數量。
TORN——用戶將收到的 TORN 數量。
AP——兌換的匿名點數
W——AMM 交換權重常數