龙卷风现金如何运作?
最后更新于
最后更新于
在进入解释和简化Tornado.Cash使用的教程之前,以下是该协议全球功能的总体概述。
龙卷风全球概述现金功能
为了实现隐私, 龙卷风现金 使用智能合约,该合约从一个地址接受令牌存款,并使其能够从其他地址提款。这些智能合约充当混合所有已存资产的池。一旦通过这些池中的完整新地址提取资金,源与源之间的链式链接 & 目的地坏了。因此,撤回的加密资产被匿名化。当令牌位于龙卷风现金池中时,保管权仍由用户’掌握。因此,用户可以完全控制其令牌。对于传统的龙卷风现金固定金额池:
当用户将资金放入资金池(又称存款)时,将生成私人票据。此私人票据用作用户以后访问这些资金的私钥。要提取它们,同一用户可以使用其他地址(旧地址或新地址),并借助此私钥收回其资金。
对于Tornado Cash Nova,新的ETH池具有任意金额和屏蔽转移:
资金直接链接到给定的钱包地址。没有私人票据或钥匙。用户可以通过使用适当的地址连接到池来访问其资金。
监护权可以通过将令牌存入池中或通过在池中注册并从另一个地址接收屏蔽转移来获得。
该协议的优势直接与其用户数量及其池的大小相关。用户越多,越多越会向池中存入。但是,为了维护隐私和匿名性,用户必须牢记一些基本规则,例如:
使用中继器在提款时支付汽油;
在存款和提款之间留出时间;
通过等待几笔交易来将资金与人群混合,然后再收回资产。
在以下位置提供了更多建议: 保持匿名的提示。
zk-SNARK和哈希过程的贡献
Tornado.Cash使用零知识简洁的非交互式知识参数(也称为zk-SNARK)来验证并允许交易。要处理存款,Tornado.Cash会生成一个字节的随机区域,并通过 佩德森·哈什(Pedersen Hash) (因为它与zk-SNARK更友好),然后将令牌和20 MiMC哈希发送到智能合约。然后,合同将其插入Merkle树中。要处理提款,将相同的字节面积分为两个单独的部分 秘密 一方面 无效者在另一边。无效器已哈希。此无效器是一个公共输入,该输入在链上发送,以使用智能合约和Merkle树数据进行检查。例如,它避免了双重支出。由于zk-SNARK,可以在不泄露任何信息的情况下证明初始承诺和无效者的20 MiMC哈希。即使无效器是公开的,隐私也得以维持,因为无法将哈希无效器链接到初始承诺。此外,即使有关交易的信息存在于Merkle根目录中,有关确切的Merkle路径以及随后的交易位置的信息, 从技术角度来看,存款仍然很简单,但是在天然气方面却很昂贵,因为它们需要计算20 MiMC哈希并更新Merkle树。另一方面,提取过程很复杂,但是更便宜,因为仅零散哈希和零知识证明需要气体。