如何参与Tornado.Cash的匿名流动性挖矿?

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的匿名流动性挖矿?

其他用户在链上看到的唯一信息是,有人为某个 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 的具体公式是这样的:

如何参与Tornado.Cash的匿名流动性挖矿?

T——TORN 挖矿计划分配

Tvirt——虚拟 TORN 余额

Twithdrawn——用户已经提取的 TORN 数量。

TORN——用户将收到的 TORN 数量。

AP——兑换的匿名点数

W——AMM 交换权重常数

写评论,请先登录