mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

Tornado : 为以太坊引入隐蔽交易机制

收藏
分享

作者:  Tornado Cash

翻译 & 校对: 曾汨 & 阿剑

来源:以太坊爱好者

默认情况下,你在以太坊上所有的交易历史和余额都是公开的。通过诸如 Etherscan 这样的区块浏览器可以查看所有的交易,某人但凡知道了你的地址,就可以轻轻松松获取你的支付记录、跟踪你的资金来源、计算你的持仓、甚至分析你的链上活动。

但是,有时候你也不希望公开自己的交易历史和余额吧?如果你想要实现交易的匿名和隐私,有什么好法子么?

多年来人们一直试图在以太坊上开发出隐蔽交易机制。一些人的思路是掩盖资金的流动过程,比如使用一个中心化的交易所或托管的混币服务。但是,这样做必然会引入高度的对手方和监视风险。结果,这些工具始终无法媲美其它专注于隐私的密码学货币(例如 Zcash)。Zcash 为了实现隐私保护,使用了包括零知识证明在内的各种密码学方法。

今天,我们非常高兴地向大家宣布,在以太坊上也有可能实现真正的隐蔽交易啦!我们推出的新工具 tornado.cash 基于强大的密码学开发出了突破性的技术、非托管的资金模式,用了它,你可以 100% 匿名地发送以太坊上的密码学货币。

Tornado.cash 是如何在以太坊上实现隐私的?

主要思路就是打破收款人和资金目标地址之间在链上的关联。你可以将以太币存入 Tornado.cash 的智能合约中,然后使用另一个不同的地址提款。无论你何时将以太币提现到新地址,其他人都 无法将存钱地址和提款地址挂钩 从而确保了绝对的隐私

在这种办法中,Tornado.cash 充当着一个代理,使用 zkSnark 证明来确保交易的 100% 匿名

更棒的是,它还是 100% 非托管 的,这意味着你拥有对存款的完全控制权,是时候和经常跑路的中心化服务说拜拜了。

存款

用户在存款时需要生成一个秘密(secret),并将其哈希值(也叫做 “承诺”(commitment))连同存款的数额发送到 Tornado 的智能合约中。合约接收存款后,将其承诺也添加到合约的存款列表中。

日后,当用户想要提款时,TA 需要向合约提供一个证明,证明 TA 拥有一个秘密,能和智能合约中的存款列表中未被花费的承诺对应起来。得益于 zkSnark 技术的加持,我们可以在不公开这个秘密与哪笔资金相关的条件下完成匹配。Tornado 智能合约将检查这个证明,然后将存款金额转移到指定的提款地址。而对于外部的观察者来说,无从得知这笔提款来自哪笔存款。

这就是它的工作原理。接下来我会解释一下为什么 匿名集 如此重要。

匿名集(Anonymity Set)

匿名集的大小本质上是对匿名性的一种度量。它展示了还有多少笔存款等待被提取。换句话说,你要提取的以太币可能来自于多少笔被混合的存款(译者注:这个数量越大,他人越难辨识出你的取款可能与哪笔存款相应)。

先有鸡还是先有蛋?

你可能注意到了,你提款时有两个选项:
  • 使用钱包(Metamask、Trustwallet、等等)
  • 通过中继者

第一种方式要求你拥有一个全新的以太坊地址,并且里面还有一些以太币。这就引出了一个问题。

如何在保持地址匿名的前提下获取一些以太币呢?

因为通常情况下我们获取以太币的方式是从其他人手中购买(无论是否使用交易所),但(这就会使这个地址与其他人的地址产生关联)我们正是想要避免暴露信息,不是吗?

这就是为什么我们要提供第二个选项。你只需要生成一个新的以太坊地址,剩下的工作可以放心地交给 zkSnark 证明和中继者来完成。这一过程会收取你一些以太币,只是用来支付以太坊网络的手续费而已。

匿名小贴士

  • 无论你是否使用中继者,都请记得保持正常的网络匿名,比如使用 VPN、代理、Tor 等工具来隐藏你活动的 IP 地址。由于你使用的是浏览器,因此使用匿名的标签页也是有用的。
  • 请确保你在使用新地址之前清除了 dApp 的 cookies,因为当 dApp 发觉新旧地址使用的是相同的 cookies 时,它就会知道这两个地址属于同一个所有者。
  • Note 当中的一些数据可用于将你的存款和提款联系起来。因此在你完成提款后,最好确保你已经安全地销毁了 note 数据。
  • 存款之后不要立即取款。如果你存完款之后马上提出来,观察者会猜测这是同一个人在操作,那你就暴露了。因此我们建议你存款后至少等到有 5 笔新的存款时再提款。
  • 不仅要等待新存款存入,还要等待一段时间。因为即使在你存款之后有多笔存款,它们也可能是由同一个人发出的,这个人在试图发送多笔垃圾存款,使用户误以为匿名集已经很大了。我们建议你至少等待 24 小时,以确保在此期间有多个人存款。
(完)

原文链接: https://medium.com/@tornado.cash/introducing-private-transactions-on-ethereum-now-42ee915babe0

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。