10分钟上手Tornado Cash:ETH与ERC20代币匿名转账终极教程
Tornado Cash 是基于 zkSNARKs 的非托管以太坊和 ERC20 隐私解决方案,它通过打破链上收款地址与目标地址之间的关联来提升交易隐私。用户可通过智能合约存入 ETH 或 ERC20 代币,再用不同地址提取,实现完全匿名的交易体验。
🚀 为什么选择Tornado Cash?
在区块链上,所有交易都是公开透明的,任何人都能通过地址追踪资金流向。Tornado Cash 利用零知识证明技术,让你在无需透露具体存款来源的情况下提取资金,完美解决区块链隐私痛点!
核心优势
- 完全匿名:存款与提款地址无链上关联
- 非托管:全程掌控资金,无需信任第三方
- 多资产支持:支持 ETH 及主流 ERC20 代币
- 简单易用:通过命令行工具快速完成操作
🔧 准备工作
环境要求
- Node.js v11.15.0 或更高版本
- npm(通常随 Node.js 一起安装)
- Git
快速安装
-
克隆项目仓库
git clone https://gitcode.com/gh_mirrors/to/tornado-core cd tornado-core -
安装依赖
npm install cp .env.example .env npm run build
💰 匿名存款教程
1. 生成存款凭证
使用 Tornado Cash CLI 工具生成存款所需的秘密凭证:
./cli.js deposit ETH 0.1 --rpc https://kovan.infura.io/v3/YOUR_INFURA_KEY
执行成功后,你将获得类似以下格式的存款凭证(请务必保存好!):
Your note: tornado-eth-0.1-42-0xf73dd6833ccbcc046c44228c8e2aa312bf49e08389dadc7c65e6a73239867b7ef49c705c4db227e2fadd8489a494b6880bdcb6016047e019d1abec1c7652
2. 完成存款交易
系统会自动将指定金额的 ETH 发送到 Tornado Cash 智能合约,并创建一个加密承诺。此时合约余额会增加,而你的账户余额会相应减少。
🔍 匿名提款教程
1. 准备提款参数
提款需要以下信息:
- 之前保存的存款凭证
- 接收资金的目标地址
- 可选:中继服务器地址(用于无 Gas 费提款)
2. 执行提款操作
./cli.js withdraw [YOUR_NOTE] 0xYourRecipientAddress --rpc https://kovan.infura.io/v3/YOUR_INFURA_KEY --relayer https://kovan-frelay.duckdns.org
3. 验证交易
成功提交后,你将看到类似以下输出:
> Generating SNARK proof
> Proof time: 9117.051ms
> Sending withdraw transaction through the relay
> Transaction submitted through the relay. View transaction on etherscan https://kovan.etherscan.io/tx/0xcb21ae8cad723818c6bc7273e83e00c8393fcdbe74802ce5d562acad691a2a7b
> Transaction mined in block 17036120
> Done
🌐 如何查找中继服务器
中继服务器允许你无需支付 Gas 费即可提款。以下是查找可用中继服务器的方法:
- 访问 Etherscan 的 ENS 查找页面:https://etherscan.io/enslookup
- 输入已知的中继服务器 ENS 名称(如 mainnet.poanet.eth)
- 复制名称哈希并点击解析器链接
- 在解析器页面的 "Read Contract" 标签中,找到 "text" 方法
- 输入节点哈希和键 "url",点击查询获取中继服务器地址
⚙️ 智能合约架构
Tornado Cash 的核心智能合约位于 contracts/ 目录,主要包括:
- ETHTornado.sol:处理 ETH 存款和提款
- ERC20Tornado.sol:处理 ERC20 代币的存款和提款
- MerkleTreeWithHistory.sol:维护存款的默克尔树结构
- Verifier.sol:验证零知识证明的有效性
📝 常见问题
Q: 存款后可以立即提款吗?
A: 可以,但为了获得最佳隐私效果,建议等待几个区块确认后再提款。
Q: 我的资金安全吗?
A: 非常安全!Tornado Cash 是完全非托管的,资金直接存放在智能合约中,只有持有存款凭证的人才能提取。
Q: 支持哪些代币?
A: 目前支持 ETH 以及多种主流 ERC20 代币,如 DAI、USDC、USDT 等。具体可查看项目配置文件 src/config.js。
🎯 总结
Tornado Cash 为以太坊用户提供了简单而强大的隐私保护方案。通过本教程,你已经掌握了使用 Tornado Cash 进行匿名转账的基本流程。无论是保护个人财务隐私,还是进行安全的价值转移,Tornado Cash 都是你的理想选择!
提示:请务必妥善保管你的存款凭证,一旦丢失将无法恢复资金!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





