1
0
mirror of https://github.com/tornadocash/docs synced 2024-02-02 15:04:08 +01:00
docs/README.md
2022-02-08 17:31:09 +00:00

5.9 KiB
Raw Blame History

Introduction of Tornado Cash

Tornado Cash is a fully decentralized non-custodial protocol allowing private transactions in the crypto-space.

As a decentralized protocol, Tornado.Cash smart contracts have been implemented within the Ethereum blockchain which makes them immutable. They can neither be changed or tampered with. Therefore, nobody - including initial developers - can modify or shut them down. All governance and mining smart contracts are deployed by the community in a decentralized manner.

As a non-custodial protocol, users keep custody of their cryptocurrencies while operating Tornado.Cash. Indeed, at each deposit, they are provided with the private key enabling the access to the deposited funds, which gives users complete control over their assets.

How privacy is achieved?

Tornado Cash improves transaction privacy by breaking the on-chain link between source and destination addresses. It uses a smart contract that accepts ETH & other tokens deposits from one address and enable their withdrawal from a different address.

To preserve privacy, few good practices are in order, such as the use of a relayer for gas payments to withdraw funds towards an address with no pre-existing balance.

More details are available in Behind the scenes: How does Tornado.Cash work? **** & Tips to remain anonymous.

Where is Tornado.Cash at?

Since its inception in 2019, Tornado Cash has been operating on the Ethereum blockchain. The protocol has been offering diversified fixed amount pools for six tokens (ETH, DAI, cDAI, USDC, USDT & WBTC) handled by the Ethereum blockchain.

From June 2021, in addition to the Ethereum blockchain, Tornado Cash smart contracts have also been deployed on other side-chains & blockchains. Theses deployments enabled the tool to either support new tokens or benefit from Layer-2 advantages such as faster and cheaper transactions.

Therefore, as of today, Tornado Cash is currently operating on:

  • Ethereum Blockchain : ETH (Ethereum), DAI (Dai), cDAI (Compound Dai), USDC (USD Coin), USDT (Tether) & WBTC (Wrapped Bitcoin),
  • Binance Smart Chain: BNB (Binance Coin),
  • Polygon Network: MATIC (Polygon),
  • Gnosis Chain (former xDAI Chain): xDAI (xDai),
  • Avalanche Mainnet: AVAX (Avalanche),
  • Optimism, as a Layer-2 for ETH (Ethereum),
  • Arbitrum One, as a Layer-2 ETH (Ethereum).

Until December 2021, the protocol included an anonymity mining system for some of these tokens, allowing its users to earn a governance token (TORN). Users were able to ultimately earn TORN on the Blockchain network by depositing in the ETH, DAI, cDAI & WBTC pools.

More information about Anonymity mining & Tornado.Cash token are available.

Thanks to the TORN token, Tornado Cash users can actively participate in shaping the protocol. The community has a strong weight regarding the evolution of Tornado Cash and the improvement of its features. Indeed, protocol parameters & token distribution are completely under the communitys control through this governance.

All pools mentioned above can be accessed on tornadocash.eth.link. They operates under the principle of fixed amount deposits & withdrawals. It means that each token has 2 to 4 different pools, allowing transactions of only 2 to 4 different fixed amounts (e.g. ETH has four different pools, one for each of these amounts: 0.1, 1, 10 & 100 ETH).

Tornado Cash Nova

With the release of Tornado Cash Nova (beta version) on December 2021, an upgraded pool with unique new features has been added to the protocol. Users are no longer constrained by fixed amount transactions. With the addition of Tornado Cash Nova, they can benefit from the use of an arbitrary amount pool & shielded transfers.

Tornado Cash Nova operates on the Gnosis Chain (former xDai Chain) as a Layer2 to optimize speed and cost. It allows deposits and withdrawals of completely customized amounts in ETH. This pool also enables shielded transactions where users can transfer the custody of their token while remaining in the pool.

Tornado Cash Nova (beta version) can be accessed on nova.tornadocash.eth.link. You can find further informations related to the functioning of Tornado Cash Nova in the dedicated section of our docs.

How does Tornado.Cash run?

Codes behind Tornado.Cash functioning - smart contacts, circuits & toolchain - are fully open sourced. Working as a DAO (Decentralized Autonomous Organization), Tornado.Cash governance and mining smart contracts are deployed by its community.

The protocol also functions with zk-SNARK, which enables zero-knowledge proofs allowing users to demonstrate possession of information without needing to reveal it. The use of this technology is based on open source research made by Zcash team with the help of Ethereum community. To set-up zk-SNARK initial keys, Tornado.Cash Trusted Setup Community was launched in May 2020 & accounted for 1114 contributions. This significant number of contributors makes it impossible to compromise the protocol by faking zero-knowledge proofs.

User interface is hosted on IPFS (InterPlanetary File System) by the community, minimizing risks of data being deleted. Indeed, the interface will work as long as at least one user is hosting it.

Written & edited by @ayefda__