Lightning

Posted on Jan 09, 2022Read on Mirror.xyz

大幅度提高ETH生态隐私性的思考

目前以太坊生态上混币业务主要是依赖于tornado.cash这种混币合约,但tornado.cash有一个大问题,但凡参与过混币的地址都是全网公开的。你只要参与混币,就可以给你的输入和输出地址都打上一个标签。虽然大家不知道具体的输入和输出地址的对应关系,但只要将全网所有和tornado.cash交互过的地址全部打上混币的标签,这也是对隐私性的极大威胁。

如果你和另外一个人交易,对方的地址是和tornado.cash交互过,你可能就会犯嘀咕,觉得他是一个坏人。

真正有效的混币,是大隐隐于市。

基于UTXO的比特币的混币,在区块浏览器上查看就是一笔多输入多输出的交易,这种交易在全网多的是,几乎所有的交易所的提币业务都是采用这种方式。所以你无法识别哪些交易是混币交易。

我觉得以太坊生态也可以借鉴比特币这种大隐隐于市的机制,让混币交易和别的交易看起来是一样的,提高追踪分析软件的识别难度。

 

一种方法是让大量的业务整合tornado.cash这样的混币器。举例子说明,如下。

uniswap是目前以太坊生态上发送交易的前三甲,如果uniswap提供混币业务那就可以达到大隐隐于市的目的。

对于利用uniswap铸Lptoken时,可以这样植入混币逻辑:

1.假定铸ETH-usdt-lptoken,地址A输入资产ETH和usdt,没有混币逻辑的uniswap合约返回给用户eth-usdt-lptoken

2.加了混币逻辑时,用户铸lpotoken时,还要额外提供一个地址B。uniswap合约在铸出lptoken后,直接将这些lptoken转入tornado.cash,目标输出地址就是用户提供的地址B,tornado.cash同时返回给用户存款凭证。

这样用户就可以从地址B里取出lptoken,并且在全网并不知道地址B和地址A之间的资产转移关系。

当然这要等tornado.cash支持Lptoken,不过我觉得更好的结果是uniswap直接实现了tornado.cash的业务逻辑。

如果能将uniswap的换币交易,也植入混币逻辑,那就更有利于隐私保护了。

比如用ETH换usdt的过程,用户将地址A的ETH转入uniswap的lptoken合约,然后uniswap将原本直接转回给用户地址A的usdt,改成存入tornado.cash,取款地址设为用户提供的地址B。

以太坊生态上的各种defi项目都可以采用类似的方式植入混币逻辑,比如compound将cToken转入tornado.cash,opensea将成交后的erc20币转入tornado.cash(tornado.cash现在还不支持nft)。

 

但真正的阻力有两个,一个是所有的项目方并不愿意植入混币逻辑,感觉植入混币就像是在干坏事一样。还有在正常的交易逻辑后面植入混币逻辑会增加gas费,不注重隐私的用户不会去干这种事。

一种推广方式是给uniswap等项目做一个前端,同时植入tornado.cash的逻辑。在这个前端上使用uniswap的业务就会和tornado.cash交互,铸Lptoken会转入tornado.cash。但这种前端很难有商业模式,也很难推广。

我觉得可能市场上存在这么一个fork现有defi项目,然后加入混币逻辑,并且额外提供混币即挖矿的逻辑。

比如fork uniswap并且植入混币逻辑,比如实现如下特性。为描述准确,我们将这个fork uniswap的项目取名为shuffleswap。

1.shuffleswap实现uniswap所有的功能,这就是fork嘛。

2.shuffleswap实现tornado.cash的核心功能。

3.用户在shuffleswap铸lptoken,可选择性是否将Lptoken转入混币器里,并且转入可以挖矿。

4.用户在shuffleswap里买卖币时,可选择性是否将买到的币自动转入混币器里,并且可以参与单币挖矿。

就像sushiswap发了个币,倒逼uniswap发币一样,可能shuffleswap植入混币逻辑后,也会倒逼uniswap实现混币逻辑。

这样以太坊生态上参与混币的交易就多了,并且和正常的交易混在一起,隐私性就大大提高了。

Recommended Reading