Compare commits

...

15 Commits

Author SHA1 Message Date
ed72164dfa Merge pull request 'Correct deployments and add sepolia deployments' (#3) from tornadocontrib/docs:master into master
Reviewed-on: #3
2024-09-22 13:49:21 +03:00
3d5504049b
Correct deployments and add sepolia deployments 2024-09-22 02:33:54 +00:00
85922f7ce1 Revert ButterflyEffect malicious commit
revert update ui version
2024-06-10 23:52:43 +03:00
1ee069e1c2 update ui version 2024-01-19 05:07:53 +00:00
3de70fb3b2 update releyaer threshold 2024-01-19 04:50:45 +00:00
2f83003024 Add info about decentralized sources 2023-10-11 05:06:36 -07:00
86c752489e Delete post-censorship guide on Spanish (no one read it. Really, Spanish? Maintain it without native Spanish speaker in team is useless) 2023-10-09 08:15:15 -07:00
8ca77bb4a5 Change IPFS CIDs, build version and Tor instructions corresponding to proposal 29 2023-08-30 10:18:40 -07:00
9a3151e832 Fix broken links (add anonymity mining topic), rename all media to human-readable format 2023-08-30 09:31:19 -07:00
5039ccdb21 Fix grammatical errors, add notes and fix images & gifs resolve paths 2023-08-29 12:48:00 -07:00
5c732bd08b Change Governance implementation address (deployed in proposal 22) 2023-08-29 12:33:26 -07:00
6f8a139f49 Update community links & fix some grammatical errors 2023-08-29 08:28:44 -07:00
bee5177f20 Update Classic UI build version and IPFS CID correcponding to proposal-29 2023-08-29 08:21:05 -07:00
97e9da137c Improve commands, clean and rebuild before deploy on IPFS 2023-07-28 04:38:39 -07:00
9ba46ed95b Change IPFS hashes & build version corresponding to proposal 27 2023-07-28 04:35:45 -07:00
124 changed files with 239 additions and 306 deletions

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Before

Width:  |  Height:  |  Size: 204 KiB

After

Width:  |  Height:  |  Size: 204 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 212 KiB

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 91 KiB

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Before

Width:  |  Height:  |  Size: 442 KiB

After

Width:  |  Height:  |  Size: 442 KiB

Before

Width:  |  Height:  |  Size: 403 KiB

After

Width:  |  Height:  |  Size: 403 KiB

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 284 KiB

Before

Width:  |  Height:  |  Size: 708 KiB

After

Width:  |  Height:  |  Size: 708 KiB

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 386 KiB

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 49 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Before

Width:  |  Height:  |  Size: 143 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 121 KiB

Before

Width:  |  Height:  |  Size: 180 KiB

After

Width:  |  Height:  |  Size: 180 KiB

Before

Width:  |  Height:  |  Size: 799 KiB

After

Width:  |  Height:  |  Size: 799 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 92 KiB

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

Before

Width:  |  Height:  |  Size: 353 KiB

After

Width:  |  Height:  |  Size: 353 KiB

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 197 KiB

@ -1,6 +1,6 @@
# Introduction to Tornado Cash
![](/.gitbook/assets/image.png)
![Tornado Cash banner](./.gitbook/assets/tornado-banner.png)
{% hint style="danger" %}
*Tornado Cash was sanctioned by the US Treasury on 08/08/2022, making it illegal for US citizens to interact with the core and governance contracts.*
@ -12,7 +12,7 @@ Therefore, nobody - including the original developers - can modify or inhibit th
## How is anonymity achieved?
Tornado Cash achives anonymity by breaking the on-chain link between source and destination addresses through "anonymity pools". These are immutable smart contracts that accepts fixed denominations of a currency, acting as what is known as a mix network. Although anonymity is only obtained with use of a "relayer", which acts as a withdrawal proxy to mask the link between destination and source addresses.
Tornado Cash achieves anonymity by breaking the on-chain link between source and destination addresses through "anonymity pools". These are immutable smart contracts that accepts fixed denominations of a currency, acting as what is known as a mix network. Although anonymity is only obtained with use of a "relayer", which acts as a withdrawal proxy to mask the link between destination and source addresses.
Learn more about [_How does Tornado Cash work?_](general/how-does-it-work.md) and [Tips to remain anonymous](general/guides/opsec.md).
@ -52,15 +52,15 @@ Anonymity pools operate **under the principle of fixed-amount deposits and withd
### Tornado Cash Nova
With the release of a [**new __experimental__ version of Tornado Cash; Nova**](https://tornado-cash.medium.com/tornado-cash-introduces-arbitrary-amounts-shielded-transfers-8df92d93c37c), provides an **upgraded expierence for anonymity pools**. Users are no longer constrained by fixed-amount transactions, possible through the UXTO model alllowing **arbitrary (customized) amounts and shielded internal transfers**.
With the release of a [**new __experimental__ version of Tornado Cash; Nova**](https://tornado-cash.medium.com/tornado-cash-introduces-arbitrary-amounts-shielded-transfers-8df92d93c37c), provides an **upgraded experience for anonymity pools**. Users are no longer constrained by fixed-amount transactions, possible through the UXTO model allowing **arbitrary (customized) amounts and shielded internal transfers**.
Tornado Cash Nova is deployed on Gnosis Chain (formerly xDAI) with the original hopes to improve speed and cost by bridging from Ethereum mainnet using the AMB Omnibridge.
Tornado Cash Nova is deployed on Gnosis Chain (formerly xDAI) with the original hopes to improve speed and cost by bridging from Ethereum Mainnet using the AMB Omnibridge.
__Please note Tornado Cash Nova has a low relayer count, is in an experimental state and regularly faces issues with Omnibridge because of bridge limits and validator censorship__.
## How does Tornado Cash function?
Tornado Cash is represented by it's community, collaboration is facilitated through the governance contract or Decentralized Autonomous Organisation (DAO). **No singular entity or person controls Tornado Cash.**
Tornado Cash is represented by it's community, collaboration is facilitated through the governance contract or Decentralized Autonomous Organization (DAO). **No singular entity or person controls Tornado Cash.**
All protocol related code is open-source and is published to two independent git instances:

@ -7,13 +7,13 @@
* [TORN](general/token/index.md)
* [Governance](general/community/governance.md)
* [Staking](general/token/staking.md)
* [Anonymity Mining](general/token/anonymity-mining.md)
* [Contributing](general/community/contributing.md)
## Guides
* [Post-censorship](general/guides/post-censorship/index.md)
* [RU](general/guides/post-censorship/ru.md)
* [ES](general/guides/post-censorship/es.md)
* [ZH](general/guides/post-censorship/zh.md)
* [How to become a relayer?](general/guides/relayer.md)
* [Local UI deployment](general/guides/local-ui.md)

@ -1,12 +1,12 @@
# Contributing
In a Decentralized Autonomous Organization (DAO), community involvement dictates the forward motion of the organization through governance proposals. These requests can often relate to protocol development but can be more abstract to such contexts of remuneration, economic strategising or accelerating funding of public goods.
In a Decentralized Autonomous Organization (DAO), community involvement dictates the forward motion of the organization through governance proposals. These requests can often relate to protocol development but can be more abstract to such contexts of remuneration, economic strategizing or accelerating funding of public goods.
The Tornado Cash community facilliates discourse for governance and more through the following portals, everyone is welcome:
The Tornado Cash community facilitates discourse for governance and more through the following portals, everyone is welcome:
* [**Community forum**](https://forums.tornadocash.community)
* [**Community Telegram**](https://t.me/TornadoCashOrg)
* [**Community Matrix**](https://matrix.tornadocash.community)
* [**Community forum**](https://forum.tornado.ws)
* [**Community Telegram**](https://t.me/TornadoOfficial)
* [**Community Matrix**](https://element.tornadocash.social)
* [**Community Twitter**](https://twitter.com/TornadoCashOrg)
_For more information see the section on_ [_Governance_](governance.md).

@ -32,13 +32,13 @@ Go to the `Voting` route of the application, look to the top of the page under t
Approve the locked amount for the governance contract to transfer your tokens by clicking on the `Approve` button. Once the approve is confirmed, either by signing a message or making an approval transaction - click `Lock` to initiate the transaction to deposit. Confirm the transaction in your wallet and wait for confirmation to see the updated balance.
![](../../.gitbook/assets/c05e5a1813edad280544b627b24002dc8d5adcf2.png)
![](../../.gitbook/assets/how-to-lock-or-stake.png)
Individuals should take time to review the matters they are voting on, as given the open nature of the organisation - **the code execution could be malicious** - or may just simply be against their opinion. Proposals are encouraged to be discussed on the forums before being deployed. Review the discription, subject matter and forum thread before voting.
Individuals should take time to review the matters they are voting on, as given the open nature of the organization - **the code execution could be malicious** - or may just simply be against their opinion. Proposals are encouraged to be discussed on the forums before being deployed. Review the discription, subject matter and forum thread before voting.
To allow easy auditing of the proposals execution and ensure the highest possibility for your proposal to win consensus, bytecode should be verified on Etherscan using the contract source code.
![](../../.gitbook/assets/181d612b6c57964bab59c8e5b766f5247211083d.png)
![](../../.gitbook/assets/check-proposal-contract-address.png)
Look for the contract address on Etherscan and make sure that the source code is verified before voting.
@ -56,13 +56,13 @@ You first need to lock your tokens in the governance contract. Click **`Manage`*
Approve the governance contract to transfer your TORN tokens by clicking on the **`Approve`** button. Once the approve is confirmed, chose the amount you want to delegate and click **`Lock`**. Confirm the transaction in your wallet and wait for the confirmation.
![](/.gitbook/assets/c05e5a1813edad280544b627b24002dc8d5adcf2.png)
![](../../.gitbook/assets/how-to-lock(stake).png)
To delegate, go to the `Voting` route of the application. Look to the top of the page under the navigation bar and click `Manage` -> `Delegate`.
Fill-in the address to which you want to delegate and click **`Delegate`**. Approve the transaction in your wallet and wait for confirmation.
![](/.gitbook/assets/43c05d176d7f75a336af7a865565c9b23786b98c.png)
![](../../.gitbook/assets/how-to-delegate.png)
You can undelegate at anytime, to undelegate simply use the `Undelegate` option through `Manage` -> `Undelegate`.

@ -105,6 +105,39 @@ The following addresses are deployments of the [source code of Tornado Cash smar
| 1 WBTC | [0x776198CCF446DFa168347089d7338879273172cF](https://goerli.etherscan.io/address/0x776198CCF446DFa168347089d7338879273172cF) |
| 10 WBTC | [0xeDC5d01286f99A066559F60a585406f3878a033e](https://goerli.etherscan.io/address/0xeDC5d01286f99A066559F60a585406f3878a033e) |
* Sepolia
| Contract | Address |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [DAI](https://staging.aave.com/faucet/) | [0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357](https://sepolia.etherscan.io/address/0xFF34B3d4Aee8ddCd6F9AFFFB6Fe49bD371b8a357) |
| Hasher | [0x20bc314FC55345d74235731B6C0Cd57ede6cdF2F](https://sepolia.etherscan.io/address/0x20bc314FC55345d74235731B6C0Cd57ede6cdF2F) |
| Verifier | [0xAE523682eB597e057acA3dC009161a122656F00e](https://sepolia.etherscan.io/address/0xAE523682eB597e057acA3dC009161a122656F00e) |
| TORN | [0x3AE6667167C0f44394106E197904519D808323cA](https://sepolia.etherscan.io/address/0x3AE6667167C0f44394106E197904519D808323cA) |
| GovernanceProxy | [0xe5324cD7602eeb387418e594B87aCADee08aeCAD](https://sepolia.etherscan.io/address/0xe5324cD7602eeb387418e594B87aCADee08aeCAD) |
| GovernanceV5 | [0x27fb0722D38996ff3ffa2F65a959Ec2Cd95C9525](https://sepolia.etherscan.io/address/0x27fb0722D38996ff3ffa2F65a959Ec2Cd95C9525) |
| GovernanceVesting | [0x488F1d0135eF240D4594273AA5E05782c5d39De1](https://sepolia.etherscan.io/address/0x488F1d0135eF240D4594273AA5E05782c5d39De1) |
| GasCompensationVault | [0x258356291E9000270118b07396fc8BFdF6646041](https://sepolia.etherscan.io/address/0x258356291E9000270118b07396fc8BFdF6646041) |
| TornadoVault | [0x09Aedf485b0F3Ab213015F13dBe15d9490E9BfBD](https://sepolia.etherscan.io/address/0x09Aedf485b0F3Ab213015F13dBe15d9490E9BfBD) |
| InstanceRegistryProxy | [0xdbBeC11BE17AD70B931DB6e01Bcd1f6Ae973b14E](https://sepolia.etherscan.io/address/0xdbBeC11BE17AD70B931DB6e01Bcd1f6Ae973b14E) |
| InstanceRegistryImpl | [0x4e69fD587118dFb64957d18654E3894118E9B1BF](https://sepolia.etherscan.io/address/0x4e69fD587118dFb64957d18654E3894118E9B1BF) |
| FeeManagerProxy | [0x5BEd99c71f9416C2F8E1c36052AdA73A0d4dbe4e](https://sepolia.etherscan.io/address/0x5BEd99c71f9416C2F8E1c36052AdA73A0d4dbe4e) |
| FeeManagerImpl | [0x4ff67cC3Cd810556DD6ef72D12D72dCFa925Ff95](https://sepolia.etherscan.io/address/0x4ff67cC3Cd810556DD6ef72D12D72dCFa925Ff95) |
| RelayerRegistryProxy | [0x1428e5d2356b13778A13108b10c440C83011dfB8](https://sepolia.etherscan.io/address/0x1428e5d2356b13778A13108b10c440C83011dfB8) |
| RelayerRegistryImpl | [0xD6663593E71e4916eCb6f6606e1A6FbfA1634ffA](https://sepolia.etherscan.io/address/0xD6663593E71e4916eCb6f6606e1A6FbfA1634ffA) |
| TornadoStakingRewardsProxy | [0x6d0018890751Efd31feb8166711B16732E2b496b](https://sepolia.etherscan.io/address/0x6d0018890751Efd31feb8166711B16732E2b496b) |
| TornadoStakingRewardsImpl | [0xe2e051c18baACA3Bfeb71b578f3748C519CA0628](https://sepolia.etherscan.io/address/0xe2e051c18baACA3Bfeb71b578f3748C519CA0628) |
| TornadoRouter | [0x1572AFE6949fdF51Cb3E0856216670ae9Ee160Ee](https://sepolia.etherscan.io/address/0x1572AFE6949fdF51Cb3E0856216670ae9Ee160Ee) |
| Aggregator | [0x4088712AC9fad39ea133cdb9130E465d235e9642](https://sepolia.etherscan.io/address/0x4088712AC9fad39ea133cdb9130E465d235e9642) |
| Echoer | [0xcDD1fc3F5ac2782D83449d3AbE80D6b7B273B0e5](https://sepolia.etherscan.io/address/0xcDD1fc3F5ac2782D83449d3AbE80D6b7B273B0e5) |
| 0.1 ETH | [0x8C4A04d872a6C1BE37964A21ba3a138525dFF50b](https://sepolia.etherscan.io/address/0x8C4A04d872a6C1BE37964A21ba3a138525dFF50b) |
| 1 ETH | [0x8cc930096B4Df705A007c4A039BDFA1320Ed2508](https://sepolia.etherscan.io/address/0x8cc930096B4Df705A007c4A039BDFA1320Ed2508) |
| 10 ETH | [0x8D10d506D29Fc62ABb8A290B99F66dB27Fc43585](https://sepolia.etherscan.io/address/0x8D10d506D29Fc62ABb8A290B99F66dB27Fc43585) |
| 100 ETH | [0x44c5C92ed73dB43888210264f0C8b36Fd68D8379](https://sepolia.etherscan.io/address/0x44c5C92ed73dB43888210264f0C8b36Fd68D8379) |
| 100 DAI | [0x6921fd1a97441dd603a997ED6DDF388658daf754](https://sepolia.etherscan.io/address/0x6921fd1a97441dd603a997ED6DDF388658daf754) |
| 1,000 DAI | [0x50a637770F5d161999420F7d70d888DE47207145](https://sepolia.etherscan.io/address/0x50a637770F5d161999420F7d70d888DE47207145) |
| 10,000 DAI | [0xecD649870407cD43923A816Cc6334a5bdf113621](https://sepolia.etherscan.io/address/0xecD649870407cD43923A816Cc6334a5bdf113621) |
| 100,000 DAI | [0x73B4BD04bF83206B6e979BE2507098F92EDf4F90](https://sepolia.etherscan.io/address/0x73B4BD04bF83206B6e979BE2507098F92EDf4F90) |
### Tornado Cash Nova
| Contract | Address |
@ -119,11 +152,11 @@ The following addresses are deployments of the [source code of Tornado Cash smar
### Governance
| Contract | Address |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| ---------------------------------- | ------------------------------------------------------------ |
| Governance Contract | [0x5efda50f22d34f262c29268506c5fa42cb56a1ce](https://etherscan.io/address/0x5efda50f22d34f262c29268506c5fa42cb56a1ce) |
| Governance Vault (for locked TORN) | [0x2f50508a8a3d323b91336fa3ea6ae50e55f32185](https://etherscan.io/address/0x2f50508a8a3d323b91336fa3ea6ae50e55f32185#tokentxns) |
| Deployer Contract | [0xCEe71753C9820f063b38FDbE4cFDAf1d3D928A80](https://etherscan.io/address/0xCEe71753C9820f063b38FDbE4cFDAf1d3D928A80) |
| Governance Impl | [0xffbac21a641dcfe4552920138d90f3638b3c9fba](https://etherscan.io/address/0xffbac21a641dcfe4552920138d90f3638b3c9fba) |
| Governance Impl | [0xbf46f2222c0712cAF2f13B8590732DbD964ce395](https://etherscan.io/address/0xbf46f2222c0712cAF2f13B8590732DbD964ce395#code) |
| Governance Vesting | [0x179f48c78f57a3a78f0608cc9197b8972921d1d2](https://etherscan.io/address/0x179f48c78f57a3a78f0608cc9197b8972921d1d2) |
| Community Fund | [0xb04E030140b30C27bcdfaafFFA98C57d80eDa7B4](https://gnosis-safe.io/app/eth:0xb04E030140b30C27bcdfaafFFA98C57d80eDa7B4/balances) |
| TORN Token | [0x77777feddddffc19ff86db637967013e6c6a116c](https://etherscan.io/address/0x77777feddddffc19ff86db637967013e6c6a116c) |
@ -138,9 +171,9 @@ The following addresses are deployments of the [source code of Tornado Cash smar
| Proxy of feeManagerContract | [0x5f6c97C6AD7bdd0AE7E0Dd4ca33A4ED3fDabD4D7](https://etherscan.io/address/0x5f6c97C6AD7bdd0AE7E0Dd4ca33A4ED3fDabD4D7) |
| FeeManager | [0xf4B067dD14e95Bab89Be928c07Cb22E3c94E0DAA](https://etherscan.io/address/0xf4B067dD14e95Bab89Be928c07Cb22E3c94E0DAA) |
| Proxy of relayerRegistryContract | [0x58E8dCC13BE9780fC42E8723D8EaD4CF46943dF2](https://etherscan.io/address/0x58E8dCC13BE9780fC42E8723D8EaD4CF46943dF2) |
| RelayerRegistry | [0xe27b91724c55e950f68b394f33fa3b86693179c0](https://etherscan.io/address/0xe27b91724c55e950f68b394f33fa3b86693179c0) |
| RelayerRegistry | [0x84b0c75c1F6211450FEC7289c32D717AdaDD702A](https://etherscan.io/address/0x84b0c75c1F6211450FEC7289c32D717AdaDD702A) |
| Proxy of stakingContract | [0x5b3f656c80e8ddb9ec01dd9018815576e9238c29](https://etherscan.io/address/0x5b3f656c80e8ddb9ec01dd9018815576e9238c29) |
| TornadoStakingRewards | [0xefbea4ec481c2467a1a94d94bc54f111f6a7345f](https://etherscan.io/address/0xefbea4ec481c2467a1a94d94bc54f111f6a7345f) |
| TornadoStakingRewards | [0x9c97be37840f0e754bb7aDB1b16fD0954A2BA248](https://etherscan.io/address/0x9c97be37840f0e754bb7aDB1b16fD0954A2BA248) |
| Proxy of instanceRegistryContract | [0xB20c66C4DE72433F3cE747b58B86830c459CA911](https://etherscan.io/address/0xB20c66C4DE72433F3cE747b58B86830c459CA911) |
| InstanceRegistry | [0x2573BAc39EBe2901B4389CD468F2872cF7767FAF](https://etherscan.io/address/0x2573BAc39EBe2901B4389CD468F2872cF7767FAF) |

@ -4,19 +4,19 @@ _If you have privacy concerns about using this extension in this tutorial, you [
### Requirements
* Desktop enviroment (Windows, Mac or Linux)
* Desktop environment (Windows, Mac or Linux)
* Google Chrome browser
### Step #1: Download the static source
For this part you'll need to be able to open .zip files, most operating systems allow this. Head to either the Nova or Classic release page on the community git to download the static files.
Nova: https://git.tornado.ws/tornadocash/nova-ui-minified/releases
Nova: https://git.tornado.ws/tornadocash/nova-ui/releases
Classic: https://git.tornado.ws/tornadocash/classic-ui/releases
Click the version named zip file download option to download the zip file, as seen below. It should download locally to your machine.
![Screenshot 2022-09-06 at 11.15.52|690x407](/.gitbook/assets/eHuzorT5lslrOoxKKvRPxLtAHy7.png)
![Screenshot 2022-09-06 at 11.15.52|690x407](../../.gitbook/assets/download-UI-static-source.png)
### Step #2: Open and unpack the .zip file
As mentioned before most operating systems support unpacking .zip files, so open the file that was previously downloaded in the last step. It should create a folder in the same location with the resulting files, take note of the folder location for the next step.
@ -24,14 +24,14 @@ As mentioned before most operating systems support unpacking .zip files, so open
### Step #3: Install the Web Server extension
Open up Google Chrome and navigate to the [Web Server extension page](https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb/related?hl=en), click the button highlighted in the image to install. Once installed, click the same button which should now say ¨Launch app¨ to launch the extension.
![Screenshot 2022-09-06 at 11.43.59|690x407](../../.gitbook/assets/yIT7YcJf1Kc9T7rCcdZW3bZd0mx.png)
![Screenshot 2022-09-06 at 11.43.59|690x407](../../.gitbook/assets/install-web-server-browser-extension.png)
### Step #4: Configure the Web Server extension
If everything is going correctly you should see a similar screen, firstly click the "Select folder" button (1) and select the folder that was created after the .zip file was opened. It should be in the same location where you downloaded it to. Then once it has been loaded click the link underneath (2) to view the hosted content.
![Screenshot 2022-09-06 at 11.29.45|690x407](../../.gitbook/assets/4R1HHWy8j2kTwjugeFCfj2NzatB.png)
![Screenshot 2022-09-06 at 11.29.45|690x407](../../.gitbook/assets/configure-web-server-browser-extension.png)
### Step #5: Achieve privacy
If you can see the frontend interface after clicking the link in the extension then you've successfully done everything correctly and you can use the protocol like normal.
![Screenshot 2022-09-06 at 11.40.59|690x407](../../.gitbook/assets/o04px38SoXt0G5IVTxr5rEeI588.png)
![Screenshot 2022-09-06 at 11.40.59|690x407](../../.gitbook/assets/local-classic-ui-running.png)

@ -24,7 +24,7 @@ Using onion routing, you can singificantly mask your internet traffic at the cos
### Store notes with confidentiality
Your note provides a record of your original transaction. Anyone who has it can withdraw the funds deposited, but also know the details regarding the depositing address therefore allowing the ability to deanonymise the transaction.
Your note provides a record of your original transaction. Anyone who has it can withdraw the funds deposited, but also know the details regarding the depositing address therefore allowing the ability to deanonymize the transaction.
### Delete history, cache and cookies
@ -32,11 +32,11 @@ Browser history and caches can provide a massive amount of data regarding specif
### Wallet
Metamask one of the most popular wallets - now by default, **logs IP addresses when a wallet is generated or makes a transaction** please excercise caution if you are using this choice as a wallet and do not take methods to migitate the logging. It would effectively void any anonymity acheived on-chain, if your actual IP address is exposed.
Metamask one of the most popular wallets - now by default, **logs IP addresses when a wallet is generated or makes a transaction** please exercise caution if you are using this choice as a wallet and do not take methods to migitate the logging. It would effectively void any anonymity achieved on-chain, if your actual IP address is exposed.
Additionally when you configure an Metamask wallet an Infura RPC access key is assigned to your instance, **if you make two transactions from two seperate addresses from that instance they will be directly related**. It is recommended to delete and reintall the extension when transacting from the source and destination address to ensure a fresh access key and not void your destination address's anonymity.
Additionally when you configure an Metamask wallet an Infura RPC access key is assigned to your instance, **if you make two transactions from two separate addresses from that instance they will be directly related**. It is recommended to delete and reintall the extension when transacting from the source and destination address to ensure a fresh access key and not void your destination address's anonymity.
It is recommended to use open source wallets to evade the surveilance present in the adopoted software like the following recommendations:
It is recommended to use open source wallets to evade the surveillance present in the adopted software like the following recommendations:
* [Frame](https://github.com/floating/frame)
* [Enkrypt](https://github.com/enkryptcom/enKrypt)
@ -53,7 +53,7 @@ If you make 7 x 10 ETH deposit from one address and withdraw all 10 ETH notes to
### Use different gas parameters
Behavioural patterns in consisent gas values can be used to fingerprint transactions by correlation, configure arbitary gas values when withdrawing and depositing to maximise anonymity.
Behavioural patterns in consistent gas values can be used to fingerprint transactions by correlation, configure arbitrary gas values when withdrawing and depositing to maximise anonymity.
### Select the strongest anonymity sets

@ -1,112 +0,0 @@
# Uso de Tornado Cash tras la censura
Esta es una guía para usar Tornado Cash después de la crisis del 8 de agosto, cuando la OFAC decidió sancionar a la organización y a los contratos. Esto generó una ola de censura generalizada de los proveedores de servicios. Como resultado los usuarios son vulnerables y no pueden acceder a sus fondos.
## Compilación de la comunidad
El código fuente de la compilación de la comunidad se puede encontrar en [el git oficial de la comunidad](https://git.tornado.ws/tornadocash/classic-ui). Para un tutorial sobre cómo auditar los cambios mirá [la guía de Micah](https://notes.ethereum.org/@GW1ZUbNKR5iRjjKYx6_dJQ/Bk8zsJ9xj).
* Versión actual de compilación: **ea97a39**
* Versión de construcción estable: **a8c238c**
* [Registro de cambios](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master)
**Consulte [las instrucciones sobre cómo configurar RPC](#RPC) si está realizando transacciones con direcciones sancionadas.**
### Contenido y resolutores de ENS
La últimas compilaciones de la comunidad deberían estar disponibles en:
* Classic:
* [tornado.ws](https://tornado.ws)
* Nova:
* [nova.tornado.ws](https://nova.tornado.ws)
### TOR de la red
**El historial del navegador debe estar habilitado al usar el navegador TOR para el almacenamiento en caché de eventos**.
Ahora es posible acceder a las compilaciones a través de los servicios ocultos de cebolla con el solucionador de la comunidad (3th.ws), si no hay respuesta, consulte la [página de estado de la red](https://status.torproject.org) para posibles interrupciones.
* [onion.tornadocash.3th.ws](https://onion.tornadocash.3th.ws)
* [h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion](https://h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion/)
* [onion.nova.tornadocash.3th.ws](https://onion.nova.tornadocash.3th.ws)
* [tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion](https://tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion)
### Detalles de IPFS
Si no podés acceder a estos enlaces, deberás obtener el hash del contenido IPFS y el enlace desde los detalles del dominio. Visitá la página del dominio de la aplicación ENS en:
* Classic: [tornadocash.eth](https://app.ens.domains/name/tornadocash.eth/details)
* Nova: [nova.tornadocash.eth](https://app.ens.domains/name/nova.tornadocashcommunity.eth/details)
El enlace IPFS para Classic (tornadocash.eth), por ejemplo, va a tener el siguiente aspecto:
```
ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
```
El hash de contenido de este enlace es `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum`
### Despliegue local de IPFS (recomendado)
* Brave
* Navegá hacia el enlace IPFS en el navegador
* Cuando se solicite, seleccioná “Use a Brave local IPFS node" -usar un nodo IPFS local de Brave-.
* Chrome / Firefox
* Instalar IPFS Desktop
* Instalar la extensión IPFS Companion ([Chrome](https://chrome.google.com/webstore/detail/ipfs-companion/nibjojkomfdiaoajekhjakgkdhaomnch?hl=es) / [Firefox](https://addons.mozilla.org/es/firefox/addon/ipfs-companion/))
* Asegurate que IPFS Desktop está abierto y con conexión a internet
* Navegá hacia el enlace IPFS en el navegador
### Uso de la puerta de enlace de IPFS
Toma el hash del contenido, añade un . y a continuación adhiere una de las siguientes puertas de enlace de IPFS:
* `ipfs.dweb.link`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.dweb.link
* `ipfs.cf-ipfs.com`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.cf-ipfs.com
## RPC
* Si desea depositar, es posible que deba cambiar su RPC de billetera, ya que la mayoría de los proveedores han censurado los contratos inteligentes. **El proveedor predeterminado de Metamask, Infura junto con Ankr y Alchemy no prohíben las transacciones hacia y desde el protocolo, la gobernanza y el token TORN**.
* Intentá buscar en Chainlist un endpoint (punto final) que funcione, esto podría llevar varios intentos (anotá el ChainID para configurar la red). A continuación se muestra un ejemplo de cómo cambiar el proveedor RPC para MetaMask.
![](../../../.gitbook/assets/zOwfk4k.gif)
* A veces al visitar la aplicación puede aparecer el siguiente mensaje, para solucionarlo haga clic en "OPEN SETTINGS" -abrir ajustes-.
![](../../../.gitbook/assets/xcNzhNG.png)
* A continuación, aparecerá un desplegable con una selección por defecto. Hacé clic en él y seleccioná la opción "Custom" -personalizada-.
![](../../../.gitbook/assets/zrY5GEi.png)
* Introducí aquí un proveedor de RPC sin censura dependiendo de tu red y esto resolverá los problemas de la aplicación.
![](../../../.gitbook/assets/dE13HsA.png)
* Ahora podés retirar, depositar, hacer staking o participar libremente en la gobernanza descentralizada como si nunca hubiera pasado nada.
## FAQ
> ¿Por qué sigo recibiendo el error `Failed to fetch relayers`?
* Este error está relacionado con una mala conexión o como resultado de que no hay repetidores disponibles en su red. Por lo general, se puede resolver refrescando.
> ¿Por qué sigo recibiendo el error `Failed to fetch proving keys`?
* Este error está relacionado con una mala conexión, por lo general se puede resolver actualizando o cambiando la ubicación de VPN para una mejor latencia.
> ¿Por qué sigo recibiendo el error `Failed to fetch all deposit events from contract` cuando intento retirar dinero?
* Este error está relacionado con una mala conexión o con el uso de un extremo RPC censurado. Para resolver esto:
* cambiar la ubicación de VPN para una mejor latencia
* probar un nuevo navegador o método de acceso
* configure la configuración RPC de la aplicación a una alternativa
> ¿Por qué no puedo hacer un depósito desde mi monedero?
* La mayoría de los RPC censuran las transacciones según el protocolo y la gobernanza desde las sanciones de la OFAC, debe configurar su RPC de billetera en un punto final sin censura.

@ -12,32 +12,29 @@ This is a guide to using Tornado Cash after the 8th August crisis, when the OFAC
_The source code for the community build can be found on [the offical community git](https://git.tornado.ws/tornadocash/classic-ui). For a tutorial on how to audit the changes [see Micah's guide](https://notes.ethereum.org/@GW1ZUbNKR5iRjjKYx6_dJQ/Bk8zsJ9xj)_.
* Current build version: **e49e3e0**
* Stable build version: **a8c238c**
* Current build version: **023c463**
* Stable build version: **023c463**
* [Changelog](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master)
**See [instructions on RPC configuration](#RPC) if transacting with sanctioned addresses**
#### ENS resolvers
The latest community builds are available at:
* Classic:
* [tornado.ws](https://tornado.ws)
* [ipfs.io/ipns/tornadocash.eth](https://ipfs.io/ipns/tornadocash.eth/)
* Nova:
* [nova.tornado.ws](https://nova.tornado.ws)
* [ipfs.io/ipns/nova.tornadocash.eth](https://ipfs.io/ipns/nova.tornadocash.eth/)
#### TOR network
**Browser history must be enabled when using TOR browser for event caching**.
It is now possible to access the builds via onion hidden services with the community resolver (3th.ws), if there is no response see the [network status page](https://status.torproject.org/) for possible disruption.
How to use Tornado site via Tor: [guide](../tor.md).
* [onion.tornadocash.3th.ws](https://onion.tornadocash.3th.ws)
* [h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion](https://h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion/)
* [onion.nova.tornadocash.3th.ws](https://onion.nova.tornadocash.3th.ws)
* [tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion](https://tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion)
#### IPFS details
@ -49,10 +46,10 @@ To get the IPFS content hash and link from the domain details. Visit the ENS app
The IPFS link for Classic (tornadocash.eth) for example, will look like:
```
ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
ipfs://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
```
The content hash of this link is `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum`
The content hash of this link is `bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu`
#### Local IPFS deployment (recommended)
@ -71,9 +68,20 @@ The content hash of this link is `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmic
* Take the content hash and prefix it followed by a `.` to one of the following IPFS gateways:
* `ipfs.dweb.link`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.dweb.link
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.dweb.link
* `ipfs.cf-ipfs.com`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.cf-ipfs.com
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.cf-ipfs.com
* `ipfs.io`
* https://ipfs.io/ipfs/bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
#### Decentralized sources
All sources (code) of Tornado Cash are also decentralized after [proposal #30](https://tornado.ws/governance/30) and have ENS domains with IPFS contenthash.
Full guide available at ENS domain [sources.tornadocash.eth](https://app.ens.domains/sources.tornadocash.eth), actual IPFS hash: `bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u`.
Gateway (direct link): https://ipfs.io/ipfs/bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u
### RPC
@ -85,7 +93,7 @@ The content hash of this link is `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmic
--------
* If you want to deposit you may have to change your wallet RPC, as most providers have censored the smart contracts. **The default provider of Metamask, Infura along with Ankr and Alchemy do not prohibit transactions to and from the protocol, governance and the TORN token**.
* If you want to deposit you may have to change your wallet RPC, as most providers have censored the smart contracts. **The default provider of Metamask, Infura along with Ankr and Alchemy currently do not prohibit transactions to and from the protocol, governance and the TORN token**.
* Try searching for an alternative working endpoint on [Chainlist](https://chainlist.org/), which could take multiple attempts (take note of the ChainID for network configuration). An example of how to change your RPC provider for MetaMask is shown below.
@ -103,7 +111,7 @@ The content hash of this link is `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmic
![](../../../.gitbook/assets/dE13HsA.png)
* Then you are freely able to withdraw, deposit, stake or participate in decentralised governance like nothing ever happened.
* Then you are freely able to withdraw, deposit, stake or participate in decentralized governance like nothing ever happened.
## FAQ

@ -6,32 +6,27 @@
Исходный код сборки сообщества можно найти на официальном [сайте сообщества git](https://git.tornado.ws/tornadocash/classic-ui.git). Руководство по аудиту изменений см. в [руководстве Micah](https://notes.ethereum.org/@GW1ZUbNKR5iRjjKYx6_dJQ/Bk8zsJ9xj).
* Актуальная версия сборки: **e49e3e0**
* Стабильная версия сборки: **a8c238c**
* Актуальная версия сборки: **023c463**
* Стабильная версия сборки: **023c463**
* [Журнал изменений](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master)
**См. [Инструкции по настройке RPC](#RPC) при выполнении транзакций с адресами, санкционированными OFAC**.
### Контент ENS
Последняя версия сообщества должна быть доступна по адресу:
* Classic:
* [tornado.ws](https://tornado.ws)
* [ipfs.io/ipns/tornadocash.eth](https://ipfs.io/ipns/tornadocash.eth/)
* Nova:
* [nova.tornado.ws](https://nova.tornado.ws)
* [ipfs.io/ipns/nova.tornadocash.eth](https://ipfs.io/ipns/nova.tornadocash.eth/)
### TOR сеть
**История браузера должна быть включена при использовании браузера TOR для кэширования событий**.
Теперь можно получить доступ через скрытые сервисы onion с помощью распознавателя сообщества (3th.ws), если нет ответа, см. [страницу состояния сети](https://status.torproject.org/) для возможных сбоев.
* [onion.tornadocash.3th.ws](https://onion.tornadocash.3th.ws)
* [h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion](https://h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion/)
* [onion.nova.tornadocash.3th.ws](https://onion.nova.tornadocash.3th.ws)
* [tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion](https://tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion)
Как работать с сайтом Tornado через Tor: [полный гайд](../tor.md).
### IPFS подробности
@ -44,10 +39,10 @@
Например, ссылка IPFS для Classic (tornadocash.eth) будет выглядеть так:
```
ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
ipfs://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
```
Хэш содержимого этой ссылки: `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum`.
Хэш содержимого этой ссылки: `bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu`.
#### Локальное развертывание IPFS (рекомендуется)
@ -63,11 +58,21 @@ ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
#### Проверка и использование шлюза IPFS
* Возьмите хеш содержимого и добавьте к нему префикс, за которым следует расширение . к одному из следующих шлюзов IPFS:
* Возьмите хеш содержимого и добавьте к нему префикс, за которым следует расширение, в одном из следующих шлюзов IPFS:
* `ipfs.dweb.link`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.dweb.link
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.dweb.link
* `ipfs.cf-ipfs.com`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.cf-ipfs.com
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.cf-ipfs.com
* `ipfs.io`
* https://ipfs.io/ipfs/bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
#### Децентрализованные исходники
Исходный код всех сайтов, библиотек, репозиториев и сервисов Tornado Cash являются децентрализованными после [предложения #30](https://tornado.ws/governance/30) и их можно скачать по IPFS-хешу с соответствующего ENS домена.
Полный гайд доступен на ENS-домене [sources.tornadocash.eth](https://app.ens.domains/sources.tornadocash.eth), актуальный IPFS-хеш гайда: `bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u`.
IPFS шлюз (прямая ссылка): https://ipfs.io/ipfs/bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u
## RPC

@ -6,31 +6,26 @@
社区构建的源代码可以在官方社区 [git 上找到。](https://git.tornado.ws/tornadocash/classic-ui) 有关如何查看更改的教程,请参阅 [Micah 的指南](https://notes.ethereum.org/@GW1ZUbNKR5iRjjKYx6_dJQ/Bk8zsJ9xj)。
* 当前构建版本:**e49e3e0**
* 稳定构建版本: **a8c238c**
* 当前构建版本:**023c463**
* 稳定构建版本: **023c463**
* [更改日志](https://git.tornado.ws/tornadocash/classic-ui/commits/branch/master)
**如果使用受制裁的地址进行交易,请参阅 [RPC 配置说明](#RPC)**。
### ENS 内容
最新的社区版本应在以下位置提供:
* Classic:
* [tornado.ws](https://tornado.ws)
* [ipfs.io/ipns/tornadocash.eth](https://ipfs.io/ipns/tornadocash.eth/)
* Nova:
* [nova.tornado.ws](https://nova.tornado.ws)
* [ipfs.io/ipns/nova.tornadocash.eth](https://ipfs.io/ipns/nova.tornadocash.eth/)
### TOR 网络
**如果您使用的是 TOR 浏览器,请启用浏览器历史记录,否则事件将不会被缓存。**
现在可以使用社区解析器 (3th.ws) 通过洋葱隐藏服务访问构建,如果没有响应,请查看 [网络状态页面](https://status.torproject.org/) 以了解可能的中断。
* [onion.tornadocash.3th.ws](https://onion.tornadocash.3th.ws)
* [h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion](https://h76qqhctmyehsaoazm7fqtncitt3vrdixoshwhuu7vpgzh3mld7dt2qd.onion/)
* [onion.nova.tornadocash.3th.ws](https://onion.nova.tornadocash.3th.ws)
* [tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion](https://tytltckkqi3g6djjmiaorobu5jgshgwpdqelgmdcabnp2l7whj6sdhid.onion)
如何通过 Tor 使用 Tornado 站点:[指南](../tor.md)。
### IPFS 详情
@ -42,10 +37,10 @@
例如Classic (tornadocash.eth) 的 IPFS 链接将如下所示:
```
ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
ipfs://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
```
此链接的内容哈希是 `bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum`
此链接的内容哈希是 `bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu`
### 本地 IPFS 部署(推荐)
@ -63,9 +58,15 @@ ipfs://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum
* 获取内容哈希并为其添加前缀,后跟 `.` 到以下 IPFS 网关之一:
* `ipfs.dweb.link`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.dweb.link
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.dweb.link
* `ipfs.cf-ipfs.com`
* https://bafybeiezldbnvyjgwevp4cdpu44xwsxxas56jz763jmicojsa6hm3l3rum.ipfs.cf-ipfs.com
* https://bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu.ipfs.cf-ipfs.com
* `ipfs.io`
* https://ipfs.io/ipfs/bafybeib4rg5gx7plrvzasrrqa3tcb3tnzm2goxhteaxsbem6hjpzsgihbu
### 分散来源
Tornado Cash 的所有来源(代码)在 [提案 #30](https://tornado.ws/governance/30) 之后也是去中心化的,并且具有带有 IPFS contenthash 的 ENS 域。 完整指南可在 ENS 域 [sources.tornadocash.eth](https://app.ens.domains/sources.tornadocash.eth) 获取,实际 IPFS 哈希:`bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u`。 网关直接链接https://ipfs.io/ipfs/bafybeia2s5em2xypmtdifuyj62xwgveujygs4vzoqhbqd2um45wbdxxb6u
## RPC

@ -28,9 +28,9 @@ Before you commit to sharing part of your journey with Tornado Cash users as a r
The formula for designating a relayer is as follows:
* The list of all registered relayers is retrieved from the Relayer Registry smart contract.
* For each relayer, calculate a score based on its staked TORN and its fee. The higher the stake, the higher the score is; the higher the fee, the lower the score is. For Ethereum mainnet, the formula used to calculate the score is `stake * [1 - 25*(fee-0.33)^2]`; for sidechains, the formula is `stake * [1 - 11.89*(fee-0.01)^2]`.
* Then randomly pick a relayer, weighted by its calculated score.
- The list of all registered relayers is retrieved from the Relayer Registry smart contract.
- For each relayer, calculate a score based on its staked TORN and its fee. The higher the stake, the higher the score is; the higher the fee, the lower the score is. For Ethereum mainnet, the formula used to calculate the score is `stake * [1 - 25*(fee-0.33)^2]`; for sidechains, the formula is `stake * [1 - 11.89*(fee-0.01)^2]`.
- Then randomly pick a relayer, weighted by its calculated score.
### 2. Set up relayer
@ -38,7 +38,7 @@ The first concrete step is to run the Tornado Cash Relayer software for Ethereum
Once completed, you will need to insert your url in the input box.
![](<../../.gitbook/assets/set-relayer-link.png>)
![](../../.gitbook/assets/set-relayer-link.png)
{% hint style="warning" %}
It is strongly recommended that you use your own RPC nodes. Instructions on how to run full nodes can be found [here](https://github.com/feshchenkod/rpc-nodes).
@ -48,10 +48,10 @@ It is strongly recommended that you use your own RPC nodes. Instructions on how
The next steps entail:
* Creating an [ENS domain](https://ens.domains/) for your relayer.
* Unwrap domain in settings on app.ens.domains or by calling [this function](https://etherscan.io/address/0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401#writeContract#F23).
* Setting up its mainnet subdomain.
* Adding a TXT record with the Relayer URL to the mainnet subdomain according to this specific format:
- Creating an [ENS domain](https://ens.domains/) for your relayer.
- Unwrap domain in settings on app.ens.domains or by calling [this function](https://etherscan.io/address/0xD4416b13d2b3a9aBae7AcD5D6C2BbDBE25686401#writeContract#F23).
- Setting up its mainnet subdomain.
- Adding a TXT record with the Relayer URL to the mainnet subdomain according to this specific format:
#### **Ethereum relayers (Mandatory)**
@ -97,7 +97,7 @@ Only the mainnet requires you to register workers. All other networks do not req
With the implementation of a decentralized relayer registry, a staking condition has been introduced as a requirement to become listed on Tornado Cash UI. Keep in mind **staking TORN is now necessary to be added to the recommended list of relayers.**
The minimum staked amount is currently set by Tornado Cash governance at **`2000 TORN`**. This threshold can be changed by Tornado Cash governance at any time.
The minimum staked amount is currently set by Tornado Cash governance at **`5000 TORN`**. This threshold can be changed by Tornado Cash governance at any time.
When a relayer is used in the Tornado Cash pool, a small amount of TORN is automatically collected from this staked balance by the `StakingReward` contract. This element is essential to keep in mind as relayers will need to keep enough TORN locked (\~`500 TORN` at the moment in June 2023) to be able to pay back the transaction fee to the staking contract.

@ -16,19 +16,19 @@ Then, run it.
First, search for `about:config` on your URL navigation bar.
![](../../.gitbook/assets/aboutconfig.png)
![](../../.gitbook/assets/about-config-in-tor.png)
Then, accept the caution message by clicking on `Accept the Risk and Continue`.
![](../../.gitbook/assets/aboutconfig2.png)
![](../../.gitbook/assets/about-config-tor-accept-risk.png)
Search for `wasm` and turn `javascript.options.wasm` on true.
![](../../.gitbook/assets/wasm.png)
![](../../.gitbook/assets/tor-config-enable-wasm.png)
Search for `indexedDB` and turn `dom.indexedDB.logging.details` and `dom.indexedDB.logging.enabled` on true
![](/.gitbook/assets/indexeddb.png)
![](../../.gitbook/assets/tor-config-enable-indexed-db.png)
### Step **#3 -** Install Metamask
@ -36,23 +36,23 @@ Go there: [https://metamask.io/download/](https://metamask.io/download/)
First, click on `Install Metamask for Firefox`.
![](/.gitbook/assets/metamaskhome.png)
![](../../.gitbook/assets/metamask-install-firefox-and-tor.png)
Click on `Add`.
![](/.gitbook/assets/addmetamask.png)
![](../../.gitbook/assets/metamask-extension-add-firefox-and-tor.png)
Allow addons.mozilla.org to install an add-on by clicking on `Continue to Installation`.
![](/.gitbook/assets/downloadinstall.png)
![](../../.gitbook/assets/metamask-extension-download-and-install.png)
Confirm that you allow this extention to run in Private Windows, then click on `Okay`.
Confirm that you allow this extension to run in Private Windows, then click on `Okay`.
![](/.gitbook/assets/allowprivateclickokay.png)
![](../../.gitbook/assets/metamask-extension-allow-in-private-tabs.png)
Then, you can add Metamask to your toolbar, by doing a right click on it and dragging Metamask icon to your toolbar.
![](</.gitbook/assets/metamaskicon(1).gif>)
![](<../../.gitbook/assets/metamask-add-extension-icon-to-browser.gif>)
### Step **#4 - Enjoy your privacy**

@ -10,21 +10,21 @@ Once the funds are withdrawn by a new address from those pools, the on-chain lin
**Nova anonymity pools**:
* Asset management is fufilled through a shielded key, which can be generated signing a message with an Ethereum address for reusable access
* Custody is obtained by either transferring assets to the pool or registering a shielded key to recieve shielded transfers
* Asset management is fulfilled through a shielded key, which can be generated signing a message with an Ethereum address for reusable access
* Custody is obtained by either transferring assets to the pool or registering a shielded key to receive shielded transfers
The strength of such protocol is linked directly to its amount of users and the size of its pool. The more users deposit into the pool the larger the probability of correlation. However, to ensure anonymity individuals must be concious of:
The strength of such protocol is linked directly to its amount of users and the size of its pool. The more users deposit into the pool the larger the probability of correlation. However, to ensure anonymity individuals must be conscious of:
* Using a relayer for withdrawal gas fees and maintain a shielded balance
* Waiting for sufficient subsequent deposits for decreased chances of probability or relation to the withdrawal
_For a more detailed explaination see guide_ [_Tips to remain anonymous_](guides/opsec.md)_._
_For a more detailed explanation see guide_ [_Tips to remain anonymous_](guides/opsec.md)_._
### Zero knowledge
Tornado Cash uses Zero-Knowledge Succinct Non-Interactive Argument of Knowledge (zkSNARK) to maintain non-custodial shielded transactions.
To process a deposit a random slice of bytes is generated by the individual, it is then encrypted using [Pedersen hashing](https://iden3-docs.readthedocs.io/en/latest/iden3\_repos/research/publications/zkproof-standards-workshop-2/pedersen-hash/pedersen.html). Pedersen hashing is optimised for the arimithic circuits for zero-knowledge proofs and maintain low transactional costs in the Ethereum virtual machine. Depositing is fufilled through inputing the hash for insertion into the Merkle tree.
To process a deposit a random slice of bytes is generated by the individual, it is then encrypted using [Pedersen hashing](https://iden3-docs.readthedocs.io/en/latest/iden3\_repos/research/publications/zkproof-standards-workshop-2/pedersen-hash/pedersen.html). Pedersen hashing is optimized for the arithmetic circuits for zero-knowledge proofs and maintain low transactional costs in the Ethereum virtual machine. Depositing is fulfilled through inputing the hash for insertion into the Merkle tree.
To process a withdrawal, the same area of bytes is split into two separate parts: the **secret** on one side & the **nullifier** on the other side. The nullifier is hashed. This nullifier is a public input that is sent on-chain to be checked with the smart contract & the Merkle tree data. It avoids double-spending for instance.

@ -1,16 +1,16 @@
# Compliance tool
By design, everything is public on the blockchain, which can deprive users from their right to privacy. Anyone can have view everyone elses entire financial history. The right of privacy lies in the ability to have control over the information we provide and to whom we provide it.
By design, everything is public on the blockchain, which can deprive users from their right to privacy. Anyone can have view everyone else entire financial history. The right of privacy lies in the ability to have control over the information we provide and to whom we provide it.
To this extent, **the compliance tool enables users to prove the origin of their funds through selective disclourse.** Each note translates to a unique deposit, **this tool will issue a cryptographic proof of a deposit** allowing a third party to authethicate one's transactional profile.
To this extent, **the compliance tool enables users to prove the origin of their funds through selective disclosure.** Each note translates to a unique deposit, **this tool will issue a cryptographic proof of a deposit** allowing a third party to authenticate one's transactional profile.
![](/.gitbook/assets/capture-de-cran-2021-09-02-a-14.57.11.png)
![](../../.gitbook/assets/compliance-tool-page.png)
## How to use the compliance tool?
With each deposit made through the application, a new note is generated by the protocol. This note is necessary to withdraw the deposited assets later on any withdrawal address. It is this same note that, if needed, allow users to generate a compliance Report to prove the origin of their assets.
_More information see section _[_Deposit / Withdraw_](deposit-withdraw.md)_._
_More information see section _[_Deposit / Withdraw_](../../tornado-cash-classic/deposit-withdraw.md)_._
To get a compliance report, the user solely need to copy the note, generated after the deposit, in the dedicated input.
@ -24,7 +24,7 @@ If the note wasn't spent yet (i.e. assets have still not been withdrawn), the co
The commitment is the hashed random area of bytes generated at each deposit that is sent to anonymity pool to characterize the transaction.
![](../../.gitbook/assets/capture-de-cran-2021-09-02-a-15.07.01.png)
![](../../.gitbook/assets/compliance-tool-inserted-unspent-note.png)
To can find more information about how Tornado Cash achieves privacy see section [_How does Tornado Cash work?_](../how-does-it-work.md)_._
@ -36,10 +36,10 @@ If the note was spent (i.e. assets were withdrawn to a given address using the n
* The destination address
* The nullifier hash
The nullifier hash is a public input that is sent on-chain to get checked with the smart contract and authenthicate the presence of the note's secret in the Merkle tree for the withdrawal.
The nullifier hash is a public input that is sent on-chain to get checked with the smart contract and authenticate the presence of the note's secret in the Merkle tree for the withdrawal.
![](../../.gitbook/assets/capture-de-cran-2021-09-02-a-15.12.23.png)
![](../../.gitbook/assets/compliance-tool-generate-report-for-spent-note.png)
Therefore, the tool allows users to re-link source and destination addresses in order to prove transaction history for assets transacted through Tornado Cash. The compliance report can be downloaded as a PDF format for accessible disclosure.
![](../../.gitbook/assets/capture-de-cran-2021-09-02-a-15.12.53.png)
![](../../.gitbook/assets/compliance-tool-example-report.png)

@ -1,8 +1,8 @@
# Tutela
As apart of the first iteration of a bounty program to incentivise contributors, a task concept formed regarding to help identify poor usage of the protocol - **that could compromise an individual user's privacy**. Which would mean the creation of a tool to compute the relative strength of any of the protocol's anonymity sets and identify potential leaks in certain transactional patterns.
As apart of the first iteration of a bounty program to incentivize contributors, a task concept formed regarding to help identify poor usage of the protocol - **that could compromise an individual user's privacy**. Which would mean the creation of a tool to compute the relative strength of any of the protocol's anonymity sets and identify potential leaks in certain transactional patterns.
Interest gathered from external actors and over the the span of 3 months, a group of independent developers and academics came and coproduced Tutela; a tool to probabilistically find relations between addresses using Tornado Cash through specific hueristics and fingerprint clustering.
Interest gathered from external actors and over the the span of 3 months, a group of independent developers and academics came and coproduced Tutela; a tool to probabilistically find relations between addresses using Tornado Cash through specific heuristics and fingerprint clustering.
https://arxiv.org/abs/2201.06811

@ -1,5 +1,7 @@
# Anonymity mining
***Please, keep in mind, that you read historical deprecated article. Anonymity mining ended more than two years ago and wont be available anymore.**
Anonymity mining was an incentive to increase the level of privacy in any coin-joining or coin-mixing protocols by rewarding participants anonymity points (AP) dependent on how long they hedge their assets in a pool.
{% hint style="warning" %}
@ -12,23 +14,23 @@ Individuals deposit to any one of the anonymity pools that are supported (ETH, W
_Readers should be aware some lower denomination deposits at the time of writing, do not produce a positive return due to the gas costs required to withdraw, redeem and exchange anonymity points_
One of the community members created the resource of [a mining spreadsheet 13](https://torn.community/t/anonymity-mining-spreadsheet/720) that helps calculate annual percentage yields (APYs) for each pool and each denomination set within, through estimating the fees required to claim a reward. **It is highly recommended to view this resource and plan ones course of action before expecting to earn yield.** At the bottom of the spreadsheet, you can view each pool by selecting the associated tab.
One of the community members created the resource of [a mining spreadsheet 13](http://web.archive.org/web/20210727093742/https://torn.community/t/anonymity-mining-spreadsheet/720) that helps calculate annual percentage yields (APYs) for each pool and each denomination set within, through estimating the fees required to claim a reward. **It is highly recommended to view this resource and plan ones course of action before expecting to earn yield.** At the bottom of the spreadsheet, you can view each pool by selecting the associated tab.
### How to earn AP
1\. Decide what amount and asset to deposit by selecting it through the dropdown menu, before clicking on "Connect" and "Deposit".
![](../../.gitbook/assets/m3fh0gl.png)
![](../../.gitbook/assets/anonymity-mining-earn-ap-deposit.png)
2\. Take a record of your depositing note and back it up safely, **do not share this with anyone or risk losing your deposit and reward.**
![](../../.gitbook/assets/vhustru.png)
![](../../.gitbook/assets/anonymity-mining-save-note-and-send-deposit.png)
3\. Generate the proof and submit the transaction.
4\. Your deposit should now be viewable on the bottom of the page, you can track how much AP it earns here; remember the longer your deposit remains active, the more AP you earn.
![](../../.gitbook/assets/k6juetp.png)
![](../../.gitbook/assets/anonymity-mining-check-deposit-reward.png)
_Notes that are active (not withdrawn) are known as “unspent” notes._
@ -36,39 +38,39 @@ _Notes that are active (not withdrawn) are known as “unspent” notes._
1\. First you must create a mining account and store those credentials on-chain for easy recovery (requires a transaction), **like depositing notes, you should never share your mining recovery key with anyone** and ensure to back it up in a safe place. This feature is not supported by hardware wallets so its encouraged to store the information as presented\_.\_
![](../../.gitbook/assets/lskzkgk.png)
![](../../.gitbook/assets/anonymity-mining-setup-ap-account.png)
2\. Take an active deposit through providing an unspent note and withdraw to an address of preference and decide whether to use a relayer or not (_to maintain a deposits anonymity it is always advised to use a relayer_), this will bring the note into a “spent” state.
![](../../.gitbook/assets/aid86cj.png)
![](../../.gitbook/assets/withdraw-note-page.png)
**Remember to still keep your depositing notes a secret even after withdrawing, as they still retain the ability to redeem AP.**
![](../../.gitbook/assets/bpsqxxr.png)
![](../../.gitbook/assets/confirm-withdrawal-from-tornado-pool.png)
3\. Visit the mining route of the application and enter your spent note, you may be faced with one of the following situations.
* **The ability to claim your spent note**: click the “Claim reward” button and submitting the transaction either by using a relayer or not, once confirmed your AP balance should update to reflect the action.
![](../../.gitbook/assets/e9jyqhu.png)
![](../../.gitbook/assets/anonymity-mining-claim-ap-rewards.png)
* **The inability to claim a spent note:** _“Warning: The note is not yet ready for anonymity mining. You can wait few days before trying again”_ - This means the Merkle trees are out of sync and require a transaction to be updated.
![](../../.gitbook/assets/i6qtr0f.png)
![](../../.gitbook/assets/anonymity-mining-claim-ap-reward-warning.png)
Updating the trees can be an expensive process, **it is recommended that users with small deposits wait for the larger miners to update the trees, this could take anywhere from a few days to a week**. If you want to view your event relative to the current pending batches. Click the _“Show mining note information”_ hyperlink, here you can also pay the transaction fees to sync the tree relative to your withdrawal through the “Update trees” button.
![](../../.gitbook/assets/d8dmxjj.png)
![](../../.gitbook/assets/anonymity-mining-info-page.png)
### How to exchange AP
1\. Navigate over to the “Swap” tab on the mining page which can be accessed through the second navigation bar from the top of the page.
![](../../.gitbook/assets/ahrjxbq.png)
![](../../.gitbook/assets/anonymity-mining-balance-info-page.png)
2\. Enter the amount of AP requested to exchange or select the “Maximum” option to convert your active balance. Below this input, information regarding the current AP/TORN rate and reward output will be displayed. Provide an address of preference to receive the reward, finalise by generating the proof and submitting the transaction through a relayer or not.
2\. Enter the amount of AP requested to exchange or select the “Maximum” option to convert your active balance. Below this input, information regarding the current AP/TORN rate and reward output will be displayed. Provide an address of preference to receive the reward, finalize by generating the proof and submitting the transaction through a relayer or not.
![](../../.gitbook/assets/wo55lao.png)
![](../../.gitbook/assets/anonymity-mining-withdraw-ap.png)
3\. If all steps were followed correctly, TORN will be transferred to the address of preference provided in step 2 of this section.
@ -81,4 +83,4 @@ It is always recommended to plan when deciding to mine any of the anonymity sets
For more information on anonymity mining, seek the following resources:
* [Tornado Cash governance proposal article](https://tornado-cash.medium.com/tornado-cash-governance-proposal-a55c5c7d0703)
* [Tornado Cash anonymity mining optimisation article](https://tornado-cash.medium.com/gas-price-claimed-anonymity-mining-a-victim-but-now-everyone-can-claim-ap-5441aaa32a1a)
* [Tornado Cash anonymity mining optimization article](https://tornado-cash.medium.com/gas-price-claimed-anonymity-mining-a-victim-but-now-everyone-can-claim-ap-5441aaa32a1a)

@ -2,16 +2,14 @@
TORN is an ERC20 compliant token with a fixed supply that governs the protocol, token holders can submit proposals and vote to contribute.
**Initial token distrbution**
**Initial token distribution**
* **5% (500,000 TORN):** Airdrop to early users of ETH pools
* **10% (1,000,000 TORN):** Anonymity mining for ETH pools, distributed linearly over 1 year
* **55% (5,500,000 TORN):** DAO treasury, will be unlocked linearly over 5 years with 3 month cliff
* **30% (3,000,000 TORN):** Founding developers and early supporters, will be unlocked linearly over 3 years with 1 year cliff
![](../../.gitbook/assets/1-bjggju1rn4\_qoxgcljfneq.png)
![](../../.gitbook/assets/1-gmc0jw8zr5xfvrk5zyqmya.png)
![](../../.gitbook/assets/TORN-token-distribution.png)
## Airdrop
Early adopters who used in Tornado Cash were allocated a share in governing the protocol on launch to aspire for an equitable demographic in the asset's economics.
@ -20,14 +18,14 @@ The [early adopter addresses](https://github.com/tornadocash/airdrop/blob/master
The airdropped amount depended on a users deposit size and age, larger deposits and older deposits would have a greater allocation. Multipliers for deposit size are logarithmic:
![](../../.gitbook/assets/1-ogfrad8p3gez14zh4jndiq-2x.png)
![](../../.gitbook/assets/TORN-token-airdrop-reward-multipliers.png)
So that a larger deposits like 100 ETH only got twice as many tokens as a 1 ETH deposit, the multiplier aspired to reduce any skews by focusing on proactive usage and not purely volume.
The exact curve for the time multiplier looks like this:
![](../../.gitbook/assets/1-bje88nlnkbe29-zcs5agkw-2x.png)
![](../../.gitbook/assets/TORN-token-airdrop-amount-curve.png)
The exact airdrop formula was the following:
![](../../.gitbook/assets/1-megm4amqrrkx0qxva9iska-2x.png)
![](../../.gitbook/assets/TORN-token-airdrop-formula.png)

@ -1,6 +1,6 @@
# Locking in Governance
# Staking in Governance
### Why? (See below on how to lock)
### Why? (See below on how to stake)
All Governance systems converge towards the same pattern of consensus systems based on some form of pluralism-based voting. This is for the reason, that large-scale coordination problems can only be resolved by giving "users" or "nodes" or "validators" (however you want to call it) an incentive to cooperate, and then bind that incentive within a ruleset which ultimately the "users/nodes/validators" will prefer because it encourages the stability of the system which actually supplies them the incentives, meaning that it economically guarantees them future income.
@ -10,11 +10,11 @@ Since the execution of [Proposal #10](https://etherscan.io/address/0xEC2412368be
The entire reason why this is done is most importantly the IPFS deployment, which is expected to be the fully censorship resistant, decentralized frontend which should survive in worst case scenarios. In the combination with the former system, the IPFS deployment should not run into relayer sybil issues.
The fee mechanism functions by relayers locking a listing amount (currently `2000 TORN`). Everytime a withdrawal is processed the registry fee (currently `0.3%` of the relayer's arbitary fee) is deducted from their locked balance. This fee is then distributed proportionally to tokenholders locked in the user vault contract (through Governance). Relayers must keep a locked balance greater than the minimum balance (`500 TORN` currently) to be marked as an active relayer and be recommended on the frontend.
The fee mechanism functions by relayers locking a listing amount (currently `2000 TORN`). Everytime a withdrawal is processed the registry fee (currently `0.3%` of the relayer's arbitrary fee) is deducted from their locked balance. This fee is then distributed proportionally to TORN holders staked in the [Governance vault contract](https://etherscan.io/address/0x2f50508a8a3d323b91336fa3ea6ae50e55f32185) (through Governance). Relayers must keep a locked balance greater than the minimum balance (`500 TORN` currently) to be marked as an active relayer and be recommended on the frontend.
The listing amount, registry fee and minimum balance are all configurable by Governance.
### How to lock?
### How to stake?
First, [connect your wallet to Tornado Cash](../../tornado-cash-classic/how-to-connect-your-wallet.md).
@ -25,13 +25,13 @@ As mentioned above, the process to lock TORN tokens has remained unchanged.
* Once the approval is confirmed, you can chose the amount of token to lock, then click on **`Lock`**
* All you have to do after that is to confirm the transaction in your wallet & wait for the confirmation to come through
![](../../.gitbook/assets/c05e5a1813edad280544b627b24002dc8d5adcf2.png)
![](../../.gitbook/assets/how-to-lock-or-stake.png)
### How to claim your locking reward?
### How to claim your staking reward?
To do that click the **`Voting`** button on the navigation bar at the top of the page to be directed to the governance route of the application. As soon as you connect your wallet, you will be able to see your staking reward at the top if you have a balance.
![](../../.gitbook/assets/head.png)
![](../../.gitbook/assets/stake-info-page-header.png)
* Click **`Manage`** -> **`Claim`** tab -> **`Claim`** _button._

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 MiB

Some files were not shown because too many files have changed in this diff Show More